summaryrefslogtreecommitdiff
path: root/source/l
diff options
context:
space:
mode:
Diffstat (limited to 'source/l')
-rwxr-xr-xsource/l/PyQt/PyQt.SlackBuild2
-rwxr-xr-xsource/l/QScintilla/QScintilla.SlackBuild2
-rw-r--r--source/l/aalib/aalib-aclocal.patch11
-rwxr-xr-xsource/l/aalib/aalib.SlackBuild8
-rwxr-xr-xsource/l/alsa-lib/alsa-lib.SlackBuild2
-rwxr-xr-xsource/l/apr-util/apr-util.SlackBuild4
-rw-r--r--source/l/apr-util/apr-util.url4
-rwxr-xr-xsource/l/at-spi2-atk/at-spi2-atk.SlackBuild97
-rw-r--r--source/l/at-spi2-atk/doinst.sh6
-rw-r--r--source/l/at-spi2-atk/slack-desc19
-rwxr-xr-xsource/l/at-spi2-core/at-spi2-core.SlackBuild107
-rw-r--r--source/l/at-spi2-core/doinst.sh15
-rw-r--r--source/l/at-spi2-core/slack-desc19
-rwxr-xr-xsource/l/audiofile/audiofile.SlackBuild1
-rwxr-xr-xsource/l/boost/boost.SlackBuild22
-rw-r--r--source/l/boost/boost.glibc.long.long.diff22
-rw-r--r--source/l/boost/changeset_82498.diff116
-rw-r--r--source/l/cairo/cairo-1.10.0-buggy_gradients.patch13
-rwxr-xr-xsource/l/cairo/cairo.SlackBuild49
-rwxr-xr-xsource/l/cairo/paredown.sh51
-rwxr-xr-xsource/l/clucene/clucene.SlackBuild10
-rw-r--r--source/l/clucene/clucene.install_contribs_lib.diff42
-rw-r--r--source/l/clucene/clucene.pkgconfig.diff (renamed from source/l/clucene/clucene.pkgconfig.patch)0
-rwxr-xr-xsource/l/dconf/dconf.SlackBuild112
-rw-r--r--source/l/dconf/dconf.url2
-rw-r--r--source/l/dconf/doinst.sh9
-rw-r--r--source/l/dconf/slack-desc19
-rwxr-xr-xsource/l/desktop-file-utils/desktop-file-utils.SlackBuild1
-rwxr-xr-xsource/l/ebook-tools/ebook-tools.SlackBuild7
-rw-r--r--source/l/ebook-tools/ebook-tools.paths.diff10
-rwxr-xr-xsource/l/enchant/enchant.SlackBuild21
-rw-r--r--source/l/enchant/enchant.info2
-rwxr-xr-xsource/l/esound/esound.SlackBuild2
-rw-r--r--source/l/expat/expat-2.0.1-fixes-3.patch38
-rwxr-xr-xsource/l/expat/expat.SlackBuild9
-rwxr-xr-xsource/l/fftw/fftw.SlackBuild106
-rwxr-xr-xsource/l/gc/gc.SlackBuild130
-rw-r--r--source/l/gc/gc.test-stack-infinite-loop.diff67
-rw-r--r--source/l/gc/slack-desc19
-rwxr-xr-xsource/l/gdk-pixbuf2/gdk-pixbuf2.SlackBuild4
-rwxr-xr-xsource/l/gegl/gegl.SlackBuild2
-rwxr-xr-xsource/l/glib2/glib2.SlackBuild3
-rw-r--r--source/l/glibc/doinst.sh-glibc43
-rw-r--r--source/l/glibc/doinst.sh-glibc-solibs44
-rw-r--r--source/l/glibc/glibc-2.14-reexport-rpc-interface.patch26
-rw-r--r--source/l/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch27
-rw-r--r--source/l/glibc/glibc-2.14.1-fixes-1.patch159
-rw-r--r--source/l/glibc/glibc-2.15-revert-c5a0802a.diff226
-rw-r--r--source/l/glibc/glibc-2.15.nscd-race-fix.diff47
-rw-r--r--source/l/glibc/glibc.CVE-2013-0242.diff189
-rw-r--r--source/l/glibc/glibc.CVE-2013-1914.diff53
-rw-r--r--source/l/glibc/glibc.CVE-2013-2207.diff241
-rw-r--r--source/l/glibc/glibc.CVE-2013-4332.diff64
-rwxr-xr-xsource/l/glibc/glibc.SlackBuild90
-rw-r--r--source/l/glibc/glibc.git-6ee65ed6ddbf04402fad0bec6aa9c73b9d982ae4.diff322
-rw-r--r--source/l/glibc/glibc.strtod.CVE-2012-3480.diff407
-rwxr-xr-x[-rw-r--r--]source/l/glibc/timezone-scripts/output-updated-timeconfig.sh2
-rw-r--r--source/l/glibc/timezone-scripts/parts/001
-rw-r--r--source/l/glibc/timezone-scripts/parts/017
-rw-r--r--source/l/glibc/timezone-scripts/parts/037
-rw-r--r--source/l/glibc/timezone-scripts/timeconfig31
-rwxr-xr-xsource/l/gmm/gmm.SlackBuild20
-rwxr-xr-xsource/l/gmp/gmp.SlackBuild1
-rw-r--r--source/l/gnome-icon-theme/fix_gits_configure.diff12
-rwxr-xr-xsource/l/gnome-icon-theme/gnome-icon-theme.SlackBuild11
-rw-r--r--source/l/gnome-keyring/doinst.sh2
-rwxr-xr-xsource/l/gnome-keyring/gnome-keyring.SlackBuild11
-rw-r--r--source/l/gnome-keyring/gpg-agent-Hook-up-the-TTL-cache-option.patch98
-rw-r--r--source/l/gnome-keyring/schema-Update-description-for-gpg-cache-method.patch30
-rw-r--r--source/l/gnome-keyring/secret-store-Mark-a-secret-item-as-used-when-acces.patch26
-rw-r--r--source/l/gnome-themes-standard/doinst.sh8
-rwxr-xr-xsource/l/gnome-themes-standard/gnome-themes-standard.SlackBuild104
-rw-r--r--source/l/gnome-themes-standard/slack-desc19
-rwxr-xr-xsource/l/gnu-efi/gnu-efi.SlackBuild92
-rw-r--r--source/l/gnu-efi/slack-desc19
-rwxr-xr-xsource/l/grantlee/grantlee.SlackBuild2
-rwxr-xr-xsource/l/gsettings-desktop-schemas/gsettings-desktop-schemas.SlackBuild2
-rwxr-xr-xsource/l/gst-plugins-good/gst-plugins-good.SlackBuild6
-rw-r--r--source/l/gst-plugins-good/v4l.compile.fixes.diff57
-rwxr-xr-xsource/l/gstreamer/gstreamer.SlackBuild5
-rw-r--r--source/l/gtk+2/gtk+-2.24.x.icon-compat.am.diff14
-rw-r--r--source/l/gtk+2/gtk+-2.24.x.icon-compat.diff15
-rwxr-xr-xsource/l/gtk+2/gtk+2.SlackBuild12
-rw-r--r--source/l/gtk+2/update-gtk-immodules-2.064
-rw-r--r--source/l/gtk+2/use_host_triplet_for_gtk_immodules.diff23
-rw-r--r--source/l/gtk+3/doinst.sh5
-rwxr-xr-xsource/l/gtk+3/gtk+3.SlackBuild43
-rw-r--r--source/l/gtk+3/update-gtk-immodules-3.064
-rw-r--r--source/l/gtk+3/use_host_triplet_for_gtk_immodules.diff11
-rwxr-xr-xsource/l/gvfs/gvfs.SlackBuild2
-rwxr-xr-xsource/l/harfbuzz/harfbuzz.SlackBuild105
-rw-r--r--source/l/harfbuzz/slack-desc19
-rwxr-xr-xsource/l/icu4c/icu4c.SlackBuild7
-rwxr-xr-xsource/l/ilmbase/ilmbase.SlackBuild9
-rw-r--r--source/l/ilmbase/ilmbase.gcc4.diff10
-rw-r--r--source/l/ilmbase/ilmbase.info3
-rw-r--r--source/l/ilmbase/ilmbase.no_undefined.diff31
-rw-r--r--source/l/ilmbase/ilmbase.secondary.diff12
-rw-r--r--source/l/ilmbase/ilmbase.ucontext.diff28
-rwxr-xr-xsource/l/iso-codes/iso-codes.SlackBuild8
-rw-r--r--source/l/iso-codes/iso-codes.info5
-rwxr-xr-xsource/l/lcms2/lcms2.SlackBuild2
-rw-r--r--source/l/libarchive/slack-desc2
-rwxr-xr-xsource/l/libcroco/libcroco.SlackBuild4
-rwxr-xr-xsource/l/libevent/libevent.SlackBuild154
-rw-r--r--source/l/libevent/slack-desc19
-rwxr-xr-xsource/l/libffi/libffi.SlackBuild7
-rw-r--r--source/l/libffi/libffi.includedir.diff36
-rwxr-xr-xsource/l/libgphoto2/libgphoto2.SlackBuild2
-rwxr-xr-xsource/l/libgsf/libgsf.SlackBuild4
-rw-r--r--source/l/libical/README9
-rwxr-xr-xsource/l/libical/libical.SlackBuild33
-rwxr-xr-xsource/l/libmtp/libmtp.SlackBuild4
-rw-r--r--source/l/libnl/libnl-include_limits.h.patch11
-rwxr-xr-xsource/l/libnl/libnl.SlackBuild4
-rwxr-xr-xsource/l/libnl3/libnl3.SlackBuild2
-rw-r--r--source/l/libpcap/slack-desc2
-rw-r--r--source/l/libproxy/gcc47-include-unistd.h.diff22
-rwxr-xr-xsource/l/libproxy/libproxy.SlackBuild16
-rw-r--r--source/l/libproxy/only_link_mozjs185.diff46
-rwxr-xr-xsource/l/libsamplerate/libsamplerate.SlackBuild4
-rwxr-xr-xsource/l/libsecret/libsecret.SlackBuild109
-rw-r--r--source/l/libsecret/slack-desc19
-rwxr-xr-xsource/l/libsoup/libsoup.SlackBuild2
-rwxr-xr-xsource/l/libssh/libssh.SlackBuild7
-rw-r--r--source/l/libssh/libssh.no.example.build.diff11
-rw-r--r--source/l/libtiff/libtiff-CVE-2012-1173.patch71
-rwxr-xr-xsource/l/libtiff/libtiff.SlackBuild7
-rw-r--r--source/l/libtiff/tiff-3.9.7_CVE-2012-4447_CVE-2012-4564_CVE-2013-1960_CVE-2013-1961.diff3813
-rw-r--r--source/l/libtiff/tiff-3.9.7_CVE-2013-4231.diff23
-rw-r--r--source/l/libtiff/tiff-3.9.7_CVE-2013-4232.diff24
-rw-r--r--source/l/libtiff/tiff-3.9.7_CVE-2013-4244.diff24
-rwxr-xr-xsource/l/libunistring/libunistring.SlackBuild150
-rw-r--r--source/l/libunistring/slack-desc19
-rwxr-xr-xsource/l/libusb/libusb.SlackBuild4
-rwxr-xr-xsource/l/libwnck/libwnck.SlackBuild2
-rwxr-xr-xsource/l/libxklavier/libxklavier.SlackBuild4
-rwxr-xr-xsource/l/libxml2/libxml2.SlackBuild4
-rw-r--r--source/l/libxml2/libxml2.do-not-check-crc.diff35
-rwxr-xr-xsource/l/libxslt/libxslt.SlackBuild8
-rwxr-xr-xsource/l/libzip/libzip.SlackBuild38
-rw-r--r--source/l/libzip/libzip.info5
-rw-r--r--source/l/loudmouth/loudmouth-1.4.3-glib-compile-fix.patch17
-rwxr-xr-xsource/l/loudmouth/loudmouth.SlackBuild21
-rw-r--r--source/l/loudmouth/loudmouth.async_assertion.diff19
-rw-r--r--source/l/loudmouth/loudmouth.crtpath.diff11
-rw-r--r--source/l/loudmouth/loudmouth.gnutls.configure.ac.diff20
-rw-r--r--source/l/loudmouth/loudmouth.ld.gobject.diff11
-rw-r--r--source/l/loudmouth/loudmouth.sasl-md5-digest-uri.diff22
-rw-r--r--source/l/loudmouth/loudmouth.stanzadrop.diff45
-rwxr-xr-xsource/l/media-player-info/media-player-info.SlackBuild2
-rw-r--r--source/l/media-player-info/slack-desc2
-rwxr-xr-xsource/l/mozilla-nss/mozilla-nss.SlackBuild22
-rw-r--r--source/l/ncurses/ncurses-5.9-20130504-patch.sh106265
-rwxr-xr-xsource/l/ncurses/ncurses.SlackBuild11
-rwxr-xr-xsource/l/openexr/openexr.SlackBuild4
-rw-r--r--source/l/openexr/openexr.gcc4.diff43
-rw-r--r--source/l/openexr/openexr.info3
-rwxr-xr-xsource/l/pango/pango.SlackBuild1
-rw-r--r--source/l/pango/pango.etc.host.location.diff52
-rwxr-xr-xsource/l/pcre/pcre.SlackBuild4
-rwxr-xr-xsource/l/pil/pil.SlackBuild4
-rwxr-xr-xsource/l/pilot-link/pilot-link.SlackBuild2
-rw-r--r--source/l/polkit/05_revert-admin-identities-unix-group-wheel.patch39
-rwxr-xr-xsource/l/polkit/polkit.SlackBuild6
-rwxr-xr-xsource/l/poppler/poppler.SlackBuild3
-rw-r--r--source/l/poppler/poppler_xyscale.patch47
-rwxr-xr-xsource/l/popt/popt.SlackBuild11
-rwxr-xr-xsource/l/qjson/qjson.SlackBuild104
-rw-r--r--source/l/qjson/slack-desc19
-rw-r--r--source/l/qt/QElfParser-fix-type-of-sh_size.patch41
-rw-r--r--source/l/qt/QTBUG-14724_close_orphaned_file_descriptors_after_printing.patch37
-rw-r--r--source/l/qt/QTBUG-21900_Buttons_in_Qt_applications_not_clickable_when_run_under_gnome-shell.patch97
-rwxr-xr-xsource/l/qt/qt.SlackBuild43
-rw-r--r--source/l/qt/qt.assistant.memcpy-crash.diff11
-rw-r--r--source/l/qt/qt.ca89c49.cursor.position.diff31
-rw-r--r--source/l/qt/qt.webkit-no_Werror.patch10
-rw-r--r--source/l/qt/qt.webkit.glib.diff11
-rw-r--r--source/l/qt/slack-desc2
-rwxr-xr-xsource/l/qtscriptgenerator/qtscriptgenerator.SlackBuild19
-rwxr-xr-xsource/l/raptor2/raptor2.SlackBuild2
-rwxr-xr-xsource/l/rasqal/rasqal.SlackBuild2
-rwxr-xr-xsource/l/redland/redland.SlackBuild17
-rw-r--r--source/l/sdl/libsdl-1.2.15-resizing.patch63
-rw-r--r--source/l/sdl/sdl-1.2.14-fix-mouse-clicking.patch23
-rwxr-xr-xsource/l/sdl/sdl.SlackBuild13
-rw-r--r--source/l/sdl/sdl.linux-2.6.31.input_absinfo.diff38
-rwxr-xr-xsource/l/shared-desktop-ontologies/shared-desktop-ontologies.SlackBuild2
-rw-r--r--source/l/shared-desktop-ontologies/slack-desc2
-rwxr-xr-xsource/l/sip/sip.SlackBuild2
-rwxr-xr-xsource/l/slang/slang.SlackBuild25
-rwxr-xr-xsource/l/soprano/soprano.SlackBuild3
-rwxr-xr-xsource/l/startup-notification/startup-notification.SlackBuild2
-rwxr-xr-xsource/l/system-config-printer/system-config-printer.SlackBuild4
-rwxr-xr-xsource/l/taglib/taglib.SlackBuild5
-rwxr-xr-xsource/l/v4l-utils/v4l-utils.SlackBuild33
-rw-r--r--source/l/virtuoso-ose/virtuoso-opensource-6.1.3.unicode.patch16
-rwxr-xr-xsource/l/virtuoso-ose/virtuoso-ose.SlackBuild10
198 files changed, 113523 insertions, 2799 deletions
diff --git a/source/l/PyQt/PyQt.SlackBuild b/source/l/PyQt/PyQt.SlackBuild
index eb21945a..d3131e20 100755
--- a/source/l/PyQt/PyQt.SlackBuild
+++ b/source/l/PyQt/PyQt.SlackBuild
@@ -28,7 +28,7 @@
PKGNAM=PyQt
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:--j7}
diff --git a/source/l/QScintilla/QScintilla.SlackBuild b/source/l/QScintilla/QScintilla.SlackBuild
index 4f24655e..ca90d7f8 100755
--- a/source/l/QScintilla/QScintilla.SlackBuild
+++ b/source/l/QScintilla/QScintilla.SlackBuild
@@ -25,7 +25,7 @@
PKGNAM=QScintilla
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-4}
NUMJOBS=${NUMJOBS:--j7}
diff --git a/source/l/aalib/aalib-aclocal.patch b/source/l/aalib/aalib-aclocal.patch
new file mode 100644
index 00000000..7fac434f
--- /dev/null
+++ b/source/l/aalib/aalib-aclocal.patch
@@ -0,0 +1,11 @@
+--- ./aalib.m4.orig 2001-04-26 09:37:31.000000000 -0500
++++ ./aalib.m4 2013-06-23 14:01:12.058620076 -0500
+@@ -9,7 +9,7 @@
+ dnl AM_PATH_AALIB([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+ dnl Test for AALIB, and define AALIB_CFLAGS and AALIB_LIBS
+ dnl
+-AC_DEFUN(AM_PATH_AALIB,
++AC_DEFUN([AM_PATH_AALIB],
+ [dnl
+ dnl Get the cflags and libraries from the aalib-config script
+ dnl
diff --git a/source/l/aalib/aalib.SlackBuild b/source/l/aalib/aalib.SlackBuild
index 20465dd0..2da339e5 100755
--- a/source/l/aalib/aalib.SlackBuild
+++ b/source/l/aalib/aalib.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2007, 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
PKGNAM=aalib
VERSION=1.4rc5
SRCVER=1.4.0
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-5}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -59,13 +59,15 @@ else
fi
cd $TMP
-rm -rf ${PKGNAM}-${VERSION}
+rm -rf ${PKGNAM}-${SRCVER}
tar xvf $CWD/${PKGNAM}-$VERSION.tar.gz || exit 1
cd ${PKGNAM}-${SRCVER} || exit 1
#cp /usr/share/libtool/config.{guess,sub} . # libtool-1.x
cp /usr/share/libtool/config/config.{guess,sub} . # libtool-2.x
sed -i -e "s# -lslang# -lslang1#" configure
+zcat $CWD/aalib-aclocal.patch.gz | patch -p1 --verbose || exit 1
+
# Make sure ownerships and permissions are sane:
chown -R root:root .
find . \
diff --git a/source/l/alsa-lib/alsa-lib.SlackBuild b/source/l/alsa-lib/alsa-lib.SlackBuild
index b93a905d..441ce1b8 100755
--- a/source/l/alsa-lib/alsa-lib.SlackBuild
+++ b/source/l/alsa-lib/alsa-lib.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/source/l/apr-util/apr-util.SlackBuild b/source/l/apr-util/apr-util.SlackBuild
index 7faff6df..551ddc70 100755
--- a/source/l/apr-util/apr-util.SlackBuild
+++ b/source/l/apr-util/apr-util.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
VERSION=${VERSION:-$(echo apr-util-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/l/apr-util/apr-util.url b/source/l/apr-util/apr-util.url
index 264a63c0..ad13f22b 100644
--- a/source/l/apr-util/apr-util.url
+++ b/source/l/apr-util/apr-util.url
@@ -1,2 +1,2 @@
-http://www.apache.org/dist/apr/apr-util-1.3.11.tar.bz2
-http://www.apache.org/dist/apr/apr-util-1.3.11.tar.bz2.asc
+http://www.apache.org/dist/apr/apr-util-1.5.1.tar.bz2
+http://www.apache.org/dist/apr/apr-util-1.5.1.tar.bz2.asc
diff --git a/source/l/at-spi2-atk/at-spi2-atk.SlackBuild b/source/l/at-spi2-atk/at-spi2-atk.SlackBuild
new file mode 100755
index 00000000..b6a56e1e
--- /dev/null
+++ b/source/l/at-spi2-atk/at-spi2-atk.SlackBuild
@@ -0,0 +1,97 @@
+#!/bin/sh
+
+# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=at-spi2-atk
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+cd $PKGNAM-$VERSION
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING* INSTALL NEWS README* \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/l/at-spi2-atk/doinst.sh b/source/l/at-spi2-atk/doinst.sh
new file mode 100644
index 00000000..56b9e419
--- /dev/null
+++ b/source/l/at-spi2-atk/doinst.sh
@@ -0,0 +1,6 @@
+if [ -e usr/share/glib-2.0/schemas ]; then
+ if [ -x /usr/bin/glib-compile-schemas ]; then
+ /usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas >/dev/null 2>&1
+ fi
+fi
+
diff --git a/source/l/at-spi2-atk/slack-desc b/source/l/at-spi2-atk/slack-desc
new file mode 100644
index 00000000..e3d1a82d
--- /dev/null
+++ b/source/l/at-spi2-atk/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+at-spi2-atk: at-spi2-atk (AT-SPI2 bridge to ATK)
+at-spi2-atk:
+at-spi2-atk: The At-Spi2 Atk package contains a library that bridges ATK to the
+at-spi2-atk: At-Spi2 D-Bus service.
+at-spi2-atk:
+at-spi2-atk:
+at-spi2-atk:
+at-spi2-atk:
+at-spi2-atk:
+at-spi2-atk:
+at-spi2-atk:
diff --git a/source/l/at-spi2-core/at-spi2-core.SlackBuild b/source/l/at-spi2-core/at-spi2-core.SlackBuild
new file mode 100755
index 00000000..bea0b12a
--- /dev/null
+++ b/source/l/at-spi2-core/at-spi2-core.SlackBuild
@@ -0,0 +1,107 @@
+#!/bin/sh
+
+# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=at-spi2-core
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+cd $PKGNAM-$VERSION
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+mv $PKG/etc/at-spi2/accessibility.conf $PKG/etc/at-spi2/accessibility.conf.new
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING ChangeLog INSTALL NEWS README \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/l/at-spi2-core/doinst.sh b/source/l/at-spi2-core/doinst.sh
new file mode 100644
index 00000000..6a1207c1
--- /dev/null
+++ b/source/l/at-spi2-core/doinst.sh
@@ -0,0 +1,15 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+config etc/at-spi2/accessibility.conf.new
+
diff --git a/source/l/at-spi2-core/slack-desc b/source/l/at-spi2-core/slack-desc
new file mode 100644
index 00000000..fa2cc486
--- /dev/null
+++ b/source/l/at-spi2-core/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+at-spi2-core: at-spi2-core (Assistive Technology Service Provider Interface core)
+at-spi2-core:
+at-spi2-core: The At-Spi2 Core package is a part of the GNOME Accessibility
+at-spi2-core: Project. It provides a service provider interface for the
+at-spi2-core: assistive technologies available on the GNOME platform and a
+at-spi2-core: library against which applications can be linked.
+at-spi2-core:
+at-spi2-core:
+at-spi2-core:
+at-spi2-core:
+at-spi2-core:
diff --git a/source/l/audiofile/audiofile.SlackBuild b/source/l/audiofile/audiofile.SlackBuild
index 2a473cb0..43b136a1 100755
--- a/source/l/audiofile/audiofile.SlackBuild
+++ b/source/l/audiofile/audiofile.SlackBuild
@@ -118,7 +118,6 @@ fi
mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a \
COPYING* TODO README* \
- docs/* \
$PKG/usr/doc/${PKGNAM}-$VERSION
# If there's a ChangeLog, installing at least part of the recent history
diff --git a/source/l/boost/boost.SlackBuild b/source/l/boost/boost.SlackBuild
index 006c1897..aa859516 100755
--- a/source/l/boost/boost.SlackBuild
+++ b/source/l/boost/boost.SlackBuild
@@ -1,8 +1,8 @@
#!/bin/sh
# Copyright 2007, 2008, 2012 Eric Hameleers, Eindhoven, NL
-# Copyright 2007-2008, 2012 Heinz Wiesinger, Amsterdam, NL
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2007-2008, 2013 Heinz Wiesinger, Amsterdam, NL
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -31,7 +31,6 @@ PKGNAM=boost
VERSION=${VERSION:-$(echo $PKGNAM_*.tar.?z* | rev | cut -f 3- -d . | rev | cut -f 2- -d _)}
BUILD=${BUILD:-3}
-ICU=${ICU:-no}
PKG_VERSION=$(echo $VERSION | tr _ .) # Leave this alone
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -75,6 +74,13 @@ rm -rf boost_$VERSION
tar xvf $CWD/boost_$VERSION.tar.?z* || exit 1
cd boost_$VERSION || exit 1
+# Revert changeset 82498, which breaks OQGRAPH support in MariaDB:
+zcat $CWD/changeset_82498.diff.gz | patch -R -p2 --verbose || exit 1
+
+# glibc as of 2.17 no longer defines __GLIBC_HAVE_LONG_LONG (it is assumed
+# to support it), so don't use that to detect long long support:
+zcat $CWD/boost.glibc.long.long.diff.gz | patch -p0 --verbose || exit 1
+
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -87,6 +93,10 @@ find . \
#
# (none currently for this $VERSION)
+# Avoid C++11 for now as it introduces potentially different behaviour.
+# Let's give applications some more time to adjust to this.
+EXTRA_CXXFLAGS="-std=gnu++98"
+
# This is the python we build against:
PYTHON_VERSION=$(python -c 'import sys; print sys.version[:3]')
PYTHON_FLAGS="-sPYTHON_ROOT=/usr -sPYTHON_VERSION=$PYTHON_VERSION"
@@ -96,7 +106,7 @@ cd tools/build/v2/engine
CFLAGS="$SLKCFLAGS -fno-strict-aliasing" CC=gcc ./build.sh cc
cd -
-BJAM=$(find tools/build/v2/engine/ -name bjam -a -type f)
+BJAM=$(find tools/build/v2/engine/ -name b2 -a -type f)
# Create build subdirectory
mkdir obj
@@ -122,6 +132,8 @@ $BJAM \
link=shared \
threading=multi \
runtime-link=shared \
+ cflags="$SLKCFLAGS" \
+ cxxflags="$SLKCFLAGS $EXTRA_CXXFLAGS" \
$PYTHON_FLAGS \
stage
@@ -142,6 +154,8 @@ $BJAM \
link=shared \
threading=multi \
runtime-link=shared \
+ cflags="$SLKCFLAGS" \
+ cxxflags="$SLKCFLAGS $EXTRA_CXXFLAGS" \
$PYTHON_FLAGS \
install
diff --git a/source/l/boost/boost.glibc.long.long.diff b/source/l/boost/boost.glibc.long.long.diff
new file mode 100644
index 00000000..3c425f32
--- /dev/null
+++ b/source/l/boost/boost.glibc.long.long.diff
@@ -0,0 +1,22 @@
+diff -up boost/cstdint.hpp\~ boost/cstdint.hpp
+--- boost/cstdint.hpp~ 2013-03-07 01:46:19.000000000 +0100
++++ boost/cstdint.hpp 2013-06-25 21:56:25.930276225 +0200
+@@ -41,7 +41,15 @@
+ // so we disable use of stdint.h when GLIBC does not define __GLIBC_HAVE_LONG_LONG.
+ // See https://svn.boost.org/trac/boost/ticket/3548 and http://sources.redhat.com/bugzilla/show_bug.cgi?id=10990
+ //
+-#if defined(BOOST_HAS_STDINT_H) && (!defined(__GLIBC__) || defined(__GLIBC_HAVE_LONG_LONG))
++// This define has been dropped altogether in GLIBC 2.17. As of then,
++// support for long long is part of baseline requirements, and
++// [u]int64_t is always defined. See here:
++// http://sourceware.org/ml/libc-alpha/2013-01/msg00440.html
++//
++#if defined(BOOST_HAS_STDINT_H) \
++ && (!defined(__GLIBC__) \
++ || defined(__GLIBC_HAVE_LONG_LONG) \
++ || (defined __GLIBC_PREREQ && __GLIBC_PREREQ(2,17)))
+
+ // The following #include is an implementation artifact; not part of interface.
+ # ifdef __hpux
+
+Diff finished. Tue Jun 25 21:56:32 2013
diff --git a/source/l/boost/changeset_82498.diff b/source/l/boost/changeset_82498.diff
new file mode 100644
index 00000000..6b7a9a70
--- /dev/null
+++ b/source/l/boost/changeset_82498.diff
@@ -0,0 +1,116 @@
+Index: /trunk/boost/graph/named_graph.hpp
+===================================================================
+--- /trunk/boost/graph/named_graph.hpp (revision 81772)
++++ /trunk/boost/graph/named_graph.hpp (revision 82498)
+@@ -12,4 +12,5 @@
+
+ #include <boost/config.hpp>
++#include <boost/static_assert.hpp>
+ #include <boost/functional/hash.hpp>
+ #include <boost/graph/graph_traits.hpp>
+@@ -20,7 +21,9 @@
+ #include <boost/optional.hpp>
+ #include <boost/pending/property.hpp> // for boost::lookup_one_property
++#include <boost/pending/container_traits.hpp>
+ #include <boost/throw_exception.hpp>
+ #include <boost/tuple/tuple.hpp> // for boost::make_tuple
+ #include <boost/type_traits/is_same.hpp>
++#include <boost/type_traits/is_base_of.hpp>
+ #include <boost/type_traits/remove_cv.hpp>
+ #include <boost/type_traits/remove_reference.hpp>
+@@ -254,5 +257,6 @@
+ /// Notify the named_graph that we are removing the given
+ /// vertex. The name of the vertex will be removed from the mapping.
+- void removing_vertex(Vertex vertex);
++ template <typename VertexIterStability>
++ void removing_vertex(Vertex vertex, VertexIterStability);
+
+ /// Notify the named_graph that we are clearing the graph.
+@@ -309,6 +313,8 @@
+
+ template<BGL_NAMED_GRAPH_PARAMS>
+-inline void BGL_NAMED_GRAPH::removing_vertex(Vertex vertex)
+-{
++template<typename VertexIterStability>
++inline void BGL_NAMED_GRAPH::removing_vertex(Vertex vertex, VertexIterStability)
++{
++ BOOST_STATIC_ASSERT_MSG ((boost::is_base_of<boost::graph_detail::stable_tag, VertexIterStability>::value), "Named graphs cannot use vecS as vertex container and remove vertices; the lack of vertex descriptor stability (which iterator stability is a proxy for) means that the name -> vertex mapping would need to be completely rebuilt after each deletion. See https://svn.boost.org/trac/boost/ticket/7863 for more information and a test case.");
+ typedef typename BGL_NAMED_GRAPH::vertex_name_type vertex_name_type;
+ const vertex_name_type& vertex_name = extract_name(derived()[vertex]);
+@@ -487,5 +493,6 @@
+ /// Notify the named_graph that we are removing the given
+ /// vertex. This is a no-op.
+- void removing_vertex(Vertex) { }
++ template <typename VertexIterStability>
++ void removing_vertex(Vertex, VertexIterStability) { }
+
+ /// Notify the named_graph that we are clearing the graph. This is a
+@@ -518,5 +525,6 @@
+ /// Notify the named_graph that we are removing the given
+ /// vertex. This is a no-op.
+- void removing_vertex(Vertex) { }
++ template <typename VertexIterStability>
++ void removing_vertex(Vertex, VertexIterStability) { }
+
+ /// Notify the named_graph that we are clearing the graph. This is a
+Index: /trunk/boost/graph/detail/adjacency_list.hpp
+===================================================================
+--- /trunk/boost/graph/detail/adjacency_list.hpp (revision 82052)
++++ /trunk/boost/graph/detail/adjacency_list.hpp (revision 82498)
+@@ -18,4 +18,5 @@
+ #include <boost/operators.hpp>
+ #include <boost/property_map/property_map.hpp>
++#include <boost/pending/container_traits.hpp>
+ #include <boost/range/irange.hpp>
+ #include <boost/graph/graph_traits.hpp>
+@@ -1904,5 +1905,5 @@
+ typedef typename Config::stored_vertex stored_vertex;
+ Derived& g = static_cast<Derived&>(g_);
+- g.removing_vertex(u);
++ g.removing_vertex(u, boost::graph_detail::iterator_stability(g_.m_vertices));
+ stored_vertex* su = (stored_vertex*)u;
+ g.m_vertices.erase(su->m_position);
+@@ -2204,5 +2205,5 @@
+ typedef typename Config::directed_category Cat;
+ Graph& g = static_cast<Graph&>(g_);
+- g.removing_vertex(v);
++ g.removing_vertex(v, boost::graph_detail::iterator_stability(g_.m_vertices));
+ detail::remove_vertex_dispatch(g, v, Cat());
+ }
+Index: /trunk/boost/graph/distributed/named_graph.hpp
+===================================================================
+--- /trunk/boost/graph/distributed/named_graph.hpp (revision 67706)
++++ /trunk/boost/graph/distributed/named_graph.hpp (revision 82498)
+@@ -268,5 +268,6 @@
+ /// Notify the named_graph that we are removing the given
+ /// vertex. This is a no-op.
+- void removing_vertex(Vertex) { }
++ template <typename VertexIterStability>
++ void removing_vertex(Vertex, VertexIterStability) { }
+
+ /// Notify the named_graph that we are clearing the graph
+@@ -1212,5 +1213,6 @@
+ /// Notify the named_graph that we are removing the given
+ /// vertex. This is a no-op.
+- void removing_vertex(Vertex) { }
++ template <typename VertexIterStability>
++ void removing_vertex(Vertex, VertexIterStability) { }
+
+ /// Notify the named_graph that we are clearing the graph
+Index: /trunk/boost/graph/distributed/adjacency_list.hpp
+===================================================================
+--- /trunk/boost/graph/distributed/adjacency_list.hpp (revision 77549)
++++ /trunk/boost/graph/distributed/adjacency_list.hpp (revision 82498)
+@@ -38,4 +38,5 @@
+ #include <boost/graph/distributed/selector.hpp>
+ #include <boost/graph/parallel/process_group.hpp>
++#include <boost/pending/container_traits.hpp>
+
+ // Callbacks
+@@ -3428,5 +3429,5 @@
+ BOOST_ASSERT(u.owner == g.processor());
+ static_cast<named_graph_mixin&>(static_cast<graph_type&>(g))
+- .removing_vertex(u);
++ .removing_vertex(u, boost::graph_detail::iterator_stability(g.base().m_vertices));
+ g.distribution().clear();
+ remove_vertex(u.local, g.base());
diff --git a/source/l/cairo/cairo-1.10.0-buggy_gradients.patch b/source/l/cairo/cairo-1.10.0-buggy_gradients.patch
deleted file mode 100644
index 13ef50b2..00000000
--- a/source/l/cairo/cairo-1.10.0-buggy_gradients.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/src/cairo-xlib-display.c 2010-08-04 11:57:49.000000000 +0200
-+++ b/src/cairo-xlib-display.c 2010-08-04 11:58:28.000000000 +0200
-@@ -353,11 +353,7 @@
- /* Prior to Render 0.10, there is no protocol support for gradients and
- * we call function stubs instead, which would silently consume the drawing.
- */
--#if RENDER_MAJOR == 0 && RENDER_MINOR < 10
- display->buggy_gradients = TRUE;
--#else
-- display->buggy_gradients = FALSE;
--#endif
- display->buggy_pad_reflect = FALSE;
- display->buggy_repeat = FALSE;
diff --git a/source/l/cairo/cairo.SlackBuild b/source/l/cairo/cairo.SlackBuild
index cd31e8ec..1b834332 100755
--- a/source/l/cairo/cairo.SlackBuild
+++ b/source/l/cairo/cairo.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,8 +21,9 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=1.10.2
-BUILD=${BUILD:-2}
+PKGNAM=cairo
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -52,14 +53,14 @@ fi
CWD=$(pwd)
TMP=${TMP:-/tmp}
-PKG=$TMP/package-cairo
+PKG=$TMP/package-$PKGNAM
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
-rm -rf cairo-$VERSION
-tar xvf $CWD/cairo-$VERSION.tar.?z* || exit 1
-cd cairo-$VERSION
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+cd $PKGNAM-$VERSION
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -67,10 +68,6 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-# Thanks to Ubuntu for this, but I found it at Gentoo's bugtracker
-# http://bugs.gentoo.org/show_bug.cgi?id=336696
-zcat $CWD/cairo-1.10.0-buggy_gradients.patch.gz | patch -p1 || exit 1
-
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
@@ -83,21 +80,28 @@ CFLAGS="$SLKCFLAGS" \
--disable-win32 \
--disable-trace \
--enable-xlib \
- --enable-freetype \
+ --enable-xcb \
+ --enable-xcb-shm \
+ --enable-xlib-xcb \
--enable-ps \
--enable-pdf \
--enable-svg \
--enable-tee \
--enable-gobject \
+ --enable-xml \
--build=$ARCH-slackware-linux
+
# None of these are 'stable' yet...
# --enable-qt \
# --enable-gl \
# --enable-drm \
-# --enable-xcb \
# --enable-xlib-xcb \
-# --enable-xcb-drm \
-# --enable-drm-xr \
+# --enable-xcb-shm \
+
+# Not sure if these two are needed / useful yet; --enable-xcb is now default
+# --enable-xcb-shm \
+# --enable-xlib-xcb \
+
# Skipping this, because it causes a dependency on the specific
# version of binutils installed at compile time:
# --enable-trace
@@ -108,15 +112,22 @@ make install DESTDIR=$PKG
find $PKG | xargs file | grep -e "executable" -e "shared object" \
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-mkdir -p $PKG/usr/doc/cairo-$VERSION
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a \
AUTHORS BIBLIOGRAPHY BUGS CODING_STYLE COPYING* HACKING NEWS PORTING_GUIDE README RELEASING \
- $PKG/usr/doc/cairo-$VERSION
-( cd $PKG/usr/doc/cairo-$VERSION ; ln -sf /usr/share/gtk-doc/html/cairo html )
+ $PKG/usr/doc/$PKGNAM-$VERSION
+( cd $PKG/usr/doc/$PKGNAM-$VERSION ; ln -sf /usr/share/gtk-doc/html/cairo html )
+
+# We do not need the entire NEWS file.
+if [ -r NEWS ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat NEWS | head -n 1000 > $DOCSDIR/NEWS
+ touch -r NEWS $DOCSDIR/NEWS
+fi
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
-/sbin/makepkg -l y -c n $TMP/cairo-$VERSION-$ARCH-$BUILD.txz
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/cairo/paredown.sh b/source/l/cairo/paredown.sh
new file mode 100755
index 00000000..a2436974
--- /dev/null
+++ b/source/l/cairo/paredown.sh
@@ -0,0 +1,51 @@
+#!/bin/sh
+
+# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# Remove the reference PNG files from the cairo source tarball.
+# These are used only for build time testing, and cairo always fails
+# a large number of tests, making these files more or less useless to
+# the average end user. If you really need them for some reason, you
+# can fetch the original tarball from cairographics.org.
+#
+# Removing these files reduces the size of the source tarball by 93%.
+
+PKGNAM=cairo
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+
+if [ ! -r $PKGNAM-$VERSION.tar.xz ]; then
+ echo "$PKGNAM-$VERSION.tar.xz is not a cairo tarball. Exiting."
+ exit 1
+fi
+
+touch -r $PKGNAM-$VERSION.tar.xz tmp-timestamp || exit 1
+
+rm -rf $PKGNAM-$VERSION
+tar xvf $PKGNAM-$VERSION.tar.xz || exit 1
+rm -f $PKGNAM-$VERSION/test/reference/*
+rm -f $PKGNAM-$VERSION.tar.xz
+tar cvf $PKGNAM-$VERSION.tar $PKGNAM-$VERSION
+touch -r tmp-timestamp $PKGNAM-$VERSION.tar
+xz -9 -v $PKGNAM-$VERSION.tar
+rm -rf $PKGNAM-$VERSION tmp-timestamp
+
+echo "Repacking of $PKGNAM-$VERSION.tar.xz complete."
+
diff --git a/source/l/clucene/clucene.SlackBuild b/source/l/clucene/clucene.SlackBuild
index 8600cccf..1b8e351d 100755
--- a/source/l/clucene/clucene.SlackBuild
+++ b/source/l/clucene/clucene.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Copyright 2007 Heinz Wiesinger <hmwiesinger@gmx.at>
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -28,7 +28,7 @@
PKGNAM=clucene
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:--j7}
@@ -73,7 +73,10 @@ tar xvf $CWD/clucene-src-$VERSION.tar.?z* || exit 1
cd clucene-src-$VERSION || exit 1
# Fix the pkgconfig file by adding required shared library.
-cat $CWD/clucene.pkgconfig.patch | patch -p1 --verbose || exit 1
+zcat $CWD/clucene.pkgconfig.patch.gz | patch -p1 --verbose || exit 1
+
+# Fix contrib-libs installation:
+zcat $CWD/clucene.install_contribs_lib.diff.gz | patch -p1 --verbose || exit 1
chown -R root:root .
find . \
@@ -91,6 +94,7 @@ cd build
-DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_CONTRIBS_LIB:BOOL=ON \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
..
make $NUMJOBS || make || exit 1
diff --git a/source/l/clucene/clucene.install_contribs_lib.diff b/source/l/clucene/clucene.install_contribs_lib.diff
new file mode 100644
index 00000000..8fbb3c71
--- /dev/null
+++ b/source/l/clucene/clucene.install_contribs_lib.diff
@@ -0,0 +1,42 @@
+diff -NaurpBb clucene-core-2.3.3.4/CMakeLists.txt clucene-core-2.3.3.4-mod/CMakeLists.txt
+--- clucene-core-2.3.3.4/CMakeLists.txt 2011-03-17 03:21:07.000000000 +0300
++++ clucene-core-2.3.3.4-mod/CMakeLists.txt 2011-08-16 16:56:55.968268152 +0400
+@@ -163,7 +163,7 @@ IF ( BUILD_CONTRIBS )
+ SET(BUILD_CONTRIBS_LIB 1)
+ ENDIF ( BUILD_CONTRIBS )
+ IF ( BUILD_CONTRIBS_LIB )
+- ADD_SUBDIRECTORY (src/contribs-lib EXCLUDE_FROM_ALL)
++ ADD_SUBDIRECTORY (src/contribs-lib)
+ ENDIF ( BUILD_CONTRIBS_LIB )
+
+
+diff -NaurpBb clucene-core-2.3.3.4/src/contribs-lib/CMakeLists.txt clucene-core-2.3.3.4-mod/src/contribs-lib/CMakeLists.txt
+--- clucene-core-2.3.3.4/src/contribs-lib/CMakeLists.txt 2011-03-17 03:21:07.000000000 +0300
++++ clucene-core-2.3.3.4-mod/src/contribs-lib/CMakeLists.txt 2011-08-16 17:14:13.499275499 +0400
+@@ -106,9 +106,26 @@ add_library(clucene-contribs-lib SHARED
+ )
+ TARGET_LINK_LIBRARIES(clucene-contribs-lib ${clucene_contrib_extra_libs})
+
++#install public headers.
++FOREACH(file ${HEADERS})
++ get_filename_component(apath ${file} PATH)
++ get_filename_component(aname ${file} NAME)
++ file(RELATIVE_PATH relpath ${CMAKE_SOURCE_DIR}/src/contribs-lib ${apath})
++ IF ( NOT aname MATCHES "^_.*" )
++ install(FILES ${file}
++ DESTINATION include/${relpath}
++ COMPONENT development)
++ ENDIF ( NOT aname MATCHES "^_.*" )
++ENDFOREACH(file)
++
+ #set properties on the libraries
+ SET_TARGET_PROPERTIES(clucene-contribs-lib PROPERTIES
+ VERSION ${CLUCENE_VERSION}
+ SOVERSION ${CLUCENE_SOVERSION}
+ COMPILE_DEFINITIONS_DEBUG _DEBUG
+ )
++
++#and install library
++install(TARGETS clucene-contribs-lib
++ DESTINATION ${LIB_DESTINATION}
++ COMPONENT runtime )
diff --git a/source/l/clucene/clucene.pkgconfig.patch b/source/l/clucene/clucene.pkgconfig.diff
index 61444799..61444799 100644
--- a/source/l/clucene/clucene.pkgconfig.patch
+++ b/source/l/clucene/clucene.pkgconfig.diff
diff --git a/source/l/dconf/dconf.SlackBuild b/source/l/dconf/dconf.SlackBuild
new file mode 100755
index 00000000..89fd7197
--- /dev/null
+++ b/source/l/dconf/dconf.SlackBuild
@@ -0,0 +1,112 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2011 David Somero (dsomero@hotmail.com) Athens, TN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=dconf
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a COPYING* NEWS README* $PKG/usr/doc/$PKGNAM-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz | sed "s,@LIBDIR@,/usr/lib${LIBDIRSUFFIX}," > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/dconf/dconf.url b/source/l/dconf/dconf.url
new file mode 100644
index 00000000..faabca91
--- /dev/null
+++ b/source/l/dconf/dconf.url
@@ -0,0 +1,2 @@
+http://live.gnome.org/dconf
+ftp://ftp.gnome.org/pub/gnome/sources/dconf/
diff --git a/source/l/dconf/doinst.sh b/source/l/dconf/doinst.sh
new file mode 100644
index 00000000..5b77efb0
--- /dev/null
+++ b/source/l/dconf/doinst.sh
@@ -0,0 +1,9 @@
+# Reload messagebus service
+if [ -x /etc/rc.d/rc.messagebus ]; then
+ sh /etc/rc.d/rc.messagebus reload
+fi
+
+# Try to run these. If they fail, no biggie.
+chroot . /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas/ 1> /dev/null 2> /dev/null
+chroot . /usr/bin/gio-querymodules @LIBDIR@/gio/modules/ 1> /dev/null 2> /dev/null
+
diff --git a/source/l/dconf/slack-desc b/source/l/dconf/slack-desc
new file mode 100644
index 00000000..4ab563a8
--- /dev/null
+++ b/source/l/dconf/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+dconf: dconf (low-level configuration system)
+dconf:
+dconf: dconf is a low-level configuration system. Its main purpose is to
+dconf: provide a backend to the GSettings API in GLib.
+dconf:
+dconf: Homepage: http://live.gnome.org/dconf
+dconf:
+dconf:
+dconf:
+dconf:
+dconf:
diff --git a/source/l/desktop-file-utils/desktop-file-utils.SlackBuild b/source/l/desktop-file-utils/desktop-file-utils.SlackBuild
index ef558c65..a98deb9e 100755
--- a/source/l/desktop-file-utils/desktop-file-utils.SlackBuild
+++ b/source/l/desktop-file-utils/desktop-file-utils.SlackBuild
@@ -74,7 +74,6 @@ CFLAGS="$SLKCFLAGS" \
--prefix=/usr \
--mandir=/usr/man \
--docdir=/usr/doc/$PKGNAM-$VERSION \
- --disable-static \
--build=$ARCH-slackware-linux \
--host=$ARCH-slackware-linux
diff --git a/source/l/ebook-tools/ebook-tools.SlackBuild b/source/l/ebook-tools/ebook-tools.SlackBuild
index 162693f9..44fc031e 100755
--- a/source/l/ebook-tools/ebook-tools.SlackBuild
+++ b/source/l/ebook-tools/ebook-tools.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Copyright 2010 Eric Hameleers, Eindhoven, NL
-# Copyright 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
PKGNAM=ebook-tools
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -68,9 +68,6 @@ rm -rf ${PKGNAM}-${VERSION}
tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1
cd ${PKGNAM}-$VERSION || exit 1
-# Fix some hard-coded pathnames for 64-bit:
-cat $CWD/ebook-tools.paths.diff | patch -p1 --verbose || exit 1
-
# Make sure ownerships and permissions are sane:
chown -R root:root .
find . \
diff --git a/source/l/ebook-tools/ebook-tools.paths.diff b/source/l/ebook-tools/ebook-tools.paths.diff
deleted file mode 100644
index 7f857b03..00000000
--- a/source/l/ebook-tools/ebook-tools.paths.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- ebook-tools-0.2.1/src/libepub/CMakeLists.txt.orig 2010-09-13 21:31:53.000000000 +0200
-+++ ebook-tools-0.2.1/src/libepub/CMakeLists.txt 2010-12-09 14:11:39.751653250 +0100
-@@ -4,5 +4,5 @@
-
- set_target_properties (epub PROPERTIES VERSION 0.2.1 SOVERSION 0)
-
--install ( TARGETS epub RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib )
--install ( FILES epub.h epub_shared.h epub_version.h DESTINATION include )
-+install ( TARGETS epub RUNTIME DESTINATION bin LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR} )
-+install ( FILES epub.h epub_shared.h epub_version.h DESTINATION ${INCLUDE_INSTALL_DIR} )
diff --git a/source/l/enchant/enchant.SlackBuild b/source/l/enchant/enchant.SlackBuild
index d4f0eb9b..245a9506 100755
--- a/source/l/enchant/enchant.SlackBuild
+++ b/source/l/enchant/enchant.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Copyright 2007 Alex Elliott <alex@alex-elliott.co.uk>
-# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,9 +23,10 @@
# Modified by Robby Workman <rworkman at slackware.com>
-
-VERSION=1.5.0
+PKGNAM=enchant
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
+
NUMJOBS=${NUMJOBS:-" -j6 "}
# Automatically determine the architecture we're building on:
@@ -40,7 +41,7 @@ fi
CWD=$(pwd)
TMP=${TMP:-/tmp}
-PKG=$TMP/package-enchant
+PKG=$TMP/package-${PKGNAM}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
@@ -59,9 +60,9 @@ fi
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
-rm -rf enchant-$VERSION
-tar xvf $CWD/enchant-$VERSION.tar.xz || exit 1
-cd enchant-$VERSION || exit 1
+rm -rf ${PKGNAM}-$VERSION
+tar xvf $CWD/${PKGNAM}-$VERSION.tar.xz || exit 1
+cd ${PKGNAM}-$VERSION || exit 1
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -94,12 +95,12 @@ make install DESTDIR=$PKG || exit 1
for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
)
-mkdir -p $PKG/usr/doc/enchant-$VERSION
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a AUTHORS BUGS COPYING* HACKING MAINTAINERS NEWS README TODO \
- $PKG/usr/doc/enchant-$VERSION || true
+ $PKG/usr/doc/${PKGNAM}-$VERSION || true
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
-/sbin/makepkg -l y -c n $TMP/enchant-$VERSION-$ARCH-$BUILD.txz
+/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/enchant/enchant.info b/source/l/enchant/enchant.info
deleted file mode 100644
index 6dd8406f..00000000
--- a/source/l/enchant/enchant.info
+++ /dev/null
@@ -1,2 +0,0 @@
-http://www.abisource.com/projects/enchant/
-http://www.abisource.com/downloads/enchant/1.4.2/enchant-1.4.2.tar.gz
diff --git a/source/l/esound/esound.SlackBuild b/source/l/esound/esound.SlackBuild
index bbb8a2fe..c7894fcd 100755
--- a/source/l/esound/esound.SlackBuild
+++ b/source/l/esound/esound.SlackBuild
@@ -23,7 +23,7 @@
PKGNAM=esound
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j7 "}
diff --git a/source/l/expat/expat-2.0.1-fixes-3.patch b/source/l/expat/expat-2.0.1-fixes-3.patch
deleted file mode 100644
index 5059f297..00000000
--- a/source/l/expat/expat-2.0.1-fixes-3.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
-Date: 2010-12-09
-Initial Package Version: 2.0.1
-Upstream Status: From Upstream
-Origin: Unknown
-Description: Fixes for CVE-2009-2625 (infinite loop and application hang via
-malformed XML) CVE-2009-3560 (DOS via buffer overrun caused by malformed UTF-8)
-and CVE-2009-3720 (DOS via buffer overrun caused by crafted UTF-8). This
-replaces version -2 which had both the original and the revised fixes for
-CVE-2009-3560 - the revised version is supposed to replace the original, not
-add to it, because of problems with certain perl users of libexpat.
-
-
-diff -Naur expat-2.0.1.orig//lib/xmlparse.c expat-2.0.1/lib/xmlparse.c
---- expat-2.0.1.orig//lib/xmlparse.c 2007-05-08 03:25:35.000000000 +0100
-+++ expat-2.0.1/lib/xmlparse.c 2010-12-06 18:01:03.082339393 +0000
-@@ -3703,6 +3703,9 @@
- return XML_ERROR_UNCLOSED_TOKEN;
- case XML_TOK_PARTIAL_CHAR:
- return XML_ERROR_PARTIAL_CHAR;
-+ case -XML_TOK_PROLOG_S:
-+ tok = -tok;
-+ break;
- case XML_TOK_NONE:
- #ifdef XML_DTD
- /* for internal PE NOT referenced between declarations */
-diff -Naur expat-2.0.1.orig//lib/xmltok_impl.c expat-2.0.1/lib/xmltok_impl.c
---- expat-2.0.1.orig//lib/xmltok_impl.c 2006-11-26 17:34:46.000000000 +0000
-+++ expat-2.0.1/lib/xmltok_impl.c 2010-12-06 18:01:03.082339393 +0000
-@@ -1744,7 +1744,7 @@
- const char *end,
- POSITION *pos)
- {
-- while (ptr != end) {
-+ while (ptr < end) {
- switch (BYTE_TYPE(enc, ptr)) {
- #define LEAD_CASE(n) \
- case BT_LEAD ## n: \
diff --git a/source/l/expat/expat.SlackBuild b/source/l/expat/expat.SlackBuild
index 94e7e3a5..87f1462e 100755
--- a/source/l/expat/expat.SlackBuild
+++ b/source/l/expat/expat.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
PKGNAM=expat
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -56,11 +56,9 @@ rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf expat-$VERSION
-tar xzvf $CWD/expat-$VERSION.tar.?z* || exit 1
+tar xvf $CWD/expat-$VERSION.tar.?z* || exit 1
cd expat-$VERSION
-zcat $CWD/expat-2.0.1-fixes-3.patch.gz | patch -p1 --verbose || exit 1
-
chown -R root:root .
find . -perm 777 -exec chmod 755 {} \;
find . -perm 664 -exec chmod 644 {} \;
@@ -68,6 +66,7 @@ CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
--build=$ARCH-slackware-linux
make -j4 || exit 1
make install DESTDIR=$PKG
diff --git a/source/l/fftw/fftw.SlackBuild b/source/l/fftw/fftw.SlackBuild
index ffed6f95..98cfe39f 100755
--- a/source/l/fftw/fftw.SlackBuild
+++ b/source/l/fftw/fftw.SlackBuild
@@ -3,9 +3,10 @@
# Slackware build script for fftw
# Written by Kyle Guinn <elyk03@gmail.com>
-PRGNAM=fftw
-VERSION=${VERSION:-3.2.2}
+PKGNAM=fftw
+VERSION=${VERSION:-3.3.3}
BUILD=${BUILD:-1}
+NUMJOBS=${NUMJOBS:-" -j7 "}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -19,65 +20,39 @@ fi
CWD=$(pwd)
TMP=${TMP:-/tmp}
-PKG=$TMP/package-$PRGNAM-$VERSION
+PKG=$TMP/package-$PKGNAM-$VERSION
OUTPUT=${OUTPUT:-/tmp}
-DOCS="AUTHORS CONVENTIONS COPY* INSTALL NEWS README* TODO doc/html"
-
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
+ SIMD="--enable-sse2 --enable-avx"
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
+ SIMD="--enable-sse2 --enable-avx"
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
+ SIMD="--enable-sse2 --enable-avx"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
-fi
-
-if [ "${PORTABLE:-yes}" = "no" ]; then
- # According to doc/fftw3.pdf the configure script should choose the best
- # value for $CFLAGS. These variables must be unset so that the configure
- # script will decide.
-
- # If you are interested in further optimizations such as alternative
- # multithreading and support for other processors, check this page for
- # details:
- # http://www.fftw.org/fftw3_doc/Installation-on-Unix.html
- unset CFLAGS
- unset CXXFLAGS
- unset FFLAGS
- PKGARCH="custom"
- do_portable=""
-else
- PKGARCH=$ARCH
- do_portable="--enable-portable-binary"
-fi
-
-if [ "${SSE:-no}" = "no" ]; then
- do_sse=""
-else
- do_sse="--enable-sse"
-fi
-
-if [ "${SSE2:-no}" = "no" ]; then
- do_sse2=""
-else
- do_sse2="--enable-sse2"
+ SIMD=""
fi
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.?z* || exit 1
-cd $PRGNAM-$VERSION
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+cd $PKGNAM-$VERSION
chown -R root:root .
chmod -R u+w,go+r-w,a-st .
+# fix cflags
+sed -i "s|-mtune=native|$SLKCFLAGS|" configure
+
# compile libfftw3
./configure \
--prefix=/usr \
@@ -90,10 +65,13 @@ chmod -R u+w,go+r-w,a-st .
--enable-shared \
--disable-static \
--enable-threads \
- $do_sse2 \
- $do_portable
-make -j4 || exit 1
+ --enable-openmp \
+ $SIMD \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
make install-strip DESTDIR=$PKG || exit 1
+make clean
# compile libfftw3f
./configure \
@@ -107,11 +85,14 @@ make install-strip DESTDIR=$PKG || exit 1
--enable-shared \
--disable-static \
--enable-threads \
+ --enable-openmp \
--enable-float \
- $do_sse \
- $do_portable
-make -j4 || exit 1
+ $SIMD \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
make install-strip DESTDIR=$PKG || exit 1
+make clean
# compile libfftw3l
./configure \
@@ -125,9 +106,31 @@ make install-strip DESTDIR=$PKG || exit 1
--enable-shared \
--disable-static \
--enable-threads \
+ --enable-openmp \
--enable-long-double \
- $do_portable
-make -j4 || exit 1
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install-strip DESTDIR=$PKG || exit 1
+make clean
+
+# compile libfftw3q
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --docdir=/usr/doc/fftw-$VERSION \
+ --enable-shared \
+ --disable-static \
+ --enable-threads \
+ --enable-openmp \
+ --enable-quad-precision \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
make install-strip DESTDIR=$PKG || exit 1
( cd $PKG/usr/man
@@ -141,12 +144,13 @@ make install-strip DESTDIR=$PKG || exit 1
rm -f $PKG/usr/info/dir
gzip -9 $PKG/usr/info/*
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS CONVENTIONS COPY* INSTALL NEWS README* TODO doc/html \
+ $PKG/usr/doc/$PKGNAM-$VERSION
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD.txz
+/sbin/makepkg -l y -c n $OUTPUT/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/gc/gc.SlackBuild b/source/l/gc/gc.SlackBuild
new file mode 100755
index 00000000..70c9595a
--- /dev/null
+++ b/source/l/gc/gc.SlackBuild
@@ -0,0 +1,130 @@
+#!/bin/sh
+
+# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=gc
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+rm -rf $PKG
+mkdir -p $PKG/usr
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION $PKGNAM-$(echo $VERSION | cut -b 1-3)
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION 2> /dev/null || cd $PKGNAM-$(echo $VERSION | cut -b 1-3) || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+zcat $CWD/gc.test-stack-infinite-loop.diff.gz | patch -p1 --verbose || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --disable-static \
+ --disable-dependency-tracking \
+ --disable-static \
+ --enable-cplusplus \
+ --enable-large-config \
+ --enable-parallel-mark \
+ --enable-threads=posix \
+ --with-libatomic-ops=no \
+ --build=$ARCH-slackware-linux
+
+# Does not like parallel make...
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress and link manpages, if any:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+# Compress info files, if any:
+if [ -d $PKG/usr/info ]; then
+ ( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+ )
+fi
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING* FAQ GUILE-VERSION \
+ HACKING INSTALL LICENSE NEWS README* THANKS \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/l/gc/gc.test-stack-infinite-loop.diff b/source/l/gc/gc.test-stack-infinite-loop.diff
new file mode 100644
index 00000000..49a6046e
--- /dev/null
+++ b/source/l/gc/gc.test-stack-infinite-loop.diff
@@ -0,0 +1,67 @@
+diff --git a/libatomic_ops/tests/test_atomic.c b/libatomic_ops/tests/test_atomic.c
+index e354024..b8906e9 100644
+--- a/libatomic_ops/tests/test_atomic.c
++++ b/libatomic_ops/tests/test_atomic.c
+@@ -77,7 +77,10 @@ void * acqrel_thr(void *id)
+ {
+ AO_t my_counter1;
+ if (me != 1)
+- fprintf(stderr, "acqrel test: too many threads\n");
++ {
++ fprintf(stderr, "acqrel test: too many threads\n");
++ abort();
++ }
+ my_counter1 = AO_load(&counter1);
+ AO_store(&counter1, my_counter1 + 1);
+ AO_store_release_write(&counter2, my_counter1 + 1);
+diff --git a/libatomic_ops/tests/test_malloc.c b/libatomic_ops/tests/test_malloc.c
+index a1f4179..a19ffd5 100644
+--- a/libatomic_ops/tests/test_malloc.c
++++ b/libatomic_ops/tests/test_malloc.c
+@@ -151,6 +151,7 @@ void * run_one_test(void * arg) {
+ if (0 == p) {
+ # ifdef HAVE_MMAP
+ fprintf(stderr, "AO_malloc(%d) failed\n", LARGE_OBJ_SIZE);
++ abort();
+ # else
+ fprintf(stderr, "AO_malloc(%d) failed: This is normal without mmap\n",
+ LARGE_OBJ_SIZE);
+diff --git a/libatomic_ops/tests/test_stack.c b/libatomic_ops/tests/test_stack.c
+index bf3180d..e654c35 100644
+--- a/libatomic_ops/tests/test_stack.c
++++ b/libatomic_ops/tests/test_stack.c
+@@ -97,14 +97,23 @@ void check_list(int n)
+ p = (list_element *)AO_REAL_NEXT_PTR(p -> next))
+ {
+ if (p -> data > n || p -> data <= 0)
+- fprintf(stderr, "Found erroneous list element %d\n", p -> data);
++ {
++ fprintf(stderr, "Found erroneous list element %d\n", i);
++ abort();
++ }
+ if (marks[p -> data] != 0)
+- fprintf(stderr, "Found duplicate list element %d\n", p -> data);
++ {
++ fprintf(stderr, "Found duplicate list element %d\n", i);
++ abort();
++ }
+ marks[p -> data] = 1;
+ }
+ for (i = 1; i <= n; ++i)
+ if (marks[i] != 1)
+- fprintf(stderr, "Missing list element %d\n", i);
++ {
++ fprintf(stderr, "Missing list element %d\n", i);
++ abort();
++ }
+ }
+
+ volatile AO_t ops_performed = 0;
+@@ -218,6 +227,7 @@ int main(int argc, char **argv)
+ int code;
+ if ((code = pthread_join(thread[i], 0)) != 0) {
+ fprintf(stderr, "Thread join failed %u\n", code);
++ abort();
+ }
+ }
+ times[nthreads][exper_n] = (unsigned long)(get_msecs() - start_time);
diff --git a/source/l/gc/slack-desc b/source/l/gc/slack-desc
new file mode 100644
index 00000000..4e747f8f
--- /dev/null
+++ b/source/l/gc/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+gc: gc (garbage collector library)
+gc:
+gc: The Boehm-Demers-Weiser conservative garbage collector can be used as
+gc: a garbage collecting replacement for C malloc or C++ new.
+gc:
+gc: Homepage: http://www.hpl.hp.com/personal/Hans_Boehm/gc/
+gc:
+gc:
+gc:
+gc:
+gc:
diff --git a/source/l/gdk-pixbuf2/gdk-pixbuf2.SlackBuild b/source/l/gdk-pixbuf2/gdk-pixbuf2.SlackBuild
index 4f4c1f44..7a538868 100755
--- a/source/l/gdk-pixbuf2/gdk-pixbuf2.SlackBuild
+++ b/source/l/gdk-pixbuf2/gdk-pixbuf2.SlackBuild
@@ -1,7 +1,5 @@
#!/bin/sh
-# Slackware build script for gdk-pixbuf
-
# Copyright 2010, 2011 Robby Workman, Northport, Alabama, USA
# Copyright 2010, 2011 Patrick Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
@@ -25,7 +23,7 @@
PKGNAM=gdk-pixbuf
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/l/gegl/gegl.SlackBuild b/source/l/gegl/gegl.SlackBuild
index 5cf8e63b..8eac6167 100755
--- a/source/l/gegl/gegl.SlackBuild
+++ b/source/l/gegl/gegl.SlackBuild
@@ -23,7 +23,7 @@
VERSION=${VERSION:-$(echo gegl-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/l/glib2/glib2.SlackBuild b/source/l/glib2/glib2.SlackBuild
index 09e453e6..12014ef0 100755
--- a/source/l/glib2/glib2.SlackBuild
+++ b/source/l/glib2/glib2.SlackBuild
@@ -68,6 +68,9 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+# Silly upstream, using the bleeding edge. Reconf:
+autoreconf --force --install
+
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
diff --git a/source/l/glibc/doinst.sh-glibc b/source/l/glibc/doinst.sh-glibc
index 1b3e03e3..5904dc75 100644
--- a/source/l/glibc/doinst.sh-glibc
+++ b/source/l/glibc/doinst.sh-glibc
@@ -1,6 +1,6 @@
#!/bin/sh
# Copyright (C) 2002, 2005 Slackware Linux, Inc.
-# Copyright 2005, 2006, 2007, 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2005, 2006, 2007, 2011, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -111,43 +111,43 @@ rm -f etc/profile.d/glibc.sh.new
# In case there's no ldconfig, make the links manually:
if [ ! -x /sbin/ldconfig ]; then
( cd lib ; rm -rf libnss_nis.so.2 )
-( cd lib ; ln -sf libnss_nis-2.15.so libnss_nis.so.2 )
+( cd lib ; ln -sf libnss_nis-2.17.so libnss_nis.so.2 )
( cd lib ; rm -rf libm.so.6 )
-( cd lib ; ln -sf libm-2.15.so libm.so.6 )
+( cd lib ; ln -sf libm-2.17.so libm.so.6 )
( cd lib ; rm -rf libnss_files.so.2 )
-( cd lib ; ln -sf libnss_files-2.15.so libnss_files.so.2 )
+( cd lib ; ln -sf libnss_files-2.17.so libnss_files.so.2 )
( cd lib ; rm -rf libresolv.so.2 )
-( cd lib ; ln -sf libresolv-2.15.so libresolv.so.2 )
+( cd lib ; ln -sf libresolv-2.17.so libresolv.so.2 )
( cd lib ; rm -rf libnsl.so.1 )
-( cd lib ; ln -sf libnsl-2.15.so libnsl.so.1 )
+( cd lib ; ln -sf libnsl-2.17.so libnsl.so.1 )
( cd lib ; rm -rf libutil.so.1 )
-( cd lib ; ln -sf libutil-2.15.so libutil.so.1 )
+( cd lib ; ln -sf libutil-2.17.so libutil.so.1 )
( cd lib ; rm -rf libnss_compat.so.2 )
-( cd lib ; ln -sf libnss_compat-2.15.so libnss_compat.so.2 )
+( cd lib ; ln -sf libnss_compat-2.17.so libnss_compat.so.2 )
( cd lib ; rm -rf libthread_db.so.1 )
( cd lib ; ln -sf libthread_db-1.0.so libthread_db.so.1 )
( cd lib ; rm -rf libnss_hesiod.so.2 )
-( cd lib ; ln -sf libnss_hesiod-2.15.so libnss_hesiod.so.2 )
+( cd lib ; ln -sf libnss_hesiod-2.17.so libnss_hesiod.so.2 )
( cd lib ; rm -rf libanl.so.1 )
-( cd lib ; ln -sf libanl-2.15.so libanl.so.1 )
+( cd lib ; ln -sf libanl-2.17.so libanl.so.1 )
( cd lib ; rm -rf libcrypt.so.1 )
-( cd lib ; ln -sf libcrypt-2.15.so libcrypt.so.1 )
+( cd lib ; ln -sf libcrypt-2.17.so libcrypt.so.1 )
( cd lib ; rm -rf libBrokenLocale.so.1 )
-( cd lib ; ln -sf libBrokenLocale-2.15.so libBrokenLocale.so.1 )
+( cd lib ; ln -sf libBrokenLocale-2.17.so libBrokenLocale.so.1 )
( cd lib ; rm -rf ld-linux.so.2 )
-( cd lib ; ln -sf ld-2.15.so ld-linux.so.2 )
+( cd lib ; ln -sf ld-2.17.so ld-linux.so.2 )
( cd lib ; rm -rf libdl.so.2 )
-( cd lib ; ln -sf libdl-2.15.so libdl.so.2 )
+( cd lib ; ln -sf libdl-2.17.so libdl.so.2 )
( cd lib ; rm -rf libnss_dns.so.2 )
-( cd lib ; ln -sf libnss_dns-2.15.so libnss_dns.so.2 )
+( cd lib ; ln -sf libnss_dns-2.17.so libnss_dns.so.2 )
( cd lib ; rm -rf libpthread.so.0 )
-( cd lib ; ln -sf libpthread-2.15.so libpthread.so.0 )
+( cd lib ; ln -sf libpthread-2.17.so libpthread.so.0 )
( cd lib ; rm -rf libnss_nisplus.so.2 )
-( cd lib ; ln -sf libnss_nisplus-2.15.so libnss_nisplus.so.2 )
+( cd lib ; ln -sf libnss_nisplus-2.17.so libnss_nisplus.so.2 )
( cd lib ; rm -rf libc.so.6 )
-( cd lib ; ln -sf libc-2.15.so libc.so.6 )
+( cd lib ; ln -sf libc-2.17.so libc.so.6 )
( cd lib ; rm -rf librt.so.1 )
-( cd lib ; ln -sf librt-2.15.so librt.so.1 )
+( cd lib ; ln -sf librt-2.17.so librt.so.1 )
fi
# More links:
@@ -190,3 +190,8 @@ fi
( cd usr/share/zoneinfo ; ln -sf /etc/localtime localtime )
( cd bin ; rm -rf sln )
( cd bin ; ln -sf /sbin/sln sln )
+
+# Reload to prevent init from holding a stale handle to glibc on shutdown:
+if [ -x /sbin/telinit ]; then
+ /sbin/telinit u
+fi
diff --git a/source/l/glibc/doinst.sh-glibc-solibs b/source/l/glibc/doinst.sh-glibc-solibs
index f6e41a96..f721926c 100644
--- a/source/l/glibc/doinst.sh-glibc-solibs
+++ b/source/l/glibc/doinst.sh-glibc-solibs
@@ -1,6 +1,6 @@
#!/bin/sh
# Copyright (C) 2002, 2005 Slackware Linux, Inc.
-# Copyright 2005, 2006, 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2005, 2006, 2011, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -91,41 +91,47 @@ rm -f etc/profile.d/glibc.sh.new
# In case there's no ldconfig, make the links manually:
if [ ! -x /sbin/ldconfig ]; then
( cd lib ; rm -rf libnss_nis.so.2 )
-( cd lib ; ln -sf libnss_nis-2.15.so libnss_nis.so.2 )
+( cd lib ; ln -sf libnss_nis-2.17.so libnss_nis.so.2 )
( cd lib ; rm -rf libm.so.6 )
-( cd lib ; ln -sf libm-2.15.so libm.so.6 )
+( cd lib ; ln -sf libm-2.17.so libm.so.6 )
( cd lib ; rm -rf libnss_files.so.2 )
-( cd lib ; ln -sf libnss_files-2.15.so libnss_files.so.2 )
+( cd lib ; ln -sf libnss_files-2.17.so libnss_files.so.2 )
( cd lib ; rm -rf libresolv.so.2 )
-( cd lib ; ln -sf libresolv-2.15.so libresolv.so.2 )
+( cd lib ; ln -sf libresolv-2.17.so libresolv.so.2 )
( cd lib ; rm -rf libnsl.so.1 )
-( cd lib ; ln -sf libnsl-2.15.so libnsl.so.1 )
+( cd lib ; ln -sf libnsl-2.17.so libnsl.so.1 )
( cd lib ; rm -rf libutil.so.1 )
-( cd lib ; ln -sf libutil-2.15.so libutil.so.1 )
+( cd lib ; ln -sf libutil-2.17.so libutil.so.1 )
( cd lib ; rm -rf libnss_compat.so.2 )
-( cd lib ; ln -sf libnss_compat-2.15.so libnss_compat.so.2 )
+( cd lib ; ln -sf libnss_compat-2.17.so libnss_compat.so.2 )
( cd lib ; rm -rf libthread_db.so.1 )
( cd lib ; ln -sf libthread_db-1.0.so libthread_db.so.1 )
( cd lib ; rm -rf libnss_hesiod.so.2 )
-( cd lib ; ln -sf libnss_hesiod-2.15.so libnss_hesiod.so.2 )
+( cd lib ; ln -sf libnss_hesiod-2.17.so libnss_hesiod.so.2 )
( cd lib ; rm -rf libanl.so.1 )
-( cd lib ; ln -sf libanl-2.15.so libanl.so.1 )
+( cd lib ; ln -sf libanl-2.17.so libanl.so.1 )
( cd lib ; rm -rf libcrypt.so.1 )
-( cd lib ; ln -sf libcrypt-2.15.so libcrypt.so.1 )
+( cd lib ; ln -sf libcrypt-2.17.so libcrypt.so.1 )
( cd lib ; rm -rf libBrokenLocale.so.1 )
-( cd lib ; ln -sf libBrokenLocale-2.15.so libBrokenLocale.so.1 )
+( cd lib ; ln -sf libBrokenLocale-2.17.so libBrokenLocale.so.1 )
( cd lib ; rm -rf ld-linux.so.2 )
-( cd lib ; ln -sf ld-2.15.so ld-linux.so.2 )
+( cd lib ; ln -sf ld-2.17.so ld-linux.so.2 )
( cd lib ; rm -rf libdl.so.2 )
-( cd lib ; ln -sf libdl-2.15.so libdl.so.2 )
+( cd lib ; ln -sf libdl-2.17.so libdl.so.2 )
( cd lib ; rm -rf libnss_dns.so.2 )
-( cd lib ; ln -sf libnss_dns-2.15.so libnss_dns.so.2 )
+( cd lib ; ln -sf libnss_dns-2.17.so libnss_dns.so.2 )
( cd lib ; rm -rf libpthread.so.0 )
-( cd lib ; ln -sf libpthread-2.15.so libpthread.so.0 )
+( cd lib ; ln -sf libpthread-2.17.so libpthread.so.0 )
( cd lib ; rm -rf libnss_nisplus.so.2 )
-( cd lib ; ln -sf libnss_nisplus-2.15.so libnss_nisplus.so.2 )
+( cd lib ; ln -sf libnss_nisplus-2.17.so libnss_nisplus.so.2 )
( cd lib ; rm -rf libc.so.6 )
-( cd lib ; ln -sf libc-2.15.so libc.so.6 )
+( cd lib ; ln -sf libc-2.17.so libc.so.6 )
( cd lib ; rm -rf librt.so.1 )
-( cd lib ; ln -sf librt-2.15.so librt.so.1 )
+( cd lib ; ln -sf librt-2.17.so librt.so.1 )
fi
+
+# Reload to prevent init from holding a stale handle to glibc on shutdown:
+if [ -x /sbin/telinit ]; then
+ /sbin/telinit u
+fi
+
diff --git a/source/l/glibc/glibc-2.14-reexport-rpc-interface.patch b/source/l/glibc/glibc-2.14-reexport-rpc-interface.patch
deleted file mode 100644
index a0a38162..00000000
--- a/source/l/glibc/glibc-2.14-reexport-rpc-interface.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/include/libc-symbols.h b/include/libc-symbols.h
-index 67e1ca2..5e7cca5 100644
---- a/include/libc-symbols.h
-+++ b/include/libc-symbols.h
-@@ -635,7 +635,7 @@ for linking")
- # define libc_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
- # define libc_hidden_def(name) hidden_def (name)
- # define libc_hidden_weak(name) hidden_weak (name)
--# define libc_hidden_nolink(name, version) hidden_nolink (name, libc, version)
-+# define libc_hidden_nolink(name, version) hidden_def (name)
- # define libc_hidden_ver(local, name) hidden_ver (local, name)
- # define libc_hidden_data_def(name) hidden_data_def (name)
- # define libc_hidden_data_weak(name) hidden_data_weak (name)
-diff --git a/sunrpc/Makefile b/sunrpc/Makefile
-index 5134ce9..40c73d1 100644
---- a/sunrpc/Makefile
-+++ b/sunrpc/Makefile
-@@ -53,7 +53,7 @@ headers-in-tirpc = $(addprefix rpc/,auth.h auth_unix.h clnt.h pmap_clnt.h \
- des_crypt.h)
- headers-not-in-tirpc = $(addprefix rpc/,key_prot.h rpc_des.h) \
- $(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h
--headers = rpc/netdb.h
-+headers = rpc/netdb.h $(headers-in-tirpc) $(headers-not-in-tirpc)
- install-others = $(inst_sysconfdir)/rpc
- generated = $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c) $(rpcsvc:%.x=x%.stmp) \
- $(rpcsvc:%.x=rpcsvc/%.stmp) rpcgen \ No newline at end of file
diff --git a/source/l/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch b/source/l/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch
deleted file mode 100644
index 554b9e56..00000000
--- a/source/l/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From bdd816a366c4e5bba5de7157d948e0c0737fb4fb Mon Sep 17 00:00:00 2001
-From: Andreas Schwab <schwab@redhat.com>
-Date: Tue, 17 May 2011 17:42:30 +0200
-Subject: [PATCH] Reinstall NIS RPC headers
-
----
- nis/Makefile | 4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/nis/Makefile b/nis/Makefile
-index b5c9609..d2934d9 100644
---- a/nis/Makefile
-+++ b/nis/Makefile
-@@ -23,9 +23,9 @@ subdir := nis
-
- aux := nis_hash
-
-+headers := $(wildcard rpcsvc/*.[hx])
- distribute := nss-nis.h nss-nisplus.h nis_intern.h Banner \
-- nisplus-parser.h nis_xdr.h nss \
-- $(wildcard rpcsvc/*.[hx])
-+ nisplus-parser.h nis_xdr.h nss
-
- # These are the databases available for the nis (and perhaps later nisplus)
- # service. This must be a superset of the services in nss.
---
-1.7.5.4
diff --git a/source/l/glibc/glibc-2.14.1-fixes-1.patch b/source/l/glibc/glibc-2.14.1-fixes-1.patch
deleted file mode 100644
index b2b87f12..00000000
--- a/source/l/glibc/glibc-2.14.1-fixes-1.patch
+++ /dev/null
@@ -1,159 +0,0 @@
-Submitted By: Matt Burgess <matthew_at_linuxfromscratch_dot_org>
-Date: 2011-10-07
-Initial Package Version: 2.14.1
-Upstream Status: From upstream
-Origin: Matt Burgess
-Description: Fixes Firefox crashes and a bug when programs link to
- SDL.
-
-diff -Naur glibc-2.14.1.orig/elf/dl-close.c glibc-2.14.1/elf/dl-close.c
---- glibc-2.14.1.orig/elf/dl-close.c 2011-10-07 09:48:55.000000000 +0000
-+++ glibc-2.14.1/elf/dl-close.c 2011-10-07 19:43:10.346411120 +0000
-@@ -119,17 +119,8 @@
- if (map->l_direct_opencount > 0 || map->l_type != lt_loaded
- || dl_close_state != not_pending)
- {
-- if (map->l_direct_opencount == 0)
-- {
-- if (map->l_type == lt_loaded)
-- dl_close_state = rerun;
-- else if (map->l_type == lt_library)
-- {
-- struct link_map **oldp = map->l_initfini;
-- map->l_initfini = map->l_orig_initfini;
-- _dl_scope_free (oldp);
-- }
-- }
-+ if (map->l_direct_opencount == 0 && map->l_type == lt_loaded)
-+ dl_close_state = rerun;
-
- /* There are still references to this object. Do nothing more. */
- if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0))
-diff -Naur glibc-2.14.1.orig/elf/dl-deps.c glibc-2.14.1/elf/dl-deps.c
---- glibc-2.14.1.orig/elf/dl-deps.c 2011-10-07 09:48:55.000000000 +0000
-+++ glibc-2.14.1/elf/dl-deps.c 2011-10-07 19:43:10.348432639 +0000
-@@ -478,6 +478,7 @@
- nneeded * sizeof needed[0]);
- atomic_write_barrier ();
- l->l_initfini = l_initfini;
-+ l->l_free_initfini = 1;
- }
-
- /* If we have no auxiliary objects just go on to the next map. */
-@@ -678,6 +679,7 @@
- l_initfini[nlist] = NULL;
- atomic_write_barrier ();
- map->l_initfini = l_initfini;
-+ map->l_free_initfini = 1;
- if (l_reldeps != NULL)
- {
- atomic_write_barrier ();
-@@ -686,7 +688,7 @@
- _dl_scope_free (old_l_reldeps);
- }
- if (old_l_initfini != NULL)
-- map->l_orig_initfini = old_l_initfini;
-+ _dl_scope_free (old_l_initfini);
-
- if (errno_reason)
- _dl_signal_error (errno_reason == -1 ? 0 : errno_reason, objname,
-diff -Naur glibc-2.14.1.orig/elf/dl-libc.c glibc-2.14.1/elf/dl-libc.c
---- glibc-2.14.1.orig/elf/dl-libc.c 2011-10-07 09:48:55.000000000 +0000
-+++ glibc-2.14.1/elf/dl-libc.c 2011-10-07 19:43:10.352411141 +0000
-@@ -279,6 +279,10 @@
- if (! old->dont_free)
- free (old);
- }
-+
-+ /* Free the initfini dependency list. */
-+ if (l->l_free_initfini)
-+ free (l->l_initfini);
- }
-
- if (__builtin_expect (GL(dl_ns)[ns]._ns_global_scope_alloc, 0) != 0
-diff -Naur glibc-2.14.1.orig/elf/rtld.c glibc-2.14.1/elf/rtld.c
---- glibc-2.14.1.orig/elf/rtld.c 2011-10-07 09:48:55.000000000 +0000
-+++ glibc-2.14.1/elf/rtld.c 2011-10-07 19:43:10.355406263 +0000
-@@ -2263,6 +2263,7 @@
- lnp->dont_free = 1;
- lnp = lnp->next;
- }
-+ l->l_free_initfini = 0;
-
- if (l != &GL(dl_rtld_map))
- _dl_relocate_object (l, l->l_scope, GLRO(dl_lazy) ? RTLD_LAZY : 0,
-diff -Naur glibc-2.14.1.orig/include/link.h glibc-2.14.1/include/link.h
---- glibc-2.14.1.orig/include/link.h 2011-10-07 09:48:55.000000000 +0000
-+++ glibc-2.14.1/include/link.h 2011-10-07 19:43:10.357462703 +0000
-@@ -192,6 +192,9 @@
- during LD_TRACE_PRELINKING=1
- contains any DT_SYMBOLIC
- libraries. */
-+ unsigned int l_free_initfini:1; /* Nonzero if l_initfini can be
-+ freed, ie. not allocated with
-+ the dummy malloc in ld.so. */
-
- /* Collected information about own RPATH directories. */
- struct r_search_path_struct l_rpath_dirs;
-@@ -240,9 +243,6 @@
-
- /* List of object in order of the init and fini calls. */
- struct link_map **l_initfini;
-- /* The init and fini list generated at startup, saved when the
-- object is also loaded dynamically. */
-- struct link_map **l_orig_initfini;
-
- /* List of the dependencies introduced through symbol binding. */
- struct link_map_reldeps
-diff -Naur glibc-2.14.1.orig/resolv/res_query.c glibc-2.14.1/resolv/res_query.c
---- glibc-2.14.1.orig/resolv/res_query.c 2011-10-07 09:48:55.000000000 +0000
-+++ glibc-2.14.1/resolv/res_query.c 2011-10-07 19:43:10.361412711 +0000
-@@ -122,6 +122,7 @@
- int *resplen2)
- {
- HEADER *hp = (HEADER *) answer;
-+ HEADER *hp2;
- int n, use_malloc = 0;
- u_int oflags = statp->_flags;
-
-@@ -239,26 +240,25 @@
- /* __libc_res_nsend might have reallocated the buffer. */
- hp = (HEADER *) *answerp;
-
-- /* We simplify the following tests by assigning HP to HP2. It
-- is easy to verify that this is the same as ignoring all
-- tests of HP2. */
-- HEADER *hp2 = answerp2 ? (HEADER *) *answerp2 : hp;
--
-- if (n < (int) sizeof (HEADER) && answerp2 != NULL
-- && *resplen2 > (int) sizeof (HEADER))
-+ /* We simplify the following tests by assigning HP to HP2 or
-+ vice versa. It is easy to verify that this is the same as
-+ ignoring all tests of HP or HP2. */
-+ if (answerp2 == NULL || *resplen2 < (int) sizeof (HEADER))
- {
-- /* Special case of partial answer. */
-- assert (hp != hp2);
-- hp = hp2;
-+ hp2 = hp;
- }
-- else if (answerp2 != NULL && *resplen2 < (int) sizeof (HEADER)
-- && n > (int) sizeof (HEADER))
-+ else
- {
-- /* Special case of partial answer. */
-- assert (hp != hp2);
-- hp2 = hp;
-+ hp2 = (HEADER *) *answerp2;
-+ if (n < (int) sizeof (HEADER))
-+ {
-+ hp = hp2;
-+ }
- }
-
-+ /* Make sure both hp and hp2 are defined */
-+ assert((hp != NULL) && (hp2 != NULL));
-+
- if ((hp->rcode != NOERROR || ntohs(hp->ancount) == 0)
- && (hp2->rcode != NOERROR || ntohs(hp2->ancount) == 0)) {
- #ifdef DEBUG
diff --git a/source/l/glibc/glibc-2.15-revert-c5a0802a.diff b/source/l/glibc/glibc-2.15-revert-c5a0802a.diff
deleted file mode 100644
index b53581b3..00000000
--- a/source/l/glibc/glibc-2.15-revert-c5a0802a.diff
+++ /dev/null
@@ -1,226 +0,0 @@
-diff -rup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
---- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S 2011-12-22 18:04:12.937212834 +0000
-+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S 2011-12-22 18:04:42.104222278 +0000
-@@ -137,7 +137,6 @@ __pthread_cond_wait:
- cmpl $PI_BIT, %eax
- jne 18f
-
--90:
- movl $(FUTEX_WAIT_REQUEUE_PI|FUTEX_PRIVATE_FLAG), %ecx
- movl %ebp, %edx
- xorl %esi, %esi
-@@ -151,9 +150,6 @@ __pthread_cond_wait:
- sete 16(%esp)
- je 19f
-
-- cmpl $-EAGAIN, %eax
-- je 91f
--
- /* Normal and PI futexes dont mix. Use normal futex functions only
- if the kernel does not support the PI futex functions. */
- cmpl $-ENOSYS, %eax
-@@ -398,78 +394,6 @@ __pthread_cond_wait:
- #endif
- call __lll_unlock_wake
- jmp 11b
--
--91:
--.LcleanupSTART2:
-- /* FUTEX_WAIT_REQUEUE_PI returned EAGAIN. We need to
-- call it again. */
--
-- /* Get internal lock. */
-- movl $1, %edx
-- xorl %eax, %eax
-- LOCK
--#if cond_lock == 0
-- cmpxchgl %edx, (%ebx)
--#else
-- cmpxchgl %edx, cond_lock(%ebx)
--#endif
-- jz 92f
--
--#if cond_lock == 0
-- movl %ebx, %edx
--#else
-- leal cond_lock(%ebx), %edx
--#endif
--#if (LLL_SHARED-LLL_PRIVATE) > 255
-- xorl %ecx, %ecx
--#endif
-- cmpl $-1, dep_mutex(%ebx)
-- setne %cl
-- subl $1, %ecx
-- andl $(LLL_SHARED-LLL_PRIVATE), %ecx
--#if LLL_PRIVATE != 0
-- addl $LLL_PRIVATE, %ecx
--#endif
-- call __lll_lock_wait
--
--92:
-- /* Increment the cond_futex value again, so it can be used as a new
-- expected value. */
-- addl $1, cond_futex(%ebx)
-- movl cond_futex(%ebx), %ebp
--
-- /* Unlock. */
-- LOCK
--#if cond_lock == 0
-- subl $1, (%ebx)
--#else
-- subl $1, cond_lock(%ebx)
--#endif
-- je 93f
--#if cond_lock == 0
-- movl %ebx, %eax
--#else
-- leal cond_lock(%ebx), %eax
--#endif
--#if (LLL_SHARED-LLL_PRIVATE) > 255
-- xorl %ecx, %ecx
--#endif
-- cmpl $-1, dep_mutex(%ebx)
-- setne %cl
-- subl $1, %ecx
-- andl $(LLL_SHARED-LLL_PRIVATE), %ecx
--#if LLL_PRIVATE != 0
-- addl $LLL_PRIVATE, %ecx
--#endif
-- call __lll_unlock_wake
--
--93:
-- /* Set the rest of SYS_futex args for FUTEX_WAIT_REQUEUE_PI. */
-- xorl %ecx, %ecx
-- movl dep_mutex(%ebx), %edi
-- jmp 90b
--.LcleanupEND2:
--
- .size __pthread_cond_wait, .-__pthread_cond_wait
- versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait,
- GLIBC_2_3_2)
-@@ -642,10 +566,6 @@ __condvar_w_cleanup:
- .long .LcleanupEND-.Lsub_cond_futex
- .long __condvar_w_cleanup-.LSTARTCODE
- .uleb128 0
-- .long .LcleanupSTART2-.LSTARTCODE
-- .long .LcleanupEND2-.LcleanupSTART2
-- .long __condvar_w_cleanup-.LSTARTCODE
-- .uleb128 0
- .long .LcallUR-.LSTARTCODE
- .long .LENDCODE-.LcallUR
- .long 0
-Only in b/nptl/sysdeps/unix/sysv/linux/i386/i486: pthread_cond_wait.S.orig
-diff -rup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
---- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S 2011-12-22 18:04:12.941212837 +0000
-+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S 2011-12-22 18:05:05.155229737 +0000
-@@ -23,7 +23,6 @@
- #include <lowlevelcond.h>
- #include <tcb-offsets.h>
- #include <pthread-pi-defines.h>
--#include <pthread-errnos.h>
-
- #include <kernel-features.h>
-
-@@ -137,14 +136,11 @@ __pthread_cond_wait:
- cmpl $PI_BIT, %eax
- jne 61f
-
--90:
- movl $(FUTEX_WAIT_REQUEUE_PI|FUTEX_PRIVATE_FLAG), %esi
- movl $SYS_futex, %eax
- syscall
-
- movl $1, %r8d
-- cmpq $-EAGAIN, %rax
-- je 91f
- #ifdef __ASSUME_REQUEUE_PI
- jmp 62f
- #else
-@@ -331,70 +327,6 @@ __pthread_cond_wait:
-
- 13: movq %r10, %rax
- jmp 14b
--
--91:
--.LcleanupSTART2:
-- /* FUTEX_WAIT_REQUEUE_PI returned EAGAIN. We need to
-- call it again. */
-- movq 8(%rsp), %rdi
--
-- /* Get internal lock. */
-- movl $1, %esi
-- xorl %eax, %eax
-- LOCK
--#if cond_lock == 0
-- cmpxchgl %esi, (%rdi)
--#else
-- cmpxchgl %esi, cond_lock(%rdi)
--#endif
-- jz 92f
--
--#if cond_lock != 0
-- addq $cond_lock, %rdi
--#endif
-- cmpq $-1, dep_mutex-cond_lock(%rdi)
-- movl $LLL_PRIVATE, %eax
-- movl $LLL_SHARED, %esi
-- cmovne %eax, %esi
-- callq __lll_lock_wait
--#if cond_lock != 0
-- subq $cond_lock, %rdi
--#endif
--92:
-- /* Increment the cond_futex value again, so it can be used as a new
-- expected value. */
-- incl cond_futex(%rdi)
-- movl cond_futex(%rdi), %edx
--
-- /* Release internal lock. */
-- LOCK
--#if cond_lock == 0
-- decl (%rdi)
--#else
-- decl cond_lock(%rdi)
--#endif
-- jz 93f
--
--#if cond_lock != 0
-- addq $cond_lock, %rdi
--#endif
-- cmpq $-1, dep_mutex-cond_lock(%rdi)
-- movl $LLL_PRIVATE, %eax
-- movl $LLL_SHARED, %esi
-- cmovne %eax, %esi
-- /* The call preserves %rdx. */
-- callq __lll_unlock_wake
--#if cond_lock != 0
-- subq $cond_lock, %rdi
--#endif
--93:
-- /* Set the rest of SYS_futex args for FUTEX_WAIT_REQUEUE_PI. */
-- xorq %r10, %r10
-- movq dep_mutex(%rdi), %r8
-- leaq cond_futex(%rdi), %rdi
-- jmp 90b
--.LcleanupEND2:
--
- .size __pthread_cond_wait, .-__pthread_cond_wait
- versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait,
- GLIBC_2_3_2)
-@@ -547,15 +479,11 @@ __condvar_cleanup1:
- .uleb128 .LcleanupSTART-.LSTARTCODE
- .uleb128 .LcleanupEND-.LcleanupSTART
- .uleb128 __condvar_cleanup1-.LSTARTCODE
-- .uleb128 0
-- .uleb128 .LcleanupSTART2-.LSTARTCODE
-- .uleb128 .LcleanupEND2-.LcleanupSTART2
-- .uleb128 __condvar_cleanup1-.LSTARTCODE
-- .uleb128 0
-+ .uleb128 0
- .uleb128 .LcallUR-.LSTARTCODE
- .uleb128 .LENDCODE-.LcallUR
- .uleb128 0
-- .uleb128 0
-+ .uleb128 0
- .Lcstend:
-
diff --git a/source/l/glibc/glibc-2.15.nscd-race-fix.diff b/source/l/glibc/glibc-2.15.nscd-race-fix.diff
deleted file mode 100644
index f1323570..00000000
--- a/source/l/glibc/glibc-2.15.nscd-race-fix.diff
+++ /dev/null
@@ -1,47 +0,0 @@
---- c/nscd/nscd_gethst_r.c 2012-01-01 05:16:32.000000000 -0700
-+++ c/nscd/nscd_gethst_r.c 2012-03-28 10:45:51.546600822 -0600
-@@ -101,9 +101,27 @@ libc_freeres_fn (hst_map_free)
- uint32_t
- __nscd_get_nl_timestamp (void)
- {
-+ uint32_t retval;
- if (__nss_not_use_nscd_hosts != 0)
- return 0;
-
-+ int cnt = 0;
-+ /* __nscd_get_mapping can change hst_map_handle.mapped to NO_MAPPING.
-+ However, __nscd_get_mapping assumes the prior value was not NO_MAPPING.
-+ Thus we have to acquire the lock to prevent this thread from changing
-+ hst_map_handle.mapped to NO_MAPPING while another thread is inside
-+ __nscd_get_mapping. */
-+ while (__builtin_expect
-+ (atomic_compare_and_exchange_val_acq (&__hst_map_handle.lock,
-+ 1, 0) != 0, 0))
-+ {
-+ // XXX Best number of rounds?
-+ if (__builtin_expect (++cnt > 5, 0))
-+ return 0;
-+
-+ atomic_delay ();
-+ }
-+
- struct mapped_database *map = __hst_map_handle.mapped;
-
- if (map == NULL
-@@ -113,9 +131,14 @@ __nscd_get_nl_timestamp (void)
- map = __nscd_get_mapping (GETFDHST, "hosts", &__hst_map_handle.mapped);
-
- if (map == NO_MAPPING)
-- return 0;
-+ retval = 0;
-+ else
-+ retval = map->head->extra_data[NSCD_HST_IDX_CONF_TIMESTAMP];
-+
-+ /* Release the lock. */
-+ __hst_map_handle.lock = 0;
-
-- return map->head->extra_data[NSCD_HST_IDX_CONF_TIMESTAMP];
-+ return retval;
- }
-
-
diff --git a/source/l/glibc/glibc.CVE-2013-0242.diff b/source/l/glibc/glibc.CVE-2013-0242.diff
new file mode 100644
index 00000000..e35a0bce
--- /dev/null
+++ b/source/l/glibc/glibc.CVE-2013-0242.diff
@@ -0,0 +1,189 @@
+From libc-alpha-return-36620-listarch-libc-alpha=sources dot redhat dot com at sourceware dot org Tue Jan 29 16:13:50 2013
+Return-Path: <libc-alpha-return-36620-listarch-libc-alpha=sources dot redhat dot com at sourceware dot org>
+Delivered-To: listarch-libc-alpha at sources dot redhat dot com
+Received: (qmail 32082 invoked by alias); 29 Jan 2013 16:13:48 -0000
+Received: (qmail 32049 invoked by uid 22791); 29 Jan 2013 16:13:43 -0000
+X-SWARE-Spam-Status: No, hits=-5.2 required=5.0
+ tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,TW_BK
+X-Spam-Check-By: sourceware.org
+From: Andreas Schwab <schwab at suse dot de>
+To: libc-alpha at sourceware dot org
+Subject: [PATCH] Fix buffer overrun in regexp matcher
+X-Yow: Are you selling NYLON OIL WELLS?? If so, we can use TWO DOZEN!!
+Date: Tue, 29 Jan 2013 17:13:35 +0100
+Message-ID: <mvma9rsq85s.fsf@hawking.suse.de>
+User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2.92 (gnu/linux)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+Mailing-List: contact libc-alpha-help at sourceware dot org; run by ezmlm
+Precedence: bulk
+List-Id: <libc-alpha.sourceware.org>
+List-Subscribe: <mailto:libc-alpha-subscribe at sourceware dot org>
+List-Archive: <http://sourceware.org/ml/libc-alpha/>
+List-Post: <mailto:libc-alpha at sourceware dot org>
+List-Help: <mailto:libc-alpha-help at sourceware dot org>, <http://sourceware dot org/ml/#faqs>
+Sender: libc-alpha-owner at sourceware dot org
+Delivered-To: mailing list libc-alpha at sourceware dot org
+
+When extending regex buffers, make sure we allocate enough room for the
+state log. Merely doubling the space may not be enough if the current
+node has accepted a long run of characters. This part of the code only
+triggers with multibyte characters.
+
+Andreas.
+
+ [BZ #15078]
+ * posix/regexec.c (extend_buffers): Add parameter min_len.
+ (check_matching): Pass minimum needed length.
+ (clean_state_log_if_needed): Likewise.
+ (get_subexp): Likewise.
+ * posix/Makefile (tests): Add bug-regex34.
+ (bug-regex34-ENV): Define.
+ * posix/bug-regex34.c: New file.
+
+diff --git a/posix/Makefile b/posix/Makefile
+index 57672d8..6ceb440 100644
+--- a/posix/Makefile
++++ b/posix/Makefile
+@@ -86,7 +86,7 @@ tests := tstgetopt testfnm runtests runptests \
+ tst-rfc3484-3 \
+ tst-getaddrinfo3 tst-fnmatch2 tst-cpucount tst-cpuset \
+ bug-getopt1 bug-getopt2 bug-getopt3 bug-getopt4 \
+- bug-getopt5 tst-getopt_long1
++ bug-getopt5 tst-getopt_long1 bug-regex34
+ xtests := bug-ga2
+ ifeq (yes,$(build-shared))
+ test-srcs := globtest
+@@ -199,6 +199,7 @@ bug-regex26-ENV = LOCPATH=$(common-objpfx)localedata
+ bug-regex30-ENV = LOCPATH=$(common-objpfx)localedata
+ bug-regex32-ENV = LOCPATH=$(common-objpfx)localedata
+ bug-regex33-ENV = LOCPATH=$(common-objpfx)localedata
++bug-regex34-ENV = LOCPATH=$(common-objpfx)localedata
+ tst-rxspencer-ARGS = --utf8 rxspencer/tests
+ tst-rxspencer-ENV = LOCPATH=$(common-objpfx)localedata
+ tst-pcre-ARGS = PCRE.tests
+diff --git a/posix/bug-regex34.c b/posix/bug-regex34.c
+new file mode 100644
+index 0000000..bb3b613
+--- /dev/null
++++ b/posix/bug-regex34.c
+@@ -0,0 +1,46 @@
++/* Test re_search with multi-byte characters in UTF-8.
++ Copyright (C) 2013 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, see
++ <http://www.gnu.org/licenses/>. */
++
++#define _GNU_SOURCE 1
++#include <stdio.h>
++#include <string.h>
++#include <locale.h>
++#include <regex.h>
++
++static int
++do_test (void)
++{
++ struct re_pattern_buffer r;
++ /* ????????x */
++ const char *s = "\xe1\x80\x80\xe1\x80\xbb\xe1\x80\xbd\xe1\x80\x94\xe1\x80\xba\xe1\x80\xaf\xe1\x80\x95\xe1\x80\xbax";
++
++ if (setlocale (LC_ALL, "en_US.UTF-8") == NULL)
++ {
++ puts ("setlocale failed");
++ return 1;
++ }
++ memset (&r, 0, sizeof (r));
++
++ re_compile_pattern ("[^x]x", 5, &r);
++ /* This was triggering a buffer overflow. */
++ re_search (&r, s, strlen (s), 0, strlen (s), 0);
++ return 0;
++}
++
++#define TEST_FUNCTION do_test ()
++#include "../test-skeleton.c"
+diff --git a/posix/regexec.c b/posix/regexec.c
+index 7f2de85..5ca2bf6 100644
+--- a/posix/regexec.c
++++ b/posix/regexec.c
+@@ -197,7 +197,7 @@ static int group_nodes_into_DFAstates (const re_dfa_t *dfa,
+ static int check_node_accept (const re_match_context_t *mctx,
+ const re_token_t *node, int idx)
+ internal_function;
+-static reg_errcode_t extend_buffers (re_match_context_t *mctx)
++static reg_errcode_t extend_buffers (re_match_context_t *mctx, int min_len)
+ internal_function;
+
+ /* Entry point for POSIX code. */
+@@ -1160,7 +1160,7 @@ check_matching (re_match_context_t *mctx, int fl_longest_match,
+ || (BE (next_char_idx >= mctx->input.valid_len, 0)
+ && mctx->input.valid_len < mctx->input.len))
+ {
+- err = extend_buffers (mctx);
++ err = extend_buffers (mctx, next_char_idx + 1);
+ if (BE (err != REG_NOERROR, 0))
+ {
+ assert (err == REG_ESPACE);
+@@ -1738,7 +1738,7 @@ clean_state_log_if_needed (re_match_context_t *mctx, int next_state_log_idx)
+ && mctx->input.valid_len < mctx->input.len))
+ {
+ reg_errcode_t err;
+- err = extend_buffers (mctx);
++ err = extend_buffers (mctx, next_state_log_idx + 1);
+ if (BE (err != REG_NOERROR, 0))
+ return err;
+ }
+@@ -2792,7 +2792,7 @@ get_subexp (re_match_context_t *mctx, int bkref_node, int bkref_str_idx)
+ if (bkref_str_off >= mctx->input.len)
+ break;
+
+- err = extend_buffers (mctx);
++ err = extend_buffers (mctx, bkref_str_off + 1);
+ if (BE (err != REG_NOERROR, 0))
+ return err;
+
+@@ -4102,7 +4102,7 @@ check_node_accept (const re_match_context_t *mctx, const re_token_t *node,
+
+ static reg_errcode_t
+ internal_function __attribute_warn_unused_result__
+-extend_buffers (re_match_context_t *mctx)
++extend_buffers (re_match_context_t *mctx, int min_len)
+ {
+ reg_errcode_t ret;
+ re_string_t *pstr = &mctx->input;
+@@ -4111,8 +4111,10 @@ extend_buffers (re_match_context_t *mctx)
+ if (BE (INT_MAX / 2 / sizeof (re_dfastate_t *) <= pstr->bufs_len, 0))
+ return REG_ESPACE;
+
+- /* Double the lengthes of the buffers. */
+- ret = re_string_realloc_buffers (pstr, MIN (pstr->len, pstr->bufs_len * 2));
++ /* Double the lengthes of the buffers, but allocate at least MIN_LEN. */
++ ret = re_string_realloc_buffers (pstr,
++ MAX (min_len,
++ MIN (pstr->len, pstr->bufs_len * 2)));
+ if (BE (ret != REG_NOERROR, 0))
+ return ret;
+
+--
+1.8.1.2
+
+
+--
+Andreas Schwab, SUSE Labs, schwab@suse.de
+GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
+"And now for something completely different."
+
+
diff --git a/source/l/glibc/glibc.CVE-2013-1914.diff b/source/l/glibc/glibc.CVE-2013-1914.diff
new file mode 100644
index 00000000..fc844829
--- /dev/null
+++ b/source/l/glibc/glibc.CVE-2013-1914.diff
@@ -0,0 +1,53 @@
+From: Andreas Schwab <schwab@suse.de>
+Date: Thu, 21 Mar 2013 14:50:27 +0000 (+0100)
+Subject: Fix stack overflow in getaddrinfo with many results
+X-Git-Url: http://sourceware.org/git/?p=glibc.git;a=commitdiff_plain;h=1cef1b19089528db11f221e938f60b9b048945d7
+
+Fix stack overflow in getaddrinfo with many results
+---
+
+diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
+index d95c2d1..2309281 100644
+--- a/sysdeps/posix/getaddrinfo.c
++++ b/sysdeps/posix/getaddrinfo.c
+@@ -2489,11 +2489,27 @@ getaddrinfo (const char *name, const char *service,
+ __typeof (once) old_once = once;
+ __libc_once (once, gaiconf_init);
+ /* Sort results according to RFC 3484. */
+- struct sort_result results[nresults];
+- size_t order[nresults];
++ struct sort_result *results;
++ size_t *order;
+ struct addrinfo *q;
+ struct addrinfo *last = NULL;
+ char *canonname = NULL;
++ bool malloc_results;
++
++ malloc_results
++ = !__libc_use_alloca (nresults * (sizeof (*results) + sizeof (size_t)));
++ if (malloc_results)
++ {
++ results = malloc (nresults * (sizeof (*results) + sizeof (size_t)));
++ if (results == NULL)
++ {
++ __free_in6ai (in6ai);
++ return EAI_MEMORY;
++ }
++ }
++ else
++ results = alloca (nresults * (sizeof (*results) + sizeof (size_t)));
++ order = (size_t *) (results + nresults);
+
+ /* Now we definitely need the interface information. */
+ if (! check_pf_called)
+@@ -2664,6 +2680,9 @@ getaddrinfo (const char *name, const char *service,
+
+ /* Fill in the canonical name into the new first entry. */
+ p->ai_canonname = canonname;
++
++ if (malloc_results)
++ free (results);
+ }
+
+ __free_in6ai (in6ai);
+
diff --git a/source/l/glibc/glibc.CVE-2013-2207.diff b/source/l/glibc/glibc.CVE-2013-2207.diff
new file mode 100644
index 00000000..c43ccf5c
--- /dev/null
+++ b/source/l/glibc/glibc.CVE-2013-2207.diff
@@ -0,0 +1,241 @@
+From 5d96012d9978efe4bad88a38e2efcbeada9f7585 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Thu, 22 Aug 2013
+Subject: CVE-2013-2207, BZ #15755: Disable pt_chown.
+
+Using the setuid installed pt_chown and a weak check on whether a file
+descriptor is a tty, an attacker could fake a pty check using FUSE and
+trick pt_chown to grant ownership of a pty descriptor that the current
+user does not own. It cannot access /dev/pts/ptmx however.
+
+Pre-conditions for the attack:
+
+ * Attacker with local user account
+ * Kernel with FUSE support
+ * "user_allow_other" in /etc/fuse.conf
+ * Victim with allocated slave in /dev/pts
+
+In most modern distributions pt_chown is not needed because devpts
+is enabled by default. The fix for this CVE is to disable building
+and using pt_chown by default. We still provide a configure option
+to enable the use of pt_chown but distributions do so at their own
+risk.
+
+---
+This patch was adapted for glibc 2.17 point release from:
+http://sourceware.org/git/?p=glibc.git;a=commit;h=e4608715e6e1
+---
+
+ INSTALL | 12 ++++++++++++
+ config.h.in | 3 +++
+ config.make.in | 1 +
+ configure | 15 +++++++++++++++
+ configure.in | 10 ++++++++++
+ login/Makefile | 8 +++++++-
+ manual/install.texi | 14 ++++++++++++++
+ sysdeps/unix/grantpt.c | 8 +++++---
+ sysdeps/unix/sysv/linux/grantpt.c | 5 +++--
+ 9 files changed, 70 insertions(+), 6 deletions(-)
+---
+
+--- a/INSTALL
++++ b/INSTALL
+@@ -128,6 +128,18 @@ will be used, and CFLAGS sets optimizati
+ this can be prevented though there generally is no reason since it
+ creates compatibility problems.
+
++`--enable-pt_chown'
++ The file `pt_chown' is a helper binary for `grantpt' (*note
++ Pseudo-Terminals: Allocation.) that is installed setuid root to
++ fix up pseudo-terminal ownership. It is not built by default
++ because systems using the Linux kernel are commonly built with the
++ `devpts' filesystem enabled and mounted at `/dev/pts', which
++ manages pseudo-terminal ownership automatically. By using
++ `--enable-pt_chown', you may build `pt_chown' and install it
++ setuid and owned by `root'. The use of `pt_chown' introduces
++ additional security risks to the system and you should enable it
++ only if you understand and accept those risks.
++
+ `--build=BUILD-SYSTEM'
+ `--host=HOST-SYSTEM'
+ These options are for cross-compiling. If you specify both
+--- a/config.h.in
++++ b/config.h.in
+@@ -232,4 +232,7 @@
+ /* The ARM hard-float ABI is being used. */
+ #undef HAVE_ARM_PCS_VFP
+
++/* The pt_chown binary is being built and used by grantpt. */
++#undef HAVE_PT_CHOWN
++
+ #endif
+--- a/config.make.in
++++ b/config.make.in
+@@ -101,6 +101,7 @@ force-install = @force_install@
+ link-obsolete-rpc = @link_obsolete_rpc@
+ build-nscd = @build_nscd@
+ use-nscd = @use_nscd@
++build-pt-chown = @build_pt_chown@
+
+ # Build tools.
+ CC = @CC@
+--- a/configure
++++ b/configure
+@@ -653,6 +653,7 @@ multi_arch
+ base_machine
+ add_on_subdirs
+ add_ons
++build_pt_chown
+ build_nscd
+ link_obsolete_rpc
+ libc_cv_nss_crypt
+@@ -759,6 +760,7 @@ enable_obsolete_rpc
+ enable_systemtap
+ enable_build_nscd
+ enable_nscd
++enable_pt_chown
+ with_cpu
+ '
+ ac_precious_vars='build_alias
+@@ -1419,6 +1421,7 @@ Optional Features:
+ --enable-systemtap enable systemtap static probe points [default=no]
+ --disable-build-nscd disable building and installing the nscd daemon
+ --disable-nscd library functions will not contact the nscd daemon
++ --enable-pt_chown Enable building and installing pt_chown
+
+ Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+@@ -3933,6 +3936,18 @@ else
+ use_nscd=yes
+ fi
+
++# Check whether --enable-pt_chown was given.
++if test "${enable_pt_chown+set}" = set; then :
++ enableval=$enable_pt_chown; build_pt_chown=$enableval
++else
++ build_pt_chown=no
++fi
++
++
++if test $build_pt_chown = yes; then
++ $as_echo "#define HAVE_PT_CHOWN 1" >>confdefs.h
++
++fi
+
+ # The way shlib-versions is used to generate soversions.mk uses a
+ # fairly simplistic model for name recognition that can't distinguish
+--- a/configure.in
++++ b/configure.in
+@@ -315,6 +315,16 @@ AC_ARG_ENABLE([nscd],
+ [use_nscd=$enableval],
+ [use_nscd=yes])
+
++AC_ARG_ENABLE([pt_chown],
++ [AS_HELP_STRING([--enable-pt_chown],
++ [Enable building and installing pt_chown])],
++ [build_pt_chown=$enableval],
++ [build_pt_chown=no])
++AC_SUBST(build_pt_chown)
++if test $build_pt_chown = yes; then
++ AC_DEFINE(HAVE_PT_CHOWN)
++fi
++
+ # The way shlib-versions is used to generate soversions.mk uses a
+ # fairly simplistic model for name recognition that can't distinguish
+ # i486-pc-linux-gnu fully from i486-pc-gnu. So we mutate a $host_os
+--- a/login/Makefile
++++ b/login/Makefile
+@@ -29,9 +29,15 @@ routines := getutent getutent_r getutid
+
+ CFLAGS-grantpt.c = -DLIBEXECDIR='"$(libexecdir)"'
+
+-others = utmpdump pt_chown
++others = utmpdump
++
++include ../Makeconfig
++
++ifeq (yes,$(build-pt-chown))
++others += pt_chown
+ others-pie = pt_chown
+ install-others-programs = $(inst_libexecdir)/pt_chown
++endif
+
+ subdir-dirs = programs
+ vpath %.c programs
+--- a/manual/install.texi
++++ b/manual/install.texi
+@@ -155,6 +155,20 @@ if the used tools support it. By using
+ prevented though there generally is no reason since it creates
+ compatibility problems.
+
++@pindex pt_chown
++@findex grantpt
++@item --enable-pt_chown
++The file @file{pt_chown} is a helper binary for @code{grantpt}
++(@pxref{Allocation, Pseudo-Terminals}) that is installed setuid root to
++fix up pseudo-terminal ownership. It is not built by default because
++systems using the Linux kernel are commonly built with the @code{devpts}
++filesystem enabled and mounted at @file{/dev/pts}, which manages
++pseudo-terminal ownership automatically. By using
++@samp{--enable-pt_chown}, you may build @file{pt_chown} and install it
++setuid and owned by @code{root}. The use of @file{pt_chown} introduces
++additional security risks to the system and you should enable it only if
++you understand and accept those risks.
++
+ @item --build=@var{build-system}
+ @itemx --host=@var{host-system}
+ These options are for cross-compiling. If you specify both options and
+--- a/sysdeps/unix/grantpt.c
++++ b/sysdeps/unix/grantpt.c
+@@ -173,9 +173,10 @@ grantpt (int fd)
+ retval = 0;
+ goto cleanup;
+
+- /* We have to use the helper program. */
++ /* We have to use the helper program if it is available.. */
+ helper:;
+
++#ifdef HAVE_PT_CHOWN
+ pid_t pid = __fork ();
+ if (pid == -1)
+ goto cleanup;
+@@ -190,9 +191,9 @@ grantpt (int fd)
+ if (__dup2 (fd, PTY_FILENO) < 0)
+ _exit (FAIL_EBADF);
+
+-#ifdef CLOSE_ALL_FDS
++# ifdef CLOSE_ALL_FDS
+ CLOSE_ALL_FDS ();
+-#endif
++# endif
+
+ execle (_PATH_PT_CHOWN, basename (_PATH_PT_CHOWN), NULL, NULL);
+ _exit (FAIL_EXEC);
+@@ -231,6 +232,7 @@ grantpt (int fd)
+ assert(! "getpt: internal error: invalid exit code from pt_chown");
+ }
+ }
++#endif
+
+ cleanup:
+ if (buf != _buf)
+--- a/sysdeps/unix/sysv/linux/grantpt.c
++++ b/sysdeps/unix/sysv/linux/grantpt.c
+@@ -11,7 +11,7 @@
+
+ #include "pty-private.h"
+
+-
++#if HAVE_PT_CHOWN
+ /* Close all file descriptors except the one specified. */
+ static void
+ close_all_fds (void)
+@@ -38,6 +38,7 @@ close_all_fds (void)
+ __dup2 (STDOUT_FILENO, STDERR_FILENO);
+ }
+ }
+-#define CLOSE_ALL_FDS() close_all_fds()
++# define CLOSE_ALL_FDS() close_all_fds()
++#endif
+
+ #include <sysdeps/unix/grantpt.c>
diff --git a/source/l/glibc/glibc.CVE-2013-4332.diff b/source/l/glibc/glibc.CVE-2013-4332.diff
new file mode 100644
index 00000000..9f7f5886
--- /dev/null
+++ b/source/l/glibc/glibc.CVE-2013-4332.diff
@@ -0,0 +1,64 @@
+From 0d6085cb1b4330b835ad08a3ec8f80b30f0cadb4 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Wed, 11 Sep 2013
+Subject: CVE-2013-4332
+
+malloc: Check for integer overflow in pvalloc, valloc, and memalign.
+
+A large bytes parameter to pvalloc, valloc, or memalign could cause
+an integer overflow and corrupt allocator internals. Check the
+overflow does not occur before continuing with the allocation.
+
+Note: This is a backport to glibc 2.17 of the following three commits:
+ * https://sourceware.org/git/?p=glibc.git;a=commit;h=1159a193696a
+ * https://sourceware.org/git/?p=glibc.git;a=commit;h=55e17aadc1ef
+ * https://sourceware.org/git/?p=glibc.git;a=commit;h=b73ed247781d
+---
+
+malloc.c | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+--- a/malloc/malloc.c
++++ b/malloc/malloc.c
+@@ -3020,6 +3020,13 @@ __libc_memalign(size_t alignment, size_t
+ /* Otherwise, ensure that it is at least a minimum chunk size */
+ if (alignment < MINSIZE) alignment = MINSIZE;
+
++ /* Check for overflow. */
++ if (bytes > SIZE_MAX - alignment - MINSIZE)
++ {
++ __set_errno (ENOMEM);
++ return 0;
++ }
++
+ arena_get(ar_ptr, bytes + alignment + MINSIZE);
+ if(!ar_ptr)
+ return 0;
+@@ -3051,6 +3058,13 @@ __libc_valloc(size_t bytes)
+
+ size_t pagesz = GLRO(dl_pagesize);
+
++ /* Check for overflow. */
++ if (bytes > SIZE_MAX - pagesz - MINSIZE)
++ {
++ __set_errno (ENOMEM);
++ return 0;
++ }
++
+ __malloc_ptr_t (*hook) __MALLOC_PMT ((size_t, size_t,
+ const __malloc_ptr_t)) =
+ force_reg (__memalign_hook);
+@@ -3088,6 +3102,13 @@ __libc_pvalloc(size_t bytes)
+ size_t page_mask = GLRO(dl_pagesize) - 1;
+ size_t rounded_bytes = (bytes + page_mask) & ~(page_mask);
+
++ /* Check for overflow. */
++ if (bytes > SIZE_MAX - 2*pagesz - MINSIZE)
++ {
++ __set_errno (ENOMEM);
++ return 0;
++ }
++
+ __malloc_ptr_t (*hook) __MALLOC_PMT ((size_t, size_t,
+ const __malloc_ptr_t)) =
+ force_reg (__memalign_hook);
diff --git a/source/l/glibc/glibc.SlackBuild b/source/l/glibc/glibc.SlackBuild
index 0ab9e714..c97559ee 100755
--- a/source/l/glibc/glibc.SlackBuild
+++ b/source/l/glibc/glibc.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
## build glibc-$VERSION for Slackware
-VERSION=${VERSION:-2.15}
+VERSION=${VERSION:-2.17}
CHECKOUT=${CHECKOUT:-""}
BUILD=${BUILD:-7}
@@ -30,6 +30,9 @@ BUILD=${BUILD:-7}
## glibc-libidn version
#LIBIDNVER=2.10.1
+# I was considering disabling NSCD, but MoZes talked me out of it. :)
+#DISABLE_NSCD=" --disable-nscd "
+
# $ARCH may be preset, otherwise i486 compatibility with i686 binary
# structuring is the Slackware default, since this is what gcc-3.2+
# requires for binary compatibility with previous releases.
@@ -134,13 +137,6 @@ fix_doinst() {
# This is a patch function to put all glibc patches in the build script
# up near the top.
apply_patches() {
- # Reexport the RPC interfaces that were removed in glibc-2.14.
- # Sure, it's crufy code, but stuff needs it, so rather than pull the
- # rug out from under you, we'll just humbly recommend that you consider
- # transitioning away from it... :-)
- zcat $CWD/glibc-2.14-reexport-rpc-interface.patch.gz | patch -p1 --verbose || exit 1
- # Add back the NIS and RPC headers:
- zcat $CWD/glibc-2.14-reinstall-nis-rpc-headers.patch.gz | patch -p1 --verbose || exit 1
# Use old-style locale directories rather than a single (and strangely
# formatted) /usr/lib/locale/locale-archive file:
zcat $CWD/glibc.locale.no-archive.diff.gz | patch -p1 --verbose || exit 1
@@ -172,32 +168,27 @@ apply_patches() {
# Avoid the Intel optimized asm routines for now because they break
# the flash player. We'll phase this in when it's safer to do so.
zcat $CWD/glibc.disable.broken.optimized.memcpy.diff.gz | patch -p1 --verbose || exit 1
- # Upstream fixes to avert Firefox crashes: (still applies to 2.15... probably better not to drop it)
- zcat $CWD/glibc-2.14.1-fixes-1.patch.gz | patch -p1 --verbose || exit 1
- # Upstream patch to fix relocation sorting related crashes:
- zcat $CWD/glibc.git-6ee65ed6ddbf04402fad0bec6aa9c73b9d982ae4.diff.gz | patch -p1 --verbose || exit 1
- # Upstream patch to fix crashes when nscd is not running:
- zcat $CWD/glibc-2.15.nscd-race-fix.diff.gz | patch -p1 --verbose || exit 1
- # Revert a patch that went into 2.15 that causes NPTL related crashes:
- zcat $CWD/glibc-2.15-revert-c5a0802a.diff.gz | patch -p1 --verbose || exit 1
- # Patch integer overflows in strtod*() functions:
- zcat $CWD/glibc.strtod.CVE-2012-3480.diff.gz | patch -p1 --verbose || exit 1
- # Update the timezone information:
- ( cd timezone
- tar xzf $CWD/tzdata?????.tar.gz
- chown root:root *
- mv yearistype.sh yearistype
- chmod 644 *
- chmod 755 yearistype
- mkdir tzcode
- cd tzcode
- tar xzf $CWD/tzcode?????.tar.gz
- # A partial build is needed here to update TZVERSION in version.h:
- make -i
- chown -R root:root .
- chmod 644 *
- cp -a *.c *.h ..
- )
+ # Fix buffer overrun in regexp matcher. This bug is deemed low impact since
+ # the buffer contents cannot be controlled, but could lead to a crash.
+ zcat $CWD/glibc.CVE-2013-0242.diff.gz | patch -p1 --verbose || exit 1
+ # Fix stack overflow in getaddrinfo with many results. This bug can only be
+ # triggered through DNS poisoning or through the use of a hostile DNS
+ # server (in which case you already have problems), and requires large
+ # amounts of data to be sent to the targeted machine. May lead to a
+ # crash. Considered low impact.
+ zcat $CWD/glibc.CVE-2013-1914.diff.gz | patch -p1 --verbose || exit 1
+ # Remove pt_chown by default, as it can be used for a local privilege
+ # escalation. However, although this is worth patching in the -current
+ # version, it requires a non-default (and known to weaken security) setting
+ # for FUSE. Additionally, the patch is not portable to older versions of
+ # glibc (but thanks Mancha for porting it to 2.17!). On older versions
+ # of glibc, making /usr/libexec/pt_chown a symlink to /bin/true will
+ # provide the same fix, if needed. But the insecure setting for FUSE
+ # probably opens up many other possible exploits and should be avoided.
+ zcat $CWD/glibc.CVE-2013-2207.diff.gz | patch -p1 --verbose || exit 1
+ # Patch integer overflows in pvalloc, valloc, and
+ # posix_memalign/memalign/aligned_alloc (CVE-2013-4332).
+ zcat $CWD/glibc.CVE-2013-4332.diff.gz | patch -p1 --verbose || exit 1
}
# This is going to be the initial $DESTDIR:
@@ -275,10 +266,12 @@ CFLAGS="-g $OPTIMIZ" \
../configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
- --enable-kernel=2.6.32 \
+ --enable-kernel=3.2.29 \
--with-headers=/usr/include \
--enable-add-ons=libidn,nptl \
+ --enable-obsolete-rpc \
--enable-profile \
+ $DISABLE_NSCD \
--infodir=/usr/info \
--mandir=/usr/man \
--with-tls \
@@ -311,6 +304,25 @@ strip -g $PKG/lib${LIBDIRSUFFIX}/l*.so*
strip -g $PKG/usr/lib${LIBDIRSUFFIX}/l*.so*
strip -g $PKG/usr/lib${LIBDIRSUFFIX}/lib*.a
+# Build and install the zoneinfo database:
+cd $TMP
+rm -rf tzcodedata-build
+mkdir tzcodedata-build
+cd tzcodedata-build
+tar xzf $CWD/tzdata?????.tar.gz
+tar xzf $CWD/tzcode?????.tar.gz
+sed -i "s,/usr/local,$(pwd),g" Makefile
+sed -i "s,/etc/zoneinfo,/zoneinfo,g" Makefile
+make
+make install
+mkdir -p $PKG/usr/share/zoneinfo/{posix,right}
+cp -a zoneinfo/* $PKG/usr/share/zoneinfo
+cp -a zoneinfo-posix/* $PKG/usr/share/zoneinfo/posix
+cp -a zoneinfo-leaps/* $PKG/usr/share/zoneinfo/right
+# Remove $PKG/usr/share/zoneinfo/localtime -- the install script will
+# create it as a link to /etc/localtime.
+rm -f $PKG/usr/share/zoneinfo/localtime
+
# Back to the sources dir to add some files/docs:
cd $TMP/glibc-$CVSVER
@@ -320,6 +332,10 @@ mkdir -p $PKG/etc
cat nscd/nscd.conf > $PKG/etc/nscd.conf.new
# Install some scripts to help select a timezone:
+( cd $CWD/timezone-scripts
+ # Try to rebuild this:
+ sh output-updated-timeconfig.sh $PKG/usr/share/zoneinfo > timeconfig 2> /dev/null
+)
mkdir -p $PKG/var/log/setup
cp -a $CWD/timezone-scripts/setup.timeconfig $PKG/var/log/setup
chown root:root $PKG/var/log/setup/setup.timeconfig
@@ -378,7 +394,7 @@ rm $PKG/etc/ld.so.cache
# glibc-zoneinfo. We will start with an easy one to avoid breaking a sweat. ;-)
cd $CWD
-ZONE_VERSIONS="$(echo tzcode* | cut -f1 -d . | cut -b7-11)_$(echo tzdata* | cut -f1 -d . | cut -b7-11)"
+ZONE_VERSIONS="$(echo tzdata* | cut -f1 -d . | cut -b7-11)"
echo $ZONE_VERSIONS
cd $PZONE
# Install some scripts to help select a timezone:
diff --git a/source/l/glibc/glibc.git-6ee65ed6ddbf04402fad0bec6aa9c73b9d982ae4.diff b/source/l/glibc/glibc.git-6ee65ed6ddbf04402fad0bec6aa9c73b9d982ae4.diff
deleted file mode 100644
index e9b3ba40..00000000
--- a/source/l/glibc/glibc.git-6ee65ed6ddbf04402fad0bec6aa9c73b9d982ae4.diff
+++ /dev/null
@@ -1,322 +0,0 @@
-From 6ee65ed6ddbf04402fad0bec6aa9c73b9d982ae4 Mon Sep 17 00:00:00 2001
-From: Ulrich Drepper <drepper@gmail.com>
-Date: Fri, 27 Jan 2012 15:05:19 -0500
-Subject: [PATCH] Sort objects before relocations
-
----
- ChangeLog | 11 ++++
- Makeconfig | 6 ++
- NEWS | 4 +-
- elf/Makefile | 15 +++++-
- elf/dl-open.c | 128 ++++++++++++++++++++++++++++++++++++------------
- elf/tst-relsort1.c | 19 +++++++
- elf/tst-relsort1mod1.c | 7 +++
- elf/tst-relsort1mod2.c | 7 +++
- 8 files changed, 160 insertions(+), 37 deletions(-)
- create mode 100644 elf/tst-relsort1.c
- create mode 100644 elf/tst-relsort1mod1.c
- create mode 100644 elf/tst-relsort1mod2.c
-
-#diff --git a/ChangeLog b/ChangeLog
-#index 24c9550..2efe17a 100644
-#--- a/ChangeLog
-#+++ b/ChangeLog
-#@@ -1,3 +1,14 @@
-#+2012-01-27 Ulrich Drepper <drepper@gmail.com>
-#+
-#+ [BZ #13618]
-#+ * elf/dl-open.c (dl_open_worker): Sort objects by dependency before
-#+ relocation.
-#+ * Makeconfig (libm): Define.
-#+ * elf/Makefile: Add rules to build and run tst-relsort1.
-#+ * elf/tst-relsort1.c: New file.
-#+ * elf/tst-relsort1mod1.c: New file.
-#+ * elf/tst-relsort1mod2.c: New file.
-#+
- 2012-01-26 Joseph Myers <joseph@codesourcery.com>
-
- * crypt/md5.h: Remove __STDC__ conditionals.
-diff --git a/Makeconfig b/Makeconfig
-index 2db2821..68547b2 100644
---- a/Makeconfig
-+++ b/Makeconfig
-@@ -900,6 +900,12 @@ else
- libdl = $(common-objpfx)dlfcn/libdl.a
- endif
-
-+ifeq ($(build-shared),yes)
-+libm = $(common-objpfx)math/libm.so$(libm.so-version)
-+else
-+libm = $(common-objpfx)math/libm.a
-+endif
-+
- # These are the subdirectories containing the library source. The order
- # is more or less arbitrary. The sorting step will take care of the
- # dependencies.
-#diff --git a/NEWS b/NEWS
-#index 42e09c1..3b502b7 100644
-#--- a/NEWS
-#+++ b/NEWS
-#@@ -1,4 +1,4 @@
-#-GNU C Library NEWS -- history of user-visible changes. 2012-1-26
-#+GNU C Library NEWS -- history of user-visible changes. 2012-1-27
- #Copyright (C) 1992-2009, 2010, 2011, 2012 Free Software Foundation, Inc.
- #See the end for copying conditions.
-#
-#@@ -10,7 +10,7 @@ Version 2.16
- #* The following bugs are resolved with this release:
-#
- #13525, 13526, 13527, 13528, 13529, 13531, 13532, 13533, 13547, 13530,
-#- 13551, 13552, 13553, 13555, 13559, 13583
-#+ 13551, 13552, 13553, 13555, 13559, 13583, 13618
-#
- #* ISO C11 support:
-#
-diff --git a/elf/Makefile b/elf/Makefile
-index 052e763..3f1772a 100644
---- a/elf/Makefile
-+++ b/elf/Makefile
-@@ -124,7 +124,8 @@ distribute := rtld-Rules \
- tst-initordera1.c tst-initordera2.c tst-initorderb1.c \
- tst-initorderb2.c tst-initordera3.c tst-initordera4.c \
- tst-initorder.c \
-- tst-initorder2.c
-+ tst-initorder2.c \
-+ tst-relsort1.c tst-relsort1mod1.c tst-relsort1mod2.c
-
- CFLAGS-dl-runtime.c = -fexceptions -fasynchronous-unwind-tables
- CFLAGS-dl-lookup.c = -fexceptions -fasynchronous-unwind-tables
-@@ -227,7 +228,7 @@ tests += loadtest restest1 preloadtest loadfail multiload origtest resolvfail \
- tst-audit1 tst-audit2 \
- tst-stackguard1 tst-addr1 tst-thrlock \
- tst-unique1 tst-unique2 tst-unique3 tst-unique4 \
-- tst-initorder tst-initorder2
-+ tst-initorder tst-initorder2 tst-relsort1
- # reldep9
- test-srcs = tst-pathopt
- selinux-enabled := $(shell cat /selinux/enforce 2> /dev/null)
-@@ -290,7 +291,9 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \
- tst-initordera1 tst-initorderb1 \
- tst-initordera2 tst-initorderb2 \
- tst-initordera3 tst-initordera4 \
-- tst-initorder2a tst-initorder2b tst-initorder2c tst-initorder2d
-+ tst-initorder2a tst-initorder2b tst-initorder2c \
-+ tst-initorder2d \
-+ tst-relsort1mod1 tst-relsort1mod2
- ifeq (yes,$(have-initfini-array))
- modules-names += tst-array2dep tst-array5dep
- endif
-@@ -1195,3 +1198,9 @@ CFLAGS-tst-auditmod6b.c += $(AVX-CFLAGS)
- CFLAGS-tst-auditmod6c.c += $(AVX-CFLAGS)
- CFLAGS-tst-auditmod7b.c += $(AVX-CFLAGS)
- endif
-+
-+$(objpfx)tst-relsort1: $(libdl)
-+$(objpfx)tst-relsort1mod1.so: $(libm) $(objpfx)tst-relsort1mod2.so
-+$(objpfx)tst-relsort1mod2.so: $(libm)
-+$(objpfx)tst-relsort1.out: $(objpfx)tst-relsort1mod1.so \
-+ $(objpfx)tst-relsort1mod2.so
-diff --git a/elf/dl-open.c b/elf/dl-open.c
-index a0b5c50..a56bdc1 100644
---- a/elf/dl-open.c
-+++ b/elf/dl-open.c
-@@ -1,5 +1,5 @@
- /* Load a shared object at runtime, relocate it, and run its initializer.
-- Copyright (C) 1996-2007, 2009, 2010, 2011 Free Software Foundation, Inc.
-+ Copyright (C) 1996-2007, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
-@@ -302,45 +302,109 @@ dl_open_worker (void *a)
- if (GLRO(dl_lazy))
- reloc_mode |= mode & RTLD_LAZY;
-
-- /* Relocate the objects loaded. We do this in reverse order so that copy
-- relocs of earlier objects overwrite the data written by later objects. */
--
-+ /* Sort the objects by dependency for the relocation process. This
-+ allows IFUNC relocations to work and it also means copy
-+ relocation of dependencies are if necessary overwritten. */
-+ size_t nmaps = 0;
- struct link_map *l = new;
-- while (l->l_next)
-- l = l->l_next;
-- while (1)
-+ do
-+ {
-+ if (! l->l_real->l_relocated)
-+ ++nmaps;
-+ l = l->l_next;
-+ }
-+ while (l != NULL);
-+ struct link_map *maps[nmaps];
-+ nmaps = 0;
-+ l = new;
-+ do
- {
- if (! l->l_real->l_relocated)
-+ maps[nmaps++] = l;
-+ l = l->l_next;
-+ }
-+ while (l != NULL);
-+ if (nmaps > 1)
-+ {
-+ char seen[nmaps];
-+ memset (seen, '\0', nmaps);
-+ size_t i = 0;
-+ while (1)
- {
--#ifdef SHARED
-- if (__builtin_expect (GLRO(dl_profile) != NULL, 0))
-+ ++seen[i];
-+ struct link_map *thisp = maps[i];
-+
-+ /* Find the last object in the list for which the current one is
-+ a dependency and move the current object behind the object
-+ with the dependency. */
-+ size_t k = nmaps - 1;
-+ while (k > i)
- {
-- /* If this here is the shared object which we want to profile
-- make sure the profile is started. We can find out whether
-- this is necessary or not by observing the `_dl_profile_map'
-- variable. If was NULL but is not NULL afterwars we must
-- start the profiling. */
-- struct link_map *old_profile_map = GL(dl_profile_map);
-+ struct link_map **runp = maps[k]->l_initfini;
-+ if (runp != NULL)
-+ /* Look through the dependencies of the object. */
-+ while (*runp != NULL)
-+ if (__builtin_expect (*runp++ == thisp, 0))
-+ {
-+ /* Move the current object to the back past the last
-+ object with it as the dependency. */
-+ memmove (&maps[i], &maps[i + 1],
-+ (k - i) * sizeof (maps[0]));
-+ maps[k] = thisp;
-+
-+ if (seen[i + 1] > 1)
-+ {
-+ ++i;
-+ goto next_clear;
-+ }
-+
-+ char this_seen = seen[i];
-+ memmove (&seen[i], &seen[i + 1],
-+ (k - i) * sizeof (seen[0]));
-+ seen[k] = this_seen;
-+
-+ goto next;
-+ }
-+
-+ --k;
-+ }
-
-- _dl_relocate_object (l, l->l_scope, reloc_mode | RTLD_LAZY, 1);
-+ if (++i == nmaps)
-+ break;
-+ next_clear:
-+ memset (&seen[i], 0, (nmaps - i) * sizeof (seen[0]));
-+ next:;
-+ }
-+ }
-
-- if (old_profile_map == NULL && GL(dl_profile_map) != NULL)
-- {
-- /* We must prepare the profiling. */
-- _dl_start_profile ();
-+ for (size_t i = nmaps; i-- > 0; )
-+ {
-+ l = maps[i];
-
-- /* Prevent unloading the object. */
-- GL(dl_profile_map)->l_flags_1 |= DF_1_NODELETE;
-- }
-+#ifdef SHARED
-+ if (__builtin_expect (GLRO(dl_profile) != NULL, 0))
-+ {
-+ /* If this here is the shared object which we want to profile
-+ make sure the profile is started. We can find out whether
-+ this is necessary or not by observing the `_dl_profile_map'
-+ variable. If it was NULL but is not NULL afterwars we must
-+ start the profiling. */
-+ struct link_map *old_profile_map = GL(dl_profile_map);
-+
-+ _dl_relocate_object (l, l->l_scope, reloc_mode | RTLD_LAZY, 1);
-+
-+ if (old_profile_map == NULL && GL(dl_profile_map) != NULL)
-+ {
-+ /* We must prepare the profiling. */
-+ _dl_start_profile ();
-+
-+ /* Prevent unloading the object. */
-+ GL(dl_profile_map)->l_flags_1 |= DF_1_NODELETE;
- }
-- else
--#endif
-- _dl_relocate_object (l, l->l_scope, reloc_mode, 0);
- }
--
-- if (l == new)
-- break;
-- l = l->l_prev;
-+ else
-+#endif
-+ _dl_relocate_object (l, l->l_scope, reloc_mode, 0);
- }
-
- /* If the file is not loaded now as a dependency, add the search
-diff --git a/elf/tst-relsort1.c b/elf/tst-relsort1.c
-new file mode 100644
-index 0000000..972100c
---- /dev/null
-+++ b/elf/tst-relsort1.c
-@@ -0,0 +1,19 @@
-+#include <dlfcn.h>
-+#include <stdio.h>
-+
-+
-+static int
-+do_test ()
-+{
-+ const char lib[] = "$ORIGIN/tst-relsort1mod1.so";
-+ void *h = dlopen (lib, RTLD_NOW);
-+ if (h == NULL)
-+ {
-+ puts (dlerror ());
-+ return 1;
-+ }
-+ return 0;
-+}
-+
-+#define TEST_FUNCTION do_test ()
-+#include "../test-skeleton.c"
-diff --git a/elf/tst-relsort1mod1.c b/elf/tst-relsort1mod1.c
-new file mode 100644
-index 0000000..9e4a943
---- /dev/null
-+++ b/elf/tst-relsort1mod1.c
-@@ -0,0 +1,7 @@
-+extern int foo (double);
-+
-+int
-+bar (void)
-+{
-+ return foo (1.2);
-+}
-diff --git a/elf/tst-relsort1mod2.c b/elf/tst-relsort1mod2.c
-new file mode 100644
-index 0000000..a2c3e55
---- /dev/null
-+++ b/elf/tst-relsort1mod2.c
-@@ -0,0 +1,7 @@
-+#include <math.h>
-+
-+int
-+foo (double d)
-+{
-+ return floor (d) != 0.0;
-+}
---
-1.7.3.4
-
diff --git a/source/l/glibc/glibc.strtod.CVE-2012-3480.diff b/source/l/glibc/glibc.strtod.CVE-2012-3480.diff
deleted file mode 100644
index 7a7bdeb7..00000000
--- a/source/l/glibc/glibc.strtod.CVE-2012-3480.diff
+++ /dev/null
@@ -1,407 +0,0 @@
-From 8a780f7f68a1cd4c575bb17973a9e18826b05ef9 Mon Sep 17 00:00:00 2001
-From: Joseph Myers <joseph@codesourcery.com>
-Date: Mon, 27 Aug 2012 15:59:24 +0000
-Subject: [PATCH 1/1] Fix strtod integer/buffer overflow (bug 14459).
- (cherry picked from commit d6e70f4368533224e66d10b7f2126b899a3fd5e4)
-
-Conflicts:
-
- ChangeLog
- NEWS
- stdlib/Makefile
----
- ChangeLog | 17 +++++
- NEWS | 2 +-
- stdlib/Makefile | 2 +-
- stdlib/strtod_l.c | 142 ++++++++++++++++++++++++++++++++---------
- stdlib/tst-strtod-overflow.c | 48 ++++++++++++++
- 5 files changed, 178 insertions(+), 33 deletions(-)
- create mode 100644 stdlib/tst-strtod-overflow.c
-
-diff --git a/stdlib/Makefile b/stdlib/Makefile
-index 04c6ac5..b55f573 100644
---- a/stdlib/Makefile
-+++ b/stdlib/Makefile
-@@ -71,7 +71,7 @@ tests := tst-strtol tst-strtod testmb testrand testsort testdiv \
- tst-atof1 tst-atof2 tst-strtod2 tst-strtod3 tst-rand48-2 \
- tst-makecontext tst-strtod4 tst-strtod5 tst-qsort2 \
- tst-makecontext2 tst-strtod6 tst-unsetenv1 \
-- tst-makecontext3 bug-getcontext
-+ tst-makecontext3 bug-getcontext tst-strtod-overflow
-
- include ../Makeconfig
-
-diff --git a/stdlib/strtod_l.c b/stdlib/strtod_l.c
-index f24d4de..0deaebf 100644
---- a/stdlib/strtod_l.c
-+++ b/stdlib/strtod_l.c
-@@ -62,6 +62,7 @@ extern unsigned long long int ____strtoull_l_internal (const char *, char **,
- #include <math.h>
- #include <stdlib.h>
- #include <string.h>
-+#include <stdint.h>
-
- /* The gmp headers need some configuration frobs. */
- #define HAVE_ALLOCA 1
-@@ -74,7 +75,6 @@ extern unsigned long long int ____strtoull_l_internal (const char *, char **,
- #include "longlong.h"
- #include "fpioconst.h"
-
--#define NDEBUG 1
- #include <assert.h>
-
-
-@@ -176,19 +176,19 @@ extern const mp_limb_t _tens_in_limb[MAX_DIG_PER_LIMB + 1];
- /* Return a floating point number of the needed type according to the given
- multi-precision number after possible rounding. */
- static FLOAT
--round_and_return (mp_limb_t *retval, int exponent, int negative,
-+round_and_return (mp_limb_t *retval, intmax_t exponent, int negative,
- mp_limb_t round_limb, mp_size_t round_bit, int more_bits)
- {
- if (exponent < MIN_EXP - 1)
- {
-- mp_size_t shift = MIN_EXP - 1 - exponent;
--
-- if (shift > MANT_DIG)
-+ if (exponent < MIN_EXP - 1 - MANT_DIG)
- {
- __set_errno (ERANGE);
- return 0.0;
- }
-
-+ mp_size_t shift = MIN_EXP - 1 - exponent;
-+
- more_bits |= (round_limb & ((((mp_limb_t) 1) << round_bit) - 1)) != 0;
- if (shift == MANT_DIG)
- /* This is a special case to handle the very seldom case where
-@@ -235,6 +235,9 @@ round_and_return (mp_limb_t *retval, int exponent, int negative,
- __set_errno (ERANGE);
- }
-
-+ if (exponent > MAX_EXP)
-+ goto overflow;
-+
- if ((round_limb & (((mp_limb_t) 1) << round_bit)) != 0
- && (more_bits || (retval[0] & 1) != 0
- || (round_limb & ((((mp_limb_t) 1) << round_bit) - 1)) != 0))
-@@ -260,6 +263,7 @@ round_and_return (mp_limb_t *retval, int exponent, int negative,
- }
-
- if (exponent > MAX_EXP)
-+ overflow:
- return negative ? -FLOAT_HUGE_VAL : FLOAT_HUGE_VAL;
-
- return MPN2FLOAT (retval, exponent, negative);
-@@ -273,7 +277,7 @@ round_and_return (mp_limb_t *retval, int exponent, int negative,
- factor for the resulting number (see code) multiply by it. */
- static const STRING_TYPE *
- str_to_mpn (const STRING_TYPE *str, int digcnt, mp_limb_t *n, mp_size_t *nsize,
-- int *exponent
-+ intmax_t *exponent
- #ifndef USE_WIDE_CHAR
- , const char *decimal, size_t decimal_len, const char *thousands
- #endif
-@@ -303,6 +307,7 @@ str_to_mpn (const STRING_TYPE *str, int digcnt, mp_limb_t *n, mp_size_t *nsize,
- cy += __mpn_add_1 (n, n, *nsize, low);
- if (cy != 0)
- {
-+ assert (*nsize < MPNSIZE);
- n[*nsize] = cy;
- ++(*nsize);
- }
-@@ -337,7 +342,7 @@ str_to_mpn (const STRING_TYPE *str, int digcnt, mp_limb_t *n, mp_size_t *nsize,
- }
- while (--digcnt > 0);
-
-- if (*exponent > 0 && cnt + *exponent <= MAX_DIG_PER_LIMB)
-+ if (*exponent > 0 && *exponent <= MAX_DIG_PER_LIMB - cnt)
- {
- low *= _tens_in_limb[*exponent];
- start = _tens_in_limb[cnt + *exponent];
-@@ -357,7 +362,10 @@ str_to_mpn (const STRING_TYPE *str, int digcnt, mp_limb_t *n, mp_size_t *nsize,
- cy = __mpn_mul_1 (n, n, *nsize, start);
- cy += __mpn_add_1 (n, n, *nsize, low);
- if (cy != 0)
-- n[(*nsize)++] = cy;
-+ {
-+ assert (*nsize < MPNSIZE);
-+ n[(*nsize)++] = cy;
-+ }
- }
-
- return str;
-@@ -415,7 +423,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- {
- int negative; /* The sign of the number. */
- MPN_VAR (num); /* MP representation of the number. */
-- int exponent; /* Exponent of the number. */
-+ intmax_t exponent; /* Exponent of the number. */
-
- /* Numbers starting `0X' or `0x' have to be processed with base 16. */
- int base = 10;
-@@ -437,7 +445,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- /* Points at the character following the integer and fractional digits. */
- const STRING_TYPE *expp;
- /* Total number of digit and number of digits in integer part. */
-- int dig_no, int_no, lead_zero;
-+ size_t dig_no, int_no, lead_zero;
- /* Contains the last character read. */
- CHAR_TYPE c;
-
-@@ -769,7 +777,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- are all or any is really a fractional digit will be decided
- later. */
- int_no = dig_no;
-- lead_zero = int_no == 0 ? -1 : 0;
-+ lead_zero = int_no == 0 ? (size_t) -1 : 0;
-
- /* Read the fractional digits. A special case are the 'american
- style' numbers like `16.' i.e. with decimal point but without
-@@ -791,12 +799,13 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- (base == 16 && ({ CHAR_TYPE lo = TOLOWER (c);
- lo >= L_('a') && lo <= L_('f'); })))
- {
-- if (c != L_('0') && lead_zero == -1)
-+ if (c != L_('0') && lead_zero == (size_t) -1)
- lead_zero = dig_no - int_no;
- ++dig_no;
- c = *++cp;
- }
- }
-+ assert (dig_no <= (uintmax_t) INTMAX_MAX);
-
- /* Remember start of exponent (if any). */
- expp = cp;
-@@ -819,24 +828,80 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
-
- if (c >= L_('0') && c <= L_('9'))
- {
-- int exp_limit;
-+ intmax_t exp_limit;
-
- /* Get the exponent limit. */
- if (base == 16)
-- exp_limit = (exp_negative ?
-- -MIN_EXP + MANT_DIG + 4 * int_no :
-- MAX_EXP - 4 * int_no + 4 * lead_zero + 3);
-+ {
-+ if (exp_negative)
-+ {
-+ assert (int_no <= (uintmax_t) (INTMAX_MAX
-+ + MIN_EXP - MANT_DIG) / 4);
-+ exp_limit = -MIN_EXP + MANT_DIG + 4 * (intmax_t) int_no;
-+ }
-+ else
-+ {
-+ if (int_no)
-+ {
-+ assert (lead_zero == 0
-+ && int_no <= (uintmax_t) INTMAX_MAX / 4);
-+ exp_limit = MAX_EXP - 4 * (intmax_t) int_no + 3;
-+ }
-+ else if (lead_zero == (size_t) -1)
-+ {
-+ /* The number is zero and this limit is
-+ arbitrary. */
-+ exp_limit = MAX_EXP + 3;
-+ }
-+ else
-+ {
-+ assert (lead_zero
-+ <= (uintmax_t) (INTMAX_MAX - MAX_EXP - 3) / 4);
-+ exp_limit = (MAX_EXP
-+ + 4 * (intmax_t) lead_zero
-+ + 3);
-+ }
-+ }
-+ }
- else
-- exp_limit = (exp_negative ?
-- -MIN_10_EXP + MANT_DIG + int_no :
-- MAX_10_EXP - int_no + lead_zero + 1);
-+ {
-+ if (exp_negative)
-+ {
-+ assert (int_no
-+ <= (uintmax_t) (INTMAX_MAX + MIN_10_EXP - MANT_DIG));
-+ exp_limit = -MIN_10_EXP + MANT_DIG + (intmax_t) int_no;
-+ }
-+ else
-+ {
-+ if (int_no)
-+ {
-+ assert (lead_zero == 0
-+ && int_no <= (uintmax_t) INTMAX_MAX);
-+ exp_limit = MAX_10_EXP - (intmax_t) int_no + 1;
-+ }
-+ else if (lead_zero == (size_t) -1)
-+ {
-+ /* The number is zero and this limit is
-+ arbitrary. */
-+ exp_limit = MAX_10_EXP + 1;
-+ }
-+ else
-+ {
-+ assert (lead_zero
-+ <= (uintmax_t) (INTMAX_MAX - MAX_10_EXP - 1));
-+ exp_limit = MAX_10_EXP + (intmax_t) lead_zero + 1;
-+ }
-+ }
-+ }
-+
-+ if (exp_limit < 0)
-+ exp_limit = 0;
-
- do
- {
-- exponent *= 10;
-- exponent += c - L_('0');
--
-- if (__builtin_expect (exponent > exp_limit, 0))
-+ if (__builtin_expect ((exponent > exp_limit / 10
-+ || (exponent == exp_limit / 10
-+ && c - L_('0') > exp_limit % 10)), 0))
- /* The exponent is too large/small to represent a valid
- number. */
- {
-@@ -845,7 +910,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- /* We have to take care for special situation: a joker
- might have written "0.0e100000" which is in fact
- zero. */
-- if (lead_zero == -1)
-+ if (lead_zero == (size_t) -1)
- result = negative ? -0.0 : 0.0;
- else
- {
-@@ -864,6 +929,9 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- /* NOTREACHED */
- }
-
-+ exponent *= 10;
-+ exponent += c - L_('0');
-+
- c = *++cp;
- }
- while (c >= L_('0') && c <= L_('9'));
-@@ -932,7 +1000,14 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- }
- #endif
- startp += lead_zero + decimal_len;
-- exponent -= base == 16 ? 4 * lead_zero : lead_zero;
-+ assert (lead_zero <= (base == 16
-+ ? (uintmax_t) INTMAX_MAX / 4
-+ : (uintmax_t) INTMAX_MAX));
-+ assert (lead_zero <= (base == 16
-+ ? ((uintmax_t) exponent
-+ - (uintmax_t) INTMAX_MIN) / 4
-+ : ((uintmax_t) exponent - (uintmax_t) INTMAX_MIN)));
-+ exponent -= base == 16 ? 4 * (intmax_t) lead_zero : (intmax_t) lead_zero;
- dig_no -= lead_zero;
- }
-
-@@ -974,7 +1049,10 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- }
-
- /* Adjust the exponent for the bits we are shifting in. */
-- exponent += bits - 1 + (int_no - 1) * 4;
-+ assert (int_no <= (uintmax_t) (exponent < 0
-+ ? (INTMAX_MAX - bits + 1) / 4
-+ : (INTMAX_MAX - exponent - bits + 1) / 4));
-+ exponent += bits - 1 + ((intmax_t) int_no - 1) * 4;
-
- while (--dig_no > 0 && idx >= 0)
- {
-@@ -1014,13 +1092,15 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- really integer digits or belong to the fractional part; i.e. we normalize
- 123e-2 to 1.23. */
- {
-- register int incr = (exponent < 0 ? MAX (-int_no, exponent)
-- : MIN (dig_no - int_no, exponent));
-+ register intmax_t incr = (exponent < 0
-+ ? MAX (-(intmax_t) int_no, exponent)
-+ : MIN ((intmax_t) dig_no - (intmax_t) int_no,
-+ exponent));
- int_no += incr;
- exponent -= incr;
- }
-
-- if (__builtin_expect (int_no + exponent > MAX_10_EXP + 1, 0))
-+ if (__builtin_expect (exponent > MAX_10_EXP + 1 - (intmax_t) int_no, 0))
- {
- __set_errno (ERANGE);
- return negative ? -FLOAT_HUGE_VAL : FLOAT_HUGE_VAL;
-@@ -1205,7 +1285,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- digits we should have enough bits for the result. The remaining
- decimal digits give us the information that more bits are following.
- This can be used while rounding. (Two added as a safety margin.) */
-- if (dig_no - int_no > (MANT_DIG - bits + 2) / 3 + 2)
-+ if ((intmax_t) dig_no > (intmax_t) int_no + (MANT_DIG - bits + 2) / 3 + 2)
- {
- dig_no = int_no + (MANT_DIG - bits + 2) / 3 + 2;
- more_bits = 1;
-@@ -1213,7 +1293,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- else
- more_bits = 0;
-
-- neg_exp = dig_no - int_no - exponent;
-+ neg_exp = (intmax_t) dig_no - (intmax_t) int_no - exponent;
-
- /* Construct the denominator. */
- densize = 0;
-diff --git a/stdlib/tst-strtod-overflow.c b/stdlib/tst-strtod-overflow.c
-new file mode 100644
-index 0000000..668d55b
---- /dev/null
-+++ b/stdlib/tst-strtod-overflow.c
-@@ -0,0 +1,48 @@
-+/* Test for integer/buffer overflow in strtod.
-+ Copyright (C) 2012 Free Software Foundation, Inc.
-+ This file is part of the GNU C Library.
-+
-+ The GNU C Library is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU Lesser General Public
-+ License as published by the Free Software Foundation; either
-+ version 2.1 of the License, or (at your option) any later version.
-+
-+ The GNU C Library is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public
-+ License along with the GNU C Library; if not, see
-+ <http://www.gnu.org/licenses/>. */
-+
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
-+
-+#define EXPONENT "e-2147483649"
-+#define SIZE 214748364
-+
-+static int
-+do_test (void)
-+{
-+ char *p = malloc (1 + SIZE + sizeof (EXPONENT));
-+ if (p == NULL)
-+ {
-+ puts ("malloc failed, cannot test for overflow");
-+ return 0;
-+ }
-+ p[0] = '1';
-+ memset (p + 1, '0', SIZE);
-+ memcpy (p + 1 + SIZE, EXPONENT, sizeof (EXPONENT));
-+ double d = strtod (p, NULL);
-+ if (d != 0)
-+ {
-+ printf ("strtod returned wrong value: %a\n", d);
-+ return 1;
-+ }
-+ return 0;
-+}
-+
-+#define TEST_FUNCTION do_test ()
-+#include "../test-skeleton.c"
---
-1.7.3.4
diff --git a/source/l/glibc/timezone-scripts/output-updated-timeconfig.sh b/source/l/glibc/timezone-scripts/output-updated-timeconfig.sh
index 5d1ade37..a04f1b67 100644..100755
--- a/source/l/glibc/timezone-scripts/output-updated-timeconfig.sh
+++ b/source/l/glibc/timezone-scripts/output-updated-timeconfig.sh
@@ -1,5 +1,5 @@
#!/bin/sh
-# Copyright 2006 Patrick J. Volkerding, Sebeka, MN, USA.
+# Copyright 2000, 2001, 2006, 2007, 2008, 2012 Patrick J. Volkerding, Sebeka, MN, USA.
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/source/l/glibc/timezone-scripts/parts/00 b/source/l/glibc/timezone-scripts/parts/00
index 9344c509..42d8a7e0 100644
--- a/source/l/glibc/timezone-scripts/parts/00
+++ b/source/l/glibc/timezone-scripts/parts/00
@@ -6,6 +6,7 @@
# Modified by: David Cantrell <david@slackware.com>, 06-Oct-2000
#
# ChangeLog:
+# 2012-12-12: Updated timezones from tzdata2012j. <pjv>
# 2008-03-10: Updated timezones from tzdata2008a. <pjv>
# 2007-12-21: Updated timezones from tzdata2007j. <pjv>
# 2006-12-03: Updated timezones from tzdata2006p. <pjv>
diff --git a/source/l/glibc/timezone-scripts/parts/01 b/source/l/glibc/timezone-scripts/parts/01
index 13909447..3860d8bd 100644
--- a/source/l/glibc/timezone-scripts/parts/01
+++ b/source/l/glibc/timezone-scripts/parts/01
@@ -9,6 +9,7 @@
"US/Michigan" " " \
"US/Mountain" " " \
"US/Pacific" " " \
+"US/Pacific-New" " " \
"US/Samoa" " " \
"Africa/Abidjan" " " \
"Africa/Accra" " " \
@@ -260,6 +261,8 @@
"Asia/Karachi" " " \
"Asia/Kashgar" " " \
"Asia/Katmandu" " " \
+"Asia/Khandyga" " " \
+"Asia/Khandyga" " " \
"Asia/Krasnoyarsk" " " \
"Asia/Kuala_Lumpur" " " \
"Asia/Kuching" " " \
@@ -302,6 +305,7 @@
"Asia/Ulaanbaatar" " " \
"Asia/Ulan_Bator" " " \
"Asia/Urumqi" " " \
+"Asia/Ust-Nera" " " \
"Asia/Vientiane" " " \
"Asia/Vladivostok" " " \
"Asia/Yakutsk" " " \
@@ -408,6 +412,7 @@
"Europe/Brussels" " " \
"Europe/Bucharest" " " \
"Europe/Budapest" " " \
+"Europe/Busingen" " " \
"Europe/Chisinau" " " \
"Europe/Copenhagen" " " \
"Europe/Dublin" " " \
@@ -1096,6 +1101,7 @@
"posix/US/Michigan" " " \
"posix/US/Mountain" " " \
"posix/US/Pacific" " " \
+"posix/US/Pacific-New" " " \
"posix/US/Samoa" " " \
"posix/UTC" " " \
"posix/Universal" " " \
@@ -1649,6 +1655,7 @@
"right/US/Michigan" " " \
"right/US/Mountain" " " \
"right/US/Pacific" " " \
+"right/US/Pacific-New" " " \
"right/US/Samoa" " " \
"right/UTC" " " \
"right/Universal" " " \
diff --git a/source/l/glibc/timezone-scripts/parts/03 b/source/l/glibc/timezone-scripts/parts/03
index 9993c348..f9a201ab 100644
--- a/source/l/glibc/timezone-scripts/parts/03
+++ b/source/l/glibc/timezone-scripts/parts/03
@@ -9,6 +9,7 @@ US/Indiana-Starke
US/Michigan
US/Mountain
US/Pacific
+US/Pacific-New
US/Samoa
Africa/Abidjan
Africa/Accra
@@ -260,6 +261,8 @@ Asia/Kamchatka
Asia/Karachi
Asia/Kashgar
Asia/Katmandu
+Asia/Khandyga
+Asia/Kolkata
Asia/Krasnoyarsk
Asia/Kuala_Lumpur
Asia/Kuching
@@ -302,6 +305,7 @@ Asia/Ujung_Pandang
Asia/Ulaanbaatar
Asia/Ulan_Bator
Asia/Urumqi
+Asia/Ust-Nera
Asia/Vientiane
Asia/Vladivostok
Asia/Yakutsk
@@ -408,6 +412,7 @@ Europe/Bratislava
Europe/Brussels
Europe/Bucharest
Europe/Budapest
+Europe/Busingen
Europe/Chisinau
Europe/Copenhagen
Europe/Dublin
@@ -1096,6 +1101,7 @@ posix/US/Indiana-Starke
posix/US/Michigan
posix/US/Mountain
posix/US/Pacific
+posix/US/Pacific-New
posix/US/Samoa
posix/UTC
posix/Universal
@@ -1649,6 +1655,7 @@ right/US/Indiana-Starke
right/US/Michigan
right/US/Mountain
right/US/Pacific
+right/US/Pacific-New
right/US/Samoa
right/UTC
right/Universal
diff --git a/source/l/glibc/timezone-scripts/timeconfig b/source/l/glibc/timezone-scripts/timeconfig
index 56e786c3..e09550d4 100644
--- a/source/l/glibc/timezone-scripts/timeconfig
+++ b/source/l/glibc/timezone-scripts/timeconfig
@@ -6,6 +6,7 @@
# Modified by: David Cantrell <david@slackware.com>, 06-Oct-2000
#
# ChangeLog:
+# 2012-12-12: Updated timezones from tzdata2012j. <pjv>
# 2008-03-10: Updated timezones from tzdata2008a. <pjv>
# 2007-12-21: Updated timezones from tzdata2007j. <pjv>
# 2006-12-03: Updated timezones from tzdata2006p. <pjv>
@@ -138,6 +139,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"US/Michigan" " " \
"US/Mountain" " " \
"US/Pacific" " " \
+"US/Pacific-New" " " \
"US/Samoa" " " \
"Africa/Abidjan" " " \
"Africa/Accra" " " \
@@ -237,6 +239,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"America/Coral_Harbour" " " \
"America/Cordoba" " " \
"America/Costa_Rica" " " \
+"America/Creston" " " \
"America/Cuiaba" " " \
"America/Curacao" " " \
"America/Danmarkshavn" " " \
@@ -411,6 +414,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"Asia/Kashgar" " " \
"Asia/Kathmandu" " " \
"Asia/Katmandu" " " \
+"Asia/Khandyga" " " \
"Asia/Kolkata" " " \
"Asia/Krasnoyarsk" " " \
"Asia/Kuala_Lumpur" " " \
@@ -455,6 +459,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"Asia/Ulaanbaatar" " " \
"Asia/Ulan_Bator" " " \
"Asia/Urumqi" " " \
+"Asia/Ust-Nera" " " \
"Asia/Vientiane" " " \
"Asia/Vladivostok" " " \
"Asia/Yakutsk" " " \
@@ -563,6 +568,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"Europe/Brussels" " " \
"Europe/Bucharest" " " \
"Europe/Budapest" " " \
+"Europe/Busingen" " " \
"Europe/Chisinau" " " \
"Europe/Copenhagen" " " \
"Europe/Dublin" " " \
@@ -805,6 +811,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"posix/America/Coral_Harbour" " " \
"posix/America/Cordoba" " " \
"posix/America/Costa_Rica" " " \
+"posix/America/Creston" " " \
"posix/America/Cuiaba" " " \
"posix/America/Curacao" " " \
"posix/America/Danmarkshavn" " " \
@@ -979,6 +986,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"posix/Asia/Kashgar" " " \
"posix/Asia/Kathmandu" " " \
"posix/Asia/Katmandu" " " \
+"posix/Asia/Khandyga" " " \
"posix/Asia/Kolkata" " " \
"posix/Asia/Krasnoyarsk" " " \
"posix/Asia/Kuala_Lumpur" " " \
@@ -1023,6 +1031,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"posix/Asia/Ulaanbaatar" " " \
"posix/Asia/Ulan_Bator" " " \
"posix/Asia/Urumqi" " " \
+"posix/Asia/Ust-Nera" " " \
"posix/Asia/Vientiane" " " \
"posix/Asia/Vladivostok" " " \
"posix/Asia/Yakutsk" " " \
@@ -1131,6 +1140,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"posix/Europe/Brussels" " " \
"posix/Europe/Bucharest" " " \
"posix/Europe/Budapest" " " \
+"posix/Europe/Busingen" " " \
"posix/Europe/Chisinau" " " \
"posix/Europe/Copenhagen" " " \
"posix/Europe/Dublin" " " \
@@ -1281,6 +1291,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"posix/US/Michigan" " " \
"posix/US/Mountain" " " \
"posix/US/Pacific" " " \
+"posix/US/Pacific-New" " " \
"posix/US/Samoa" " " \
"posix/UTC" " " \
"posix/Universal" " " \
@@ -1386,6 +1397,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"right/America/Coral_Harbour" " " \
"right/America/Cordoba" " " \
"right/America/Costa_Rica" " " \
+"right/America/Creston" " " \
"right/America/Cuiaba" " " \
"right/America/Curacao" " " \
"right/America/Danmarkshavn" " " \
@@ -1560,6 +1572,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"right/Asia/Kashgar" " " \
"right/Asia/Kathmandu" " " \
"right/Asia/Katmandu" " " \
+"right/Asia/Khandyga" " " \
"right/Asia/Kolkata" " " \
"right/Asia/Krasnoyarsk" " " \
"right/Asia/Kuala_Lumpur" " " \
@@ -1604,6 +1617,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"right/Asia/Ulaanbaatar" " " \
"right/Asia/Ulan_Bator" " " \
"right/Asia/Urumqi" " " \
+"right/Asia/Ust-Nera" " " \
"right/Asia/Vientiane" " " \
"right/Asia/Vladivostok" " " \
"right/Asia/Yakutsk" " " \
@@ -1712,6 +1726,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"right/Europe/Brussels" " " \
"right/Europe/Bucharest" " " \
"right/Europe/Budapest" " " \
+"right/Europe/Busingen" " " \
"right/Europe/Chisinau" " " \
"right/Europe/Copenhagen" " " \
"right/Europe/Dublin" " " \
@@ -1862,6 +1877,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"right/US/Michigan" " " \
"right/US/Mountain" " " \
"right/US/Pacific" " " \
+"right/US/Pacific-New" " " \
"right/US/Samoa" " " \
"right/UTC" " " \
"right/Universal" " " \
@@ -1907,6 +1923,7 @@ US/Indiana-Starke
US/Michigan
US/Mountain
US/Pacific
+US/Pacific-New
US/Samoa
Africa/Abidjan
Africa/Accra
@@ -2006,6 +2023,7 @@ America/Chihuahua
America/Coral_Harbour
America/Cordoba
America/Costa_Rica
+America/Creston
America/Cuiaba
America/Curacao
America/Danmarkshavn
@@ -2180,6 +2198,7 @@ Asia/Karachi
Asia/Kashgar
Asia/Kathmandu
Asia/Katmandu
+Asia/Khandyga
Asia/Kolkata
Asia/Krasnoyarsk
Asia/Kuala_Lumpur
@@ -2224,6 +2243,7 @@ Asia/Ujung_Pandang
Asia/Ulaanbaatar
Asia/Ulan_Bator
Asia/Urumqi
+Asia/Ust-Nera
Asia/Vientiane
Asia/Vladivostok
Asia/Yakutsk
@@ -2332,6 +2352,7 @@ Europe/Bratislava
Europe/Brussels
Europe/Bucharest
Europe/Budapest
+Europe/Busingen
Europe/Chisinau
Europe/Copenhagen
Europe/Dublin
@@ -2574,6 +2595,7 @@ posix/America/Chihuahua
posix/America/Coral_Harbour
posix/America/Cordoba
posix/America/Costa_Rica
+posix/America/Creston
posix/America/Cuiaba
posix/America/Curacao
posix/America/Danmarkshavn
@@ -2748,6 +2770,7 @@ posix/Asia/Karachi
posix/Asia/Kashgar
posix/Asia/Kathmandu
posix/Asia/Katmandu
+posix/Asia/Khandyga
posix/Asia/Kolkata
posix/Asia/Krasnoyarsk
posix/Asia/Kuala_Lumpur
@@ -2792,6 +2815,7 @@ posix/Asia/Ujung_Pandang
posix/Asia/Ulaanbaatar
posix/Asia/Ulan_Bator
posix/Asia/Urumqi
+posix/Asia/Ust-Nera
posix/Asia/Vientiane
posix/Asia/Vladivostok
posix/Asia/Yakutsk
@@ -2900,6 +2924,7 @@ posix/Europe/Bratislava
posix/Europe/Brussels
posix/Europe/Bucharest
posix/Europe/Budapest
+posix/Europe/Busingen
posix/Europe/Chisinau
posix/Europe/Copenhagen
posix/Europe/Dublin
@@ -3050,6 +3075,7 @@ posix/US/Indiana-Starke
posix/US/Michigan
posix/US/Mountain
posix/US/Pacific
+posix/US/Pacific-New
posix/US/Samoa
posix/UTC
posix/Universal
@@ -3155,6 +3181,7 @@ right/America/Chihuahua
right/America/Coral_Harbour
right/America/Cordoba
right/America/Costa_Rica
+right/America/Creston
right/America/Cuiaba
right/America/Curacao
right/America/Danmarkshavn
@@ -3329,6 +3356,7 @@ right/Asia/Karachi
right/Asia/Kashgar
right/Asia/Kathmandu
right/Asia/Katmandu
+right/Asia/Khandyga
right/Asia/Kolkata
right/Asia/Krasnoyarsk
right/Asia/Kuala_Lumpur
@@ -3373,6 +3401,7 @@ right/Asia/Ujung_Pandang
right/Asia/Ulaanbaatar
right/Asia/Ulan_Bator
right/Asia/Urumqi
+right/Asia/Ust-Nera
right/Asia/Vientiane
right/Asia/Vladivostok
right/Asia/Yakutsk
@@ -3481,6 +3510,7 @@ right/Europe/Bratislava
right/Europe/Brussels
right/Europe/Bucharest
right/Europe/Budapest
+right/Europe/Busingen
right/Europe/Chisinau
right/Europe/Copenhagen
right/Europe/Dublin
@@ -3631,6 +3661,7 @@ right/US/Indiana-Starke
right/US/Michigan
right/US/Mountain
right/US/Pacific
+right/US/Pacific-New
right/US/Samoa
right/UTC
right/Universal
diff --git a/source/l/gmm/gmm.SlackBuild b/source/l/gmm/gmm.SlackBuild
index c5ee5ce9..2742fd10 100755
--- a/source/l/gmm/gmm.SlackBuild
+++ b/source/l/gmm/gmm.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Copyright 2008 Heinz Wiesinger <hmwiesinger@gmx.at>
-# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,23 +24,23 @@
# Modified by Robby Workman <rworkman@slackware.com>
-PRGNAM=gmm
-VERSION=3.1
+PKGNAM=gmm
+VERSION=4.2
ARCH=noarch
BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:--j6}
CWD=$(pwd)
TMP=${TMP:-/tmp}
-PKG=$TMP/package-$PRGNAM
+PKG=$TMP/package-$PKGNAM
OUTPUT=${OUTPUT:-/tmp}
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP || exit 1
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2 || exit 1
-cd $PRGNAM-$VERSION || exit 1
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
chown -R root:root .
chmod -R u+w,go+r-w,a-s .
@@ -55,14 +55,14 @@ make install DESTDIR=$PKG || exit 1
find $PKG | xargs file | grep -e "executable" -e "shared object" \
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a \
AUTHORS COPYING* INSTALL NEWS README \
- $PKG/usr/doc/$PRGNAM-$VERSION
+ $PKG/usr/doc/$PKGNAM-$VERSION
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
-/sbin/makepkg -l y -c n $TMP/$PRGNAM-$VERSION-$ARCH-$BUILD.txz
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/gmp/gmp.SlackBuild b/source/l/gmp/gmp.SlackBuild
index d8a7ffd9..6280e14f 100755
--- a/source/l/gmp/gmp.SlackBuild
+++ b/source/l/gmp/gmp.SlackBuild
@@ -90,7 +90,6 @@ CFLAGS="$SLKCFLAGS" \
--infodir=/usr/info \
--with-gnu-ld \
--enable-cxx \
- --enable-mpbsd \
--build=$TARGET
make $NUMJOBS || make || exit 1
diff --git a/source/l/gnome-icon-theme/fix_gits_configure.diff b/source/l/gnome-icon-theme/fix_gits_configure.diff
new file mode 100644
index 00000000..931b1b0f
--- /dev/null
+++ b/source/l/gnome-icon-theme/fix_gits_configure.diff
@@ -0,0 +1,12 @@
+diff -Nur gnome-icon-theme-symbolic-3.8.0.orig/configure gnome-icon-theme-symbolic-3.8.0/configure
+--- gnome-icon-theme-symbolic-3.8.0.orig/configure 2013-03-26 03:44:16.000000000 -0500
++++ gnome-icon-theme-symbolic-3.8.0/configure 2013-03-29 20:15:33.496885348 -0500
+@@ -2685,7 +2685,7 @@
+
+
+
+-ac_config_files="$ac_config_files gnome-icon-theme-symbolic.pc Makefile src/Makefile"
++ac_config_files="$ac_config_files Makefile src/Makefile"
+
+
+ cat >confcache <<\_ACEOF
diff --git a/source/l/gnome-icon-theme/gnome-icon-theme.SlackBuild b/source/l/gnome-icon-theme/gnome-icon-theme.SlackBuild
index 477bc823..b57abfd5 100755
--- a/source/l/gnome-icon-theme/gnome-icon-theme.SlackBuild
+++ b/source/l/gnome-icon-theme/gnome-icon-theme.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2012 Patrick Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2012, 2013 Patrick Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,9 +21,9 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=3.4.0 # main package version
-SYMVERS=3.4.0 # gnome-icon-theme-symbolic version
-EXTRAVERS=3.4.0 # gnome-icon-theme-extras version
+VERSION=3.8.3 # main package version
+SYMVERS=3.8.3 # gnome-icon-theme-symbolic version
+EXTRAVERS=3.6.2 # gnome-icon-theme-extras version
BUILD=${BUILD:-1}
@@ -63,6 +63,9 @@ for ICONPKG in gnome-icon-theme-$VERSION gnome-icon-theme-symbolic-$SYMVERS gnom
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+ if [ $ICONPKG = gnome-icon-theme-symbolic-$SYMVERS ]; then
+ zcat $CWD/fix_gits_configure.diff.gz | patch -p1 || exit 1
+ fi
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
diff --git a/source/l/gnome-keyring/doinst.sh b/source/l/gnome-keyring/doinst.sh
index c64347e9..27c5f9e4 100644
--- a/source/l/gnome-keyring/doinst.sh
+++ b/source/l/gnome-keyring/doinst.sh
@@ -1 +1 @@
-chroot . /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas/ 2>/dev/null
+chroot . /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas/ 2>/dev/null 1>/dev/null
diff --git a/source/l/gnome-keyring/gnome-keyring.SlackBuild b/source/l/gnome-keyring/gnome-keyring.SlackBuild
index 81bc47ab..a238f1e7 100755
--- a/source/l/gnome-keyring/gnome-keyring.SlackBuild
+++ b/source/l/gnome-keyring/gnome-keyring.SlackBuild
@@ -24,7 +24,7 @@
PKGNAM=gnome-keyring
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -58,12 +58,6 @@ rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
cd $PKGNAM-$VERSION || exit 1
-# Fix improper passphrase caching.
-# http://www.openwall.com/lists/oss-security/2012/08/09/2
-zcat $CWD/gpg-agent-Hook-up-the-TTL-cache-option.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/schema-Update-description-for-gpg-cache-method.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/secret-store-Mark-a-secret-item-as-used-when-acces.patch.gz | patch -p1 --verbose || exit 1
-
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -84,15 +78,12 @@ CXXFLAGS="$SLKCFLAGS" \
--enable-nls \
--disable-debug \
--enable-ssh-agent \
- --with-root-certs=/etc/ssl/certs \
--with-pam-dir=/lib/security \
--build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
-mkdir -p $PKG/etc/gconf/gconf.xml.defaults
-
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
diff --git a/source/l/gnome-keyring/gpg-agent-Hook-up-the-TTL-cache-option.patch b/source/l/gnome-keyring/gpg-agent-Hook-up-the-TTL-cache-option.patch
deleted file mode 100644
index c1298f75..00000000
--- a/source/l/gnome-keyring/gpg-agent-Hook-up-the-TTL-cache-option.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From 7b65bf04737167fae6b0204d6524215550fcc079 Mon Sep 17 00:00:00 2001
-From: Stef Walter <stefw@gnome.org>
-Date: Wed, 8 Aug 2012 06:06:58 +0200
-Subject: [PATCH] gpg-agent: Hook up the TTL cache option
-
- * So that when the gsettings gpg-cache-method is 'idle' or 'timeout'
- we use gpg-cache-ttl to control how long the passphrase is cached
- for.
- * This is a regression from 3.3.x
-
-https://bugzilla.gnome.org/show_bug.cgi?id=681081
----
- daemon/gpg-agent/gkd-gpg-agent-ops.c | 40 ++++++++++++++++++++++--------------
- 1 file changed, 25 insertions(+), 15 deletions(-)
-
-diff --git a/daemon/gpg-agent/gkd-gpg-agent-ops.c b/daemon/gpg-agent/gkd-gpg-agent-ops.c
-index a1a21ff..e1c188d 100644
---- a/daemon/gpg-agent/gkd-gpg-agent-ops.c
-+++ b/daemon/gpg-agent/gkd-gpg-agent-ops.c
-@@ -323,17 +323,6 @@ load_unlock_options (GcrPrompt *prompt)
- g_free (method);
- }
-
--static void
--save_unlock_options (GcrPrompt *prompt)
--{
-- GSettings *settings;
--
-- settings = gkd_gpg_agent_settings ();
--
-- if (gcr_prompt_get_choice_chosen (prompt))
-- g_settings_set_string (settings, "gpg-cache-method", GCR_UNLOCK_OPTION_ALWAYS);
--}
--
- static GcrPrompt *
- open_password_prompt (GckSession *session,
- const gchar *keyid,
-@@ -406,11 +395,14 @@ do_get_password (GckSession *session, const gchar *keyid, const gchar *errmsg,
- const gchar *prompt_text, const gchar *description, gboolean confirm)
- {
- GckBuilder builder = GCK_BUILDER_INIT;
-+ GSettings *settings;
- GckAttributes *attrs;
- gchar *password = NULL;
- GcrPrompt *prompt;
- gboolean chosen;
- GError *error = NULL;
-+ gint lifetime;
-+ gchar *method;
-
- g_assert (GCK_IS_SESSION (session));
-
-@@ -431,21 +423,39 @@ do_get_password (GckSession *session, const gchar *keyid, const gchar *errmsg,
- }
-
- if (password != NULL && keyid != NULL) {
-+ settings = gkd_gpg_agent_settings ();
-
- /* Load up the save options */
- chosen = gcr_prompt_get_choice_chosen (prompt);
-
-- if (chosen)
-+ if (chosen) {
-+ g_settings_set_string (settings, "gpg-cache-method", GCR_UNLOCK_OPTION_ALWAYS);
- gck_builder_add_string (&builder, CKA_G_COLLECTION, "login");
-- else
-+
-+ } else {
-+ method = g_settings_get_string (settings, "gpg-cache-method");
-+ lifetime = g_settings_get_int (settings, "gpg-cache-ttl");
-+
-+ if (g_strcmp0 (method, GCR_UNLOCK_OPTION_IDLE) == 0) {
-+ gck_builder_add_boolean (&builder, CKA_GNOME_TRANSIENT, TRUE);
-+ gck_builder_add_ulong (&builder, CKA_G_DESTRUCT_IDLE, lifetime);
-+
-+ } else if (g_strcmp0 (method, GCR_UNLOCK_OPTION_TIMEOUT) == 0) {
-+ gck_builder_add_boolean (&builder, CKA_GNOME_TRANSIENT, TRUE);
-+ gck_builder_add_ulong (&builder, CKA_G_DESTRUCT_AFTER, lifetime);
-+
-+ } else if (g_strcmp0 (method, GCR_UNLOCK_OPTION_SESSION)){
-+ g_message ("Unsupported gpg-cache-method setting: %s", method);
-+ }
-+
- gck_builder_add_string (&builder, CKA_G_COLLECTION, "session");
-+ g_free (method);
-+ }
-
- /* Now actually save the password */
- attrs = gck_attributes_ref_sink (gck_builder_end (&builder));
- do_save_password (session, keyid, description, password, attrs);
- gck_attributes_unref (attrs);
--
-- save_unlock_options (prompt);
- }
-
- g_clear_object (&prompt);
---
-1.7.11.2 \ No newline at end of file
diff --git a/source/l/gnome-keyring/schema-Update-description-for-gpg-cache-method.patch b/source/l/gnome-keyring/schema-Update-description-for-gpg-cache-method.patch
deleted file mode 100644
index 12b6fb2d..00000000
--- a/source/l/gnome-keyring/schema-Update-description-for-gpg-cache-method.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 6387fb065d5ea16c777a0aee05b22c3cc6a0f73c Mon Sep 17 00:00:00 2001
-From: Stef Walter <stefw@gnome.org>
-Date: Wed, 8 Aug 2012 06:06:24 +0200
-Subject: [PATCH] schema: Update description for gpg-cache-method
-
- * Document the various method strings that can be present here
-
-https://bugzilla.gnome.org/show_bug.cgi?id=681081
----
- schema/org.gnome.crypto.cache.gschema.xml | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/schema/org.gnome.crypto.cache.gschema.xml b/schema/org.gnome.crypto.cache.gschema.xml
-index 9a431eb..4547399 100644
---- a/schema/org.gnome.crypto.cache.gschema.xml
-+++ b/schema/org.gnome.crypto.cache.gschema.xml
-@@ -3,7 +3,10 @@
- <key name="gpg-cache-method" type="s">
- <default>'session'</default>
- <summary>Cache Method</summary>
-- <description>The method to use for caching passphrases typed into the GPG agent.</description>
-+ <description>The method to use for caching passphrases typed into the GPG agent.
-+ Should be one of: 'always' caches permanently, 'session' caches until session end,
-+ 'idle' caches until the not used for gpg-cache-ttl seconds, 'timeout' caches until
-+ gpg-cache-ttl seconds.</description>
- </key>
- <key name="gpg-cache-ttl" type="i">
- <default>300</default>
---
-1.7.11.2 \ No newline at end of file
diff --git a/source/l/gnome-keyring/secret-store-Mark-a-secret-item-as-used-when-acces.patch b/source/l/gnome-keyring/secret-store-Mark-a-secret-item-as-used-when-acces.patch
deleted file mode 100644
index 1785b0cd..00000000
--- a/source/l/gnome-keyring/secret-store-Mark-a-secret-item-as-used-when-acces.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From d96c49f0bf1710b69a354f4bdebf6b53bf5cb0bc Mon Sep 17 00:00:00 2001
-From: Stef Walter <stefw@gnome.org>
-Date: Wed, 8 Aug 2012 15:08:22 +0200
-Subject: [PATCH] secret-store: Mark a secret item as 'used' when accessed
-
- * This makes the gpg-agent idle feature work correctly
-
-https://bugzilla.gnome.org/show_bug.cgi?id=681081
----
- pkcs11/secret-store/gkm-secret-item.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/pkcs11/secret-store/gkm-secret-item.c b/pkcs11/secret-store/gkm-secret-item.c
-index 35698da..d7cbdb3 100644
---- a/pkcs11/secret-store/gkm-secret-item.c
-+++ b/pkcs11/secret-store/gkm-secret-item.c
-@@ -224,6 +224,7 @@ gkm_secret_item_real_get_attribute (GkmObject *base, GkmSession *session, CK_ATT
- identifier = gkm_secret_object_get_identifier (GKM_SECRET_OBJECT (self));
- secret = gkm_secret_data_get_raw (sdata, identifier, &n_secret);
- rv = gkm_attribute_set_data (attr, secret, n_secret);
-+ gkm_object_mark_used (base);
- g_object_unref (sdata);
- return rv;
-
---
-1.7.11.2 \ No newline at end of file
diff --git a/source/l/gnome-themes-standard/doinst.sh b/source/l/gnome-themes-standard/doinst.sh
new file mode 100644
index 00000000..9b0defbe
--- /dev/null
+++ b/source/l/gnome-themes-standard/doinst.sh
@@ -0,0 +1,8 @@
+for i in HighContrast Adwaita ; do
+ if [ -e usr/share/icons/$theme/icon-theme.cache ]; then
+ if [ -x /usr/bin/gtk-update-icon-cache ]; then
+ /usr/bin/gtk-update-icon-cache usr/share/icons/$theme >/dev/null 2>&1
+ fi
+ fi
+done
+
diff --git a/source/l/gnome-themes-standard/gnome-themes-standard.SlackBuild b/source/l/gnome-themes-standard/gnome-themes-standard.SlackBuild
new file mode 100755
index 00000000..7ae80c46
--- /dev/null
+++ b/source/l/gnome-themes-standard/gnome-themes-standard.SlackBuild
@@ -0,0 +1,104 @@
+#!/bin/sh
+
+# Slackware build script for gnome-themes-standard
+
+# Copyright 2013 Robby Workman, Northport, Alabama, USA
+# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=gnome-themes-standard
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --disable-static \
+ --enable-shared \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS README* COPYING* HACKING INSTALL NEWS \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -p -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/gnome-themes-standard/slack-desc b/source/l/gnome-themes-standard/slack-desc
new file mode 100644
index 00000000..d1660567
--- /dev/null
+++ b/source/l/gnome-themes-standard/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+gnome-themes-standard: gnome-themes-standard (default icons used by GTK+)
+gnome-themes-standard:
+gnome-themes-standard: A set of default icons used by many GTK+ applications.
+gnome-themes-standard:
+gnome-themes-standard:
+gnome-themes-standard:
+gnome-themes-standard:
+gnome-themes-standard:
+gnome-themes-standard:
+gnome-themes-standard:
+gnome-themes-standard:
diff --git a/source/l/gnu-efi/gnu-efi.SlackBuild b/source/l/gnu-efi/gnu-efi.SlackBuild
new file mode 100755
index 00000000..4ffda495
--- /dev/null
+++ b/source/l/gnu-efi/gnu-efi.SlackBuild
@@ -0,0 +1,92 @@
+#!/bin/sh
+
+# Slackware build script for gnu-efi
+
+# Copyright 2009-2013 Heinz Wiesinger, Amsterdam, The Netherlands
+# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=gnu-efi
+VERSION=${VERSION:-$(echo $PKGNAM_*.tar.?z* | rev | cut -f 4- -d . | cut -f 1 -d _ | rev)}
+INTERNALVER=$(echo $VERSION | tr -d [a-z])
+BUILD=${BUILD:-1}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PKGNAM-$INTERNALVER
+tar xvf $CWD/${PKGNAM}_$VERSION.orig.tar.?z* || exit 1
+cd $PKGNAM-$INTERNALVER || exit 1
+chown -R root:root .
+chmod -R u+w,go+r-w,a-s .
+
+make CPPFLAGS="$SLKCFLAGS" || exit 1
+make CPPFLAGS="$SLKCFLAGS" install INSTALLROOT=$PKG || exit
+
+# Fix install locations:
+mkdir -p $PKG/usr
+mv $PKG/include $PKG/usr/include
+mv $PKG/lib $PKG/usr/lib${LIBDIRSUFFIX}
+mkdir $PKG/usr/lib${LIBDIRSUFFIX}/gnuefi
+mv $PKG/usr/lib${LIBDIRSUFFIX}/*.lds $PKG/usr/lib${LIBDIRSUFFIX}/gnuefi
+mv $PKG/usr/lib${LIBDIRSUFFIX}/crt0*.o $PKG/usr/lib${LIBDIRSUFFIX}/gnuefi
+
+# Strip binaries:
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a ChangeLog README* \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/l/gnu-efi/slack-desc b/source/l/gnu-efi/slack-desc
new file mode 100644
index 00000000..7bc2f072
--- /dev/null
+++ b/source/l/gnu-efi/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler-----------------------------------------------------|
+gnu-efi: gnu-efi (EFI Development files for the GNU toolchain)
+gnu-efi:
+gnu-efi: Develop EFI applications using the GNU toolchain and the EFI
+gnu-efi: development environment.
+gnu-efi:
+gnu-efi: Homepage: http://gnu-efi.sourceforge.net
+gnu-efi:
+gnu-efi:
+gnu-efi:
+gnu-efi:
+gnu-efi:
diff --git a/source/l/grantlee/grantlee.SlackBuild b/source/l/grantlee/grantlee.SlackBuild
index f4429059..08647823 100755
--- a/source/l/grantlee/grantlee.SlackBuild
+++ b/source/l/grantlee/grantlee.SlackBuild
@@ -83,8 +83,6 @@ cd build
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DSYSCONF_INSTALL_DIR=/etc \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
..
make $NUMJOBS || make || exit 1
diff --git a/source/l/gsettings-desktop-schemas/gsettings-desktop-schemas.SlackBuild b/source/l/gsettings-desktop-schemas/gsettings-desktop-schemas.SlackBuild
index e85ea1ce..e050501d 100755
--- a/source/l/gsettings-desktop-schemas/gsettings-desktop-schemas.SlackBuild
+++ b/source/l/gsettings-desktop-schemas/gsettings-desktop-schemas.SlackBuild
@@ -24,7 +24,7 @@
PKGNAM=gsettings-desktop-schemas
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/l/gst-plugins-good/gst-plugins-good.SlackBuild b/source/l/gst-plugins-good/gst-plugins-good.SlackBuild
index 0db2baa8..c935a42e 100755
--- a/source/l/gst-plugins-good/gst-plugins-good.SlackBuild
+++ b/source/l/gst-plugins-good/gst-plugins-good.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Copyright 2008 Michiel van Wessem <michiel@slackbuilds.org>
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -26,7 +26,7 @@
PKGNAM=gst-plugins-good
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-5}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -68,6 +68,8 @@ rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
cd $PKGNAM-$VERSION
+zcat $CWD/v4l.compile.fixes.diff.gz | patch -p1 --verbose || exit 1
+
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/l/gst-plugins-good/v4l.compile.fixes.diff b/source/l/gst-plugins-good/v4l.compile.fixes.diff
new file mode 100644
index 00000000..e03fdac8
--- /dev/null
+++ b/source/l/gst-plugins-good/v4l.compile.fixes.diff
@@ -0,0 +1,57 @@
+From fa21c0bb253213c9dc48ce72faaf7090dc8a3554 Mon Sep 17 00:00:00 2001
+From: Colin Walters <walters@verbum.org>
+Date: Thu, 2 May 2013 16:16:46 -0400
+Subject: [PATCH] sys/v4l2: Some blind compilation fixes
+
+---
+ sys/v4l2/gstv4l2bufferpool.c | 1 -
+ sys/v4l2/v4l2_calls.c | 12 ++++--------
+ 2 files changed, 4 insertions(+), 9 deletions(-)
+
+diff --git a/sys/v4l2/gstv4l2bufferpool.c b/sys/v4l2/gstv4l2bufferpool.c
+index a0b4c84..3916815 100644
+--- a/sys/v4l2/gstv4l2bufferpool.c
++++ b/sys/v4l2/gstv4l2bufferpool.c
+@@ -182,7 +182,6 @@ gst_v4l2_buffer_new (GstV4l2BufferPool * pool, guint index, GstCaps * caps)
+ GST_LOG_OBJECT (pool->v4l2elem, " MMAP offset: %u",
+ ret->vbuffer.m.offset);
+ GST_LOG_OBJECT (pool->v4l2elem, " length: %u", ret->vbuffer.length);
+- GST_LOG_OBJECT (pool->v4l2elem, " input: %u", ret->vbuffer.input);
+
+ ret->mmap_length = ret->vbuffer.length;
+ data = (guint8 *) v4l2_mmap (0, ret->vbuffer.length,
+diff --git a/sys/v4l2/v4l2_calls.c b/sys/v4l2/v4l2_calls.c
+index 309bfb6..ee3ff9f 100644
+--- a/sys/v4l2/v4l2_calls.c
++++ b/sys/v4l2/v4l2_calls.c
+@@ -53,14 +53,6 @@
+
+ #include "gst/gst-i18n-plugin.h"
+
+-/* Those are ioctl calls */
+-#ifndef V4L2_CID_HCENTER
+-#define V4L2_CID_HCENTER V4L2_CID_HCENTER_DEPRECATED
+-#endif
+-#ifndef V4L2_CID_VCENTER
+-#define V4L2_CID_VCENTER V4L2_CID_VCENTER_DEPRECATED
+-#endif
+-
+ GST_DEBUG_CATEGORY_EXTERN (v4l2_debug);
+ #define GST_CAT_DEFAULT v4l2_debug
+
+@@ -294,8 +286,12 @@ gst_v4l2_fill_lists (GstV4l2Object * v4l2object)
+ break;
+ case V4L2_CID_HFLIP:
+ case V4L2_CID_VFLIP:
++#ifdef V4L2_CID_HCENTER
+ case V4L2_CID_HCENTER:
++#endif
++#ifdef V4L2_CID_VCENTER
+ case V4L2_CID_VCENTER:
++#endif
+ #ifdef V4L2_CID_PAN_RESET
+ case V4L2_CID_PAN_RESET:
+ #endif
+--
+1.7.1
+
diff --git a/source/l/gstreamer/gstreamer.SlackBuild b/source/l/gstreamer/gstreamer.SlackBuild
index 83d959cb..8bf648d0 100755
--- a/source/l/gstreamer/gstreamer.SlackBuild
+++ b/source/l/gstreamer/gstreamer.SlackBuild
@@ -2,7 +2,7 @@
# Copyright 2008 Robby Workman, Northport, Alabama, USA
# Copyright 2008 Michiel van Wessem <michiel@slackbuilds.org>
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
PKGNAM=gstreamer
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -86,6 +86,7 @@ CXXFLAGS="$SLKCFLAGS" \
--disable-static \
--disable-debug \
--disable-gst-debug \
+ --enable-glib-asserts=no \
--with-package-name='gstreamer' \
--with-package-origin='http://gstreamer.freedesktop.org' \
--build=$ARCH-slackware-linux
diff --git a/source/l/gtk+2/gtk+-2.24.x.icon-compat.am.diff b/source/l/gtk+2/gtk+-2.24.x.icon-compat.am.diff
index 0464648a..3fc35dca 100644
--- a/source/l/gtk+2/gtk+-2.24.x.icon-compat.am.diff
+++ b/source/l/gtk+2/gtk+-2.24.x.icon-compat.am.diff
@@ -1,11 +1,11 @@
---- ./gtk/Makefile.am.orig 2011-04-01 15:44:12.000000000 -0500
-+++ ./gtk/Makefile.am 2011-04-02 12:20:03.000000000 -0500
-@@ -1324,7 +1324,171 @@
+--- gtk+-2.24.14.orig/gtk/Makefile.am 2012-08-24 18:38:09.000000000 -0500
++++ gtk+-2.24.14/gtk/Makefile.am 2012-12-12 19:03:36.039889640 -0600
+@@ -1339,7 +1339,171 @@
+ stock-icons/24/document-save.png \
stock-icons/24/folder-remote.png \
stock-icons/24/user-home.png \
- stock-icons/24/user-desktop.png \
-- stock-icons/24/text-x-generic.png
-+ stock-icons/24/text-x-generic.png \
+- stock-icons/24/user-desktop.png
++ stock-icons/24/user-desktop.png \
+ stock-icons/16/gtk-quit.png \
+ stock-icons/16/gtk-info.png \
+ stock-icons/16/gtk-file.png \
@@ -173,7 +173,7 @@
# need to copy the icons so that we can replace the generated ones with
# symlinks, even in the readonly srcdir case
-@@ -1364,6 +1528,88 @@
+@@ -1379,6 +1543,88 @@
&& $(LN_S) folder.png user-desktop.png \
&& $(RM) user-home.png \
&& $(LN_S) folder.png user-home.png \
diff --git a/source/l/gtk+2/gtk+-2.24.x.icon-compat.diff b/source/l/gtk+2/gtk+-2.24.x.icon-compat.diff
index d4df76a7..ff9a444b 100644
--- a/source/l/gtk+2/gtk+-2.24.x.icon-compat.diff
+++ b/source/l/gtk+2/gtk+-2.24.x.icon-compat.diff
@@ -1,12 +1,11 @@
---- ./gtk/Makefile.in.orig 2011-04-01 16:41:08.000000000 -0500
-+++ ./gtk/Makefile.in 2011-04-02 12:21:32.000000000 -0500
-@@ -1614,7 +1614,172 @@
+--- gtk+-2.24.14.orig/gtk/Makefile.in 2012-12-05 21:46:20.000000000 -0600
++++ gtk+-2.24.14/gtk/Makefile.in 2012-12-12 18:59:17.734970161 -0600
+@@ -1938,7 +1938,171 @@
+ stock-icons/24/document-save.png \
stock-icons/24/folder-remote.png \
stock-icons/24/user-home.png \
- stock-icons/24/user-desktop.png \
-- stock-icons/24/text-x-generic.png
-+ stock-icons/24/text-x-generic.png \
-+ stock-icons/24/text-x-generic.png \
+- stock-icons/24/user-desktop.png
++ stock-icons/24/user-desktop.png \
+ stock-icons/16/gtk-quit.png \
+ stock-icons/16/gtk-info.png \
+ stock-icons/16/gtk-file.png \
@@ -174,7 +173,7 @@
@CROSS_COMPILING_FALSE@gtk_update_icon_cache_program = \
@CROSS_COMPILING_FALSE@ ./gtk-update-icon-cache
-@@ -2885,6 +3050,88 @@
+@@ -5401,6 +5565,88 @@
&& $(LN_S) folder.png user-desktop.png \
&& $(RM) user-home.png \
&& $(LN_S) folder.png user-home.png \
diff --git a/source/l/gtk+2/gtk+2.SlackBuild b/source/l/gtk+2/gtk+2.SlackBuild
index 9fff68c4..cc8f1651 100755
--- a/source/l/gtk+2/gtk+2.SlackBuild
+++ b/source/l/gtk+2/gtk+2.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
VERSION=${VERSION:-$(echo gtk+-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -75,9 +75,6 @@ zcat $CWD/fix_build_issues_on_tutorial_and_faq.diff.gz | patch -p1 --verbose ||
# warnings (most noticable when using Firefox and Flash):
zcat $CWD/gtk.xid.nowarningflood.diff.gz | patch -p1 --verbose || exit 1
-# Use /etc/gtk-2.0/$ARCH-slackware-linux instead of /etc/gtk-2.0/ for gtk.immodules
-zcat $CWD/use_host_triplet_for_gtk_immodules.diff.gz | patch -p1 --verbose || exit 1
-
# Patch to restore commonly used icon names, otherwise everything breaks.
# I fail to see the point of this "cleanup"
zcat $CWD/gtk+-2.24.x.icon-compat.diff.gz | patch -p1 --verbose || exit 1
@@ -91,7 +88,7 @@ autoreconf -vif
# Our host is $ARCH-slackware-linux not $ARCH-slackware-linux-gnu:
sed -i -e 's#linux|linux-gnu|#linux|linux|#' config.sub
-CFLAGS="$SLKCFLAGS -DHOST='"'"${ARCH}-slackware-linux"'"'" \
+CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
@@ -116,9 +113,6 @@ make install \
DESTDIR=$PKG \
|| exit 1
-mkdir -p $PKG/etc/gtk-2.0/$host
-mv $PKG/etc/gtk-2.0/gtk.immodules $PKG/etc/gtk-2.0/$host/
-
# Don't clobber im-multipress.conf
mv $PKG/etc/gtk-2.0/im-multipress.conf $PKG/etc/gtk-2.0/im-multipress.conf.new || exit 1
diff --git a/source/l/gtk+2/update-gtk-immodules-2.0 b/source/l/gtk+2/update-gtk-immodules-2.0
index d913f69f..f12353fb 100644
--- a/source/l/gtk+2/update-gtk-immodules-2.0
+++ b/source/l/gtk+2/update-gtk-immodules-2.0
@@ -1,5 +1,5 @@
#! /bin/sh
-# Updates the immodules in /etc/gtk-2.0/$host
+# Updates the immodules cache at /usr/lib(64)/gtk-2.0/2.10.0/immodules.cache
umask 022
@@ -11,75 +11,37 @@ case "$host" in
arm*) host=arm-slackware-linux-gnueabi ;;
esac
-# Deriving /etc/gtk-2.0/$host location
-#
-# We have had problems in the past with build systems
-# changing host from i386 to i686 and appending/dropping
-# the -gnu suffix, so try to match up the $host we got
-# with whats actually there.
-if [ ! -d /etc/gtk-2.0/$host ]; then
- case "$host" in
- i?86*)
- for d in $(ls -d /etc/gtk-2.0/i?86*); do
- host=$(basename $d)
- break
- done
- ;;
- esac
-fi
-
-FILE=/etc/gtk-2.0/$host/gtk.immodules
-
case "$host" in
s390x*|x86_64*)
if [ -x /usr/bin/gtk-query-immodules-2.0-64 ]; then
if [ "$1" = "--verbose" ]; then
echo "Updating gtk.immodules for ${host}:"
- echo " /usr/bin/gtk-query-immodules-2.0-64 \\"
- echo " > $FILE"
+ echo " /usr/bin/gtk-query-immodules-2.0-64 --update-cache"
fi
- /usr/bin/gtk-query-immodules-2.0-64 > $FILE
- # Check for x86_64 multilib:
- if ls -d /etc/gtk-2.0/i?86* 1> /dev/null 2> /dev/null ; then
- for d in $(ls -d /etc/gtk-2.0/i?86*); do
- mlhost=$(basename $d)
- break
- done
- if [ -r /etc/gtk-2.0/$mlhost/gtk.immodules -a \
- -x /usr/bin/gtk-query-immodules-2.0-32 ]; then
- FILE=/etc/gtk-2.0/$mlhost/gtk.immodules
- if [ "$1" = "--verbose" ]; then
- echo "Updating gtk.immodules for ${mlhost}:"
- echo " /usr/bin/gtk-query-immodules-2.0-32 \\"
- echo " > $FILE"
- fi
- /usr/bin/gtk-query-immodules-2.0-32 > $FILE
+ /usr/bin/gtk-query-immodules-2.0-64 --update-cache 2>/dev/null
+ # Check for multilib
+ if [ -x /usr/bin/gtk-query-immodules-2.0-32 ]; then
+ if [ "$1" = "--verbose" ]; then
+ echo "Updating 32bit gtk.immodules: "
+ echo " /usr/bin/gtk-query-immodules-2.0-32 --update-cache"
fi
+ /usr/bin/gtk-query-immodules-2.0-32 --update-cache 2>/dev/null
fi
- else
- if [ "$1" = "--verbose" ]; then
- echo "Updating gtk.immodules for ${host}:"
- echo " /usr/bin/gtk-query-immodules-2.0 \\"
- echo " > $FILE"
- fi
- /usr/bin/gtk-query-immodules-2.0 > $FILE
fi
;;
*)
if [ -x /usr/bin/gtk-query-immodules-2.0-32 ]; then
if [ "$1" = "--verbose" ]; then
echo "Updating gtk.immodules for ${host}:"
- echo " /usr/bin/gtk-query-immodules-2.0-32 \\"
- echo " > $FILE"
+ echo " /usr/bin/gtk-query-immodules-2.0-32 --update-cache"
fi
- /usr/bin/gtk-query-immodules-2.0-32 > $FILE
+ /usr/bin/gtk-query-immodules-2.0-32 --update-cache 2>/dev/null
else
if [ "$1" = "--verbose" ]; then
echo "Updating gtk.immodules for ${host}:"
- echo " /usr/bin/gtk-query-immodules-2.0 \\"
- echo " > $FILE"
+ echo " /usr/bin/gtk-query-immodules-2.0 --update-cache"
fi
- /usr/bin/gtk-query-immodules-2.0 > $FILE
+ /usr/bin/gtk-query-immodules-2.0 --update-cache 2>/dev/null
fi
;;
esac
diff --git a/source/l/gtk+2/use_host_triplet_for_gtk_immodules.diff b/source/l/gtk+2/use_host_triplet_for_gtk_immodules.diff
deleted file mode 100644
index 7f86d38d..00000000
--- a/source/l/gtk+2/use_host_triplet_for_gtk_immodules.diff
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -Nur gtk+-2.24.0.orig/gtk/Makefile.am gtk+-2.24.0/gtk/Makefile.am
---- gtk+-2.24.0.orig/gtk/Makefile.am 2011-01-06 22:41:26.000000000 -0600
-+++ gtk+-2.24.0/gtk/Makefile.am 2011-02-11 08:52:32.734533831 -0600
-@@ -38,6 +38,7 @@
- -DGTK_DATADIR=\"$(datadir)\" \
- -DGTK_DATA_PREFIX=\"$(prefix)\" \
- -DGTK_SYSCONFDIR=\"$(sysconfdir)\" \
-+ -DHOST=\"$(host_triplet)\" \
- -DGTK_VERSION=\"$(GTK_VERSION)\" \
- -DGTK_BINARY_VERSION=\"$(GTK_BINARY_VERSION)\" \
- -DGTK_HOST=\"$(host)\" \
-diff -Nur gtk+-2.24.0.orig/gtk/gtkrc.c gtk+-2.24.0/gtk/gtkrc.c
---- gtk+-2.24.0.orig/gtk/gtkrc.c 2011-01-26 13:46:37.000000000 -0600
-+++ gtk+-2.24.0/gtk/gtkrc.c 2011-02-11 08:54:35.145348489 -0600
-@@ -450,7 +450,7 @@
- if (im_module_file)
- result = g_strdup (im_module_file);
- else
-- result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gtk.immodules", NULL);
-+ result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", HOST, "gtk.immodules", NULL);
- }
-
- return result;
diff --git a/source/l/gtk+3/doinst.sh b/source/l/gtk+3/doinst.sh
index 90d1085f..da33a4e8 100644
--- a/source/l/gtk+3/doinst.sh
+++ b/source/l/gtk+3/doinst.sh
@@ -10,6 +10,11 @@ config() {
# Otherwise, we leave the .new copy for the admin to consider...
}
+# The GTK+3 theme no longer works, so if gtkrc uses that, back up the old
+# file and install the new one:
+if grep -q GTK etc/gtk-3.0/gtkrc 2> /dev/null ; then
+ mv etc/gtk-3.0/gtkrc etc/gtk-3.0/gtkrc.bak
+fi
config etc/gtk-3.0/gtkrc.new
config etc/gtk-3.0/im-multipress.conf.new
rm -f etc/gtk-3.0/gtkrc.new
diff --git a/source/l/gtk+3/gtk+3.SlackBuild b/source/l/gtk+3/gtk+3.SlackBuild
index c4e972eb..55a69bca 100755
--- a/source/l/gtk+3/gtk+3.SlackBuild
+++ b/source/l/gtk+3/gtk+3.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
VERSION=${VERSION:-$(echo gtk+-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -68,9 +68,6 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-# Use /etc/gtk-3.0/$ARCH-slackware-linux instead of /etc/gtk-3.0/ for gtk.immodules
-zcat $CWD/use_host_triplet_for_gtk_immodules.diff.gz | patch -p1 --verbose || exit 1
-
# Regenerate ./configure:
libtoolize --copy --force
autoreconf -vif
@@ -79,54 +76,32 @@ autoreconf -vif
# Our host is $ARCH-slackware-linux not $ARCH-slackware-linux-gnu:
sed -i -e 's#linux|linux-gnu|#linux|linux|#' config.sub
-CFLAGS="$SLKCFLAGS -DHOST='"'"${ARCH}-slackware-linux"'"'" \
+CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--mandir=/usr/man \
--enable-xkb \
- --build=$ARCH-slackware-linux \
- --host=$ARCH-slackware-linux \
- --target=$ARCH-slackware-linux
+ --enable-packagekit=no \
+ --build=$ARCH-slackware-linux
# --enable-gtk-doc-html=no \
-# See modules/input/Makefile.am
-make \
- imconffiledir=/etc/gtk-3.0/$ARCH-slackware-linux \
- $NUMJOBS || make || exit 1
+make $NUMJOBS || make || exit 1
# Check the host value that is passed to the compile to the one in this script:
host="$ARCH-slackware-linux"
-# Best I can tell, it doesn't matter if they match. Since gtk+3-3.2.0, both
-# build_triplet and host_triplet have "-gnu" appended to them, but neither of
-# those seem to actually be used anywhere. Commenting out unless I find out
-# that I'm wrong later... :-) --rworkman
-#compile_host=$(grep 'host_triplet =' gtk/Makefile | sed -e "s/.* = //")
-#if [ "x$compile_host" != "x$host" ]; then
-# echo "Host mismatch: compile='$compile_host', SlackBuild='$host'" && exit 1
-#fi
make install \
- imconffiledir=/etc/gtk-3.0/$ARCH-slackware-linux \
RUN_QUERY_IMMODULES_TEST=false RUN_QUERY_LOADER_TEST=false \
DESTDIR=$PKG \
|| exit 1
-# You'll probably need to install the newly made package right away to
-# fix the result of this next line, but we had to clear this. Sorry.
-rm -rf /etc/gtk-3.0
-# I'm spamming your root partition because /etc/gtk-3.0 won't install to $DESTDIR...
-make install imconffiledir=/etc/gtk-3.0/$ARCH-slackware-linux
-cp -a /etc/gtk-3.0 $PKG/etc || exit 1
-mv $PKG/etc/gtk-3.0/$host/im-multipress.conf $PKG/etc/gtk-3.0/im-multipress.conf.new
-rm -f $PKG/etc/gtk-3.0/$host/*
-if [ -r $PKG/etc/gtk-3.0/gtk.immodules ]; then
- mv $PKG/etc/gtk-3.0/gtk.immodules $PKG/etc/gtk-3.0/$host/
-fi
+# Don't clobber im-multipress.conf
+mv $PKG/etc/gtk-3.0/im-multipress.conf $PKG/etc/gtk-3.0/im-multipress.conf.new
# Install a "starter" gtkrc
-echo 'gtk-theme-name="GTK+"' > $PKG/etc/gtk-3.0/gtkrc.new
+echo 'gtk-theme-name="Adwaita"' > $PKG/etc/gtk-3.0/gtkrc.new
# We need to have separate 32-bit and 64-bit binaries
# for places where we have two copies of the GTK+ package installed.
diff --git a/source/l/gtk+3/update-gtk-immodules-3.0 b/source/l/gtk+3/update-gtk-immodules-3.0
index 06a70564..cd3d629b 100644
--- a/source/l/gtk+3/update-gtk-immodules-3.0
+++ b/source/l/gtk+3/update-gtk-immodules-3.0
@@ -1,5 +1,5 @@
#! /bin/sh
-# Updates the immodules in /etc/gtk-3.0/$host
+# Updates the immodules cache at /usr/lib(64)/gtk-3.0/3.0.0/immodules.cache
umask 022
@@ -11,75 +11,37 @@ case "$host" in
arm*) host=arm-slackware-linux-gnueabi ;;
esac
-# Deriving /etc/gtk-3.0/$host location
-#
-# We have had problems in the past with build systems
-# changing host from i386 to i686 and appending/dropping
-# the -gnu suffix, so try to match up the $host we got
-# with whats actually there.
-if [ ! -d /etc/gtk-3.0/$host ]; then
- case "$host" in
- i?86*)
- for d in $(ls -d /etc/gtk-3.0/i?86*); do
- host=$(basename $d)
- break
- done
- ;;
- esac
-fi
-
-FILE=/etc/gtk-3.0/$host/gtk.immodules
-
case "$host" in
s390x*|x86_64*)
if [ -x /usr/bin/gtk-query-immodules-3.0-64 ]; then
if [ "$1" = "--verbose" ]; then
echo "Updating gtk.immodules for ${host}:"
- echo " /usr/bin/gtk-query-immodules-3.0-64 \\"
- echo " > $FILE"
+ echo " /usr/bin/gtk-query-immodules-3.0-64 --update-cache"
fi
- /usr/bin/gtk-query-immodules-3.0-64 > $FILE
- # Check for x86_64 multilib:
- if ls -d /etc/gtk-3.0/i?86* 1> /dev/null 2> /dev/null ; then
- for d in $(ls -d /etc/gtk-3.0/i?86*); do
- mlhost=$(basename $d)
- break
- done
- if [ -r /etc/gtk-3.0/$mlhost/gtk.immodules -a \
- -x /usr/bin/gtk-query-immodules-3.0-32 ]; then
- FILE=/etc/gtk-3.0/$mlhost/gtk.immodules
- if [ "$1" = "--verbose" ]; then
- echo "Updating gtk.immodules for ${mlhost}:"
- echo " /usr/bin/gtk-query-immodules-3.0-32 \\"
- echo " > $FILE"
- fi
- /usr/bin/gtk-query-immodules-3.0-32 > $FILE
+ /usr/bin/gtk-query-immodules-3.0-64 --update-cache 2>/dev/null
+ # Check for multilib
+ if [ -x /usr/bin/gtk-query-immodules-3.0-32 ]; then
+ if [ "$1" = "--verbose" ]; then
+ echo "Updating 32bit gtk.immodules: "
+ echo " /usr/bin/gtk-query-immodules-3.0-32 --update-cache"
fi
+ /usr/bin/gtk-query-immodules-3.0-32 --update-cache 2>/dev/null
fi
- else
- if [ "$1" = "--verbose" ]; then
- echo "Updating gtk.immodules for ${host}:"
- echo " /usr/bin/gtk-query-immodules-3.0 \\"
- echo " > $FILE"
- fi
- /usr/bin/gtk-query-immodules-3.0 > $FILE
fi
;;
*)
if [ -x /usr/bin/gtk-query-immodules-3.0-32 ]; then
if [ "$1" = "--verbose" ]; then
echo "Updating gtk.immodules for ${host}:"
- echo " /usr/bin/gtk-query-immodules-3.0-32 \\"
- echo " > $FILE"
+ echo " /usr/bin/gtk-query-immodules-3.0-32 --update-cache"
fi
- /usr/bin/gtk-query-immodules-3.0-32 > $FILE
+ /usr/bin/gtk-query-immodules-3.0-32 --update-cache 2>/dev/null
else
if [ "$1" = "--verbose" ]; then
echo "Updating gtk.immodules for ${host}:"
- echo " /usr/bin/gtk-query-immodules-3.0 \\"
- echo " > $FILE"
+ echo " /usr/bin/gtk-query-immodules-3.0 --update-cache"
fi
- /usr/bin/gtk-query-immodules-3.0 > $FILE
+ /usr/bin/gtk-query-immodules-3.0 --update-cache 2>/dev/null
fi
;;
esac
diff --git a/source/l/gtk+3/use_host_triplet_for_gtk_immodules.diff b/source/l/gtk+3/use_host_triplet_for_gtk_immodules.diff
deleted file mode 100644
index 92a8a121..00000000
--- a/source/l/gtk+3/use_host_triplet_for_gtk_immodules.diff
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -Nur gtk+-3.0.12.orig//gtk/Makefile.am gtk+-3.0.12/gtk/Makefile.am
---- gtk+-3.0.12.orig//gtk/Makefile.am 2011-07-27 20:34:32.000000000 -0500
-+++ gtk+-3.0.12/gtk/Makefile.am 2011-08-03 20:35:55.780035282 -0500
-@@ -37,6 +37,7 @@
- -DGTK_LIBDIR=\"$(libdir)\" \
- -DGTK_DATADIR=\"$(datadir)\" \
- -DGTK_DATA_PREFIX=\"$(prefix)\" \
-+ -DHOST=\"$(host_triplet)\" \
- -DGTK_SYSCONFDIR=\"$(sysconfdir)\" \
- -DGTK_VERSION=\"$(GTK_VERSION)\" \
- -DGTK_BINARY_VERSION=\"$(GTK_BINARY_VERSION)\" \
diff --git a/source/l/gvfs/gvfs.SlackBuild b/source/l/gvfs/gvfs.SlackBuild
index 47bdfce0..c6eb8173 100755
--- a/source/l/gvfs/gvfs.SlackBuild
+++ b/source/l/gvfs/gvfs.SlackBuild
@@ -75,7 +75,7 @@ CFLAGS="$SLKCFLAGS" \
--docdir=/usr/doc/$PKGNAM-$VERSION \
--enable-gtk-doc \
--disable-hal \
- --build=$ARCH-$PKGNAM-linux || exit 1
+ --build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
diff --git a/source/l/harfbuzz/harfbuzz.SlackBuild b/source/l/harfbuzz/harfbuzz.SlackBuild
new file mode 100755
index 00000000..287acb80
--- /dev/null
+++ b/source/l/harfbuzz/harfbuzz.SlackBuild
@@ -0,0 +1,105 @@
+#!/bin/sh
+
+# Copyright 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=harfbuzz
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING INSTALL NEWS README THANKS TODO \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/harfbuzz/slack-desc b/source/l/harfbuzz/slack-desc
new file mode 100644
index 00000000..e3491543
--- /dev/null
+++ b/source/l/harfbuzz/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+harfbuzz: harfbuzz (OpenType text shaping engine)
+harfbuzz:
+harfbuzz: HarfBuzz is an OpenType text shaping engine.
+harfbuzz:
+harfbuzz: http://www.freedesktop.org/wiki/Software/HarfBuzz
+harfbuzz:
+harfbuzz:
+harfbuzz:
+harfbuzz:
+harfbuzz:
+harfbuzz:
diff --git a/source/l/icu4c/icu4c.SlackBuild b/source/l/icu4c/icu4c.SlackBuild
index 215e9510..1465a286 100755
--- a/source/l/icu4c/icu4c.SlackBuild
+++ b/source/l/icu4c/icu4c.SlackBuild
@@ -2,8 +2,8 @@
# Slackware build script for icu4c
-# Copyright 2007-2012 Heinz Wiesinger, Amsterdam, The Netherlands
-# Copyright 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2007-2013 Heinz Wiesinger, Amsterdam, The Netherlands
+# Copyright 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -82,6 +82,7 @@ cd source/
--disable-static \
--sysconfdir=/etc \
--localstatedir=/var \
+ --disable-samples \
--build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
@@ -95,7 +96,7 @@ find $PKG/usr/man -type f -exec gzip -9 {} \;
mkdir -p $PKG/usr/doc/icu4c-$VERSION
cp -a \
- license.html readme.html unicode-license.txt $PKG/usr/doc/icu4c-$VERSION
+ license.html readme.html $PKG/usr/doc/icu4c-$VERSION
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
diff --git a/source/l/ilmbase/ilmbase.SlackBuild b/source/l/ilmbase/ilmbase.SlackBuild
index 9f2705d9..a0f3b67d 100755
--- a/source/l/ilmbase/ilmbase.SlackBuild
+++ b/source/l/ilmbase/ilmbase.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2007 Heinz Wiesinger <hmwiesinger@gmx.at>
+# Copyright 2007, 2013 Heinz Wiesinger, Amsterdam, The Netherlands
# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
@@ -65,7 +65,12 @@ rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
cd $PKGNAM-$VERSION || exit 1
-zcat $CWD/ilmbase.gcc4.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/ilmbase.no_undefined.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/ilmbase.secondary.diff.gz | patch -p1 --verbose || exit 1
+if [ $ARCH = i486 ]; then
+ # Upstream patch to fix ia32 build:
+ zcat $CWD/ilmbase.ucontext.diff.gz | patch -p1 --verbose || exit 1
+fi
chown -R root:root .
find . \
diff --git a/source/l/ilmbase/ilmbase.gcc4.diff b/source/l/ilmbase/ilmbase.gcc4.diff
deleted file mode 100644
index 31137a12..00000000
--- a/source/l/ilmbase/ilmbase.gcc4.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- ./Imath/ImathMatrix.h.orig 2010-07-16 17:48:40.000000000 -0500
-+++ ./Imath/ImathMatrix.h 2010-08-09 14:12:07.000000000 -0500
-@@ -49,6 +49,7 @@
- #include "ImathVec.h"
- #include "ImathShear.h"
-
-+#include <cstring>
- #include <iostream>
- #include <iomanip>
-
diff --git a/source/l/ilmbase/ilmbase.info b/source/l/ilmbase/ilmbase.info
deleted file mode 100644
index d31e3da4..00000000
--- a/source/l/ilmbase/ilmbase.info
+++ /dev/null
@@ -1,3 +0,0 @@
-HOMEPAGE="http://www.openexr.org/"
-DOWNLOAD="http://download.savannah.nongnu.org/releases/openexr/ilmbase-1.0.1.tar.gz"
-MD5SUM="f76f094e69a6079b0beb93d97e2a217e"
diff --git a/source/l/ilmbase/ilmbase.no_undefined.diff b/source/l/ilmbase/ilmbase.no_undefined.diff
new file mode 100644
index 00000000..da46ddbe
--- /dev/null
+++ b/source/l/ilmbase/ilmbase.no_undefined.diff
@@ -0,0 +1,31 @@
+diff -up ilmbase-1.0.2/IlmThread/Makefile.am.pthread_hack ilmbase-1.0.2/IlmThread/Makefile.am
+--- ilmbase-1.0.2/IlmThread/Makefile.am.pthread_hack 2006-12-08 16:23:08.000000000 -0600
++++ ilmbase-1.0.2/IlmThread/Makefile.am 2010-12-08 09:25:35.753537799 -0600
+@@ -11,7 +11,7 @@ libIlmThread_la_SOURCES = IlmThreadPool.
+ IlmThreadMutexPosix.cpp
+
+ libIlmThread_la_LDFLAGS = -version-info @LIBTOOL_VERSION@ -no-undefined
+-libIlmThread_la_LIBADD = ../Iex/libIex.la
++libIlmThread_la_LIBADD = ../Iex/libIex.la $(PTHREAD_LIBS)
+
+ libIlmThreadincludedir = $(includedir)/OpenEXR
+
+@@ -23,4 +23,4 @@ noinst_HEADERS =
+ EXTRA_DIST = $(noinst_HEADERS) IlmThreadMutexWin32.cpp IlmThreadSemaphoreWin32.cpp \
+ IlmThreadWin32.cpp
+
+-INCLUDES = -I$(top_builddir) -I$(top_srcdir)/Iex -I$(top_srcdir)/config
+\ No newline at end of file
++INCLUDES = -I$(top_builddir) -I$(top_srcdir)/Iex -I$(top_srcdir)/config
+diff -up ilmbase-1.0.2/IlmThread/Makefile.in.pthread_hack ilmbase-1.0.2/IlmThread/Makefile.in
+--- ilmbase-1.0.2/IlmThread/Makefile.in.pthread_hack 2010-07-22 20:13:12.000000000 -0500
++++ ilmbase-1.0.2/IlmThread/Makefile.in 2010-12-08 09:26:10.136971078 -0600
+@@ -208,7 +208,7 @@ libIlmThread_la_SOURCES = IlmThreadPool.
+ IlmThreadMutexPosix.cpp
+
+ libIlmThread_la_LDFLAGS = -version-info @LIBTOOL_VERSION@ -no-undefined
+-libIlmThread_la_LIBADD = ../Iex/libIex.la
++libIlmThread_la_LIBADD = ../Iex/libIex.la $(PTHREAD_LIBS)
+ libIlmThreadincludedir = $(includedir)/OpenEXR
+ libIlmThreadinclude_HEADERS = IlmThreadPool.h IlmThread.h \
+ IlmThreadSemaphore.h IlmThreadMutex.h
diff --git a/source/l/ilmbase/ilmbase.secondary.diff b/source/l/ilmbase/ilmbase.secondary.diff
new file mode 100644
index 00000000..d358fbb4
--- /dev/null
+++ b/source/l/ilmbase/ilmbase.secondary.diff
@@ -0,0 +1,12 @@
+diff -up ilmbase-1.0.3/IexMath/IexMathFpu.cpp.secondary ilmbase-1.0.3/IexMath/IexMathFpu.cpp
+--- ilmbase-1.0.3/IexMath/IexMathFpu.cpp.secondary 2012-09-04 10:26:55.000000000 +0200
++++ ilmbase-1.0.3/IexMath/IexMathFpu.cpp 2012-09-04 10:27:20.000000000 +0200
+@@ -27,7 +27,7 @@
+ #endif
+
+
+-#ifdef HAVE_UCONTEXT_H
++#if defined(HAVE_UCONTEXT_H) && (defined(__x86_64__) || defined(__i386__))
+
+
+ #include <ucontext.h>
diff --git a/source/l/ilmbase/ilmbase.ucontext.diff b/source/l/ilmbase/ilmbase.ucontext.diff
new file mode 100644
index 00000000..2a57508f
--- /dev/null
+++ b/source/l/ilmbase/ilmbase.ucontext.diff
@@ -0,0 +1,28 @@
+diff -up ilmbase-1.0.3/IexMath/IexMathFpu.cpp.ucontext ilmbase-1.0.3/IexMath/IexMathFpu.cpp
+--- ilmbase-1.0.3/IexMath/IexMathFpu.cpp.ucontext 2012-07-26 20:51:55.000000000 +0200
++++ ilmbase-1.0.3/IexMath/IexMathFpu.cpp 2012-08-02 23:33:14.815036891 +0200
+@@ -228,6 +228,7 @@ clearExceptions ()
+ const uint16_t cwRestoreMask = ~((3 << 10) | (3 << 8));
+ const uint16_t cwRestoreVal = (0 << 10) | (3 << 8);
+
++#if 0
+ inline void
+ restoreControlRegs (const ucontext_t & ucon, bool clearExceptions)
+ {
+@@ -235,7 +236,7 @@ restoreControlRegs (const ucontext_t & u
+ setMxcsr (ucon.uc_mcontext.fpregs->mxcsr, clearExceptions);
+ }
+
+-#if 0
++#endif
+
+ //
+ // Ugly, the mxcsr isn't defined in GNU libc ucontext_t, but
+@@ -255,7 +256,6 @@ restoreControlRegs (const ucontext_t & u
+ setMxcsr (kfp->magic == 0 ? kfp->mxcsr : 0, clearExceptions);
+ }
+
+-#endif
+
+ } // namespace FpuControl
+
diff --git a/source/l/iso-codes/iso-codes.SlackBuild b/source/l/iso-codes/iso-codes.SlackBuild
index d2a6e714..e6100a35 100755
--- a/source/l/iso-codes/iso-codes.SlackBuild
+++ b/source/l/iso-codes/iso-codes.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008 Heinz Wiesinger <pprkut@liwjatan.at>
+# Copyright 2008, 2013 Heinz Wiesinger, Amsterdam, The Netherlands
# Copyright 2008, 2009, 2011 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
@@ -23,20 +23,20 @@
PKGNAM=iso-codes
-VERSION=3.24.2
+VERSION=3.41
ARCH=${ARCH:-noarch}
BUILD=${BUILD:-1}
CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PKGNAM
-NUMJOBS=${NUMJOBS:--j6}
+NUMJOBS=${NUMJOBS:-" -j7 "}
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.bz2 || exit 1
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
cd $PKGNAM-$VERSION || exit 1
chown -R root:root .
find . \
diff --git a/source/l/iso-codes/iso-codes.info b/source/l/iso-codes/iso-codes.info
deleted file mode 100644
index e17632c7..00000000
--- a/source/l/iso-codes/iso-codes.info
+++ /dev/null
@@ -1,5 +0,0 @@
-PRGNAM="iso-codes"
-VERSION="3.3"
-HOMEPAGE="http://pkg-isocodes.alioth.debian.org/"
-DOWNLOAD="ftp://pkg-isocodes.alioth.debian.org/pub/pkg-isocodes/iso-codes-3.3.tar.bz2"
-MD5SUM="2fb4f5400f28923d679d7b98fd7f3ab8"
diff --git a/source/l/lcms2/lcms2.SlackBuild b/source/l/lcms2/lcms2.SlackBuild
index e695b74b..0ca49b4e 100755
--- a/source/l/lcms2/lcms2.SlackBuild
+++ b/source/l/lcms2/lcms2.SlackBuild
@@ -24,7 +24,7 @@
PKGNAM=lcms2
-VERSION=${VERSION:-2.3}
+VERSION=${VERSION:-2.4}
BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j7 "}
diff --git a/source/l/libarchive/slack-desc b/source/l/libarchive/slack-desc
index 54598373..b08c61b2 100644
--- a/source/l/libarchive/slack-desc
+++ b/source/l/libarchive/slack-desc
@@ -13,7 +13,7 @@ libarchive: several different streaming archive formats, including most
libarchive: popular TAR variants and several CPIO formats. It can also
libarchive: write SHAR archives.
libarchive:
-libarchive: Homepage: http://libarchive.googlecode.com
+libarchive: Homepage: http://libarchive.org
libarchive:
libarchive:
libarchive:
diff --git a/source/l/libcroco/libcroco.SlackBuild b/source/l/libcroco/libcroco.SlackBuild
index 4eed5c61..69309787 100755
--- a/source/l/libcroco/libcroco.SlackBuild
+++ b/source/l/libcroco/libcroco.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for libcroco
-# Copyright 2012 Robby Workman, Northport, Alabama, USA
+# Copyright 2012,2013 Robby Workman, Northport, Alabama, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PKGNAM=libcroco
-VERSION=${VERSION:-0.6.5}
+VERSION=${VERSION:-0.6.8}
BUILD=${BUILD:-1}
if [ -z "$ARCH" ]; then
diff --git a/source/l/libevent/libevent.SlackBuild b/source/l/libevent/libevent.SlackBuild
new file mode 100755
index 00000000..8cd699df
--- /dev/null
+++ b/source/l/libevent/libevent.SlackBuild
@@ -0,0 +1,154 @@
+#!/bin/sh
+
+# Copyright 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=libevent
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | cut -f 2 -d -)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-${VERSION}-stable
+tar xvf $CWD/$PKGNAM-${VERSION}-stable.tar.xz || exit 1
+cd $PKGNAM-${VERSION}-stable || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Configure:
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux
+
+# Build and install:
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ LICENSE README* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# Compress and if needed symlink the man pages:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+# Compress info files, if any:
+if [ -d $PKG/usr/info ]; then
+ ( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+ )
+fi
+
+# PKGNAM version:
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/l/libevent/slack-desc b/source/l/libevent/slack-desc
new file mode 100644
index 00000000..78604b84
--- /dev/null
+++ b/source/l/libevent/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libevent: libevent (event loop library)
+libevent:
+libevent: libevent is meant to replace the event loop found in event driven
+libevent: network servers. An application just needs to call event_dispatch()
+libevent: and then add or remove events dynamically without having to change the
+libevent: event loop. The libevent API provides a mechanism to execute a
+libevent: callback function when a specific event occurs on a file descriptor or
+libevent: after a timeout has been reached.
+libevent:
+libevent: Homepage: http://libevent.org
+libevent:
diff --git a/source/l/libffi/libffi.SlackBuild b/source/l/libffi/libffi.SlackBuild
index c1a2e848..1eb06bf4 100755
--- a/source/l/libffi/libffi.SlackBuild
+++ b/source/l/libffi/libffi.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for libffi
# Copyright 2011,2012 Robby Workman, Northport, Alabama, USA
-# Copyright 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
PKGNAM=libffi
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -62,6 +62,9 @@ cd $TMP
rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
cd $PKGNAM-$VERSION
+
+zcat $CWD/libffi.includedir.diff.gz | patch -p1 --verbose || exit 1
+
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/l/libffi/libffi.includedir.diff b/source/l/libffi/libffi.includedir.diff
new file mode 100644
index 00000000..966e16d4
--- /dev/null
+++ b/source/l/libffi/libffi.includedir.diff
@@ -0,0 +1,36 @@
+--- libffi-3.0.11~rc1.orig/libffi.pc.in
++++ libffi-3.0.11~rc1/libffi.pc.in
+@@ -1,10 +1,10 @@
+ prefix=@prefix@
+ exec_prefix=@exec_prefix@
+ libdir=@libdir@
+-includedir=${libdir}/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
++includedir=@includedir@
+
+ Name: @PACKAGE_NAME@
+ Description: Library supporting Foreign Function Interfaces
+ Version: @PACKAGE_VERSION@
+-Libs: -L${libdir} -lffi
+-Cflags: -I${includedir}
++Libs: -lffi
++Cflags:
+--- libffi-3.0.11~rc1.orig/include/Makefile.am
++++ libffi-3.0.11~rc1/include/Makefile.am
+@@ -5,5 +5,5 @@ AUTOMAKE_OPTIONS=foreign
+ DISTCLEANFILES=ffitarget.h
+ EXTRA_DIST=ffi.h.in ffi_common.h
+
+-includesdir = $(libdir)/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
++includesdir = $(includedir)
+ nodist_includes_HEADERS = ffi.h ffitarget.h
+--- libffi-3.0.11~rc1.orig/include/Makefile.in
++++ libffi-3.0.11~rc1/include/Makefile.in
+@@ -211,7 +211,7 @@ top_srcdir = @top_srcdir@
+ AUTOMAKE_OPTIONS = foreign
+ DISTCLEANFILES = ffitarget.h
+ EXTRA_DIST = ffi.h.in ffi_common.h
+-includesdir = $(libdir)/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
++includesdir = $(includedir)
+ nodist_includes_HEADERS = ffi.h ffitarget.h
+ all: all-am
+
diff --git a/source/l/libgphoto2/libgphoto2.SlackBuild b/source/l/libgphoto2/libgphoto2.SlackBuild
index 989653a4..f4b823c2 100755
--- a/source/l/libgphoto2/libgphoto2.SlackBuild
+++ b/source/l/libgphoto2/libgphoto2.SlackBuild
@@ -24,7 +24,7 @@
PKGNAM=libgphoto2
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/l/libgsf/libgsf.SlackBuild b/source/l/libgsf/libgsf.SlackBuild
index 7d955ec4..fd96d36f 100755
--- a/source/l/libgsf/libgsf.SlackBuild
+++ b/source/l/libgsf/libgsf.SlackBuild
@@ -23,7 +23,7 @@
PKGNAM=libgsf
VERSION=${VERSION:-$(echo libgsf-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -77,8 +77,6 @@ CFLAGS="$SLKCFLAGS" \
--with-html-dir=/usr/share/gtk-doc/html \
--mandir=/usr/man \
--disable-static \
- --without-gnome-vfs \
- --without-bonobo \
--build=$ARCH-slackware-linux
make $NUMJOBS || make || exit 1
diff --git a/source/l/libical/README b/source/l/libical/README
deleted file mode 100644
index 6075373a..00000000
--- a/source/l/libical/README
+++ /dev/null
@@ -1,9 +0,0 @@
-libical is an Open Source (MPL/LGPL) implementation of the IETF's
-iCalendar Calendaring and Scheduling protocols. (RFC 2445, 2446, and
-2447). It parses iCal components and provides C/C++/Python/Java APIs
-for manipulating the component properties, parameters, and
-subcomponents.
-
-By default c++ and python bindings are enabled. Java bindings can be
-enabled by passing JAVA=yes to the script but require the jdk from
-/extra to be installed. \ No newline at end of file
diff --git a/source/l/libical/libical.SlackBuild b/source/l/libical/libical.SlackBuild
index d94b6dc6..6b4fce6e 100755
--- a/source/l/libical/libical.SlackBuild
+++ b/source/l/libical/libical.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Copyright 2008 Heinz Wiesinger <pprkut@liwjatan.at>
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -77,22 +77,25 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --disable-static \
- --enable-cxx \
- --enable-python \
- --${do_java}able-java \
- --build=$ARCH-slackware-linux \
- --host=$ARCH-slackware-linux
-
+mkdir build
+cd build
+cmake \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DSTATIC_LIBRARY=false \
+ -DGOBJECT_INTROSPECTION=true \
+ ..
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
+cd ..
+
+# We don't want to package the static libraries.
+# Too bad there's no option for that...
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/{libical.a,libicalss.a,libicalvcal.a}
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a \
diff --git a/source/l/libmtp/libmtp.SlackBuild b/source/l/libmtp/libmtp.SlackBuild
index f7b90a3f..4783b676 100755
--- a/source/l/libmtp/libmtp.SlackBuild
+++ b/source/l/libmtp/libmtp.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2007, 2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2010, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
PKGNAM=libmtp
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/l/libnl/libnl-include_limits.h.patch b/source/l/libnl/libnl-include_limits.h.patch
deleted file mode 100644
index b2171551..00000000
--- a/source/l/libnl/libnl-include_limits.h.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -Nur libnl-1.1.orig/include/netlink-local.h libnl-1.1/include/netlink-local.h
---- libnl-1.1.orig/include/netlink-local.h 2008-01-14 09:48:45.000000000 -0600
-+++ libnl-1.1/include/netlink-local.h 2009-02-22 18:08:38.242219028 -0600
-@@ -26,6 +26,7 @@
- #include <sys/socket.h>
- #include <inttypes.h>
- #include <assert.h>
-+#include <limits.h>
-
- #include <arpa/inet.h>
- #include <netdb.h>
diff --git a/source/l/libnl/libnl.SlackBuild b/source/l/libnl/libnl.SlackBuild
index a71ef471..6c78eb2c 100755
--- a/source/l/libnl/libnl.SlackBuild
+++ b/source/l/libnl/libnl.SlackBuild
@@ -60,7 +60,7 @@ fi
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
-rm -rf $PKGNAM-$SRC_VERSION
+rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
cd $PKGNAM-$VERSION || exit 1
chown -R root:root .
@@ -70,8 +70,6 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-zcat $CWD/libnl-include_limits.h.patch.gz | patch -p1 || exit 1
-
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
diff --git a/source/l/libnl3/libnl3.SlackBuild b/source/l/libnl3/libnl3.SlackBuild
index 3ac310f8..e8c7ddf6 100755
--- a/source/l/libnl3/libnl3.SlackBuild
+++ b/source/l/libnl3/libnl3.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for libnl3
-# Copyright 2012 Robby Workman, Northport, Alabama, USA
+# Copyright 2012, 2013 Robby Workman, Northport, Alabama, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/source/l/libpcap/slack-desc b/source/l/libpcap/slack-desc
index 3b304097..63fb9876 100644
--- a/source/l/libpcap/slack-desc
+++ b/source/l/libpcap/slack-desc
@@ -13,7 +13,7 @@ libpcap: a portable framework for low-level network monitoring. Applications
libpcap: include network statistics collection, security monitoring, network
libpcap: debugging, etc. The tcpdump utility uses libpcap.
libpcap:
-libpcap: Project homepage: http://sourceforge.net/projects/libpcap/
+libpcap: Project homepage: http://www.tcpdump.org
libpcap:
libpcap:
libpcap:
diff --git a/source/l/libproxy/gcc47-include-unistd.h.diff b/source/l/libproxy/gcc47-include-unistd.h.diff
deleted file mode 100644
index fc08aeea..00000000
--- a/source/l/libproxy/gcc47-include-unistd.h.diff
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -Nur libproxy-0.4.7.orig/libproxy/modules/config_sysconfig.cpp libproxy-0.4.7/libproxy/modules/config_sysconfig.cpp
---- libproxy-0.4.7.orig/libproxy/modules/config_sysconfig.cpp 2011-06-06 16:44:37.220019451 -0500
-+++ libproxy-0.4.7/libproxy/modules/config_sysconfig.cpp 2012-04-15 23:35:45.752467960 -0500
-@@ -18,6 +18,7 @@
- ******************************************************************************/
-
- #include <sys/stat.h>
-+#include <unistd.h>
- #include <cstdlib>
- #include <map>
- #include <fstream>
-diff -Nur libproxy-0.4.7.orig/libproxy/url.cpp libproxy-0.4.7/libproxy/url.cpp
---- libproxy-0.4.7.orig/libproxy/url.cpp 2011-06-06 16:44:37.216019447 -0500
-+++ libproxy-0.4.7/libproxy/url.cpp 2012-04-15 23:35:05.654783125 -0500
-@@ -27,6 +27,7 @@
- #define close _close
- #endif
- #include <fcntl.h> // For ::open()
-+#include <unistd.h> //For close(), read()
- #include <cstring> // For memcpy()
- #include <sstream> // For int/string conversion (using stringstream)
- #include <cstdio> // For sscanf()
diff --git a/source/l/libproxy/libproxy.SlackBuild b/source/l/libproxy/libproxy.SlackBuild
index fecbceb8..0c2a18cc 100755
--- a/source/l/libproxy/libproxy.SlackBuild
+++ b/source/l/libproxy/libproxy.SlackBuild
@@ -1,8 +1,7 @@
#!/bin/sh
-# Slackware build script for libproxy
-
-# Copyright 2009,2010,2011 Robby Workman Northport, AL, USA
+# Copyright 2009, 2010, 2011 Robby Workman Northport, AL, USA
+# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,8 +22,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PKGNAM=libproxy
-VERSION=${VERSION:-0.4.7}
-BUILD=${BUILD:-1}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-2}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -67,13 +66,6 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-# 0.4.7 won't build against seamonkey's nss stuff, and the first commit in
-# svn after that release disables its use in favor of nspr and js185
-zcat $CWD/only_link_mozjs185.diff.gz | patch -p0 --verbose || exit 1
-
-# Include unistd.h for gcc-4.7.x:
-zcat $CWD/gcc47-include-unistd.h.diff.gz | patch -p1 --verbose || exit 1
-
cmake . \
-DCMAKE_C_FLAGS="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS="$SLKCFLAGS" \
diff --git a/source/l/libproxy/only_link_mozjs185.diff b/source/l/libproxy/only_link_mozjs185.diff
deleted file mode 100644
index 84016ac8..00000000
--- a/source/l/libproxy/only_link_mozjs185.diff
+++ /dev/null
@@ -1,46 +0,0 @@
-Index: libproxy/cmake/modules/pacrunner_mozjs.cmk
-===================================================================
---- libproxy/cmake/modules/pacrunner_mozjs.cmk (revision 814)
-+++ libproxy/cmake/modules/pacrunner_mozjs.cmk (revision 815)
-@@ -7,19 +7,15 @@
- include_directories("${MOZJS_INCLUDE_DIR}")
- endif()
- elseif(NOT APPLE)
-- set(MOZJS_SEARCH_ORDER "mozilla-js;xulrunner-js;firefox-js;seamonkey-js" CACHE STRING "MozJS search order")
- option(WITH_MOZJS "Search for MOZJS package" ON)
- if (WITH_MOZJS)
-- foreach(MOZJSLIB ${MOZJS_SEARCH_ORDER})
-- pkg_search_module(MOZJS ${MOZJSLIB}>=2.0b12)
-- if(MOZJS_FOUND)
-- include_directories(${MOZJS_INCLUDE_DIRS})
-- link_directories(${MOZJS_LIBRARY_DIRS})
-- break()
-- else()
-- set(MOZJS_FOUND 0)
-- endif()
-- endforeach()
-+ pkg_search_module(MOZJS mozjs185>=1.8.5)
-+ if(MOZJS_FOUND)
-+ include_directories(${MOZJS_INCLUDE_DIRS})
-+ link_directories(${MOZJS_LIBRARY_DIRS})
-+ else()
-+ set(MOZJS_FOUND 0)
-+ endif()
- else()
- set(MOZJS_FOUND 0)
- endif()
-Index: NEWS
-===================================================================
---- NEWS (revision 814)
-+++ NEWS (revision 815)
-@@ -1,3 +1,10 @@
-+New in version 0.4.8 (not yet released)
-+==============================
-+* Only support standalone mozjs185 as mozilla js engine.
-+ xulrunner being part of the now lightning fast moving firefox
-+ is impossible to be tracked as a dependency and it is not
-+ supported by Mozilla to be used in this scenario.
-+
- New in version 0.4.7
- ==============================
- * Support/require xulrunner 2.0+
diff --git a/source/l/libsamplerate/libsamplerate.SlackBuild b/source/l/libsamplerate/libsamplerate.SlackBuild
index 5096157a..2c05e694 100755
--- a/source/l/libsamplerate/libsamplerate.SlackBuild
+++ b/source/l/libsamplerate/libsamplerate.SlackBuild
@@ -5,8 +5,8 @@
# Modified by Robby Workman <rworkman@slackbuilds.org>
PKGNAM=libsamplerate
-VERSION=0.1.7
-BUILD=${BUILD:-2}
+VERSION=0.1.8
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/l/libsecret/libsecret.SlackBuild b/source/l/libsecret/libsecret.SlackBuild
new file mode 100755
index 00000000..d4ec6d66
--- /dev/null
+++ b/source/l/libsecret/libsecret.SlackBuild
@@ -0,0 +1,109 @@
+#!/bin/sh
+
+# Slackware build script for libsecret
+
+# Copyright 2012 Robby Workman, Northport, Alabama, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=libsecret
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING* INSTALL NEWS README* \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/libsecret/slack-desc b/source/l/libsecret/slack-desc
new file mode 100644
index 00000000..c18a911e
--- /dev/null
+++ b/source/l/libsecret/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libsecret: libsecret (library to access the Secret Service API)
+libsecret:
+libsecret: libsecret is a GObject based library for accessing the
+libsecret: Secret Service API.
+libsecret:
+libsecret:
+libsecret:
+libsecret:
+libsecret:
+libsecret:
+libsecret:
diff --git a/source/l/libsoup/libsoup.SlackBuild b/source/l/libsoup/libsoup.SlackBuild
index 48588368..8c7c7cad 100755
--- a/source/l/libsoup/libsoup.SlackBuild
+++ b/source/l/libsoup/libsoup.SlackBuild
@@ -24,7 +24,7 @@
PKGNAM=libsoup
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
diff --git a/source/l/libssh/libssh.SlackBuild b/source/l/libssh/libssh.SlackBuild
index cc60f00a..38a73272 100755
--- a/source/l/libssh/libssh.SlackBuild
+++ b/source/l/libssh/libssh.SlackBuild
@@ -23,7 +23,7 @@
PKGNAM=libssh
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -65,9 +65,12 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf ${PKGNAM}-${VERSION}
-tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1
+tar xvf $CWD/${PKGNAM}-$VERSION.tar.xz || exit 1
cd ${PKGNAM}-$VERSION || exit 1
+# These fail to build and are not packaged anyway:
+zcat $CWD/libssh.no.example.build.diff.gz | patch -p1 --verbose || exit 1
+
# Make sure ownerships and permissions are sane:
chown -R root:root .
find . \
diff --git a/source/l/libssh/libssh.no.example.build.diff b/source/l/libssh/libssh.no.example.build.diff
new file mode 100644
index 00000000..e7f50251
--- /dev/null
+++ b/source/l/libssh/libssh.no.example.build.diff
@@ -0,0 +1,11 @@
+--- ./CMakeLists.txt.orig 2013-01-22 04:51:59.000000000 -0600
++++ ./CMakeLists.txt 2013-03-28 18:56:18.490047174 -0500
+@@ -89,8 +89,6 @@
+ pkgconfig
+ )
+
+-add_subdirectory(examples)
+-
+ if (WITH_TESTING)
+ find_package(CMockery REQUIRED)
+ include(AddCMockeryTest)
diff --git a/source/l/libtiff/libtiff-CVE-2012-1173.patch b/source/l/libtiff/libtiff-CVE-2012-1173.patch
deleted file mode 100644
index 0ada700b..00000000
--- a/source/l/libtiff/libtiff-CVE-2012-1173.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-This patch is submitted to upstream for CVE-2012-1173
-
-
-diff -Naur tiff-3.9.5.orig/libtiff/tif_getimage.c tiff-3.9.5/libtiff/tif_getimage.c
---- tiff-3.9.5.orig/libtiff/tif_getimage.c 2010-07-08 12:17:59.000000000 -0400
-+++ tiff-3.9.5/libtiff/tif_getimage.c 2012-03-14 14:49:25.796728783 -0400
-@@ -673,18 +673,24 @@
- unsigned char* p2;
- unsigned char* pa;
- tsize_t tilesize;
-+ tsize_t bufsize;
- int32 fromskew, toskew;
- int alpha = img->alpha;
- uint32 nrow;
- int ret = 1, flip;
-
- tilesize = TIFFTileSize(tif);
-- buf = (unsigned char*) _TIFFmalloc((alpha?4:3)*tilesize);
-+ bufsize = TIFFSafeMultiply(tsize_t,alpha?4:3,tilesize);
-+ if (bufsize == 0) {
-+ TIFFErrorExt(tif->tif_clientdata, TIFFFileName(tif), "Integer overflow in %s", "gtTileSeparate");
-+ return (0);
-+ }
-+ buf = (unsigned char*) _TIFFmalloc(bufsize);
- if (buf == 0) {
- TIFFErrorExt(tif->tif_clientdata, TIFFFileName(tif), "No space for tile buffer");
- return (0);
- }
-- _TIFFmemset(buf, 0, (alpha?4:3)*tilesize);
-+ _TIFFmemset(buf, 0, bufsize);
- p0 = buf;
- p1 = p0 + tilesize;
- p2 = p1 + tilesize;
-@@ -880,17 +886,23 @@
- uint32 rowsperstrip, offset_row;
- uint32 imagewidth = img->width;
- tsize_t stripsize;
-+ tsize_t bufsize;
- int32 fromskew, toskew;
- int alpha = img->alpha;
- int ret = 1, flip;
-
- stripsize = TIFFStripSize(tif);
-- p0 = buf = (unsigned char *)_TIFFmalloc((alpha?4:3)*stripsize);
-+ bufsize = TIFFSafeMultiply(tsize_t,alpha?4:3,stripsize);
-+ if (bufsize == 0) {
-+ TIFFErrorExt(tif->tif_clientdata, TIFFFileName(tif), "Integer overflow in %s", "gtStripSeparate");
-+ return (0);
-+ }
-+ p0 = buf = (unsigned char *)_TIFFmalloc(bufsize);
- if (buf == 0) {
- TIFFErrorExt(tif->tif_clientdata, TIFFFileName(tif), "No space for tile buffer");
- return (0);
- }
-- _TIFFmemset(buf, 0, (alpha?4:3)*stripsize);
-+ _TIFFmemset(buf, 0, bufsize);
- p1 = p0 + stripsize;
- p2 = p1 + stripsize;
- pa = (alpha?(p2+stripsize):NULL);
-diff -Naur tiff-3.9.5.orig/libtiff/tiffiop.h tiff-3.9.5/libtiff/tiffiop.h
---- tiff-3.9.5.orig/libtiff/tiffiop.h 2011-03-28 09:43:43.000000000 -0400
-+++ tiff-3.9.5/libtiff/tiffiop.h 2012-03-14 14:49:25.797728754 -0400
-@@ -246,7 +246,7 @@
- #define TIFFroundup(x, y) (TIFFhowmany(x,y)*(y))
-
- /* Safe multiply which returns zero if there is an integer overflow */
--#define TIFFSafeMultiply(t,v,m) ((((t)m != (t)0) && (((t)((v*m)/m)) == (t)v)) ? (t)(v*m) : (t)0)
-+#define TIFFSafeMultiply(t,v,m) ((((t)(m) != (t)0) && (((t)(((v)*(m))/(m))) == (t)(v))) ? (t)((v)*(m)) : (t)0)
-
- #define TIFFmax(A,B) ((A)>(B)?(A):(B))
- #define TIFFmin(A,B) ((A)<(B)?(A):(B))
diff --git a/source/l/libtiff/libtiff.SlackBuild b/source/l/libtiff/libtiff.SlackBuild
index 91ec64fa..7cdd7b71 100755
--- a/source/l/libtiff/libtiff.SlackBuild
+++ b/source/l/libtiff/libtiff.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005-2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2005-2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -63,7 +63,10 @@ rm -rf tiff-$VERSION
tar xvf $CWD/tiff-$VERSION.tar.?z* || exit 1
cd tiff-$VERSION
-zcat $CWD/libtiff-CVE-2012-1173.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/tiff-3.9.7_CVE-2012-4447_CVE-2012-4564_CVE-2013-1960_CVE-2013-1961.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/tiff-3.9.7_CVE-2013-4231.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/tiff-3.9.7_CVE-2013-4232.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/tiff-3.9.7_CVE-2013-4244.diff.gz | patch -p1 --verbose || exit 1
chown -R root:root .
find . \
diff --git a/source/l/libtiff/tiff-3.9.7_CVE-2012-4447_CVE-2012-4564_CVE-2013-1960_CVE-2013-1961.diff b/source/l/libtiff/tiff-3.9.7_CVE-2012-4447_CVE-2012-4564_CVE-2013-1960_CVE-2013-1961.diff
new file mode 100644
index 00000000..2ee6847c
--- /dev/null
+++ b/source/l/libtiff/tiff-3.9.7_CVE-2012-4447_CVE-2012-4564_CVE-2013-1960_CVE-2013-1961.diff
@@ -0,0 +1,3813 @@
+From 304327d825c7ba6a9f560d0ca792304f0b03e3b3 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Sun, 11 Aug 2013
+Subject: Multiple CVEs addressed and bugs fixed.
+
+Mega-patch against libtiff-3.9.7 constructed from upstream commits
+that syncs it to the last CVS revision (5/2/2013). It fixes:
+
+ a. CVE-2012-4447
+ b. CVE-2012-4564
+ c. CVE-2013-1960
+ d. CVE-2013-1961
+ e. auto-rotate option bug
+ f. TIFFPrintDirectory bug
+---
+ ChangeLog | 781 ++++++++++++++++++++++--------------------
+ Makefile.in | 2
+ aclocal.m4 | 6
+ build/Makefile.in | 2
+ contrib/Makefile.in | 2
+ contrib/acorn/Makefile.in | 2
+ contrib/addtiffo/Makefile.in | 2
+ contrib/dbs/Makefile.in | 2
+ contrib/dbs/xtiff/Makefile.in | 2
+ contrib/dbs/xtiff/xtiff.c | 6
+ contrib/iptcutil/Makefile.in | 2
+ contrib/mac-cw/Makefile.in | 2
+ contrib/mac-mpw/Makefile.in | 2
+ contrib/mfs/Makefile.in | 2
+ contrib/pds/Makefile.in | 2
+ contrib/ras/Makefile.in | 2
+ contrib/stream/Makefile.in | 2
+ contrib/tags/Makefile.in | 2
+ contrib/win_dib/Makefile.in | 2
+ html/Makefile.in | 2
+ html/images/Makefile.in | 2
+ html/man/Makefile.in | 2
+ libtiff/Makefile.in | 2
+ libtiff/tif_codec.c | 5
+ libtiff/tif_dirinfo.c | 4
+ libtiff/tif_pixarlog.c | 94 ++---
+ libtiff/tif_print.c | 15
+ man/Makefile.in | 2
+ port/Makefile.in | 2
+ test/Makefile.in | 2
+ tools/Makefile.in | 2
+ tools/ppm2tiff.c | 39 +-
+ tools/rgb2ycbcr.c | 5
+ tools/tiff2bw.c | 4
+ tools/tiff2pdf.c | 313 ++++++++--------
+ tools/tiff2ps.c | 20 -
+ tools/tiffcrop.c | 12
+ tools/tiffdither.c | 4
+ 38 files changed, 728 insertions(+), 628 deletions(-)
+
+diff --git a/ChangeLog b/ChangeLog
+index c18d495..2d8bc7c 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,51 @@
++2013-05-02 Tom Lane <tgl@sss.pgh.pa.us>
++
++ * tools/tiff2pdf.c: Rewrite JPEG marker parsing in
++ t2p_process_jpeg_strip to be at least marginally competent. The
++ approach is still fundamentally flawed, but at least now it won't
++ stomp all over memory when given bogus input. Fixes CVE-2013-1960.
++
++2013-05-02 Tom Lane <tgl@sss.pgh.pa.us>
++
++ * contrib/dbs/xtiff/xtiff.c, libtiff/tif_codec.c,
++ libtiff/tif_dirinfo.c, tools/rgb2ycbcr.c, tools/tiff2bw.c,
++ tools/tiff2pdf.c, tools/tiff2ps.c, tools/tiffcrop.c,
++ tools/tiffdither.c: Enlarge some fixed-size buffers that weren't
++ large enough, and eliminate substantially all uses of sprintf(buf,
++ ...) in favor of using snprintf(buf, sizeof(buf), ...), so as to
++ protect against overflow of fixed-size buffers. This responds in
++ particular to CVE-2013-1961 concerning overflow in tiff2pdf.c's
++ t2p_write_pdf_page(), but in general it seems like a good idea to
++ deprecate use of sprintf().
++
++2013-01-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
++
++ * tools/tiff2ps.c:Fix bug in auto rotate option code. Once a
++ rotation angle was set by the auto rotate check, it was retained
++ for all pages that followed instead of being retested for each
++ page. Patch by Richard Nolde.
++
++2012-12-12 Tom Lane <tgl@sss.pgh.pa.us>
++
++ * libtiff/tif_print.c: Back-patch recent fixes in
++ TIFFPrintDirectory to make it handle field_passcount fields sanely
++ for both TIFF_VARIABLE and TIFF_VARIABLE2 cases.
++
++2012-12-10 Tom Lane <tgl@sss.pgh.pa.us>
++
++ * tools/ppm2tiff.c: Back-patch fix for CVE-2012-4564.
++
++2012-12-10 Tom Lane <tgl@sss.pgh.pa.us>
++
++ * libtiff/tif_pixarlog.c: Back-patch recent security fixes for
++ tif_pixarlog.c, namely the fix for CVE-2012-4447 and protections
++ against accessing outside the lookup arrays for out of range
++ inputs.
++
++2012-11-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
++
++ * automake: Update Automake to 1.12.5 release.
++
+ 2012-09-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+
+ * libtiff 3.9.7 released.
+@@ -31,7 +79,7 @@
+
+ * libtiff/tif_dirread.c: Avoid trusting samplesperpixel's default
+ of 1 for purposes of trimming tags. This is to get some super
+- crappy OJPEG files to work again. Grr.
++ crappy OJPEG files to work again. Grr.
+ http://bugzilla.maptools.org/show_bug.cgi?id=2348
+
+ 2012-06-01 Frank Warmerdam <warmerdam@google.com>
+@@ -101,8 +149,8 @@
+ * libtiff/tiffiop.h: avoid declaring int64/uint64 on AIX with XLC
+ where they are already available. (#2301)
+
+- * libtiff/tif_thunder.c: Correct potential buffer overflow with
+- thunder encoded files with wrong bitspersample set. The libtiff
++ * libtiff/tif_thunder.c: Correct potential buffer overflow with
++ thunder encoded files with wrong bitspersample set. The libtiff
+ development team would like to thank Marin Barbella and TippingPoint's
+ Zero Day Initiative for reporting this vulnerability (ZDI-CAN-1004,
+ CVE-2011-1167).
+@@ -110,18 +158,18 @@
+
+ 2011-03-10 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_fax3.h: Fix to last change allowing zero length
++ * libtiff/tif_fax3.h: Fix to last change allowing zero length
+ runs at the start of a scanline - needed for legal cases.
+
+ 2011-03-02 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_fax3.h: Protect against a fax VL(n) codeword commanding
+- a move left. Without this, a malicious input file can generate an
+- indefinitely large series of runs without a0 ever reaching the right
++ * libtiff/tif_fax3.h: Protect against a fax VL(n) codeword commanding
++ a move left. Without this, a malicious input file can generate an
++ indefinitely large series of runs without a0 ever reaching the right
+ margin, thus overrunning our buffer of run lengths. Per CVE-2011-0192.
+- This is a modified version of a patch proposed by Drew Yao of Apple
+- Product Security. It adds an unexpected() report, and disallows the
+- equality case, since emitting a run without increasing a0 still allows
++ This is a modified version of a patch proposed by Drew Yao of Apple
++ Product Security. It adds an unexpected() report, and disallows the
++ equality case, since emitting a run without increasing a0 still allows
+ buffer overrun.
+
+ 2011-02-25 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -133,7 +181,7 @@
+ 2011-01-03 Lee Howard <faxguy@howardsilvan.com>
+
+ * libtiff/tif_jpeg.c: Fix regressions with 2 and 3 band images
+- caused by commit on 2010-12-14. Submitted by e-mail from
++ caused by commit on 2010-12-14. Submitted by e-mail from
+ Even Rouault <even.rouault@mines-paris.org>
+
+ 2010-12-31 Olivier Paquet <olivier.paquet@gmail.com>
+@@ -188,13 +236,13 @@
+
+ 2010-12-12 Lee Howard <faxguy@howardsilvan.com>
+
+- * tools/tiff2pdf.c: fix colors for images with RGBA
++ * tools/tiff2pdf.c: fix colors for images with RGBA
+ interleaved data
+ http://bugzilla.maptools.org/show_bug.cgi?id=2250
+
+ 2010-12-11 Lee Howard <faxguy@howardsilvan.com>
+
+- * tools/tiff2pdf.c: remove invalid duplication for Lab
++ * tools/tiff2pdf.c: remove invalid duplication for Lab
+ http://bugzilla.maptools.org/show_bug.cgi?id=2162
+
+ 2010-12-11 Lee Howard <faxguy@howardsilvan.com>
+@@ -236,7 +284,7 @@
+
+ 2010-12-07 Lee Howard <faxguy@howardsilvan.com>
+
+- * libtiff/tif_jpeg.c, libtiff/tif_strip.c: apply patch for
++ * libtiff/tif_jpeg.c, libtiff/tif_strip.c: apply patch for
+ CVE-2010-3087 per bug
+ http://bugzilla.maptools.org/show_bug.cgi?id=2140
+
+@@ -248,7 +296,7 @@
+ 2010-09-25 Lee Howard <faxguy@howardsilvan.com>
+
+ * tools/tiff2ps.c: improvements and enhancements from Richard Nolde
+- with additional command line options for Document Title,
++ with additional command line options for Document Title,
+ Document Creator, and Page Orientation
+
+ 2010-07-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+@@ -349,14 +397,14 @@
+ * libtiff/tif_dirread.c: Fixed bad handling of out of order tags
+ definated late by a codec (#2210)
+
+- * libtiff/tif_dirread.c: Fixed inadequate validation of the
++ * libtiff/tif_dirread.c: Fixed inadequate validation of the
+ SubjectDistance field (#2212).
+
+- * tiff2pdf.c: Fix assorted bugs in tiff2pdf: missing "return"
+- in t2p_read_tiff_size() causes t2p->tiff_datasize to be set entirely
+- wrong for COMPRESSION_JPEG case, resulting in memory stomp if actual
+- size is larger. Also, there are a bunch of places that try to
+- memset() a malloc'd buffer before checking for malloc failure, which
++ * tiff2pdf.c: Fix assorted bugs in tiff2pdf: missing "return"
++ in t2p_read_tiff_size() causes t2p->tiff_datasize to be set entirely
++ wrong for COMPRESSION_JPEG case, resulting in memory stomp if actual
++ size is larger. Also, there are a bunch of places that try to
++ memset() a malloc'd buffer before checking for malloc failure, which
+ would result in core dump if there actually were a failure. (#2211)
+
+ 2010-06-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+@@ -452,13 +500,13 @@
+
+ 2010-05-07 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_jpeg.c: Ensure that quality is always set in
+- JPEGPreEncode(), not just when we want to output local tables.
++ * libtiff/tif_jpeg.c: Ensure that quality is always set in
++ JPEGPreEncode(), not just when we want to output local tables.
+ Otherwise the quality used during compression may not be right and
+ might not match the tables in the tables tag. This bug only occurs
+ when seeking between directories in the midst of writing blocks.
+ http://trac.osgeo.org/gdal/ticket/3539
+-
++
+ 2010-05-05 Olivier Paquet <olivier.paquet@gmail.com>
+
+ * libtiff/tif_print.c: Have TIFFTAG_REFERENCEBLACKWHITE always print 6
+@@ -476,11 +524,11 @@
+ 2010-02-22 Lee Howard <faxguy@howardsilvan.com>
+
+ * libtiff/tif_jpeg.c: Do not generate a JPEGTables tag when creating
+- the JPEG TIFF as is is not required in order to prevent it from
+- being unused and filled with invalid data. (Leave it to be
++ the JPEG TIFF as is is not required in order to prevent it from
++ being unused and filled with invalid data. (Leave it to be
+ generated by later activity.)
+ http://bugzilla.maptools.org/show_bug.cgi?id=2135
+- * tools/tiff2pdf.c: Write the JPEG SOI headers into the TIFF strip
++ * tools/tiff2pdf.c: Write the JPEG SOI headers into the TIFF strip
+ data rather than skipping them. This fixes the ability to view in
+ Acrobat Reader, Evince, and Ghostscript.
+ http://bugzilla.maptools.org/show_bug.cgi?id=2135
+@@ -491,13 +539,13 @@
+ 2010-01-06 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_dir.c: Ensure tile and scanline sizes are reset
+- when moving to new directories.
++ when moving to new directories.
+ http://bugzilla.maptools.org/show_bug.cgi?id=1936
+
+ 2009-12-03 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_jpeg.c: Fix a couple of issues that trigger failures in
+- some cases when using TIFFReadScanline() with JPEG compressed
++ some cases when using TIFFReadScanline() with JPEG compressed
+ subsampled ycbcr images.
+ http://bugzilla.maptools.org/show_bug.cgi?id=1936
+
+@@ -610,7 +658,7 @@
+
+ 2009-06-22 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_lzw.c: Fix buffer underflow bug.
++ * libtiff/tif_lzw.c: Fix buffer underflow bug.
+ http://bugzilla.maptools.org/show_bug.cgi?id=2065
+
+ 2009-06-03 Frank Warmerdam <warmerdam@pobox.com>
+@@ -621,7 +669,7 @@
+
+ 2009-02-12 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_luv.c: Fix handling of tiled logluv images.
++ * libtiff/tif_luv.c: Fix handling of tiled logluv images.
+ http://bugzilla.maptools.org/show_bug.cgi?id=2005
+
+ 2009-01-23 Frank Warmerdam <warmerdam@pobox.com>
+@@ -635,7 +683,7 @@
+
+ 2009-01-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+
+- * tools/tiff2ps.c: Remove spurious message printed to stderr.
++ * tools/tiff2ps.c: Remove spurious message printed to stderr.
+
+ 2009-01-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+
+@@ -668,7 +716,7 @@
+ 2008-12-31 Frank Warmerdam <warmerdam@pobox.com>
+
+ * tools/tiffcrop.c, man/tiffcrop.1: A major update from Richard
+- Nolde.
++ Nolde.
+
+ 2008-12-21 Frank Warmerdam <warmerdam@pobox.com>
+
+@@ -678,7 +726,7 @@
+
+ 2008-12-21 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_getimage.c, tiffio.h: More ABI corrections.
++ * libtiff/tif_getimage.c, tiffio.h: More ABI corrections.
+ Removed SubsamplingHor/Ver from TIFFRGBAImage structure.
+ http://bugzilla.maptools.org/show_bug.cgi?id=1980
+
+@@ -719,15 +767,15 @@
+
+ 2008-05-24 Frank Warmerdam <warmerdam@pobox.com>
+
+- * tif_codec.c: Avoid NULL pointer dereferencing for exotic
++ * tif_codec.c: Avoid NULL pointer dereferencing for exotic
+ compression codec codes.
+
+ * tif_dirread.c: zero tif->tif_dir after freeing the directory
+ in TIFFReadCustomDirectory(). I don't exactly remember why this
+- was important.
++ was important.
+
+ * tif_dirwrite.c: Fix potential memory leak writing large double
+- tags.
++ tags.
+
+ * tif_dirread.c: Fix unchecked malloc result.
+
+@@ -747,12 +795,12 @@
+
+ 2007-11-22 Frank Warmerdam <warmerdam@pobox.com>
+
+- * tif_write.c: Rip out the fancy logic in TIFFAppendToStrip() for
+- establishing if an existing tile can be rewritten to the same location
+- by comparing the current size to all the other blocks in the same
+- directory. This is dangerous in many situations and can easily
++ * tif_write.c: Rip out the fancy logic in TIFFAppendToStrip() for
++ establishing if an existing tile can be rewritten to the same location
++ by comparing the current size to all the other blocks in the same
++ directory. This is dangerous in many situations and can easily
+ corrupt a file. (observed in esoteric GDAL situation that's hard to
+- document). This change involves leaving the stripbytecount[] values
++ document). This change involves leaving the stripbytecount[] values
+ unaltered till TIFFAppendToStrip(). Now we only write a block back
+ to the same location it used to be at if the new data is the same
+ size or smaller - otherwise we move it to the end of file.
+@@ -760,17 +808,17 @@
+ * tif_dirwrite.c: Try to avoid writing out a full readbuffer of tile
+ data when writing the directory just because we have BEENWRITING at
+ some point in the past. This was causing odd junk to be written out
+- in a tile of data when a single tile had an interleaving of reading
+- and writing with reading last. (highlighted by gdal
+- autotest/gcore/tif_write.py test 7.
++ in a tile of data when a single tile had an interleaving of reading
++ and writing with reading last. (highlighted by gdal
++ autotest/gcore/tif_write.py test 7.
+
+ * tif_predict.c: use working buffer in PredictorEncodeTile to avoid
+- modifying callers buffer.
++ modifying callers buffer.
+ http://trac.osgeo.org/gdal/ticket/1965
+
+- * tif_predict.c/h, tif_lzw.c, tif_zip.c: Improvements so that
++ * tif_predict.c/h, tif_lzw.c, tif_zip.c: Improvements so that
+ predictor based encoding and decoding works in read-write update
+- mode properly.
++ mode properly.
+ http://trac.osgeo.org/gdal/ticket/1948
+
+ 2007-10-05 Frank Warmerdam <warmerdam@pobox.com>
+@@ -785,7 +833,7 @@
+
+ 2007-07-18 Andrey Kiselev <dron@ak4719.spb.edu>
+
+- * libtiff/{Makefile.am, Makefile.v}: Do not distribute tiffconf.h,
++ * libtiff/{Makefile.am, Makefile.v}: Do not distribute tiffconf.h,
+ remove tif_config.h/tiffconf.h during cleaning. As per bug
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1573
+@@ -803,14 +851,13 @@
+ 2007-07-03 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * tools/tiff2ps.c: Added support 16-bit images as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1566
+
+ Patch from William Bader.
+
+ * tools/tiff2pdf.c: Fix for TIFFTAG_JPEGTABLES tag fetching and
+ significant upgrade of the whole utility as per bug
+-
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1560
+
+ Now we don't need tiffiop.h in tiff2pdf anymore and will open output
+@@ -828,7 +875,7 @@
+
+ * libtiff/tif_dirwrite.c: Fixed problem introduced with a fix for a
+ byte swapping issue
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1363
+
+ As per bug
+@@ -846,7 +893,7 @@
+ * libtiff/{tif_dir.h, tif_dirread.c, tif_dirinfo.c, tif_jpeg.c,
+ tif_fax3.c, tif_jbig.c, tif_luv.c, tif_ojpeg.c, tif_pixarlog.c,
+ tif_predict.c, tif_zip.c}: Finally fix bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1274
+
+ by introducing _TIFFMergeFieldInfo() returning integer error status
+@@ -857,7 +904,7 @@
+
+ 2007-04-07 Frank Warmerdam <warmerdam@pobox.com>
+
+- * contrib/addtiffo/tif_overview.c: Fix problems with odd sized output
++ * contrib/addtiffo/tif_overview.c: Fix problems with odd sized output
+ blocks in TIFF_DownSample_Subsampled() (bug 1542).
+
+ 2007-04-06 Frank Warmerdam <warmerdam@pobox.com>
+@@ -865,20 +912,20 @@
+ * libtiff/tif_jpeg.c: Changed JPEGInitializeLibJPEG() so that it
+ will convert from decompressor to compressor or compress to decompress
+ if required by the force arguments. This works around a problem in
+- where the JPEGFixupTestSubsampling() may cause a decompressor to
++ where the JPEGFixupTestSubsampling() may cause a decompressor to
+ be setup on a directory when later a compressor is required with the
+- force flag set. Occurs with the addtiffo program for instance.
++ force flag set. Occurs with the addtiffo program for instance.
+
+ 2007-04-06 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * libtiff/tif_dirwrite.c: Fixed swapping of byte arrays stored
+ in-place in tag offsets as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1363
+
+ * tools/tiffcrop.c, man/tiffcrop.1: Significant update in
+ functionality from Richard Nolde. As per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1525
+
+ 2007-03-28 Frank Warmerdam <warmerdam@pobox.com>
+@@ -886,15 +933,15 @@
+ * libtiff/tif_fax3.c: "inline static" -> "static inline" for IRIC CC.
+
+ 2007-03-07 Joris Van Damme <joris.at.lebbeke@skynet.be>
+-
++
+ * libtiff/tif_getimage.c: workaround for 'Fractional scanline' error reading
+ OJPEG images with rowsperstrip that is not a multiple of vertical subsampling
+ factor. This bug is mentioned in:
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1390
+- http://www.asmail.be/msg0054766825.html
++ http://www.asmail.be/msg0054766825.html
+
+ 2007-03-07 Joris Van Damme <joris.at.lebbeke@skynet.be>
+-
++
+ * libtiff/tif_win32.c: made inclusion of windows.h unconditional
+
+ * libtiff/tif_win32.c: replaced preprocessor indication for consiously
+@@ -944,14 +991,14 @@
+ larger than 2GB. Fixes bug
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=890
+-
++
+ Idea submitted by Matt Hancher.
+
+ 2007-01-31 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * tools/tif2rgba.c: This utility does not work properly on big-endian
+ architectures. It was fixed including the bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1149
+
+ 2007-01-15 Mateusz Loskot <mateusz@loskot.net>
+@@ -968,15 +1015,15 @@
+
+ 2006-11-19 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_write.c: TIFFAppendToStrip() - clear sorted flag if
+- we move a strip.
+- http://bugzilla.remotesensing.org/show_bug.cgi?id=1359
++ * libtiff/tif_write.c: TIFFAppendToStrip() - clear sorted flag if
++ we move a strip.
++ http://bugzilla.remotesensing.org/show_bug.cgi?id=1359
+
+ 2006-10-13 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * libtiff/tif_dir.c: More fixes for vulnerabilities, reported
+ in Gentoo bug ():
+-
++
+ http://bugs.gentoo.org/show_bug.cgi?id=142383
+
+ * libtiff/contrib/dbs/xtiff/xtiff.c: Make xtiff utility compilable.
+@@ -1010,12 +1057,12 @@
+ * libtiff/tif_lzw.c, libtiff/tif_zip.c: Fixed problems with mixing
+ encoding and decoding on the same read-write TIFF handle. The LZW
+ code can now maintain encode and decode state at the same time. The
+- ZIP code will switch back and forth as needed.
++ ZIP code will switch back and forth as needed.
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=757
+
+ 2006-09-20 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff: Rename config.h.vc and tif_config.h.vc to config.vc.h and
++ * libtiff: Rename config.h.vc and tif_config.h.vc to config.vc.h and
+ tif_config.vc.h for easier identification by folks using an IDE.
+
+ 2006-07-25 Frank Warmerdam <warmerdam@pobox.com>
+@@ -1030,7 +1077,7 @@
+
+ 2006-07-12 Frank Warmerdam <warmerdam@pobox.com>
+
+- * tif_dirwrite.c: make sure to use uint32 for wordcount in
++ * tif_dirwrite.c: make sure to use uint32 for wordcount in
+ TIFFWriteNormanTag if writecount is VARIABLE2 for ASCII fields.
+ It already seems to have been done for other field types. Needed
+ for "tiffset" on files with geotiff ascii text.
+@@ -1058,9 +1105,9 @@
+ 2006-06-17 Frank Warmerdam <warmerdam@pobox.com>
+
+ * tif_readdir.c: Added case in EstimateStripByteCounts() for tiled
+- files. Modified TIFFReadDirectory() to not invoke
++ files. Modified TIFFReadDirectory() to not invoke
+ EstimateStripByteCounts() for case where entry 0 and 1 are unequal
+- but one of them is zero.
++ but one of them is zero.
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1204
+
+ 2006-06-08 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -1088,7 +1135,7 @@
+ * {configure, configure.ac, libtiff/tif_jbig.c, tools/tiffcp.c}: Added
+ support for JBIG compression scheme (34661 code) contributed by Lee
+ Howard. As per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=896
+
+ * configure, configure.ac: OJPEG support enabled by default.
+@@ -1127,7 +1174,7 @@
+ 2006-04-18 Frank Warmerdam <warmerdam@pobox.com>
+
+ * nmake.opt: use /EHsc for VS2005 compatibility. Also define
+- _CRT_SECURE_NO_DEPRECATE to avoid noise on VS2005.
++ _CRT_SECURE_NO_DEPRECATE to avoid noise on VS2005.
+
+ 2006-04-12 Joris Van Damme <joris.at.lebbeke@skynet.be>
+
+@@ -1135,7 +1182,7 @@
+ non-subsampled YCbCr (i.e. separate YCbCr with subsampling [1,1])
+
+ 2006-04-11 Joris Van Damme <joris.at.lebbeke@skynet.be>
+-
++
+ * libtiff/tif_getimage.c: Revision of all RGB(A) put routines
+ - Conversion of unassociated alpha to associated alpha now done with
+ more performant LUT, and calculation more correct
+@@ -1144,21 +1191,21 @@
+ - Bugfix of handling of 16bit RGB with unassociated alpha
+
+ 2006-04-11 Joris Van Damme <joris.at.lebbeke@skynet.be>
+-
+- * libtiff/tif_getimage.c:
+- - When there is no alpha, gtTileSeparate and gtStripSeparate allocated
+- buffer for alpha strile and filled it, only to never read it back.
++
++ * libtiff/tif_getimage.c:
++ - When there is no alpha, gtTileSeparate and gtStripSeparate allocated
++ buffer for alpha strile and filled it, only to never read it back.
+ Removed allocation and fill.
+- - Minor rename of vars in gtTileSeparate and gtStripSeparate
++ - Minor rename of vars in gtTileSeparate and gtStripSeparate
+ anticipating planned functionality extension
+
+ 2006-04-08 Joris Van Damme <joris.at.lebbeke@skynet.be>
+
+- * libtiff/tif_getimage.c: renamed pickTileContigCase to PickContigCase
+- and pickTileSeparateCase to PickSeparateCase as both work on strips as
++ * libtiff/tif_getimage.c: renamed pickTileContigCase to PickContigCase
++ and pickTileSeparateCase to PickSeparateCase as both work on strips as
+ well
+
+- * libtiff/tif_getimage.c: moved img->get selection from
++ * libtiff/tif_getimage.c: moved img->get selection from
+ TIFFRGBAImageBegin into PickContigCase and PickSeparateCase to create
+ logical hook for planned functionality extension
+
+@@ -1169,9 +1216,9 @@
+
+ 2006-04-07 Joris Van Damme <joris.at.lebbeke@skynet.be>
+
+- * libtiff/tif_getimage.c: replaced usage of TIFFScanlineSize in
++ * libtiff/tif_getimage.c: replaced usage of TIFFScanlineSize in
+ gtStripContig with TIFFNewScanlineSize so as to fix buggy behaviour
+- on subsampled images - this ought to get sorted when we feel brave
++ on subsampled images - this ought to get sorted when we feel brave
+ enough to replace TIFFScanlineSize alltogether
+
+ * libtiff/tif_ojpeg.c: fixed bug in OJPEGReadSkip
+@@ -1180,13 +1227,13 @@
+
+ * libtiff/tiffio.h: added new type tstrile_t
+
+- * libtiff/tif_dir.h: changed types of td_stripsperimage and td_nstrips
+- to new tstrile_t, types of td_stripoffset and td_stripbytecount to
++ * libtiff/tif_dir.h: changed types of td_stripsperimage and td_nstrips
++ to new tstrile_t, types of td_stripoffset and td_stripbytecount to
+ toff_t*
+
+ * libtiff/tif_ojpeg.c: totally new implementation
+
+- * libtiff/tif_dirread.c: added several hacks to suit new support of
++ * libtiff/tif_dirread.c: added several hacks to suit new support of
+ OJPEG
+
+ * libtiff/tif_getimage.c: removed TIFFTAG_JPEGCOLORMODE handling
+@@ -1226,7 +1273,7 @@
+
+ * libtiff/tif_getimage.c: added putcontig8bitYCbCr12tile
+
+- * libtiff/tif_read.c: added support for new TIFF_NOREADRAW flag to
++ * libtiff/tif_read.c: added support for new TIFF_NOREADRAW flag to
+ prepare the path for new tif_ojpeg.c
+
+ 2006-03-23 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -1342,7 +1389,7 @@
+
+ * libtiff/tif_write.c: Small code rearrangement in TIFFWriteScanline()
+ to avoid crash as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1081.
+
+ 2006-02-26 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -1392,7 +1439,7 @@
+ 2006-02-07 Frank Warmerdam <warmerdam@pobox.com>
+
+ * tools/tiff2pdf.c: Fixed support for non-YCbCr encoded JPEG
+- compressed TIFF files, per submission from Dan Cobra.
++ compressed TIFF files, per submission from Dan Cobra.
+
+ 2006-02-07 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -1424,7 +1471,7 @@
+
+ * libtiff/tif_dirread.c: Use _TIFFGetExifFieldInfo() instead of
+ _TIFFGetFieldInfo() in TIFFReadEXIFDirectory() call as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1026.
+
+ 2006-01-23 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -1490,7 +1537,7 @@
+
+ 2005-12-26 Andrey Kiselev <dron@ak4719.spb.edu>
+
+- * libtiff/{tif_dir.c, tif_dir.h, tif_dirread.c, tif_dirinfo.c}:
++ * libtiff/{tif_dir.c, tif_dir.h, tif_dirread.c, tif_dirinfo.c}:
+ tiffFieldInfo and exifFieldInfo arrays definitions moved back to
+ tif_dirinfo.c; added _TIFFGetFieldInfo() and _TIFFGetExifFieldInfo()
+ private functions to retrieve FieldInfo arrays.
+@@ -1517,10 +1564,10 @@
+
+ 2005-12-23 Joris Van Damme <joris.at.lebbeke@skynet.be>
+
+- * libtiff/tiffio.h: fixed typo that potentially resulted in
++ * libtiff/tiffio.h: fixed typo that potentially resulted in
+ redefininition of USE_WIN32_FILEIO
+
+- * libtiff/*: Added more 'dual-mode' error handling: Done TIFFWarning
++ * libtiff/*: Added more 'dual-mode' error handling: Done TIFFWarning
+ calls in core LibTiff.
+
+ 2005-12-21 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -1530,10 +1577,10 @@
+
+ 2005-12-21 Joris Van Damme <joris.at.lebbeke@skynet.be>
+
+- * libtiff/*, contrib/*: Added 'dual-mode' error handling, enabling
++ * libtiff/*, contrib/*: Added 'dual-mode' error handling, enabling
+ newer code to get context indicator in error handler and still
+- remain compatible with older code: Done TIFFError calls everywhere
+- except in tools
++ remain compatible with older code: Done TIFFError calls everywhere
++ except in tools
+
+ 2005-12-20 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -1606,7 +1653,7 @@
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1002
+
+ * .cvsignore: many files added, and a few update according
+- to suggestion of Brad HArds on tiff mailing list.
++ to suggestion of Brad HArds on tiff mailing list.
+
+ 2005-11-03 Frank Warmerdam <warmerdam@pobox.com>
+
+@@ -1631,7 +1678,7 @@
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=946
+
+ * tools/bmp2tiff.c: Fixed possible integer overflow error as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=965
+
+ * libtiff/tif_dirinfo.c: Make XResolution, YResolution and
+@@ -1641,7 +1688,7 @@
+
+ * tools/tiffsplit.c: Copy fax related fields over splitted parts
+ as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=983
+
+ 2005-10-21 Frank Warmerdam <warmerdam@pobox.com>
+@@ -1697,7 +1744,7 @@
+
+ * libtiff/tif_dir.c: When prefreeing tv->value in TIFFSetFieldV
+ also set it to NULL to avoid double free when re-setting custom
+- string fields as per:
++ string fields as per:
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=922
+
+@@ -1733,7 +1780,7 @@
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=831
+
+ Remove TIFFFetchExtraSamples() function, use TIFFFetchNormalTag()
+- instead.
++ instead.
+
+ * libtiff/tiffconf.h.in: One more attempt to fix the AIX bug
+
+@@ -1904,7 +1951,7 @@
+
+ 2005-05-22 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_dirread.c: Changed the code that computes
++ * libtiff/tif_dirread.c: Changed the code that computes
+ stripbytecount[0] if it appears bogus to ignore if stripoffset[0] is
+ zero. This is a common case with GDAL indicating a "null" tile/strip.
+
+@@ -1914,8 +1961,8 @@
+
+ 2005-05-06 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_dirread.c: Applied similar change to
+- TIFFFetchPerSampleLongs and TIFFFetchPerSampleAnys.
++ * libtiff/tif_dirread.c: Applied similar change to
++ TIFFFetchPerSampleLongs and TIFFFetchPerSampleAnys.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=843
+
+@@ -1965,7 +2012,7 @@
+
+ * man/TIFFSetField.3tiff: Fixed definition of the TIFFTAG_INKNAMES tag
+ as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=816
+
+ 2005-03-30 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -2075,7 +2122,7 @@
+
+ * libtiff/tiffio.h: Move TIFFOpenW() function into the extern "C"{}
+ block as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=763
+
+ 2005-02-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+@@ -2096,7 +2143,7 @@
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=320
+
+ * tools/tiff2ps.c: Fixed problem with page sizes as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=742
+
+ 2005-01-31 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+@@ -2137,7 +2184,7 @@
+ TIFFRGBAImageBegin() as per bug
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=739
+-
++
+ 2005-01-12 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * libtiff/tif_jpeg.c: Added ability to read/write the fax specific
+@@ -2166,7 +2213,7 @@
+ * libtiff/tiff.h: Restore back the workaround for AIX Visual Age C
+ compiler to avoid double definition of BSD types as per bug
+
+- http://bugzilla.remotesensing.org/show_bug.cgi?id=39
++ http://bugzilla.remotesensing.org/show_bug.cgi?id=39
+
+ * libtiff/Makefile.am: Place the C++ stream API in the separate
+ library called libtiffxx to avoid unneeded dependencies. Probably
+@@ -2190,7 +2237,7 @@
+
+ * libtiff/tif_getimage.c: More fixes for multiple-alpha-channelled
+ RGB-images as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=713
+
+
+@@ -2226,7 +2273,7 @@
+ 2004-12-15 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_getimage.c: #define A1 bracketing for clean build on
+- SunPro compiler.
++ SunPro compiler.
+
+ 2004-12-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+
+@@ -2238,7 +2285,7 @@
+
+ * libtiff/tif_dirwrite.c: Always write TIFFTAG_SUBIFD using LONG type
+ as per bugs
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=703
+
+ and
+@@ -2258,9 +2305,9 @@
+
+ * libtiff/tif_config.in.vc: Removed unneded definitions for
+ read/open/close/lseek functions to fix the
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=680
+-
++
+ 2004-12-03 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * libtiff/{tif_dir.c, tif_dirread.c}: Remove TIFFReassignTagToIgnore()
+@@ -2296,7 +2343,7 @@
+
+ 2004-11-26 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/makefile.vc: make it easier to rename the libtiff DLL.
++ * libtiff/makefile.vc: make it easier to rename the libtiff DLL.
+
+ 2004-11-24 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -2393,7 +2440,7 @@
+ per bug
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=648
+-
++
+ * libtiff/{tif_jpeg.c, tif_ojpeg.c}: TIFFTAG_JPEGTABLES should have
+ uint32 count. Use this type everywhere.
+
+@@ -2406,7 +2453,7 @@
+ * tools/tiff2rgba.c: removed extra newlines in usage message.
+
+ 2004-10-30 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * libtiff/tif_dirwrite.c: Improvements in tag writing code.
+
+ * tools/tiff2ps.c: Fixed wrong variable data type when read Position
+@@ -2421,7 +2468,7 @@
+
+ * libtiff/tif_fax3.c: Fixed case with the wrong decode routines
+ choosing when the incorrect Group4Options tag set. As per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=323
+
+ * libtiff/tif_dirwrite.c: Fixed problem with passing count variable of
+@@ -2440,7 +2487,7 @@
+ * tools/tiff2pdf.c: added casts to avoid warnings.
+
+ * libtiff/libtiff.def: Added several more entry points required
+- to link fax2tiff.c against the DLL on windows.
++ to link fax2tiff.c against the DLL on windows.
+
+ 2004-10-27 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -2511,7 +2558,7 @@
+ 2004-10-08 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_dirinfo.c: Fix bug with tif_foundfield and reallocation
+- of tif_fieldinfo.
++ of tif_fieldinfo.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=630
+
+@@ -2543,7 +2590,7 @@
+
+ 2004-09-30 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_dirinfo.c: changed type of XMLPacket (tag 700) to
++ * libtiff/tif_dirinfo.c: changed type of XMLPacket (tag 700) to
+ TIFFTAG_BYTE instead of TIFFTAG_UNDEFINED to comply with the info
+ in the Adobe XMP Specification.
+
+@@ -2563,7 +2610,7 @@
+ 2004-09-26 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * libtiff/{tif_dir.h, tif_dir.c, tif_dirread.c, tif_write.c}:
+- Optimize checking for the strip bounds.
++ Optimize checking for the strip bounds.
+
+ * libtiff/{tif_dirread.c, tif_strip.c}: TIFFScanlineSize() and
+ TIFFRasterScanlineSize() functions report zero in the case of integer
+@@ -2714,7 +2761,7 @@
+ here
+
+ http://www.asmail.be/msg0054799560.html
+-
++
+ for details.
+
+ * tools/fax2tiff.c: Use the new functions in the code.
+@@ -2842,11 +2889,11 @@
+ * tools/tiffsplit.c: Fixed problem with unproperly written multibyte
+ files. Now output files will be written using the same byte order
+ flag as in the input image. See
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=574
+-
++
+ for details.
+-
++
+ 2004-05-19 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_print.c: added (untested) support for printing
+@@ -2858,7 +2905,7 @@
+
+ * libtiff/tif_fax3.c: Avoid reading CCITT compression options
+ if compression type mismatches. See
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=565
+
+ 2004-04-30 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -2903,7 +2950,7 @@
+ 2004-04-04 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_open.c: close clientdata if TIFFClientOpen() fails
+- via bad2.
++ via bad2.
+
+ 2004-03-26 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -2930,10 +2977,10 @@
+
+ 2004-02-26 Andrey Kiselev <dron@ak4719.spb.edu>
+
+- * tools/tiffsplit.c: Copy JPEGTables tag contents for JPEG compressed
++ * tools/tiffsplit.c: Copy JPEGTables tag contents for JPEG compressed
+ images. Reported by Artem Mirolubov.
+
+- * libtiff/tif_dirread.c: Fixed problem with handling TIFF_UNDEFINED
++ * libtiff/tif_dirread.c: Fixed problem with handling TIFF_UNDEFINED
+ tag type in TIFFFetchNormalTag() as per bug
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=508
+@@ -2955,8 +3002,8 @@
+ 2004-01-30 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/libtiff.def: Added TIFFCurrentDirOffset, TIFFWriteCheck,
+- TIFFRGBAImageOK, and TIFFNumberOfDirectories as suggested by
+- Scott Reynolds.
++ TIFFRGBAImageOK, and TIFFNumberOfDirectories as suggested by
++ Scott Reynolds.
+
+ 2004-01-29 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -2974,7 +3021,7 @@
+ file if TIFFFdOpen() failed as per bug
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=468
+-
++
+ * libtiff/tif_open.c: More fixes for
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=468
+@@ -2998,7 +3045,7 @@
+ * libtiff/tif_dirwrite.c: Fixed handling of writable ASCII tags that
+ are field_passcount=TRUE properly. Arguably anonymous custom tags
+ should be declared as passcount=FALSE, but I don't want to change
+- that without a careful review.
++ that without a careful review.
+
+ 2004-01-20 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -3161,8 +3208,8 @@
+
+ 2003-11-17 Frank Warmerdam <warmerdam@pobox.com>
+
+- * tif_dirread.c: do not mark all anonymously defined tags to be
+- IGNOREd.
++ * tif_dirread.c: do not mark all anonymously defined tags to be
++ IGNOREd.
+
+ 2003-11-17 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -3202,15 +3249,15 @@
+
+ 2003-11-09 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_tile.c: remove spurious use of "s" (sample) in the
++ * libtiff/tif_tile.c: remove spurious use of "s" (sample) in the
+ planarconfig_contig case in TIFFComputeTile().
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=387
+
+ 2003-11-09 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * libtiff/tiffiop.h: New macros: TIFFmax, TIFFmin and TIFFrint.
+-
++
+ 2003-11-07 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * libtiff/{tiffio.h, tif_strip.c}, man/{TIFFstrip.3t, libtiff.3t}:
+@@ -3277,11 +3324,11 @@
+ function TIFFReadRGBAImageOriented() implemented to retrieve raster
+ array with user-specified origin position as suggested by Jason Frank.
+ See
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=322
+
+ for details.
+-
++
+ * tools/tiff2rgba.c: Switched to use TIFFReadRGBAImageOriented()
+ instead of TIFFReadRGBAImage().
+
+@@ -3362,9 +3409,9 @@
+ encoded write functions use tif_postdecode() to apply byte order
+ swapping (swab) to the application passed data buffer if the same
+ would be done when reading. This allows us to write pixel data with
+- more than 8 bits per sample to existing files of a non-native byte
++ more than 8 bits per sample to existing files of a non-native byte
+ order. One side effect of this change is the applications buffer
+- itself is altered in this case by the act of writing.
++ itself is altered in this case by the act of writing.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=171
+
+@@ -3390,9 +3437,9 @@
+ 2003-07-08 Frank Warmerdam <warmerdam@pobox.com>
+
+ * tif_aux.c, tif_codec.c, tif_dir.c, tif_dirread.c, tif_extension.c,
+- tif_fax3.c, tif_getimage.c, tif_luv.c, tif_lzw.c, tif_next.c,
++ tif_fax3.c, tif_getimage.c, tif_luv.c, tif_lzw.c, tif_next.c,
+ tif_packbits.c, tif_predict.c, tif_print.c, tif_swab.c, tif_thunder.c:
+- avoid casting warning at /W4.
++ avoid casting warning at /W4.
+
+ 2003-07-03 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -3414,11 +3461,11 @@
+
+ * libtiff/tif_dirinfo.c: TIFFDataWidth() returns 0 in case of
+ unknown data type.
+-
++
+ 2003-06-19 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_print.c: fixed some serious bugs when printing
+- custom tags ... almost certain to crash.
++ custom tags ... almost certain to crash.
+
+ * libtiff/tif_dirread.c: Don't ignore custom fields that are
+ autodefined. Not sure how this got to be like this.
+@@ -3429,12 +3476,12 @@
+
+ * tools/tiffcmp.c, man/tiffcmp.1: Fixed problem with unused data
+ comparing as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=349
+
+ `-z' option now can be used to set the number of reported different
+ bytes.
+-
++
+ 2003-06-09 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * tools/tiffcp.c, man/tiffcp.1: Added possibility to specify value -1
+@@ -3460,7 +3507,7 @@
+ 2003-05-25 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * tools/fax2tiff.c: Page numbering fixed, as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=341
+
+ 2003-05-20 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -3526,7 +3573,7 @@
+
+ * tools/tiffcp.c: Fixed problem with colorspace conversion for JPEG
+ encoded images. See bug entries
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=275
+
+ and
+@@ -3587,16 +3634,16 @@
+
+ * libtiff/tif_jpeg.c: Modified to defer initialization of jpeg
+ library so that we can check if there is already any tile/strip data
+- before deciding between creating a compressor or a decompressor.
++ before deciding between creating a compressor or a decompressor.
+
+ 2003-01-31 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_write.c: TIFFWriteCheck() now fails if the image is
+- a pre-existing compressed image. That is, image writing to
++ a pre-existing compressed image. That is, image writing to
+ pre-existing compressed images is not allowed.
+
+ * libtiff/tif_open.c: Removed error if opening a compressed file
+- in update mode.
++ in update mode.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=198
+
+@@ -3609,16 +3656,16 @@
+ * cut 3.6.0 Beta release.
+
+ 2002-12-20 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * tools/fax2ps.c, man/fax2ps.1: Page size was determined
+ in wrong way as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=239
+
+ 2002-12-17 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_dirread.c: Allow wrong sized arrays in
+- TIFFFetchStripThing().
++ * libtiff/tif_dirread.c: Allow wrong sized arrays in
++ TIFFFetchStripThing().
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=49
+
+@@ -3632,7 +3679,7 @@
+ * libtiff/tif_dir.c: fixed bug with resetting an existing custom
+ field value.
+
+- * libtiff/tif_dir.c: Fixed potential problem with ascii "custom"
++ * libtiff/tif_dir.c: Fixed potential problem with ascii "custom"
+ tags in TIFFVGetField() ... added missing break.
+
+ 2002-10-14 Frank Warmerdam <warmerdam@pobox.com>
+@@ -3644,11 +3691,11 @@
+ the eps by redefining the colorimage operator will get messed up.
+ Patch supplied by William Bader.
+
+- * Makefile.in: added tif_extension.c to file list as per
++ * Makefile.in: added tif_extension.c to file list as per
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=218.
+
+ 2002-10-11 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * configure, config.site, libtiff/{tif_unix.c, Makefile.in}: Fix for
+ large files (>2GiB) supporting. New option in the config.site:
+ LARGEFILE="yes". Should be enough for I/O of the large files.
+@@ -3680,13 +3727,13 @@
+ 2002-10-06 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_jpeg.c: fixed problem with boolean defined with wrong
+- size on windows. Use #define boolean hack.
++ size on windows. Use #define boolean hack.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=188
+
+ * libtiff/tiff.h: Don't do special type handling in tiff.h unless
+ USING_VISUALAGE is defined.
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=39
+
+ 2002-10-03 Frank Warmerdam <warmerdam@pobox.com>
+@@ -3697,30 +3744,30 @@
+
+ * libtiff/tif_dirread.c: Another fix for the fetching SBYTE arrays
+ by the TIFFFetchByteArray() function. Should finally resolve
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=52
+-
++
+ * configure: Set -DPIXARLOG_SUPPORT option along with -DZIP_SUPPORT
+
+ * html/Makefile.in: New targets added: html and groffhtml for
+ producing HTML representations of the manual pages automatically.
+ html target uses man2html tool, groffhtml uses groff tool.
+-
++
+ 2002-09-29 Frank Warmerdam <warmerdam@pobox.com>
+
+ * configure, libtiff/Makefile.in: Added SCO OpenServer 5.0.6 support
+- from John H. DuBois III.
++ from John H. DuBois III.
+
+ 2002-09-15 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * Makefile.in, /man/{raw2tiff.1, Makefile.in, libtiff.3}: Added
+ manual page for raw2tiff(1) tool.
+-
++
+ 2002-09-12 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * /libtiff/{tiffio.h, tif_dir.h}: TIFFDataWidth() declaration moved to
+ the tiffio.h header file.
+-
++
+ * Makefile.in, /man/{TIFFDataWidth.3t, Makefile.in, libtiff.3}: Added
+ manual page for TIFFDataWidth() function
+
+@@ -3730,8 +3777,8 @@
+ as per http://bugzilla.remotesensing.org/show_bug.cgi?id=196.
+
+ * tools/tiff2ps.c: Don't emit BeginData/EndData DSC comments
+- since we are unable to properly include the amount to skip.
+-
++ since we are unable to properly include the amount to skip.
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=80
+
+ 2002-09-02 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -3741,7 +3788,7 @@
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=52
+
+ 2002-08-22 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * /libtiff/tif_dirinfo.c: Further additions to free custom fields
+ in _TIFFSetupFieldInfo() function.
+ See http://bugzilla.remotesensing.org/show_bug.cgi?id=169 for details.
+@@ -3750,14 +3797,14 @@
+ LZWDecode() and LZWDecodeCompat().
+ Fixes http://bugzilla.remotesensing.org/show_bug.cgi?id=190
+ and http://bugzilla.remotesensing.org/show_bug.cgi?id=100
+-
++
+ * /libtiff/tif_lzw.c:
+ Added check for valid code lengths in LZWDecode() and
+ LZWDecodeCompat(). Fixes
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=115
+
+ 2002-08-16 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * /libtiff/{Makefile.vc, libtiff.def}:
+ Missed declarations added.
+
+@@ -3768,7 +3815,7 @@
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=177
+
+- * tif_dir.h: changed FIELD_CODEC to 66 from 64 to avoid overlap
++ * tif_dir.h: changed FIELD_CODEC to 66 from 64 to avoid overlap
+ with FIELD_CUSTOM as mentioned in bug 169.
+
+ * tif_close.c: added logic to free dynamically created anonymous
+@@ -3777,31 +3824,31 @@
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=169
+
+ 2002-08-10 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * /tools/{raw2tiff.c, Makefile.in, Makefile.lcc, Makefile.vc}:
+ New tool: raw2tiff --- raw images to TIFF converter. No manual page yet.
+
+ 2002-07-31 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_jpeg.c: Fixed problem with setting of nrows in
++ * libtiff/tif_jpeg.c: Fixed problem with setting of nrows in
+ JPEGDecode() as per bugzilla bug (issue 1):
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=129
+
+ * libtiff/{tif_jpeg.c,tif_strip.c,tif_print.c}: Hacked tif_jpeg.c to
+ fetch TIFFTAG_YCBCRSUBSAMPLING from the jpeg data stream if it isn't
+- present in the tiff tags.
++ present in the tiff tags.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=168
+
+ * libtiff/tif_read.c, libtiff/tif_write.c: TIFFReadScanline() and
+ TIFFWriteScanline() now set tif_row explicitly in case the codec has
+- fooled with the value.
++ fooled with the value.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=129
+
+ 2002-06-22 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * /tools/tiff2ps.c: Added workaround for some software that may crash
+ when last strip of image contains fewer number of scanlines than
+ specified by the `/Height' variable. See
+@@ -3817,8 +3864,8 @@
+
+ 2002-06-11 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/contrib/win95: renamed to contrib/win_dib. Added new
+- Tiffile.cpp example of converting TIFF files into a DIB on Win32.
++ * libtiff/contrib/win95: renamed to contrib/win_dib. Added new
++ Tiffile.cpp example of converting TIFF files into a DIB on Win32.
+ This one is described in:
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=143
+@@ -3834,21 +3881,21 @@
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=131
+
+ 2002-04-26 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * libtiff/libtiff.def: Added missed declaration.
+-
++
+ 2002-04-22 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * tools/fax2tiff.c: Updated to reflect latest changes in libtiff.
+ Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=125
+
+ 2002-04-20 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * libtiff/tif_open.c: Pointers to custom procedures
+ in TIFFClientOpen() are checked to be not NULL-pointers.
+-
++
+ 2002-04-18 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * libtiff/libtiff.def: Added missed declarations.
+
+ * libtiff/tif_pixarlog.c: Updated for using tif_tagmethods structure.
+@@ -3858,14 +3905,14 @@
+ * libtiff/tif_lzw.c: Additional checks for data integrity introduced.
+ Should finally close
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=100
+-
++
+ 2002-04-10 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * tools/tiff2ps: Division by zero fixed.
+ Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=88
+
+ 2002-04-09 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * libtiff/: tif_dirwrite.c, tif_write.c, tiffio.h:
+ TIFFCheckpointDirectory() routine added.
+ Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=124
+@@ -3897,7 +3944,7 @@
+ replaced by warnings. Now libtiff should read corrupted LZW-compressed
+ files by skipping bad strips.
+ Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=100
+-
++
+ 2002-04-03 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_dirwrite.c: Removed some dead code.
+@@ -3919,18 +3966,18 @@
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=111
+
+- * tif_print.c: Fixed so that ASCII FIELD_CUSTOM values with
++ * tif_print.c: Fixed so that ASCII FIELD_CUSTOM values with
+ passcount set FALSE can be printed (such as TIFFTAG_SOFTWARE).
+
+- * libtiff/tif_dir.c,tif_dirinfo.c,tif_dir.h,tif_ojpeg.c: modified so
++ * libtiff/tif_dir.c,tif_dirinfo.c,tif_dir.h,tif_ojpeg.c: modified so
+ that TIFFTAG_SOFTWARE uses FIELD_CUSTOM as an example.
+
+ 2002-03-26 Dwight Kelly <dbmalloc@remotesensing.org>
+
+ * libtiff/: tiff.h, tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_dirread.c,
+ tif_dirwrite.c: Added get/put code for new tag XMLPACKET as defined
+- in Adobe XMP Technote. Added missing INKSET tag value from TIFF 6.0 spec
+- INKSET_MULTIINK (=2). Added missing tags from Adobe TIFF technotes:
++ in Adobe XMP Technote. Added missing INKSET tag value from TIFF 6.0 spec
++ INKSET_MULTIINK (=2). Added missing tags from Adobe TIFF technotes:
+ CLIPPATH, XCLIPPATHUNITS, YCLIPPATHUNITS, OPIIMAGEID, OPIPROXY and
+ INDEXED. Added PHOTOMETRIC tag value from TIFF technote 4 ICCLAB (=9).
+
+@@ -3989,7 +4036,7 @@
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=94
+
+- * man/Makefile.in: Patch DESTDIR handling
++ * man/Makefile.in: Patch DESTDIR handling
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=95
+
+@@ -4027,9 +4074,9 @@
+
+ 2002-01-04 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_jpeg.c: fixed computation of segment_width for
+- tiles files to avoid error about it not matching the
+- cinfo.d.image_width values ("JPEGPreDecode: Improper JPEG strip/tile
++ * libtiff/tif_jpeg.c: fixed computation of segment_width for
++ tiles files to avoid error about it not matching the
++ cinfo.d.image_width values ("JPEGPreDecode: Improper JPEG strip/tile
+ size.") for ITIFF files. Apparently the problem was incorporated since
+ 3.5.5, presumably during the OJPEG/JPEG work recently.
+
+@@ -4039,7 +4086,7 @@
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=94
+
+- * libtiff/tif_getimage.c: If DEFAULT_EXTRASAMPLE_AS_ALPHA is 1
++ * libtiff/tif_getimage.c: If DEFAULT_EXTRASAMPLE_AS_ALPHA is 1
+ (defined in tiffconf.h - 1 by default) then the RGBA interface
+ will assume that a fourth extra sample is ASSOCALPHA if the
+ EXTRASAMPLE value isn't set for it. This changes the behaviour of
+@@ -4051,9 +4098,9 @@
+
+ 2001-12-12 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_jpeg.c: allow jpeg data stream sampling values to
+- override those from tiff directory. This makes this work with
+- ImageGear generated files.
++ * libtiff/tif_jpeg.c: allow jpeg data stream sampling values to
++ override those from tiff directory. This makes this work with
++ ImageGear generated files.
+
+ 2001-12-07 Frank Warmerdam <warmerdam@pobox.com>
+
+@@ -4066,7 +4113,7 @@
+ * Reissue 3.5.7 release.
+
+ * libtiff/mkversion.c: Fix output of TIFF_VERSION to be
+- YYYYMMDD so that it is increasing over time.
++ YYYYMMDD so that it is increasing over time.
+
+ * Makefile.in: Ensure that tiffvers.h is regenerated in the
+ make release target.
+@@ -4091,8 +4138,8 @@
+
+ 2001-10-10 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tiff.h: I have created COMPRESSION_CCITT_T4,
+- COMPRESSION_CCITT_T6, TIFFTAG_T4OPTIONS and TIFFTAG_T6OPTIONS aliases
++ * libtiff/tiff.h: I have created COMPRESSION_CCITT_T4,
++ COMPRESSION_CCITT_T6, TIFFTAG_T4OPTIONS and TIFFTAG_T6OPTIONS aliases
+ in keeping with TIFF 6.0 standard in tiff.h
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=83
+@@ -4112,10 +4159,10 @@
+ error about LZW not being available.
+
+ * libtiff/tif_dir.c: propagate failure to initialize compression
+- back from TIFFSetField() as an error status, so applications can
++ back from TIFFSetField() as an error status, so applications can
+ detect failure.
+
+- * libtiff/tif_dir.c: removed the auto replacement of
++ * libtiff/tif_dir.c: removed the auto replacement of
+ COMPRESSION_LZW with COMPRESSION_NONE in _TIFFVSetField().
+
+ * Removed Makefile, tools/Makefile, port/install.sh, man/Makefile
+@@ -4123,7 +4170,7 @@
+
+ 2001-09-22 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_ojpeg.c: new update from Scott.
++ * libtiff/tif_ojpeg.c: new update from Scott.
+
+ 2001-09-09 Frank Warmerdam <warmerdam@pobox.com>
+
+@@ -4142,7 +4189,7 @@
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=47
+
+- * tools/tiff2ps.c: added OJPEG YCbCr to RGB support.
++ * tools/tiff2ps.c: added OJPEG YCbCr to RGB support.
+
+ * libtiff/tif_ojpeg.c: Applied substantial patch from Scott.
+
+@@ -4151,14 +4198,14 @@
+ * libtiff/tif_packbits.c: fixed memory overrun error.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=77
+-
++
+ 2001-08-31 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_getimage.c: relax handling of contig case where
+ there are extra samples that are supposed to be ignored. This
+- should now work for 8bit greyscale or palletted images.
++ should now work for 8bit greyscale or palletted images.
+
+- http://bugzilla.remotesensing.org/show_bug.cgi?id=75
++ http://bugzilla.remotesensing.org/show_bug.cgi?id=75
+
+ 2001-08-28 Frank Warmerdam <warmerdam@pobox.com>
+
+@@ -4171,15 +4218,15 @@
+
+ * libtiff/tif_getimage.c: Use memmove() instead of TIFFmemcpy()
+ in TIFFReadRGBATile() to avoid issues in cases of overlapping
+- buffers. See Bug 69 in Bugzilla.
++ buffers. See Bug 69 in Bugzilla.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=69
+-
++
+ * tools/tiff2rgba.c: fixed getopt() call so that -b works again.
+
+ 2001-08-09 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tiff.h, libtiff/tif_fax3.c: added check for __LP64__
++ * libtiff/tiff.h, libtiff/tif_fax3.c: added check for __LP64__
+ when checking for 64 bit architectures as per bugzilla bug 67.
+
+ 2001-07-27 Frank Warmerdam <warmerdam@pobox.com>
+@@ -4189,7 +4236,7 @@
+
+ 2001-07-20 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_jpeg.c: Define HAVE_BOOLEAN on windows if RPCNDR.H
++ * libtiff/tif_jpeg.c: Define HAVE_BOOLEAN on windows if RPCNDR.H
+ has been included.
+
+ 2001-07-19 Frank Warmerdam <warmerdam@pobox.com>
+@@ -4201,11 +4248,11 @@
+
+ * libtiff/tif_ojpeg.c: updates from Scott. Handles colors
+ much better. Now depends on having patched libjpeg as per
+- patch in contrib/ojpeg/*.
++ patch in contrib/ojpeg/*.
+
+ 2001-07-17 Frank Warmerdam <warmerdam@pobox.com>
+
+- * */Makefile.in: added DESTDIR support.
++ * */Makefile.in: added DESTDIR support.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=60
+
+@@ -4213,20 +4260,20 @@
+
+ * configure, libtiff/Makefile.in: applied OpenBSD patches
+ as per:
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=61
+
+ 2001-06-28 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_getimage.c: Fixed so that failure is properly
+- reported by gtTileContig, gtStripContig, gtTileSeparate and
++ reported by gtTileContig, gtStripContig, gtTileSeparate and
+ gtStripSeparate.
+
+ See http://bugzilla.remotesensing.org/show_bug.cgi?id=51
+
+- * tiffcmp.c: Fixed multi samples per pixel support for ContigCompare.
++ * tiffcmp.c: Fixed multi samples per pixel support for ContigCompare.
+ Updated bug section of tiffcmp.1 to note tiled file issues.
+-
++
+ See http://bugzilla.remotesensing.org/show_bug.cgi?id=53
+
+ 2001-06-22 Frank Warmerdam <warmerdam@pobox.com>
+@@ -4267,10 +4314,10 @@
+
+ 2001-05-08 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_dirinfo.c: moved pixar and copyright flags to
++ * libtiff/tif_dirinfo.c: moved pixar and copyright flags to
+ ensure everything is in order.
+
+- * libtiff/libtiff.def: added TIFFCreateDirectory and
++ * libtiff/libtiff.def: added TIFFCreateDirectory and
+ TIFFDefaultStripSize as per:
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=46
+@@ -4279,10 +4326,10 @@
+
+ * libtiff/tif_dirinfo.c: Modified the TIFF_BYTE definition for
+ TIFFTAG_PHOTOSHOP to use a writecount of TIFF_VARIABLE2 (-3) to
+- force use of uint32 counts instead of short counts.
++ force use of uint32 counts instead of short counts.
+
+ * libtiff/tif_dirwrite.c: Added support for TIFF_VARIABLE2 in the
+- case of writing TIFF_BYTE/TIFF_SBYTE fields.
++ case of writing TIFF_BYTE/TIFF_SBYTE fields.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=43
+
+@@ -4318,20 +4365,20 @@
+ with the inttypes.h include file on AIX.
+
+ See http://bugzilla.remotesensing.org/show_bug.cgi?id=39
+-
++
+ * VERSION: update to 3.5.7 beta in preparation for release.
+
+ * configure/config.site: modified to check if -lm is needed for
+ MACHDEPLIBS if not supplied by config.site. Needed for Darwin.
+
+- * config.guess: updated wholesale to an FSF version apparently
+- from 1998 (as opposed to 1994). This is mainly inspired by
++ * config.guess: updated wholesale to an FSF version apparently
++ from 1998 (as opposed to 1994). This is mainly inspired by
+ providing for MacOS X support.
+
+ 2001-03-29 Frank Warmerdam <warmerdam@pobox.com>
+
+ * configure, Makefile.in, etc: added support for OPTIMIZER being
+- set from config.site.
++ set from config.site.
+
+ 2001-03-28 Frank Warmerdam <warmerdam@pobox.com>
+
+@@ -4350,7 +4397,7 @@
+ (in particular short ones) print properly.
+
+ See http://bugzilla.remotesensing.org/show_bug.cgi?id=35
+-
++
+ * tiff2ps.c/tiff2ps.1: Substantial changes to tiff2ps by
+ Bruce A. Mallett. See check message for detailed information
+ on all the changes, including a faster encoder, fixes for level
+@@ -4358,7 +4405,7 @@
+
+ 2001-03-27 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tiffio.h: Changed "#if LOGLUV_PUBLIC" to
++ * libtiff/tiffio.h: Changed "#if LOGLUV_PUBLIC" to
+ "#ifdef LOGLUV_PUBLIC" so it will work with VisualAge on AIX.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=39
+@@ -4370,7 +4417,7 @@
+
+ 2001-03-13 Frank Warmerdam <warmerdam@pobox.com>
+
+- * tif_getimage.c: Added support for 16bit minisblack/miniswhite
++ * tif_getimage.c: Added support for 16bit minisblack/miniswhite
+ images in RGBA interface.
+
+ 2001-03-02 Frank Warmerdam <warmerdam@pobox.com>
+@@ -4381,29 +4428,29 @@
+
+ * Brent Roman contributed updated tiffcp utility (and tiffcp.1)
+ with support for extracting subimages with the ,n syntax, and also
+- adding the -b bias removal flag.
++ adding the -b bias removal flag.
+
+ 2001-02-16 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/libtiff.def: Brent Roman submitted new version adding
+- serveral missing entry points.
++ serveral missing entry points.
+
+ * libtiff/tif_dirinfo.c: don't declare tiffFieldInfo static on VMS.
+- Some sort of weird VMS thing.
++ Some sort of weird VMS thing.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=31
+
+- * tif_luv.c/tiff.h/tiffio.h:
+- New version of TIFF LogLuv (SGILOG) modules contributed by Greg Ward
++ * tif_luv.c/tiff.h/tiffio.h:
++ New version of TIFF LogLuv (SGILOG) modules contributed by Greg Ward
+ (greg@shutterfly.com). He writes:
+
+ 1) I improved the gamut-mapping function in tif_luv.c for imaginary
+- colors, because some images were being super-saturated on the input
++ colors, because some images were being super-saturated on the input
+ side and this resulted in some strange color shifts in the output.
+
+ 2) I added a psuedotag in tiff.h to control random dithering during
+- LogLuv encoding. This is turned off by default for 32-bit LogLuv and
+- on for 24-bit LogLuv output. Dithering improves the average color
++ LogLuv encoding. This is turned off by default for 32-bit LogLuv and
++ on for 24-bit LogLuv output. Dithering improves the average color
+ accuracy over the image.
+
+ 3) I added a #define for LOG_LUV_PUBLIC, which is enabled by default in
+@@ -4416,20 +4463,20 @@
+ 2001-01-23 Frank Warmerdam <warmerdam@pobox.com>
+
+ * tif_fax3.c: keep rw_mode flag internal to fax3 state to remember
+- whether we are encoding or decoding. This is to ensure graceful
++ whether we are encoding or decoding. This is to ensure graceful
+ recovery if TIFFClientOpen() discovers an attempt to open a compressed
+- file for "r+" access, and subsequently close it, as it resets the
++ file for "r+" access, and subsequently close it, as it resets the
+ tif_mode flag to O_RDONLY in this case to avoid writes, confusing the
+ compressor's concept of whether it is in encode or decode mode.
+
+-2001-01-08 Mike Welles <mike@bangstate.com>
++2001-01-08 Mike Welles <mike@bangstate.com>
+
+ * Makefile.in: Now cleaning up after itself after creating the .tar.gz and .zip
+-
++
+ 2001-01-07 Frank Warmerdam <warmerdam@pobox.com>
+
+ * html/libtiff.html: Fixed arguments in example for TIFFRGBAImageGet()
+- as per bug report by Patrick Connor.
++ as per bug report by Patrick Connor.
+
+ 2000-12-28 Frank Warmerdam <warmerdam@pobox.com>
+
+@@ -4437,12 +4484,12 @@
+
+ * Fixed libtiff/makefile.vc to make tiffvers.h not version.h.
+
+-2000-12-22 Mike Welles <mike@bangstate.com>
++2000-12-22 Mike Welles <mike@bangstate.com>
+ * added link to CVS mirror from index.html
+-
+- * updated html/internals.html to note that LZW compression is
+- not supported by default.
+-
++
++ * updated html/internals.html to note that LZW compression is
++ not supported by default.
++
+ 2000-12-22 Frank Warmerdam <warmerdam@pobox.com>
+
+ * updated html/libtiff.html to not point at Niles' old JPL web site
+@@ -4454,19 +4501,19 @@
+ Leonard Rosenthol <leonardr@lazerware.com>. May interfere
+ with correct building on older systems. If so, please let me know.
+
+-2000-12-19 Mike Welles <mike@bangsate.com>
++2000-12-19 Mike Welles <mike@bangsate.com>
+
+- * Took out LZW Encoding from tif_lzw.c
++ * Took out LZW Encoding from tif_lzw.c
+
+ * Created HOWTO-RELEASE
+
+ * Created html/v3.5.6.html
+
+ * updated index.html
+-
++
+ 2000-12-01 Frank Warmerdam <warmerdam@pobox.com>
+
+- * Added patches for EOFB support in tif_fax3.c and tif_fax3.h.
++ * Added patches for EOFB support in tif_fax3.c and tif_fax3.h.
+ Patches supplied by Frank Cringle <fdc@cliwe.ping.de>
+ Example file at: ftp://ftp.remotesensing.org/pub/libtiff/eofb_396.tif
+
+@@ -4480,30 +4527,30 @@
+ targets so libtiff.so will be built with an explicit dependency
+ on libm.so.
+
+- * libtiff/Makefile.in: Use softlinks to link libtiff.so.3 to
+- libtiff.so.3.5.5.
++ * libtiff/Makefile.in: Use softlinks to link libtiff.so.3 to
++ libtiff.so.3.5.5.
+
+- * libtiff/Makefile.in & configure: Remove all references to the ALPHA
+- file, or ALPHA version logic. Added stuff about DIST_POINT in
++ * libtiff/Makefile.in & configure: Remove all references to the ALPHA
++ file, or ALPHA version logic. Added stuff about DIST_POINT in
+ place of DIST_TYPE and the alpha release number stuff.
+
+ 2000-11-22 Frank Warmerdam <warmerdam@pobox.com>
+
+ * I have applied a patch from Steffen Moeller <moeller@ebi.ac.uk> to
+- the configure script so that it now accepts the --prefix, and
+- --exec-prefix directives.
++ the configure script so that it now accepts the --prefix, and
++ --exec-prefix directives.
+
+ 2000-11-13 Frank Warmerdam <warmerda@cs46980-c>
+
+- * I have made a variety of modifications in an effort to ensure the
++ * I have made a variety of modifications in an effort to ensure the
+ TIFFLIB_VERSION macro is automatically generated from the RELEASE-DATE
+- file which seems to be updated regularly.
++ file which seems to be updated regularly.
+
+- o mkversion.c now reads RELEASE-DATE and emits TIFFLIB_VERSION in
+- version include file.
+- o renamed version.h to tiffvers.h because we now have to install it
+- with the public libtiff include files.
+- o include tiffvers.h in tiffio.h.
++ o mkversion.c now reads RELEASE-DATE and emits TIFFLIB_VERSION in
++ version include file.
++ o renamed version.h to tiffvers.h because we now have to install it
++ with the public libtiff include files.
++ o include tiffvers.h in tiffio.h.
+ o updated tif_version.c to use tiffvers.h.
+ o Updated Makefile.in accordingly.
+
+@@ -4517,13 +4564,13 @@
+ See http://bugzilla.remotesensing.org/show_bug.cgi?id=20
+ Some patches from Rick LaMont of Dot C Software.
+
+- * Modified tif_packbits.c encoder to avoid compressing more
++ * Modified tif_packbits.c encoder to avoid compressing more
+ data than provided if rowsize doesn't factor into provided data
+ (such as occurs for YCbCr).
+
+ 2000-10-19 Frank Warmerdam <warmerda@cs46980-c>
+
+- * tools/rgb2ycbcr.c: fixed output strip size to account for vertical
++ * tools/rgb2ycbcr.c: fixed output strip size to account for vertical
+ roundup if rows_per_strip not a multiple of vertical sample size.
+
+ 2000-10-16 Frank Warmerdam <warmerda@cs46980-c>
+@@ -4539,8 +4586,8 @@
+ 2000-10-12 Frank Warmerdam <warmerda@cs46980-c>
+
+ * Modified tiff2bw to ensure portions add to 100%, and that
+- white is properly recovered.
+-
++ white is properly recovered.
++
+ See bug http://bugzilla.remotesensing.org/show_bug.cgi?id=15
+ Patch c/o Stanislav Brabec <utx@penguin.cz>
+
+@@ -4554,26 +4601,26 @@
+
+ 2000-09-27 Frank Warmerdam <warmerda@cs46980-c>
+
+- * Added GNULDdso target an`d switched linux and freebsd to use it.
++ * Added GNULDdso target an`d switched linux and freebsd to use it.
+
+ 2000-09-26 Frank Warmerdam <warmerda@cs46980-c>
+
+ * Applied patch for 0x0000 sequences in tif_fax3.h's definition
+- of EXPAND1D() as per bug 11 (from Roman).
++ of EXPAND1D() as per bug 11 (from Roman).
+
+ 2000-09-25 Frank Warmerdam <warmerda@cs46980-c>
+ * Fixed tiffcomp.h to avoid win32 stuff if unix #defined, to improve
+ cygwin compatibility.
+
+ * Applied patch from Roman Shpount to tif_fax3.c. This seems to
+- be a proper fix to the buffer sizing problem. See
++ be a proper fix to the buffer sizing problem. See
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=11
+
+ * Fixed tif_getimage.c to fix overrun bug with YCbCr images without
+ downsampling. http://bugzilla.remotesensing.org/show_bug.cgi?id=10
+ Thanks to Nick Lamb <njl98r@ecs.soton.ac.uk> for reporting the
+ bug and proving the patch.
+-
++
+ 2000-09-18 Frank Warmerdam <warmerda@cs46980-c>
+
+ * Fixed tif_jpeg.c so avoid destroying the decompressor before
+@@ -4603,15 +4650,15 @@
+ * Tentatively added support for SAMPLEFORMAT_COMPLEXIEEEFP, and
+ SAMPLEFORMAT_COMPLEXINT.
+
+-2000-07-13 Mike Welles <mike@onshore.com>
++2000-07-13 Mike Welles <mike@onshore.com>
++
++ * index.html, bugs.html: added bugzilla info.
+
+- * index.html, bugs.html: added bugzilla info.
+-
+ 2000-07-12 Frank Warmerdam <warmerda@rommel.atlsci.com>
+
+ * tif_read.c: fix subtle bug with determining the number of
+ rows for strips that are the last strip in a separation but
+- not the last strip of all in TIFFReadEncodedStrip().
++ not the last strip of all in TIFFReadEncodedStrip().
+
+ * Applied 16/32 bit fix to tif_fax3.c. Fix supplied by
+ Peter Skarpetis <peters@serendipity-software.com.au>
+@@ -4633,7 +4680,7 @@
+
+ * libtiff/tif_dirread.c: Don't use estimate strip byte count for
+ one tile/strip images with an offset, and byte count of zero. These
+- could be "unpopulated" images.
++ could be "unpopulated" images.
+
+ 2000-04-18 Frank Warmerdam <warmerda@rommel.atlsci.com>
+
+@@ -4648,17 +4695,17 @@ Tue Apr 18 16:18:08 2000 Frank Warmerdam <warmerda@esabot.atlsci.com>
+ 2000-04-12 Mike Welles <mike@onshore.com>
+ * configure: Fixed stupid mistake in libc6 test on Linux
+
+-2000-04-04 Mike Welles <mike@onshore.com>
++2000-04-04 Mike Welles <mike@onshore.com>
+ * tif_win32.c: Applied patch to fix overreads and ovverwrites
+- caught by BoundsChecker. From Arvan Pritchard
+- <arvan.pritchard@infomatix.co.uk> (untested).
+-
+- * tif_getimage.c: Applied patch to silence VC6 warnings. From
++ caught by BoundsChecker. From Arvan Pritchard
++ <arvan.pritchard@infomatix.co.uk> (untested).
++
++ * tif_getimage.c: Applied patch to silence VC6 warnings. From
+ Arvan Pritchard <arvan.pritchard@informatix.co.uk>
+-
+- * tif_lzw.c: Applied patch to silence VC6 warnings. From
++
++ * tif_lzw.c: Applied patch to silence VC6 warnings. From
+ Arvan Pritchard <arvan.pritchard@informatix.co.uk>
+-
++
+ 2000-03-28 Frank Warmerdam <warmerda@cs46980-c>
+
+ * Added contrib/stream (stream io) code submitted by Avi Bleiweiss.
+@@ -4668,34 +4715,34 @@ Tue Apr 18 16:18:08 2000 Frank Warmerdam <warmerda@esabot.atlsci.com>
+ * fax2ps: Fixed mixup of width and height in bounding box statement
+ as per submission by Nalin Dahyabhai <nalin@redhat.com>.
+
+-2000-03-27 Mike Welles <mike@onshore.com>
++2000-03-27 Mike Welles <mike@onshore.com>
+
+- * fax2ps: Modified printruns to take uint32 instead of uint16.
+- Patch courtesy of Bernt Herd <herd@herdsoft.com>
+-
+-2000-03-20 Mike Welles <mike@onshore.com>
++ * fax2ps: Modified printruns to take uint32 instead of uint16.
++ Patch courtesy of Bernt Herd <herd@herdsoft.com>
+
+- * configure: added test for libc6 for linux targets. Bug reported by
++2000-03-20 Mike Welles <mike@onshore.com>
++
++ * configure: added test for libc6 for linux targets. Bug reported by
+ Stanislav Brabec <utx@k332.feld.cvut.cz>
+
+- * Added 3.5 docs to html/Makefile.in.
++ * Added 3.5 docs to html/Makefile.in.
+ Thanks to Stanislav Brabec <utx@k332.feld.cvut.cz>
+
+- * configure: fixed bugs in sed scripts
+- (applied sed script s:/@:s;@:;s:/s;;:;: to configure).
++ * configure: fixed bugs in sed scripts
++ (applied sed script s:/@:s;@:;s:/s;;:;: to configure).
+ fix submitted to Stanislav Brabec <utx@k332.feld.cvut.cz>
+
+- * tools/iptcutil was not in files list, and wasn't being
++ * tools/iptcutil was not in files list, and wasn't being
+ added to tar archive. Updated Makefile.in.
+
+ 2000-03-17 Frank Warmerdam <warmerda@cs46980-c>
+
+ * tif_fax3.c: Fixed serious bug introduced during the uint16->uint32
+- conversion for the run arrays.
++ conversion for the run arrays.
+
+ 2000-03-03 Frank Warmerdam <warmerda@cs46980-c.mtnk1.on.wave.home.com>
+
+- * Set td_sampleformat default to SAMPLEFORMAT_UINT instead of
++ * Set td_sampleformat default to SAMPLEFORMAT_UINT instead of
+ SAMPLEFORMAT_VOID in TIFFDefaultDirectory() in tif_dir.c.
+
+ 2000-03-02 Frank Warmerdam <warmerda@cs46980-c.mtnk1.on.wave.home.com>
+@@ -4716,20 +4763,20 @@ Tue Feb 15 22:01:05 2000 Frank Warmerdam <warmerda@gdal.velocet.ca>
+ set to 1, and added default (off) setting in tiffconf.h. This
+ should eventually be set by the configure script somehow.
+
+- The original work on all these 2-4GB changes was done by
++ The original work on all these 2-4GB changes was done by
+ Peter Smith (psmith@creo.com).
+
+ * Modified tif_win32.c to support 2-4GB seeks.
+
+ * tentatively changed toff_t to be unsigned instead of signed to
+- facilitate support for 2-4GB files.
++ facilitate support for 2-4GB files.
+
+ * Updated a variety of files to use toff_t. Fixed some mixups
+ between toff_t and tsize_t.
+
+ Fri Jan 28 10:13:49 2000 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+- * Largely reimplemented contrib/addtiffo to avoid temp files,
++ * Largely reimplemented contrib/addtiffo to avoid temp files,
+ updating the TIFF file in place. Fixed a few other bugs to.
+
+ * Set tif_rawdatasize to zero when freeing raw data buffer in
+@@ -4738,7 +4785,7 @@ Fri Jan 28 10:13:49 2000 Frank Warmerdam <warmerda@gdal.velocet.ca>
+ * Enabled "REWRITE_HACK" in tif_write.c by default.
+
+ * Fix bug in tif_write.c when switching between reading one directory
+- and writing to another.
++ and writing to another.
+
+ * Made TIFFWriteCheck() public, and added TIFFCreateDirectory()
+
+@@ -4750,41 +4797,41 @@ Tue Jan 4 13:39:00 2000 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+ * Added libtiff/libtiff.def to TIFFILES distribution list.
+
+-Mon Dec 27 12:13:39 EST 1999 Mike Welles <mike@onshore.com>
++Mon Dec 27 12:13:39 EST 1999 Mike Welles <mike@onshore.com>
+
+- * Created lzw compression kit, as a new module (libtiff-lzw-compression-kit).
++ * Created lzw compression kit, as a new module (libtiff-lzw-compression-kit).
+
+ * Altered descriptions in tools to reflect "by default" lzw not supported
+
+- * Updated index.html to note lzw compression kit.
+-
++ * Updated index.html to note lzw compression kit.
++
+ Tue Dec 21 14:01:51 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+- * Added fax3sm_winnt.c to distribution list in Makefile.in.
++ * Added fax3sm_winnt.c to distribution list in Makefile.in.
+
+ Tue Dec 21 11:04:45 EST 1999 Mike Welles <mike@onshore.com> *** 3.5.4 release ***
+-
+- * Aadded Pixar tag support. Contributed by Phil Beffery <phil@pixar.com>
+
+- * Made one more change to tif_dir.c for removal of LZW compression. Also added notice
+- when LZW compression invoked.
++ * Aadded Pixar tag support. Contributed by Phil Beffery <phil@pixar.com>
++
++ * Made one more change to tif_dir.c for removal of LZW compression. Also added notice
++ when LZW compression invoked.
+
+ * Changed default compression in tools to TIFF_PACKBITS, and changed usage descriptions
+ in tools to reflect removal of LZW compression
+-
++
+ Mon Dec 20 18:39:02 EST 1999 Mike Welles <mike@onshore.com>
+
+- * Fixed bug that caused LZW (non) compression to segfault. Added
+- warning about LZW compression removed being removed, and why.
++ * Fixed bug that caused LZW (non) compression to segfault. Added
++ warning about LZW compression removed being removed, and why.
++
++ * Added nostrip to install in tools/Makefile.in so that debugging
++ symbols are kept.
+
+- * Added nostrip to install in tools/Makefile.in so that debugging
+- symbols are kept.
+-
+ Tue Dec 7 12:04:47 EST 1999 Mike Welles <mike@onshore.com>
+
+- * Added patch from Ivo Penzar <ivo.penzar@infolink-software.com>,
+- supporting Adobe ZIP deflate. Untested.
+-
++ * Added patch from Ivo Penzar <ivo.penzar@infolink-software.com>,
++ supporting Adobe ZIP deflate. Untested.
++
+ Sat Dec 4 15:47:11 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+ * Made Packbits the default compression in tools/tiff2rgba.c instead
+@@ -4794,12 +4841,12 @@ Tue Nov 30 14:41:43 1999 Frank Warmerdam <warmerda@gdal.velocet.ca> *** 3.5
+
+ * Added tif_luv to contrib/djgpp/Makefile.lib.
+
+-Tue Nov 30 14:15:32 EST 1999 Mike Welles <mike@onshore.com>
++Tue Nov 30 14:15:32 EST 1999 Mike Welles <mike@onshore.com>
++
++ * Added zip creation to relase makefile target
+
+- * Added zip creation to relase makefile target
++ * Added html for TIFFWriteTile.3t man page.
+
+- * Added html for TIFFWriteTile.3t man page.
+-
+ Tue Nov 30 09:20:16 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+ * Added some changes to tif_write.c to support rewriting existing
+@@ -4812,26 +4859,26 @@ Mon Nov 29 11:43:42 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+ Sun Nov 28 20:36:18 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+- * Added notes on use of makefile.vc in build.html, and fixed
++ * Added notes on use of makefile.vc in build.html, and fixed
+ email subscription address.
+
+-199-11-28 Mike Welles <mike@onshore.com>
++1999-11-28 Mike Welles <mike@onshore.com>
+
+- * Fixed apocalypse-inducing y2k bug in contrib/ras/ras2tiff.c
++ * Fixed apocalypse-inducing y2k bug in contrib/ras/ras2tiff.c
+
+ * Did some casts cleaning up to reduce compiler warnings in tif_fax3.c,
+- from Bruce Carmeron <cameron@petris.com> -- modifications of
+- changes made by Frank (sun cc still complained on cast).
++ from Bruce Carmeron <cameron@petris.com> -- modifications of
++ changes made by Frank (sun cc still complained on cast).
+
+ * Added tiffconf.h to install target per request from Bill
+ Radcliffe <billr@corbis.com>: "We need a way for ImageMagick to
+ know features have been compiled into the TIFF library in order to
+- handle things properly".
+-
++ handle things properly".
++
+ Sat Nov 27 16:49:21 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+ * fixed various VC++ warnings as suggested by Gilles Vollant
+- <info@winimage.com>.
++ <info@winimage.com>.
+
+ Wed Nov 24 12:08:16 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+@@ -4840,59 +4887,59 @@ Wed Nov 24 12:08:16 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+ 1999-11-22 Mike Welles <mike@onshore.com>
+ * HTML-ized the man pages, added to html/man
+-
+- * Removed LZW Compression to comply with Unisys patent extortion.
+-
+-1999-09-29 Mike Welles <mike@onshore.com>
+- * Corrected one remaining 16 -> 32 bit value in tif_fax3.c,
+- From Ivo Penzar <ivo.penzar@infolink-software.com.
++
++ * Removed LZW Compression to comply with Unisys patent extortion.
++
++1999-09-29 Mike Welles <mike@onshore.com>
++ * Corrected one remaining 16 -> 32 bit value in tif_fax3.c,
++ From Ivo Penzar <ivo.penzar@infolink-software.com.
+
+ * Added patch from Ivo Penzar to have TiffAdvanceDirectory handle
+ memory mapped files. <ivo.penzar@infolink-software.com>
+-
++
+ 1999-09-26 Mike Welles <mike@onshore.com> *** 3.5.2 release ***
+- * Corrected alpha versioning.
++ * Corrected alpha versioning.
+
+- * Removed distinction between alpha and release targets in Makefile.in.
++ * Removed distinction between alpha and release targets in Makefile.in.
+
+- * added release.stamp target, which tags cvs tree, and updates
++ * added release.stamp target, which tags cvs tree, and updates
+ "RELEASE-DATE"
+
+- * added releasediff target, which diffs tree with source as of
++ * added releasediff target, which diffs tree with source as of
+ date in "RELEASE-DATE"
+-
+- * Ticked up version to 3.5.2 (alpha 01 -- but I think we'll moving
+- away from alpha/non-alpha distinctions).
+
+- * updated html to reflect release
+-
++ * Ticked up version to 3.5.2 (alpha 01 -- but I think we'll moving
++ away from alpha/non-alpha distinctions).
++
++ * updated html to reflect release
++
+ 1999-09-23 <warmerda@CS46980-B>
+
+ * Set O_BINARY for tif_unix.c open() ... used on cygwin for instance.
+
+ * Added CYGWIN case in configure.
+
+-Fri Sep 17 00:13:51 CEST 1999 Mike Welles <mike@onshore.com>
++Fri Sep 17 00:13:51 CEST 1999 Mike Welles <mike@onshore.com>
++
++ * Applied Francois Dagand's patch to handle fax decompression bug.
++ (sizes >= 65536 were failing)
+
+- * Applied Francois Dagand's patch to handle fax decompression bug.
+- (sizes >= 65536 were failing)
+-
+ Tue Sep 14 21:31:43 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+- * Applied "a" mode fix to tif_win32.c/TIFFOpen() as suggested
++ * Applied "a" mode fix to tif_win32.c/TIFFOpen() as suggested
+ by Christopher Lawton <clawton@mathworks.com>
+
+ Wed Sep 8 08:19:18 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+- * Added IRIX/gcc, and OSF/1 4.x support on behalf of
++ * Added IRIX/gcc, and OSF/1 4.x support on behalf of
+ Albert Chin-A-Young <china@thewrittenword.com>
+
+- * Added TIFFReassignTagToIgnore() API on behalf of
++ * Added TIFFReassignTagToIgnore() API on behalf of
+ Bruce Cameron <cameron@petris.com>. Man page still pending.
+
+ Wed Aug 25 11:39:07 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+- * Added test target in Makefile, test_pics.sh script and pics/*.rpt
++ * Added test target in Makefile, test_pics.sh script and pics/*.rpt
+ files to provide for a rudimentary testsuite.
+
+ * Added contrib/tags back from old distribution ... fixed up a bit.
+@@ -4900,7 +4947,7 @@ Wed Aug 25 11:39:07 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+ 1999-08-16 <warmerda@CS46980-B>
+
+ * Added simple makefile.vc makefiles for building with MS VC++
+- on Windows NT/98/95 in console mode. Stuff in contrib/win* make give
++ on Windows NT/98/95 in console mode. Stuff in contrib/win* make give
+ better solutions for some users.
+
+ Mon Aug 16 21:52:11 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+@@ -4910,20 +4957,20 @@ Mon Aug 16 21:52:11 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+ 1999-08-16 Michael L. Welles <mike@kurtz.fake>
+
+- * Updated html/index.html with anon CVS instructions.
++ * Updated html/index.html with anon CVS instructions.
+
+ Mon Aug 16 13:18:41 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+- * pre-remove so link before softlink in LINUXdso action in
++ * pre-remove so link before softlink in LINUXdso action in
+ libtiff/Makefile.in to avoid failure on LINUXdso builds other than
+ the first.
+
+ * Fixed problem with cvtcmap() in tif_getimage.c modifying the
+ colormaps owned by the TIFF handle itself when trying to fixup wrong
+ (eight bit) colormaps. Corrected by maintaining a private copy of
+- the colormap.
++ the colormap.
+
+- * Added TIFFReadRGBATile()/TIFFReadRGBAStrip() support in
++ * Added TIFFReadRGBATile()/TIFFReadRGBAStrip() support in
+ tif_getimage.c.
+
+ * CVS Repository placed at remotesensing.org. ChangeLog added.
+diff --git a/Makefile.in b/Makefile.in
+index 72fbbf3..2ed5682 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/aclocal.m4 b/aclocal.m4
+index d7d14c8..9293eda 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -1,4 +1,4 @@
+-# generated automatically by aclocal 1.12.4 -*- Autoconf -*-
++# generated automatically by aclocal 1.12.5 -*- Autoconf -*-
+
+ # Copyright (C) 1996-2012 Free Software Foundation, Inc.
+
+@@ -34,7 +34,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
+ [am__api_version='1.12'
+ dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+ dnl require some minimum version. Point them to the right macro.
+-m4_if([$1], [1.12.4], [],
++m4_if([$1], [1.12.5], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+ ])
+
+@@ -50,7 +50,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
+ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+ # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+ AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+-[AM_AUTOMAKE_VERSION([1.12.4])dnl
++[AM_AUTOMAKE_VERSION([1.12.5])dnl
+ m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+diff --git a/build/Makefile.in b/build/Makefile.in
+index 1a316b1..cea7a08 100644
+--- a/build/Makefile.in
++++ b/build/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/Makefile.in b/contrib/Makefile.in
+index ae67554..72be7a3 100644
+--- a/contrib/Makefile.in
++++ b/contrib/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/acorn/Makefile.in b/contrib/acorn/Makefile.in
+index 1e966b4..5a73941 100644
+--- a/contrib/acorn/Makefile.in
++++ b/contrib/acorn/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/addtiffo/Makefile.in b/contrib/addtiffo/Makefile.in
+index 25a6e8b..e07640c 100644
+--- a/contrib/addtiffo/Makefile.in
++++ b/contrib/addtiffo/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/dbs/Makefile.in b/contrib/dbs/Makefile.in
+index f5b3ee5..d5e7b40 100644
+--- a/contrib/dbs/Makefile.in
++++ b/contrib/dbs/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/dbs/xtiff/Makefile.in b/contrib/dbs/xtiff/Makefile.in
+index 2d1ce94..c655c54 100644
+--- a/contrib/dbs/xtiff/Makefile.in
++++ b/contrib/dbs/xtiff/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/dbs/xtiff/xtiff.c b/contrib/dbs/xtiff/xtiff.c
+index 7fe3977..de0b2a7 100644
+--- a/contrib/dbs/xtiff/xtiff.c
++++ b/contrib/dbs/xtiff/xtiff.c
+@@ -1,5 +1,5 @@
+ /*
+- * $Id: xtiff.c,v 1.2.2.1 2010-06-08 18:50:40 bfriesen Exp $
++ * $Id: xtiff.c,v 1.2.2.2 2013-05-02 14:44:43 tgl Exp $
+ *
+ * xtiff - view a TIFF file in an X window
+ *
+@@ -512,9 +512,9 @@ SetNameLabel()
+ Arg args[1];
+
+ if (tfMultiPage)
+- sprintf(buffer, "%s - page %d", fileName, tfDirectory);
++ snprintf(buffer, sizeof(buffer), "%s - page %d", fileName, tfDirectory);
+ else
+- strcpy(buffer, fileName);
++ snprintf(buffer, sizeof(buffer), "%s", fileName);
+ XtSetArg(args[0], XtNlabel, buffer);
+ XtSetValues(labelWidget, args, 1);
+ }
+diff --git a/contrib/iptcutil/Makefile.in b/contrib/iptcutil/Makefile.in
+index 75b1ca3..5858c03 100644
+--- a/contrib/iptcutil/Makefile.in
++++ b/contrib/iptcutil/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/mac-cw/Makefile.in b/contrib/mac-cw/Makefile.in
+index a94a33a..054d44e 100644
+--- a/contrib/mac-cw/Makefile.in
++++ b/contrib/mac-cw/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/mac-mpw/Makefile.in b/contrib/mac-mpw/Makefile.in
+index 8fdaae1..7dd27d7 100644
+--- a/contrib/mac-mpw/Makefile.in
++++ b/contrib/mac-mpw/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/mfs/Makefile.in b/contrib/mfs/Makefile.in
+index 230c925..4ee41af 100644
+--- a/contrib/mfs/Makefile.in
++++ b/contrib/mfs/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/pds/Makefile.in b/contrib/pds/Makefile.in
+index 3511f62..fa0bcf7 100644
+--- a/contrib/pds/Makefile.in
++++ b/contrib/pds/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/ras/Makefile.in b/contrib/ras/Makefile.in
+index 88907bf..e33a00f 100644
+--- a/contrib/ras/Makefile.in
++++ b/contrib/ras/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/stream/Makefile.in b/contrib/stream/Makefile.in
+index 9c9dffb..1c36a7f 100644
+--- a/contrib/stream/Makefile.in
++++ b/contrib/stream/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/tags/Makefile.in b/contrib/tags/Makefile.in
+index e378f32..891d565 100644
+--- a/contrib/tags/Makefile.in
++++ b/contrib/tags/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/win_dib/Makefile.in b/contrib/win_dib/Makefile.in
+index 0f68e76..45bf928 100644
+--- a/contrib/win_dib/Makefile.in
++++ b/contrib/win_dib/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/html/Makefile.in b/html/Makefile.in
+index b9f86c8..a85ebd6 100644
+--- a/html/Makefile.in
++++ b/html/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/html/images/Makefile.in b/html/images/Makefile.in
+index 1b96240..eaf50a3 100644
+--- a/html/images/Makefile.in
++++ b/html/images/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/html/man/Makefile.in b/html/man/Makefile.in
+index 3a5278e..98226c3 100644
+--- a/html/man/Makefile.in
++++ b/html/man/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/libtiff/Makefile.in b/libtiff/Makefile.in
+index 6a7c415..69e59c7 100644
+--- a/libtiff/Makefile.in
++++ b/libtiff/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/libtiff/tif_codec.c b/libtiff/tif_codec.c
+index d5c6fd1..5a38184 100644
+--- a/libtiff/tif_codec.c
++++ b/libtiff/tif_codec.c
+@@ -1,4 +1,4 @@
+-/* $Id: tif_codec.c,v 1.10.2.2 2010-06-08 18:50:41 bfriesen Exp $ */
++/* $Id: tif_codec.c,v 1.10.2.3 2013-05-02 14:44:43 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1988-1997 Sam Leffler
+@@ -104,7 +104,8 @@ _notConfigured(TIFF* tif)
+ const TIFFCodec* c = TIFFFindCODEC(tif->tif_dir.td_compression);
+ char compression_code[20];
+
+- sprintf( compression_code, "%d", tif->tif_dir.td_compression );
++ snprintf(compression_code, sizeof(compression_code), "%d",
++ tif->tif_dir.td_compression );
+ TIFFErrorExt(tif->tif_clientdata, tif->tif_name,
+ "%s compression support is not configured",
+ c ? c->name : compression_code );
+diff --git a/libtiff/tif_dirinfo.c b/libtiff/tif_dirinfo.c
+index 76ef572..417a2e3 100644
+--- a/libtiff/tif_dirinfo.c
++++ b/libtiff/tif_dirinfo.c
+@@ -1,4 +1,4 @@
+-/* $Id: tif_dirinfo.c,v 1.65.2.10 2010-07-06 14:14:41 dron Exp $ */
++/* $Id: tif_dirinfo.c,v 1.65.2.11 2013-05-02 14:44:43 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1988-1997 Sam Leffler
+@@ -869,7 +869,7 @@ _TIFFCreateAnonFieldInfo(TIFF *tif, ttag_t tag, TIFFDataType field_type)
+ * note that this name is a special sign to TIFFClose() and
+ * _TIFFSetupFieldInfo() to free the field
+ */
+- sprintf(fld->field_name, "Tag %d", (int) tag);
++ snprintf(fld->field_name, 32, "Tag %d", (int) tag);
+
+ return fld;
+ }
+diff --git a/libtiff/tif_pixarlog.c b/libtiff/tif_pixarlog.c
+index ed8eb40..6e127fb 100644
+--- a/libtiff/tif_pixarlog.c
++++ b/libtiff/tif_pixarlog.c
+@@ -1,4 +1,4 @@
+-/* $Id: tif_pixarlog.c,v 1.15.2.4 2010-06-08 18:50:42 bfriesen Exp $ */
++/* $Id: tif_pixarlog.c,v 1.15.2.5 2012-12-10 17:38:54 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1996-1997 Sam Leffler
+@@ -117,9 +117,9 @@ horizontalAccumulateF(uint16 *wp, int n, int stride, float *op,
+ if (n >= stride) {
+ mask = CODE_MASK;
+ if (stride == 3) {
+- t0 = ToLinearF[cr = wp[0]];
+- t1 = ToLinearF[cg = wp[1]];
+- t2 = ToLinearF[cb = wp[2]];
++ t0 = ToLinearF[cr = (wp[0] & mask)];
++ t1 = ToLinearF[cg = (wp[1] & mask)];
++ t2 = ToLinearF[cb = (wp[2] & mask)];
+ op[0] = t0;
+ op[1] = t1;
+ op[2] = t2;
+@@ -136,10 +136,10 @@ horizontalAccumulateF(uint16 *wp, int n, int stride, float *op,
+ op[2] = t2;
+ }
+ } else if (stride == 4) {
+- t0 = ToLinearF[cr = wp[0]];
+- t1 = ToLinearF[cg = wp[1]];
+- t2 = ToLinearF[cb = wp[2]];
+- t3 = ToLinearF[ca = wp[3]];
++ t0 = ToLinearF[cr = (wp[0] & mask)];
++ t1 = ToLinearF[cg = (wp[1] & mask)];
++ t2 = ToLinearF[cb = (wp[2] & mask)];
++ t3 = ToLinearF[ca = (wp[3] & mask)];
+ op[0] = t0;
+ op[1] = t1;
+ op[2] = t2;
+@@ -183,9 +183,9 @@ horizontalAccumulate12(uint16 *wp, int n, int stride, int16 *op,
+ if (n >= stride) {
+ mask = CODE_MASK;
+ if (stride == 3) {
+- t0 = ToLinearF[cr = wp[0]] * SCALE12;
+- t1 = ToLinearF[cg = wp[1]] * SCALE12;
+- t2 = ToLinearF[cb = wp[2]] * SCALE12;
++ t0 = ToLinearF[cr = (wp[0] & mask)] * SCALE12;
++ t1 = ToLinearF[cg = (wp[1] & mask)] * SCALE12;
++ t2 = ToLinearF[cb = (wp[2] & mask)] * SCALE12;
+ op[0] = CLAMP12(t0);
+ op[1] = CLAMP12(t1);
+ op[2] = CLAMP12(t2);
+@@ -202,10 +202,10 @@ horizontalAccumulate12(uint16 *wp, int n, int stride, int16 *op,
+ op[2] = CLAMP12(t2);
+ }
+ } else if (stride == 4) {
+- t0 = ToLinearF[cr = wp[0]] * SCALE12;
+- t1 = ToLinearF[cg = wp[1]] * SCALE12;
+- t2 = ToLinearF[cb = wp[2]] * SCALE12;
+- t3 = ToLinearF[ca = wp[3]] * SCALE12;
++ t0 = ToLinearF[cr = (wp[0] & mask)] * SCALE12;
++ t1 = ToLinearF[cg = (wp[1] & mask)] * SCALE12;
++ t2 = ToLinearF[cb = (wp[2] & mask)] * SCALE12;
++ t3 = ToLinearF[ca = (wp[3] & mask)] * SCALE12;
+ op[0] = CLAMP12(t0);
+ op[1] = CLAMP12(t1);
+ op[2] = CLAMP12(t2);
+@@ -247,9 +247,9 @@ horizontalAccumulate16(uint16 *wp, int n, int stride, uint16 *op,
+ if (n >= stride) {
+ mask = CODE_MASK;
+ if (stride == 3) {
+- op[0] = ToLinear16[cr = wp[0]];
+- op[1] = ToLinear16[cg = wp[1]];
+- op[2] = ToLinear16[cb = wp[2]];
++ op[0] = ToLinear16[cr = (wp[0] & mask)];
++ op[1] = ToLinear16[cg = (wp[1] & mask)];
++ op[2] = ToLinear16[cb = (wp[2] & mask)];
+ n -= 3;
+ while (n > 0) {
+ wp += 3;
+@@ -260,10 +260,10 @@ horizontalAccumulate16(uint16 *wp, int n, int stride, uint16 *op,
+ op[2] = ToLinear16[(cb += wp[2]) & mask];
+ }
+ } else if (stride == 4) {
+- op[0] = ToLinear16[cr = wp[0]];
+- op[1] = ToLinear16[cg = wp[1]];
+- op[2] = ToLinear16[cb = wp[2]];
+- op[3] = ToLinear16[ca = wp[3]];
++ op[0] = ToLinear16[cr = (wp[0] & mask)];
++ op[1] = ToLinear16[cg = (wp[1] & mask)];
++ op[2] = ToLinear16[cb = (wp[2] & mask)];
++ op[3] = ToLinear16[ca = (wp[3] & mask)];
+ n -= 4;
+ while (n > 0) {
+ wp += 4;
+@@ -342,9 +342,9 @@ horizontalAccumulate8(uint16 *wp, int n, int stride, unsigned char *op,
+ if (n >= stride) {
+ mask = CODE_MASK;
+ if (stride == 3) {
+- op[0] = ToLinear8[cr = wp[0]];
+- op[1] = ToLinear8[cg = wp[1]];
+- op[2] = ToLinear8[cb = wp[2]];
++ op[0] = ToLinear8[cr = (wp[0] & mask)];
++ op[1] = ToLinear8[cg = (wp[1] & mask)];
++ op[2] = ToLinear8[cb = (wp[2] & mask)];
+ n -= 3;
+ while (n > 0) {
+ n -= 3;
+@@ -355,10 +355,10 @@ horizontalAccumulate8(uint16 *wp, int n, int stride, unsigned char *op,
+ op[2] = ToLinear8[(cb += wp[2]) & mask];
+ }
+ } else if (stride == 4) {
+- op[0] = ToLinear8[cr = wp[0]];
+- op[1] = ToLinear8[cg = wp[1]];
+- op[2] = ToLinear8[cb = wp[2]];
+- op[3] = ToLinear8[ca = wp[3]];
++ op[0] = ToLinear8[cr = (wp[0] & mask)];
++ op[1] = ToLinear8[cg = (wp[1] & mask)];
++ op[2] = ToLinear8[cb = (wp[2] & mask)];
++ op[3] = ToLinear8[ca = (wp[3] & mask)];
+ n -= 4;
+ while (n > 0) {
+ n -= 4;
+@@ -393,9 +393,9 @@ horizontalAccumulate8abgr(uint16 *wp, int n, int stride, unsigned char *op,
+ mask = CODE_MASK;
+ if (stride == 3) {
+ op[0] = 0;
+- t1 = ToLinear8[cb = wp[2]];
+- t2 = ToLinear8[cg = wp[1]];
+- t3 = ToLinear8[cr = wp[0]];
++ t1 = ToLinear8[cb = (wp[2] & mask)];
++ t2 = ToLinear8[cg = (wp[1] & mask)];
++ t3 = ToLinear8[cr = (wp[0] & mask)];
+ op[1] = t1;
+ op[2] = t2;
+ op[3] = t3;
+@@ -413,10 +413,10 @@ horizontalAccumulate8abgr(uint16 *wp, int n, int stride, unsigned char *op,
+ op[3] = t3;
+ }
+ } else if (stride == 4) {
+- t0 = ToLinear8[ca = wp[3]];
+- t1 = ToLinear8[cb = wp[2]];
+- t2 = ToLinear8[cg = wp[1]];
+- t3 = ToLinear8[cr = wp[0]];
++ t0 = ToLinear8[ca = (wp[3] & mask)];
++ t1 = ToLinear8[cb = (wp[2] & mask)];
++ t2 = ToLinear8[cg = (wp[1] & mask)];
++ t3 = ToLinear8[cr = (wp[0] & mask)];
+ op[0] = t0;
+ op[1] = t1;
+ op[2] = t2;
+@@ -630,10 +630,10 @@ PixarLogGuessDataFmt(TIFFDirectory *td)
+ return guess;
+ }
+
+-static uint32
+-multiply(size_t m1, size_t m2)
++static tsize_t
++multiply(tsize_t m1, tsize_t m2)
+ {
+- uint32 bytes = m1 * m2;
++ tsize_t bytes = m1 * m2;
+
+ if (m1 && bytes / m1 != m2)
+ bytes = 0;
+@@ -641,6 +641,20 @@ multiply(size_t m1, size_t m2)
+ return bytes;
+ }
+
++static tsize_t
++add_ms(tsize_t m1, tsize_t m2)
++{
++ tsize_t bytes = m1 + m2;
++
++ /* if either input is zero, assume overflow already occurred */
++ if (m1 == 0 || m2 == 0)
++ bytes = 0;
++ else if (bytes <= m1 || bytes <= m2)
++ bytes = 0;
++
++ return bytes;
++}
++
+ static int
+ PixarLogSetupDecode(TIFF* tif)
+ {
+@@ -661,6 +675,8 @@ PixarLogSetupDecode(TIFF* tif)
+ td->td_samplesperpixel : 1);
+ tbuf_size = multiply(multiply(multiply(sp->stride, td->td_imagewidth),
+ td->td_rowsperstrip), sizeof(uint16));
++ /* add one more stride in case input ends mid-stride */
++ tbuf_size = add_ms(tbuf_size, sizeof(uint16) * sp->stride);
+ if (tbuf_size == 0)
+ return (0);
+ sp->tbuf = (uint16 *) _TIFFmalloc(tbuf_size);
+diff --git a/libtiff/tif_print.c b/libtiff/tif_print.c
+index 7634f6e..2b255da 100644
+--- a/libtiff/tif_print.c
++++ b/libtiff/tif_print.c
+@@ -1,4 +1,4 @@
+-/* $Id: tif_print.c,v 1.36.2.5 2010-07-06 14:05:30 dron Exp $ */
++/* $Id: tif_print.c,v 1.36.2.6 2012-12-12 23:18:05 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1988-1997 Sam Leffler
+@@ -514,8 +514,19 @@ TIFFPrintDirectory(TIFF* tif, FILE* fd, long flags)
+ continue;
+
+ if(fip->field_passcount) {
+- if(TIFFGetField(tif, tag, &value_count, &raw_data) != 1)
++ if (fip->field_readcount == TIFF_VARIABLE2 ) {
++ if(TIFFGetField(tif, tag, &value_count, &raw_data) != 1)
++ continue;
++ } else if (fip->field_readcount == TIFF_VARIABLE ) {
++ uint16 small_value_count;
++ if(TIFFGetField(tif, tag, &small_value_count, &raw_data) != 1)
++ continue;
++ value_count = small_value_count;
++ } else {
++ assert (fip->field_readcount == TIFF_VARIABLE
++ || fip->field_readcount == TIFF_VARIABLE2);
+ continue;
++ }
+ } else {
+ if (fip->field_readcount == TIFF_VARIABLE
+ || fip->field_readcount == TIFF_VARIABLE2)
+diff --git a/man/Makefile.in b/man/Makefile.in
+index a007da7..cac0721 100644
+--- a/man/Makefile.in
++++ b/man/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/port/Makefile.in b/port/Makefile.in
+index 6674109..f95d58f 100644
+--- a/port/Makefile.in
++++ b/port/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/test/Makefile.in b/test/Makefile.in
+index 61ea1ff..f88959f 100644
+--- a/test/Makefile.in
++++ b/test/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/tools/Makefile.in b/tools/Makefile.in
+index 47dcec8..6f3d517 100644
+--- a/tools/Makefile.in
++++ b/tools/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/tools/ppm2tiff.c b/tools/ppm2tiff.c
+index 6078459..ec8be5d 100644
+--- a/tools/ppm2tiff.c
++++ b/tools/ppm2tiff.c
+@@ -1,4 +1,4 @@
+-/* $Id: ppm2tiff.c,v 1.13.2.2 2010-06-08 18:50:44 bfriesen Exp $ */
++/* $Id: ppm2tiff.c,v 1.13.2.3 2012-12-10 18:27:35 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1991-1997 Sam Leffler
+@@ -68,6 +68,17 @@ BadPPM(char* file)
+ exit(-2);
+ }
+
++static tsize_t
++multiply_ms(tsize_t m1, tsize_t m2)
++{
++ tsize_t bytes = m1 * m2;
++
++ if (m1 && bytes / m1 != m2)
++ bytes = 0;
++
++ return bytes;
++}
++
+ int
+ main(int argc, char* argv[])
+ {
+@@ -85,6 +96,7 @@ main(int argc, char* argv[])
+ int c;
+ extern int optind;
+ extern char* optarg;
++ tsize_t scanline_size;
+
+ if (argc < 2) {
+ fprintf(stderr, "%s: Too few arguments\n", argv[0]);
+@@ -217,7 +229,8 @@ main(int argc, char* argv[])
+ }
+ switch (bpp) {
+ case 1:
+- linebytes = (spp * w + (8 - 1)) / 8;
++ /* if round-up overflows, result will be zero, OK */
++ linebytes = (multiply_ms(spp, w) + (8 - 1)) / 8;
+ if (rowsperstrip == (uint32) -1) {
+ TIFFSetField(out, TIFFTAG_ROWSPERSTRIP, h);
+ } else {
+@@ -226,15 +239,31 @@ main(int argc, char* argv[])
+ }
+ break;
+ case 8:
+- linebytes = spp * w;
++ linebytes = multiply_ms(spp, w);
+ TIFFSetField(out, TIFFTAG_ROWSPERSTRIP,
+ TIFFDefaultStripSize(out, rowsperstrip));
+ break;
+ }
+- if (TIFFScanlineSize(out) > linebytes)
++ if (linebytes == 0) {
++ fprintf(stderr, "%s: scanline size overflow\n", infile);
++ (void) TIFFClose(out);
++ exit(-2);
++ }
++ scanline_size = TIFFScanlineSize(out);
++ if (scanline_size == 0) {
++ /* overflow - TIFFScanlineSize already printed a message */
++ (void) TIFFClose(out);
++ exit(-2);
++ }
++ if (scanline_size < linebytes)
+ buf = (unsigned char *)_TIFFmalloc(linebytes);
+ else
+- buf = (unsigned char *)_TIFFmalloc(TIFFScanlineSize(out));
++ buf = (unsigned char *)_TIFFmalloc(scanline_size);
++ if (buf == NULL) {
++ fprintf(stderr, "%s: Not enough memory\n", infile);
++ (void) TIFFClose(out);
++ exit(-2);
++ }
+ if (resolution > 0) {
+ TIFFSetField(out, TIFFTAG_XRESOLUTION, resolution);
+ TIFFSetField(out, TIFFTAG_YRESOLUTION, resolution);
+diff --git a/tools/rgb2ycbcr.c b/tools/rgb2ycbcr.c
+index 0b30b51..527c036 100644
+--- a/tools/rgb2ycbcr.c
++++ b/tools/rgb2ycbcr.c
+@@ -1,4 +1,4 @@
+-/* $Id: rgb2ycbcr.c,v 1.9.2.2 2010-06-08 18:50:44 bfriesen Exp $ */
++/* $Id: rgb2ycbcr.c,v 1.9.2.3 2013-05-02 14:44:44 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1991-1997 Sam Leffler
+@@ -326,7 +326,8 @@ tiffcvt(TIFF* in, TIFF* out)
+ TIFFSetField(out, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG);
+ { char buf[2048];
+ char *cp = strrchr(TIFFFileName(in), '/');
+- sprintf(buf, "YCbCr conversion of %s", cp ? cp+1 : TIFFFileName(in));
++ snprintf(buf, sizeof(buf), "YCbCr conversion of %s",
++ cp ? cp+1 : TIFFFileName(in));
+ TIFFSetField(out, TIFFTAG_IMAGEDESCRIPTION, buf);
+ }
+ TIFFSetField(out, TIFFTAG_SOFTWARE, TIFFGetVersion());
+diff --git a/tools/tiff2bw.c b/tools/tiff2bw.c
+index 8fbf061..98908d1 100644
+--- a/tools/tiff2bw.c
++++ b/tools/tiff2bw.c
+@@ -1,4 +1,4 @@
+-/* $Id: tiff2bw.c,v 1.12.2.2 2010-07-02 12:03:27 dron Exp $ */
++/* $Id: tiff2bw.c,v 1.12.2.3 2013-05-02 14:44:44 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1988-1997 Sam Leffler
+@@ -201,7 +201,7 @@ main(int argc, char* argv[])
+ }
+ }
+ TIFFSetField(out, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_MINISBLACK);
+- sprintf(thing, "B&W version of %s", argv[optind]);
++ snprintf(thing, sizeof(thing), "B&W version of %s", argv[optind]);
+ TIFFSetField(out, TIFFTAG_IMAGEDESCRIPTION, thing);
+ TIFFSetField(out, TIFFTAG_SOFTWARE, "tiff2bw");
+ outbuf = (unsigned char *)_TIFFmalloc(TIFFScanlineSize(out));
+diff --git a/tools/tiff2pdf.c b/tools/tiff2pdf.c
+index dee6435..c55b927 100644
+--- a/tools/tiff2pdf.c
++++ b/tools/tiff2pdf.c
+@@ -1,4 +1,4 @@
+-/* $Id: tiff2pdf.c,v 1.37.2.22 2012-07-19 15:43:31 tgl Exp $
++/* $Id: tiff2pdf.c,v 1.37.2.24 2013-05-02 14:54:18 tgl Exp $
+ *
+ * tiff2pdf - converts a TIFF image to a PDF document
+ *
+@@ -3337,33 +3337,56 @@ int t2p_process_jpeg_strip(
+ uint32 height){
+
+ tsize_t i=0;
+- uint16 ri =0;
+- uint16 v_samp=1;
+- uint16 h_samp=1;
+- int j=0;
+-
+- i++;
+-
+- while(i<(*striplength)){
++
++ while (i < *striplength) {
++ tsize_t datalen;
++ uint16 ri;
++ uint16 v_samp;
++ uint16 h_samp;
++ int j;
++ int ncomp;
++
++ /* marker header: one or more FFs */
++ if (strip[i] != 0xff)
++ return(0);
++ i++;
++ while (i < *striplength && strip[i] == 0xff)
++ i++;
++ if (i >= *striplength)
++ return(0);
++ /* SOI is the only pre-SOS marker without a length word */
++ if (strip[i] == 0xd8)
++ datalen = 0;
++ else {
++ if ((*striplength - i) <= 2)
++ return(0);
++ datalen = (strip[i+1] << 8) | strip[i+2];
++ if (datalen < 2 || datalen >= (*striplength - i))
++ return(0);
++ }
+ switch( strip[i] ){
+- case 0xd8:
+- /* SOI - start of image */
++ case 0xd8: /* SOI - start of image */
+ _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), 2);
+ *bufferoffset+=2;
+- i+=2;
+ break;
+- case 0xc0:
+- case 0xc1:
+- case 0xc3:
+- case 0xc9:
+- case 0xca:
++ case 0xc0: /* SOF0 */
++ case 0xc1: /* SOF1 */
++ case 0xc3: /* SOF3 */
++ case 0xc9: /* SOF9 */
++ case 0xca: /* SOF10 */
+ if(no==0){
+- _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), strip[i+2]+2);
+- for(j=0;j<buffer[*bufferoffset+9];j++){
+- if( (buffer[*bufferoffset+11+(2*j)]>>4) > h_samp)
+- h_samp = (buffer[*bufferoffset+11+(2*j)]>>4);
+- if( (buffer[*bufferoffset+11+(2*j)] & 0x0f) > v_samp)
+- v_samp = (buffer[*bufferoffset+11+(2*j)] & 0x0f);
++ _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), datalen+2);
++ ncomp = buffer[*bufferoffset+9];
++ if (ncomp < 1 || ncomp > 4)
++ return(0);
++ v_samp=1;
++ h_samp=1;
++ for(j=0;j<ncomp;j++){
++ uint16 samp = buffer[*bufferoffset+11+(3*j)];
++ if( (samp>>4) > h_samp)
++ h_samp = (samp>>4);
++ if( (samp & 0x0f) > v_samp)
++ v_samp = (samp & 0x0f);
+ }
+ v_samp*=8;
+ h_samp*=8;
+@@ -3377,45 +3400,43 @@ int t2p_process_jpeg_strip(
+ (unsigned char) ((height>>8) & 0xff);
+ buffer[*bufferoffset+6]=
+ (unsigned char) (height & 0xff);
+- *bufferoffset+=strip[i+2]+2;
+- i+=strip[i+2]+2;
+-
++ *bufferoffset+=datalen+2;
++ /* insert a DRI marker */
+ buffer[(*bufferoffset)++]=0xff;
+ buffer[(*bufferoffset)++]=0xdd;
+ buffer[(*bufferoffset)++]=0x00;
+ buffer[(*bufferoffset)++]=0x04;
+ buffer[(*bufferoffset)++]=(ri >> 8) & 0xff;
+ buffer[(*bufferoffset)++]= ri & 0xff;
+- } else {
+- i+=strip[i+2]+2;
+ }
+ break;
+- case 0xc4:
+- case 0xdb:
+- _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), strip[i+2]+2);
+- *bufferoffset+=strip[i+2]+2;
+- i+=strip[i+2]+2;
++ case 0xc4: /* DHT */
++ case 0xdb: /* DQT */
++ _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), datalen+2);
++ *bufferoffset+=datalen+2;
+ break;
+- case 0xda:
++ case 0xda: /* SOS */
+ if(no==0){
+- _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), strip[i+2]+2);
+- *bufferoffset+=strip[i+2]+2;
+- i+=strip[i+2]+2;
++ _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), datalen+2);
++ *bufferoffset+=datalen+2;
+ } else {
+ buffer[(*bufferoffset)++]=0xff;
+ buffer[(*bufferoffset)++]=
+ (unsigned char)(0xd0 | ((no-1)%8));
+- i+=strip[i+2]+2;
+ }
+- _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), (*striplength)-i-1);
+- *bufferoffset+=(*striplength)-i-1;
++ i += datalen + 1;
++ /* copy remainder of strip */
++ _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i]), *striplength - i);
++ *bufferoffset+= *striplength - i;
+ return(1);
+ default:
+- i+=strip[i+2]+2;
++ /* ignore any other marker */
++ break;
+ }
++ i += datalen + 1;
+ }
+-
+
++ /* failed to find SOS marker */
+ return(0);
+ }
+ #endif
+@@ -3605,7 +3626,9 @@ tsize_t t2p_write_pdf_header(T2P* t2p, TIFF* output){
+ char buffer[16];
+ int buflen=0;
+
+- buflen=sprintf(buffer, "%%PDF-%u.%u ", t2p->pdf_majorversion&0xff, t2p->pdf_minorversion&0xff);
++ buflen = snprintf(buffer, sizeof(buffer), "%%PDF-%u.%u ",
++ t2p->pdf_majorversion&0xff,
++ t2p->pdf_minorversion&0xff);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t)"\n%\342\343\317\323\n", 7);
+
+@@ -3619,10 +3642,10 @@ tsize_t t2p_write_pdf_header(T2P* t2p, TIFF* output){
+ tsize_t t2p_write_pdf_obj_start(uint32 number, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+- buflen=sprintf(buffer, "%lu", (unsigned long)number);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)number);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen );
+ written += t2pWriteFile(output, (tdata_t) " 0 obj\n", 7);
+
+@@ -3661,13 +3684,13 @@ tsize_t t2p_write_pdf_name(unsigned char* name, TIFF* output){
+ written += t2pWriteFile(output, (tdata_t) "/", 1);
+ for (i=0;i<namelen;i++){
+ if ( ((unsigned char)name[i]) < 0x21){
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ nextchar=1;
+ }
+ if ( ((unsigned char)name[i]) > 0x7E){
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ nextchar=1;
+@@ -3675,57 +3698,57 @@ tsize_t t2p_write_pdf_name(unsigned char* name, TIFF* output){
+ if (nextchar==0){
+ switch (name[i]){
+ case 0x23:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x25:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x28:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x29:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x2F:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x3C:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x3E:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x5B:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x5D:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x7B:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x7D:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+@@ -3840,14 +3863,14 @@ tsize_t t2p_write_pdf_stream_end(TIFF* output){
+ tsize_t t2p_write_pdf_stream_dict(tsize_t len, uint32 number, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+ written += t2pWriteFile(output, (tdata_t) "/Length ", 8);
+ if(len!=0){
+ written += t2p_write_pdf_stream_length(len, output);
+ } else {
+- buflen=sprintf(buffer, "%lu", (unsigned long)number);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)number);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R \n", 6);
+ }
+@@ -3888,10 +3911,10 @@ tsize_t t2p_write_pdf_stream_dict_end(TIFF* output){
+ tsize_t t2p_write_pdf_stream_length(tsize_t len, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+- buflen=sprintf(buffer, "%lu", (unsigned long)len);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)len);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "\n", 1);
+
+@@ -3905,7 +3928,7 @@ tsize_t t2p_write_pdf_stream_length(tsize_t len, TIFF* output){
+ tsize_t t2p_write_pdf_catalog(T2P* t2p, TIFF* output)
+ {
+ tsize_t written = 0;
+- char buffer[16];
++ char buffer[32];
+ int buflen = 0;
+
+ written += t2pWriteFile(output,
+@@ -3944,7 +3967,6 @@ tsize_t t2p_write_pdf_info(T2P* t2p, TIFF* input, TIFF* output)
+ written += t2p_write_pdf_string(t2p->pdf_datetime, output);
+ }
+ written += t2pWriteFile(output, (tdata_t) "\n/Producer ", 11);
+- _TIFFmemset((tdata_t)buffer, 0x00, sizeof(buffer));
+ snprintf(buffer, sizeof(buffer), "libtiff / tiff2pdf - %d", TIFFLIB_VERSION);
+ written += t2p_write_pdf_string(buffer, output);
+ written += t2pWriteFile(output, (tdata_t) "\n", 1);
+@@ -4085,7 +4107,7 @@ tsize_t t2p_write_pdf_pages(T2P* t2p, TIFF* output)
+ {
+ tsize_t written=0;
+ tdir_t i=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+ int page=0;
+@@ -4093,7 +4115,7 @@ tsize_t t2p_write_pdf_pages(T2P* t2p, TIFF* output)
+ (tdata_t) "<< \n/Type /Pages \n/Kids [ ", 26);
+ page = t2p->pdf_pages+1;
+ for (i=0;i<t2p->tiff_pagecount;i++){
+- buflen=sprintf(buffer, "%d", page);
++ buflen=snprintf(buffer, sizeof(buffer), "%d", page);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+ if ( ((i+1)%8)==0 ) {
+@@ -4108,8 +4130,7 @@ tsize_t t2p_write_pdf_pages(T2P* t2p, TIFF* output)
+ }
+ }
+ written += t2pWriteFile(output, (tdata_t) "] \n/Count ", 10);
+- _TIFFmemset(buffer, 0x00, 16);
+- buflen=sprintf(buffer, "%d", t2p->tiff_pagecount);
++ buflen=snprintf(buffer, sizeof(buffer), "%d", t2p->tiff_pagecount);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " \n>> \n", 6);
+
+@@ -4124,28 +4145,28 @@ tsize_t t2p_write_pdf_page(uint32 object, T2P* t2p, TIFF* output){
+
+ unsigned int i=0;
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[256];
+ int buflen=0;
+
+ written += t2pWriteFile(output, (tdata_t) "<<\n/Type /Page \n/Parent ", 24);
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->pdf_pages);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->pdf_pages);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R \n", 6);
+ written += t2pWriteFile(output, (tdata_t) "/MediaBox [", 11);
+- buflen=sprintf(buffer, "%.4f",t2p->pdf_mediabox.x1);
++ buflen=snprintf(buffer, sizeof(buffer), "%.4f",t2p->pdf_mediabox.x1);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " ", 1);
+- buflen=sprintf(buffer, "%.4f",t2p->pdf_mediabox.y1);
++ buflen=snprintf(buffer, sizeof(buffer), "%.4f",t2p->pdf_mediabox.y1);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " ", 1);
+- buflen=sprintf(buffer, "%.4f",t2p->pdf_mediabox.x2);
++ buflen=snprintf(buffer, sizeof(buffer), "%.4f",t2p->pdf_mediabox.x2);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " ", 1);
+- buflen=sprintf(buffer, "%.4f",t2p->pdf_mediabox.y2);
++ buflen=snprintf(buffer, sizeof(buffer), "%.4f",t2p->pdf_mediabox.y2);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "] \n", 3);
+ written += t2pWriteFile(output, (tdata_t) "/Contents ", 10);
+- buflen=sprintf(buffer, "%lu", (unsigned long)(object + 1));
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)(object + 1));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R \n", 6);
+ written += t2pWriteFile(output, (tdata_t) "/Resources << \n", 15);
+@@ -4153,15 +4174,13 @@ tsize_t t2p_write_pdf_page(uint32 object, T2P* t2p, TIFF* output){
+ written += t2pWriteFile(output, (tdata_t) "/XObject <<\n", 12);
+ for(i=0;i<t2p->tiff_tiles[t2p->pdf_page].tiles_tilecount;i++){
+ written += t2pWriteFile(output, (tdata_t) "/Im", 3);
+- buflen = sprintf(buffer, "%u", t2p->pdf_page+1);
++ buflen = snprintf(buffer, sizeof(buffer), "%u", t2p->pdf_page+1);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "_", 1);
+- buflen = sprintf(buffer, "%u", i+1);
++ buflen = snprintf(buffer, sizeof(buffer), "%u", i+1);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " ", 1);
+- buflen = sprintf(
+- buffer,
+- "%lu",
++ buflen = snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)(object+3+(2*i)+t2p->tiff_pages[t2p->pdf_page].page_extra));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+@@ -4173,12 +4192,10 @@ tsize_t t2p_write_pdf_page(uint32 object, T2P* t2p, TIFF* output){
+ } else {
+ written += t2pWriteFile(output, (tdata_t) "/XObject <<\n", 12);
+ written += t2pWriteFile(output, (tdata_t) "/Im", 3);
+- buflen = sprintf(buffer, "%u", t2p->pdf_page+1);
++ buflen = snprintf(buffer, sizeof(buffer), "%u", t2p->pdf_page+1);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " ", 1);
+- buflen = sprintf(
+- buffer,
+- "%lu",
++ buflen = snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)(object+3+(2*i)+t2p->tiff_pages[t2p->pdf_page].page_extra));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+@@ -4187,9 +4204,7 @@ tsize_t t2p_write_pdf_page(uint32 object, T2P* t2p, TIFF* output){
+ if(t2p->tiff_transferfunctioncount != 0) {
+ written += t2pWriteFile(output, (tdata_t) "/ExtGState <<", 13);
+ t2pWriteFile(output, (tdata_t) "/GS1 ", 5);
+- buflen = sprintf(
+- buffer,
+- "%lu",
++ buflen = snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)(object + 3));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+@@ -4562,7 +4577,7 @@ tsize_t t2p_write_pdf_page_content_stream(T2P* t2p, TIFF* output){
+ if(t2p->tiff_tiles[t2p->pdf_page].tiles_tilecount>0){
+ for(i=0;i<t2p->tiff_tiles[t2p->pdf_page].tiles_tilecount; i++){
+ box=t2p->tiff_tiles[t2p->pdf_page].tiles_tiles[i].tile_box;
+- buflen=sprintf(buffer,
++ buflen=snprintf(buffer, sizeof(buffer),
+ "q %s %.4f %.4f %.4f %.4f %.4f %.4f cm /Im%d_%ld Do Q\n",
+ t2p->tiff_transferfunctioncount?"/GS1 gs ":"",
+ box.mat[0],
+@@ -4577,7 +4592,7 @@ tsize_t t2p_write_pdf_page_content_stream(T2P* t2p, TIFF* output){
+ }
+ } else {
+ box=t2p->pdf_imagebox;
+- buflen=sprintf(buffer,
++ buflen=snprintf(buffer, sizeof(buffer),
+ "q %s %.4f %.4f %.4f %.4f %.4f %.4f cm /Im%d Do Q\n",
+ t2p->tiff_transferfunctioncount?"/GS1 gs ":"",
+ box.mat[0],
+@@ -4602,59 +4617,48 @@ tsize_t t2p_write_pdf_xobject_stream_dict(ttile_t tile,
+ TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+ written += t2p_write_pdf_stream_dict(0, t2p->pdf_xrefcount+1, output);
+ written += t2pWriteFile(output,
+ (tdata_t) "/Type /XObject \n/Subtype /Image \n/Name /Im",
+ 42);
+- buflen=sprintf(buffer, "%u", t2p->pdf_page+1);
++ buflen=snprintf(buffer, sizeof(buffer), "%u", t2p->pdf_page+1);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ if(tile != 0){
+ written += t2pWriteFile(output, (tdata_t) "_", 1);
+- buflen=sprintf(buffer, "%lu", (unsigned long)tile);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)tile);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ }
+ written += t2pWriteFile(output, (tdata_t) "\n/Width ", 8);
+- _TIFFmemset((tdata_t)buffer, 0x00, 16);
+ if(tile==0){
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->tiff_width);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->tiff_width);
+ } else {
+ if(t2p_tile_is_right_edge(t2p->tiff_tiles[t2p->pdf_page], tile-1)!=0){
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_edgetilewidth);
+ } else {
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_tilewidth);
+ }
+ }
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "\n/Height ", 9);
+- _TIFFmemset((tdata_t)buffer, 0x00, 16);
+ if(tile==0){
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->tiff_length);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->tiff_length);
+ } else {
+ if(t2p_tile_is_bottom_edge(t2p->tiff_tiles[t2p->pdf_page], tile-1)!=0){
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_edgetilelength);
+ } else {
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_tilelength);
+ }
+ }
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "\n/BitsPerComponent ", 19);
+- _TIFFmemset((tdata_t)buffer, 0x00, 16);
+- buflen=sprintf(buffer, "%u", t2p->tiff_bitspersample);
++ buflen=snprintf(buffer, sizeof(buffer), "%u", t2p->tiff_bitspersample);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "\n/ColorSpace ", 13);
+ written += t2p_write_pdf_xobject_cs(t2p, output);
+@@ -4698,11 +4702,10 @@ tsize_t t2p_write_pdf_xobject_cs(T2P* t2p, TIFF* output){
+ t2p->pdf_colorspace ^= T2P_CS_PALETTE;
+ written += t2p_write_pdf_xobject_cs(t2p, output);
+ t2p->pdf_colorspace |= T2P_CS_PALETTE;
+- buflen=sprintf(buffer, "%u", (0x0001 << t2p->tiff_bitspersample)-1 );
++ buflen=snprintf(buffer, sizeof(buffer), "%u", (0x0001 << t2p->tiff_bitspersample)-1 );
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " ", 1);
+- _TIFFmemset(buffer, 0x00, 16);
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->pdf_palettecs );
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->pdf_palettecs );
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ]\n", 7);
+ return(written);
+@@ -4736,10 +4739,10 @@ tsize_t t2p_write_pdf_xobject_cs(T2P* t2p, TIFF* output){
+ X_W /= Y_W;
+ Z_W /= Y_W;
+ Y_W = 1.0F;
+- buflen=sprintf(buffer, "[%.4f %.4f %.4f] \n", X_W, Y_W, Z_W);
++ buflen=snprintf(buffer, sizeof(buffer), "[%.4f %.4f %.4f] \n", X_W, Y_W, Z_W);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "/Range ", 7);
+- buflen=sprintf(buffer, "[%d %d %d %d] \n",
++ buflen=snprintf(buffer, sizeof(buffer), "[%d %d %d %d] \n",
+ t2p->pdf_labrange[0],
+ t2p->pdf_labrange[1],
+ t2p->pdf_labrange[2],
+@@ -4755,26 +4758,26 @@ tsize_t t2p_write_pdf_xobject_cs(T2P* t2p, TIFF* output){
+ tsize_t t2p_write_pdf_transfer(T2P* t2p, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+ written += t2pWriteFile(output, (tdata_t) "<< /Type /ExtGState \n/TR ", 25);
+ if(t2p->tiff_transferfunctioncount == 1){
+- buflen=sprintf(buffer, "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)(t2p->pdf_xrefcount + 1));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+ } else {
+ written += t2pWriteFile(output, (tdata_t) "[ ", 2);
+- buflen=sprintf(buffer, "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)(t2p->pdf_xrefcount + 1));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+- buflen=sprintf(buffer, "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)(t2p->pdf_xrefcount + 2));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+- buflen=sprintf(buffer, "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)(t2p->pdf_xrefcount + 3));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+@@ -4796,7 +4799,7 @@ tsize_t t2p_write_pdf_transfer_dict(T2P* t2p, TIFF* output, uint16 i){
+ written += t2pWriteFile(output, (tdata_t) "/FunctionType 0 \n", 17);
+ written += t2pWriteFile(output, (tdata_t) "/Domain [0.0 1.0] \n", 19);
+ written += t2pWriteFile(output, (tdata_t) "/Range [0.0 1.0] \n", 18);
+- buflen=sprintf(buffer, "/Size [%u] \n", (1<<t2p->tiff_bitspersample));
++ buflen=snprintf(buffer, sizeof(buffer), "/Size [%u] \n", (1<<t2p->tiff_bitspersample));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "/BitsPerSample 16 \n", 19);
+ written += t2p_write_pdf_stream_dict(1<<(t2p->tiff_bitspersample+1), 0, output);
+@@ -4823,7 +4826,7 @@ tsize_t t2p_write_pdf_transfer_stream(T2P* t2p, TIFF* output, uint16 i){
+ tsize_t t2p_write_pdf_xobject_calcs(T2P* t2p, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[128];
++ char buffer[256];
+ int buflen=0;
+
+ float X_W=0.0;
+@@ -4891,16 +4894,16 @@ tsize_t t2p_write_pdf_xobject_calcs(T2P* t2p, TIFF* output){
+ written += t2pWriteFile(output, (tdata_t) "<< \n", 4);
+ if(t2p->pdf_colorspace & T2P_CS_CALGRAY){
+ written += t2pWriteFile(output, (tdata_t) "/WhitePoint ", 12);
+- buflen=sprintf(buffer, "[%.4f %.4f %.4f] \n", X_W, Y_W, Z_W);
++ buflen=snprintf(buffer, sizeof(buffer), "[%.4f %.4f %.4f] \n", X_W, Y_W, Z_W);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "/Gamma 2.2 \n", 12);
+ }
+ if(t2p->pdf_colorspace & T2P_CS_CALRGB){
+ written += t2pWriteFile(output, (tdata_t) "/WhitePoint ", 12);
+- buflen=sprintf(buffer, "[%.4f %.4f %.4f] \n", X_W, Y_W, Z_W);
++ buflen=snprintf(buffer, sizeof(buffer), "[%.4f %.4f %.4f] \n", X_W, Y_W, Z_W);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "/Matrix ", 8);
+- buflen=sprintf(buffer, "[%.4f %.4f %.4f %.4f %.4f %.4f %.4f %.4f %.4f] \n",
++ buflen=snprintf(buffer, sizeof(buffer), "[%.4f %.4f %.4f %.4f %.4f %.4f %.4f %.4f %.4f] \n",
+ X_R, Y_R, Z_R,
+ X_G, Y_G, Z_G,
+ X_B, Y_B, Z_B);
+@@ -4919,11 +4922,11 @@ tsize_t t2p_write_pdf_xobject_calcs(T2P* t2p, TIFF* output){
+ tsize_t t2p_write_pdf_xobject_icccs(T2P* t2p, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+ written += t2pWriteFile(output, (tdata_t) "[/ICCBased ", 11);
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->pdf_icccs);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->pdf_icccs);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R] \n", 7);
+
+@@ -4933,11 +4936,11 @@ tsize_t t2p_write_pdf_xobject_icccs(T2P* t2p, TIFF* output){
+ tsize_t t2p_write_pdf_xobject_icccs_dict(T2P* t2p, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+ written += t2pWriteFile(output, (tdata_t) "/N ", 3);
+- buflen=sprintf(buffer, "%u \n", t2p->tiff_samplesperpixel);
++ buflen=snprintf(buffer, sizeof(buffer), "%u \n", t2p->tiff_samplesperpixel);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "/Alternate ", 11);
+ t2p->pdf_colorspace ^= T2P_CS_ICCBASED;
+@@ -5002,7 +5005,7 @@ tsize_t t2p_write_pdf_xobject_decode(T2P* t2p, TIFF* output){
+ tsize_t t2p_write_pdf_xobject_stream_filter(ttile_t tile, T2P* t2p, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+ if(t2p->pdf_compression==T2P_COMPRESS_NONE){
+@@ -5017,41 +5020,33 @@ tsize_t t2p_write_pdf_xobject_stream_filter(ttile_t tile, T2P* t2p, TIFF* output
+ written += t2pWriteFile(output, (tdata_t) "<< /K -1 ", 9);
+ if(tile==0){
+ written += t2pWriteFile(output, (tdata_t) "/Columns ", 9);
+- buflen=sprintf(buffer, "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_width);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " /Rows ", 7);
+- buflen=sprintf(buffer, "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_length);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ } else {
+ if(t2p_tile_is_right_edge(t2p->tiff_tiles[t2p->pdf_page], tile-1)==0){
+ written += t2pWriteFile(output, (tdata_t) "/Columns ", 9);
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_tilewidth);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ } else {
+ written += t2pWriteFile(output, (tdata_t) "/Columns ", 9);
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_edgetilewidth);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ }
+ if(t2p_tile_is_bottom_edge(t2p->tiff_tiles[t2p->pdf_page], tile-1)==0){
+ written += t2pWriteFile(output, (tdata_t) " /Rows ", 7);
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_tilelength);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ } else {
+ written += t2pWriteFile(output, (tdata_t) " /Rows ", 7);
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_edgetilelength);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ }
+@@ -5078,21 +5073,17 @@ tsize_t t2p_write_pdf_xobject_stream_filter(ttile_t tile, T2P* t2p, TIFF* output
+ if(t2p->pdf_compressionquality%100){
+ written += t2pWriteFile(output, (tdata_t) "/DecodeParms ", 13);
+ written += t2pWriteFile(output, (tdata_t) "<< /Predictor ", 14);
+- _TIFFmemset(buffer, 0x00, 16);
+- buflen=sprintf(buffer, "%u", t2p->pdf_compressionquality%100);
++ buflen=snprintf(buffer, sizeof(buffer), "%u", t2p->pdf_compressionquality%100);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " /Columns ", 10);
+- _TIFFmemset(buffer, 0x00, 16);
+- buflen = sprintf(buffer, "%lu",
++ buflen = snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_width);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " /Colors ", 9);
+- _TIFFmemset(buffer, 0x00, 16);
+- buflen=sprintf(buffer, "%u", t2p->tiff_samplesperpixel);
++ buflen=snprintf(buffer, sizeof(buffer), "%u", t2p->tiff_samplesperpixel);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " /BitsPerComponent ", 19);
+- _TIFFmemset(buffer, 0x00, 16);
+- buflen=sprintf(buffer, "%u", t2p->tiff_bitspersample);
++ buflen=snprintf(buffer, sizeof(buffer), "%u", t2p->tiff_bitspersample);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) ">>\n", 3);
+ }
+@@ -5112,16 +5103,16 @@ tsize_t t2p_write_pdf_xobject_stream_filter(ttile_t tile, T2P* t2p, TIFF* output
+ tsize_t t2p_write_pdf_xreftable(T2P* t2p, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[21];
++ char buffer[64];
+ int buflen=0;
+ uint32 i=0;
+
+ written += t2pWriteFile(output, (tdata_t) "xref\n0 ", 7);
+- buflen=sprintf(buffer, "%lu", (unsigned long)(t2p->pdf_xrefcount + 1));
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)(t2p->pdf_xrefcount + 1));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " \n0000000000 65535 f \n", 22);
+ for (i=0;i<t2p->pdf_xrefcount;i++){
+- sprintf(buffer, "%.10lu 00000 n \n",
++ snprintf(buffer, sizeof(buffer), "%.10lu 00000 n \n",
+ (unsigned long)t2p->pdf_xrefoffsets[i]);
+ written += t2pWriteFile(output, (tdata_t) buffer, 20);
+ }
+@@ -5145,17 +5136,14 @@ tsize_t t2p_write_pdf_trailer(T2P* t2p, TIFF* output)
+ snprintf(t2p->pdf_fileid + i, 9, "%.8X", rand());
+
+ written += t2pWriteFile(output, (tdata_t) "trailer\n<<\n/Size ", 17);
+- buflen = sprintf(buffer, "%lu", (unsigned long)(t2p->pdf_xrefcount+1));
++ buflen = snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)(t2p->pdf_xrefcount+1));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+- _TIFFmemset(buffer, 0x00, 32);
+ written += t2pWriteFile(output, (tdata_t) "\n/Root ", 7);
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->pdf_catalog);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->pdf_catalog);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+- _TIFFmemset(buffer, 0x00, 32);
+ written += t2pWriteFile(output, (tdata_t) " 0 R \n/Info ", 12);
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->pdf_info);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->pdf_info);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+- _TIFFmemset(buffer, 0x00, 32);
+ written += t2pWriteFile(output, (tdata_t) " 0 R \n/ID[<", 11);
+ written += t2pWriteFile(output, (tdata_t) t2p->pdf_fileid,
+ sizeof(t2p->pdf_fileid) - 1);
+@@ -5163,9 +5151,8 @@ tsize_t t2p_write_pdf_trailer(T2P* t2p, TIFF* output)
+ written += t2pWriteFile(output, (tdata_t) t2p->pdf_fileid,
+ sizeof(t2p->pdf_fileid) - 1);
+ written += t2pWriteFile(output, (tdata_t) ">]\n>>\nstartxref\n", 16);
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->pdf_startxref);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->pdf_startxref);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+- _TIFFmemset(buffer, 0x00, 32);
+ written += t2pWriteFile(output, (tdata_t) "\n%%EOF\n", 7);
+
+ return(written);
+diff --git a/tools/tiff2ps.c b/tools/tiff2ps.c
+index 2d02b23..b9befe7 100644
+--- a/tools/tiff2ps.c
++++ b/tools/tiff2ps.c
+@@ -1,4 +1,4 @@
+-/* $Id: tiff2ps.c,v 1.35.2.7 2011-04-09 16:53:56 bfriesen Exp $ */
++/* $Id: tiff2ps.c,v 1.35.2.9 2013-05-02 14:44:44 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1988-1997 Sam Leffler
+@@ -44,6 +44,11 @@
+
+ /*
+ * Revision history
++ * 2013-Jan-21
++ * Richard Nolde: Fix bug in auto rotate option code. Once a
++ * rotation angle was set by the auto rotate check, it was
++ * retained for all pages that followed instead of being
++ * retested for each page.
+ *
+ * 2010-Sep-17
+ * Richard Nolde: Reinstate code from Feb 2009 that never got
+@@ -423,9 +428,10 @@ main(int argc, char* argv[])
+ /* auto rotate requires a specified page width and height */
+ if (auto_rotate == TRUE)
+ {
++ /*
+ if ((pageWidth == 0) || (pageHeight == 0))
+ TIFFWarning ("-r auto", " requires page height and width specified with -h and -w");
+-
++ */
+ if ((maxPageWidth > 0) || (maxPageHeight > 0))
+ {
+ TIFFError ("-r auto", " is incompatible with maximum page width/height specified by -H or -W");
+@@ -1594,6 +1600,8 @@ int TIFF2PS(FILE* fd, TIFF* tif, double pgwidth, double pgheight, double lm, dou
+ }
+ if (generateEPSF)
+ break;
++ if (auto_rotate)
++ rotation = 0.0;
+ TIFFGetFieldDefaulted(tif, TIFFTAG_SUBFILETYPE, &subfiletype);
+ } while (((subfiletype & FILETYPE_PAGE) || printAll) && TIFFReadDirectory(tif));
+
+@@ -1783,8 +1791,8 @@ PS_Lvl2ImageDict(FILE* fd, TIFF* tif, uint32 w, uint32 h)
+ imageOp = "imagemask";
+
+ (void)strcpy(im_x, "0");
+- (void)sprintf(im_y, "%lu", (long) h);
+- (void)sprintf(im_h, "%lu", (long) h);
++ (void)snprintf(im_y, sizeof(im_y), "%lu", (long) h);
++ (void)snprintf(im_h, sizeof(im_h), "%lu", (long) h);
+ tile_width = w;
+ tile_height = h;
+ if (TIFFIsTiled(tif)) {
+@@ -1805,7 +1813,7 @@ PS_Lvl2ImageDict(FILE* fd, TIFF* tif, uint32 w, uint32 h)
+ }
+ if (tile_height < h) {
+ fputs("/im_y 0 def\n", fd);
+- (void)sprintf(im_y, "%lu im_y sub", (unsigned long) h);
++ (void)snprintf(im_y, sizeof(im_y), "%lu im_y sub", (unsigned long) h);
+ }
+ } else {
+ repeat_count = tf_numberstrips;
+@@ -1817,7 +1825,7 @@ PS_Lvl2ImageDict(FILE* fd, TIFF* tif, uint32 w, uint32 h)
+ fprintf(fd, "/im_h %lu def\n",
+ (unsigned long) tile_height);
+ (void)strcpy(im_h, "im_h");
+- (void)sprintf(im_y, "%lu im_y sub", (unsigned long) h);
++ (void)snprintf(im_y, sizeof(im_y), "%lu im_y sub", (unsigned long) h);
+ }
+ }
+
+diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c
+index d00c912..6c53e74 100644
+--- a/tools/tiffcrop.c
++++ b/tools/tiffcrop.c
+@@ -1,4 +1,4 @@
+-/* $Id: tiffcrop.c,v 1.3.2.15 2010-12-14 02:03:55 faxguy Exp $ */
++/* $Id: tiffcrop.c,v 1.3.2.16 2013-05-02 14:44:44 tgl Exp $ */
+
+ /* tiffcrop.c -- a port of tiffcp.c extended to include manipulations of
+ * the image data through additional options listed below
+@@ -2077,7 +2077,7 @@ update_output_file (TIFF **tiffout, char *mode, int autoindex,
+ return 1;
+ }
+
+- sprintf (filenum, "-%03d%s", findex, export_ext);
++ snprintf(filenum, sizeof(filenum), "-%03d%s", findex, export_ext);
+ filenum[14] = '\0';
+ strncat (exportname, filenum, 15);
+ }
+@@ -2230,8 +2230,8 @@ main(int argc, char* argv[])
+
+ /* dump.infilename is guaranteed to be NUL termimated and have 20 bytes
+ fewer than PATH_MAX */
+- memset (temp_filename, '\0', PATH_MAX + 1);
+- sprintf (temp_filename, "%s-read-%03d.%s", dump.infilename, dump_images,
++ snprintf(temp_filename, sizeof(temp_filename), "%s-read-%03d.%s",
++ dump.infilename, dump_images,
+ (dump.format == DUMP_TEXT) ? "txt" : "raw");
+ if ((dump.infile = fopen(temp_filename, dump.mode)) == NULL)
+ {
+@@ -2249,8 +2249,8 @@ main(int argc, char* argv[])
+
+ /* dump.outfilename is guaranteed to be NUL termimated and have 20 bytes
+ fewer than PATH_MAX */
+- memset (temp_filename, '\0', PATH_MAX + 1);
+- sprintf (temp_filename, "%s-write-%03d.%s", dump.outfilename, dump_images,
++ snprintf(temp_filename, sizeof(temp_filename), "%s-write-%03d.%s",
++ dump.outfilename, dump_images,
+ (dump.format == DUMP_TEXT) ? "txt" : "raw");
+ if ((dump.outfile = fopen(temp_filename, dump.mode)) == NULL)
+ {
+diff --git a/tools/tiffdither.c b/tools/tiffdither.c
+index dee2a02..a0cb857 100644
+--- a/tools/tiffdither.c
++++ b/tools/tiffdither.c
+@@ -1,4 +1,4 @@
+-/* $Id: tiffdither.c,v 1.9.2.1 2010-06-08 18:50:44 bfriesen Exp $ */
++/* $Id: tiffdither.c,v 1.9.2.2 2013-05-02 14:44:45 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1988-1997 Sam Leffler
+@@ -256,7 +256,7 @@ main(int argc, char* argv[])
+ TIFFSetField(out, TIFFTAG_FILLORDER, fillorder);
+ else
+ CopyField(TIFFTAG_FILLORDER, shortv);
+- sprintf(thing, "Dithered B&W version of %s", argv[optind]);
++ snprintf(thing, sizeof(thing), "Dithered B&W version of %s", argv[optind]);
+ TIFFSetField(out, TIFFTAG_IMAGEDESCRIPTION, thing);
+ CopyField(TIFFTAG_PHOTOMETRIC, shortv);
+ CopyField(TIFFTAG_ORIENTATION, shortv);
diff --git a/source/l/libtiff/tiff-3.9.7_CVE-2013-4231.diff b/source/l/libtiff/tiff-3.9.7_CVE-2013-4231.diff
new file mode 100644
index 00000000..79eeb449
--- /dev/null
+++ b/source/l/libtiff/tiff-3.9.7_CVE-2013-4231.diff
@@ -0,0 +1,23 @@
+From 5d19703933eaa59f97be9c88237fe00593f180ae Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Mon, 19 Aug 2013
+Subject: CVE-2013-4231
+
+* tools/gif2tiff.c: Be more careful about corrupt or
+ hostile input files (#2450, CVE-2013-4231)
+
+---
+ gif2tiff.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/tools/gif2tiff.c 2013-08-20
++++ b/tools/gif2tiff.c 2013-08-20
+@@ -329,6 +329,8 @@ readraster(void)
+ int status = 1;
+
+ datasize = getc(infile);
++ if (datasize > 12)
++ return 0;
+ clear = 1 << datasize;
+ eoi = clear + 1;
+ avail = clear + 2;
diff --git a/source/l/libtiff/tiff-3.9.7_CVE-2013-4232.diff b/source/l/libtiff/tiff-3.9.7_CVE-2013-4232.diff
new file mode 100644
index 00000000..b86f8f4a
--- /dev/null
+++ b/source/l/libtiff/tiff-3.9.7_CVE-2013-4232.diff
@@ -0,0 +1,24 @@
+From 8a2f9160cc4c52c73a62adef4d9282b2bd6e7ff1 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Mon, 19 Aug 2013
+Subject: CVE-2013-4232
+
+* tools/tiff2pdf.c: terminate after failure of allocating
+ ycbcr buffer (bug #2449, CVE-2013-4232)
+
+---
+ tiff2pdf.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/tools/tiff2pdf.c 2013-08-20
++++ b/tools/tiff2pdf.c 2013-08-20
+@@ -2457,7 +2457,8 @@ tsize_t t2p_readwrite_pdf_image(T2P* t2p
+ t2p->tiff_datasize,
+ TIFFFileName(input));
+ t2p->t2p_error = T2P_ERR_ERROR;
+- _TIFFfree(buffer);
++ _TIFFfree(buffer);
++ return(0);
+ } else {
+ buffer=samplebuffer;
+ t2p->tiff_datasize *= t2p->tiff_samplesperpixel;
diff --git a/source/l/libtiff/tiff-3.9.7_CVE-2013-4244.diff b/source/l/libtiff/tiff-3.9.7_CVE-2013-4244.diff
new file mode 100644
index 00000000..4f8c5432
--- /dev/null
+++ b/source/l/libtiff/tiff-3.9.7_CVE-2013-4244.diff
@@ -0,0 +1,24 @@
+From 7f4cfaec643863fcdc260da46af8d6581974101d Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Mon, 19 Aug 2013
+Subject: CVE-2013-4244
+
+* tools/gif2tiff.c: fix possible OOB write (#2452, CVE-2013-4244)
+
+---
+ gif2tiff.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/tools/gif2tiff.c 2013-08-20
++++ b/tools/gif2tiff.c 2013-08-20
+@@ -396,6 +398,10 @@ process(register int code, unsigned char
+ }
+
+ if (oldcode == -1) {
++ if (code >= clear) {
++ fprintf(stderr, "bad input: code=%d is larger than clear=%d\n",code, clear);
++ return 0;
++ }
+ *(*fill)++ = suffix[code];
+ firstchar = oldcode = code;
+ return 1;
diff --git a/source/l/libunistring/libunistring.SlackBuild b/source/l/libunistring/libunistring.SlackBuild
new file mode 100755
index 00000000..457205bd
--- /dev/null
+++ b/source/l/libunistring/libunistring.SlackBuild
@@ -0,0 +1,150 @@
+#!/bin/sh
+
+# Copyright 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=libunistring
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Configure:
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --disable-rpath \
+ --build=$ARCH-slackware-linux
+
+# Build and install:
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Strip binaries:
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS BUGS COPYING* DEPENDENCIES HACKING INSTALL NEWS README* THANKS \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# Compress and if needed symlink the man pages:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+# Compress info files, if any:
+if [ -d $PKG/usr/info ]; then
+ ( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+ )
+fi
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/l/libunistring/slack-desc b/source/l/libunistring/slack-desc
new file mode 100644
index 00000000..81063dea
--- /dev/null
+++ b/source/l/libunistring/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libunistring: libunistring (GNU Unicode string library)
+libunistring:
+libunistring: This library provides functions for manipulating Unicode strings and
+libunistring: for manipulating C strings according to the Unicode standard.
+libunistring:
+libunistring: Homepage: http://www.gnu.org/s/libunistring
+libunistring:
+libunistring:
+libunistring:
+libunistring:
+libunistring:
diff --git a/source/l/libusb/libusb.SlackBuild b/source/l/libusb/libusb.SlackBuild
index 64b32c3d..d9a7b2ba 100755
--- a/source/l/libusb/libusb.SlackBuild
+++ b/source/l/libusb/libusb.SlackBuild
@@ -80,10 +80,6 @@ CFLAGS="$SLKCFLAGS" \
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG
-if [ ! -r /usr/lib${LIBDIRSUFFIX}/pkgconfig/libusb-1.0.pc ]; then
- # We have to install this to proceed:
- make install
-fi
mkdir -p $PKG/usr/doc/libusb-$VERSION
cp -a \
diff --git a/source/l/libwnck/libwnck.SlackBuild b/source/l/libwnck/libwnck.SlackBuild
index bcaed3c6..e1d6ab9c 100755
--- a/source/l/libwnck/libwnck.SlackBuild
+++ b/source/l/libwnck/libwnck.SlackBuild
@@ -23,7 +23,7 @@
PKGNAM=libwnck
VERSION=${VERSION:-$(echo libwnck-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
NUMJOBS=${NUMJOBS:-" -j7 "}
diff --git a/source/l/libxklavier/libxklavier.SlackBuild b/source/l/libxklavier/libxklavier.SlackBuild
index 5d917d52..428036f8 100755
--- a/source/l/libxklavier/libxklavier.SlackBuild
+++ b/source/l/libxklavier/libxklavier.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2007-2008 Heinz Wiesinger <pprkut@liwjatan.at>
+# Copyright 2007, 2008, 2013 Heinz Wiesinger, Amsterdam, The Netherlands
# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
@@ -26,7 +26,7 @@
VERSION=${VERSION:-$(echo libxklavier-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
-NUMJOBS=${NUMJOBS:--j6}
+NUMJOBS=${NUMJOBS:-" -j7 "}
# Automatically determine architecture for build & packaging:
if [ -z "$ARCH" ]; then
diff --git a/source/l/libxml2/libxml2.SlackBuild b/source/l/libxml2/libxml2.SlackBuild
index bd1b759a..1f44142c 100755
--- a/source/l/libxml2/libxml2.SlackBuild
+++ b/source/l/libxml2/libxml2.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -68,6 +68,8 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+zcat $CWD/libxml2.do-not-check-crc.diff.gz | patch -p1 --verbose || exit 1
+
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
diff --git a/source/l/libxml2/libxml2.do-not-check-crc.diff b/source/l/libxml2/libxml2.do-not-check-crc.diff
new file mode 100644
index 00000000..3e650776
--- /dev/null
+++ b/source/l/libxml2/libxml2.do-not-check-crc.diff
@@ -0,0 +1,35 @@
+diff -up libxml2-2.9.0/xzlib.c.do-not-check-crc libxml2-2.9.0/xzlib.c
+--- libxml2-2.9.0/xzlib.c.do-not-check-crc 2012-09-11 05:52:46.000000000 +0200
++++ libxml2-2.9.0/xzlib.c 2012-11-19 19:28:42.431700534 +0100
+@@ -552,17 +552,20 @@ xz_decomp(xz_statep state)
+ #ifdef HAVE_ZLIB_H
+ if (state->how == GZIP) {
+ if (gz_next4(state, &crc) == -1 || gz_next4(state, &len) == -1) {
+- xz_error(state, LZMA_DATA_ERROR, "unexpected end of file");
+- return -1;
+- }
+- if (crc != state->zstrm.adler) {
+- xz_error(state, LZMA_DATA_ERROR, "incorrect data check");
+- return -1;
+- }
+- if (len != (state->zstrm.total_out & 0xffffffffL)) {
+- xz_error(state, LZMA_DATA_ERROR, "incorrect length check");
+- return -1;
+- }
++ /*
++ xz_error(state, LZMA_DATA_ERROR, "unexpected end of file");
++ return -1;
++ */
++ } else {
++ if (crc != state->zstrm.adler) {
++ xz_error(state, LZMA_DATA_ERROR, "incorrect data check");
++ return -1;
++ }
++ if (len != (state->zstrm.total_out & 0xffffffffL)) {
++ xz_error(state, LZMA_DATA_ERROR, "incorrect length check");
++ return -1;
++ }
++ }
+ state->strm.avail_in = 0;
+ state->strm.next_in = NULL;
+ state->strm.avail_out = 0;
diff --git a/source/l/libxslt/libxslt.SlackBuild b/source/l/libxslt/libxslt.SlackBuild
index a365744e..6ff4a419 100755
--- a/source/l/libxslt/libxslt.SlackBuild
+++ b/source/l/libxslt/libxslt.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,9 +20,9 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-VERSION=1.1.26
-BUILD=${BUILD:-2}
+PKGNAM=libxslt
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/l/libzip/libzip.SlackBuild b/source/l/libzip/libzip.SlackBuild
index d7103a30..a841127e 100755
--- a/source/l/libzip/libzip.SlackBuild
+++ b/source/l/libzip/libzip.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2007 Heinz Wiesinger <hmwiesinger@gmx.at>
+# Copyright 2007, 2013 Heinz Wiesinger, Amsterdam, The Netherlands
# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
@@ -76,39 +76,27 @@ CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
+ --includedir=/usr/include \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--disable-static \
--build=$ARCH-slackware-linux
+# Fix symbolic linking for manpages
+sed -i "s|\${LN}|\${LN_S}|g" man/Makefile
+sed -i "s|\${LN_S} \${DESTDIR}\${man3dir}/|\${LN_S} |" man/Makefile
+
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
-# This installs hardlinked manpages, bleh!
-( cd $PKG/usr/man/man3
- # Break links by duplicating the files.
- for file in *.3 ; do
- cp -a $file tmp
- rm $file
- mv tmp $file
- done
-)
-# Make symlinks instead:
-( cd $PKG/usr/man/man3
- rm -rf zip_strerror.3
- ln -sf zip_file_strerror.3 zip_strerror.3
- rm -rf zip_replace.3
- ln -sf zip_add.3 zip_replace.3
- rm -rf zip_stat_index.3
- ln -sf zip_stat.3 zip_stat_index.3
- rm -rf zip_fopen_index.3
- ln -sf zip_fopen.3 zip_fopen_index.3
- rm -rf zip_file_error_get.3
- ln -sf zip_error_get.3 zip_file_error_get.3
- rm -rf zip_file_error_clear.3
- ln -sf zip_error_clear.3 zip_file_error_clear.3
-)
+# While I perhaps see the motive for putting platform-specific include files
+# in a place where they won't collide, the fact is that this breaks anything
+# currently using libzip. Adding a link to the standard include directory
+# mostly fixes this, but it is still not optimal. It's likely to cause
+# problems on multilib systems, for example (but like that whole thing isn't
+# an even uglier hack).
+( cd $PKG/usr/include ; ln -sf ../lib${LIBDIRSUFFIX}/libzip/include/zipconf.h . )
find $PKG | xargs file | grep -e "executable" -e "shared object" \
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
diff --git a/source/l/libzip/libzip.info b/source/l/libzip/libzip.info
deleted file mode 100644
index 419b34ac..00000000
--- a/source/l/libzip/libzip.info
+++ /dev/null
@@ -1,5 +0,0 @@
-PRGNAM="libzip"
-VERSION="0.8"
-HOMEPAGE="http://www.nih.at/libzip/"
-DOWNLOAD="http://www.nih.at/libzip/libzip-0.8.tar.gz"
-MD5SUM="b0087c2a12b312f8ec2df1052b2acb4f"
diff --git a/source/l/loudmouth/loudmouth-1.4.3-glib-compile-fix.patch b/source/l/loudmouth/loudmouth-1.4.3-glib-compile-fix.patch
deleted file mode 100644
index 03d04e78..00000000
--- a/source/l/loudmouth/loudmouth-1.4.3-glib-compile-fix.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Fix compile against new glib.
-
-From: Daniel Drake <dsd@laptop.org>
-
-Index: loudmouth-1.4.3/loudmouth/lm-error.c
-===================================================================
---- loudmouth-1.4.3.orig/loudmouth/lm-error.c
-+++ loudmouth-1.4.3/loudmouth/lm-error.c
-@@ -19,7 +19,7 @@
- */
-
- #include <config.h>
--#include <glib/gerror.h>
-+#include <glib.h>
- #include "lm-error.h"
-
- /**
diff --git a/source/l/loudmouth/loudmouth.SlackBuild b/source/l/loudmouth/loudmouth.SlackBuild
index 156a49a9..5974e3a6 100755
--- a/source/l/loudmouth/loudmouth.SlackBuild
+++ b/source/l/loudmouth/loudmouth.SlackBuild
@@ -23,8 +23,8 @@
# -----------------------------------------------------------------------------
PKGNAM=loudmouth
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+VERSION=${VERSION:-1.5.0-20121201}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:" -j4 "}
@@ -67,15 +67,7 @@ rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
cd $PKGNAM-$VERSION || exit 1
-zcat $CWD/loudmouth.crtpath.diff.gz | patch -p1 --verbose || exit 1
-zcat $CWD/loudmouth.gnutls.configure.ac.diff.gz | patch -p1 --verbose || exit 1
-zcat $CWD/loudmouth.async_assertion.diff.gz | patch -p1 --verbose || exit 1
-zcat $CWD/loudmouth.sasl-md5-digest-uri.diff.gz | patch -p1 --verbose || exit 1
-zcat $CWD/loudmouth.stanzadrop.diff.gz | patch -p1 --verbose || exit 1
-zcat $CWD/loudmouth-1.4.3-glib-compile-fix.patch.gz | patch -p1 --verbose || exit 1
-
-# needed after the configure.ac gnutls patch
-autoreconf
+zcat $CWD/loudmouth.ld.gobject.diff.gz | patch -p1 --verbose || exit 1
# Make sure ownerships and permissions are sane:
chown -R root:root .
@@ -98,6 +90,7 @@ LDFLAGS="$SLKLDFLAGS" \
--with-ssl=gnutls \
--enable-debug=yes \
--enable-static=no \
+ --enable-gtk-doc \
--program-prefix= \
--program-suffix= \
--build=$ARCH-slackware-linux \
@@ -108,8 +101,8 @@ LDFLAGS="$SLKLDFLAGS" \
## messages to the console. Don't mess with it!
##
-# this generates a broken libtool, so use the system version:
-cp /usr/bin/libtool .
+## this generates a broken libtool, so use the system version:
+#cp /usr/bin/libtool .
# Build and install:
make $NUMJOBS || make || exit 1
@@ -142,4 +135,4 @@ cat $CWD/slack-desc > $PKG/install/slack-desc
# Build package:
cd $PKG
-/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$(echo $VERSION | tr - _)-$ARCH-$BUILD.txz
diff --git a/source/l/loudmouth/loudmouth.async_assertion.diff b/source/l/loudmouth/loudmouth.async_assertion.diff
deleted file mode 100644
index bda1d19b..00000000
--- a/source/l/loudmouth/loudmouth.async_assertion.diff
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -urp loudmouth-1.4.3.OLD/loudmouth/lm-socket.c loudmouth-1.4.3/loudmouth/lm-socket.c
---- loudmouth-1.4.3.OLD/loudmouth/lm-socket.c 2008-10-29 12:29:16.000000000 -0400
-+++ loudmouth-1.4.3/loudmouth/lm-socket.c 2008-11-28 19:24:04.000000000 -0500
-@@ -1107,6 +1107,7 @@ lm_socket_create (GMainContext *con
- _lm_socket_create_phase1 (socket, NULL, 0);
- }
-
-+#ifndef HAVE_ASYNCNS
- if (socket->connect_data == NULL) {
- /* Open failed synchronously, probably a DNS lookup problem */
- lm_socket_unref(socket);
-@@ -1118,6 +1119,7 @@ lm_socket_create (GMainContext *con
-
- return NULL;
- }
-+#endif
-
-
- /* If the connection fails synchronously, we don't want to call the
diff --git a/source/l/loudmouth/loudmouth.crtpath.diff b/source/l/loudmouth/loudmouth.crtpath.diff
deleted file mode 100644
index ada60040..00000000
--- a/source/l/loudmouth/loudmouth.crtpath.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- loudmouth-1.4.3/loudmouth/lm-ssl-gnutls.c.orig 2008-10-29 14:45:10.000000000 +0100
-+++ loudmouth-1.4.3/loudmouth/lm-ssl-gnutls.c 2009-11-03 23:49:02.000000000 +0100
-@@ -32,7 +32,7 @@
-
- #include <gnutls/x509.h>
-
--#define CA_PEM_FILE "/etc/ssl/certs/ca-certificates.crt"
-+#define CA_PEM_FILE "/usr/share/curl/ca-bundle.crt"
-
- struct _LmSSL {
- LmSSLBase base;
diff --git a/source/l/loudmouth/loudmouth.gnutls.configure.ac.diff b/source/l/loudmouth/loudmouth.gnutls.configure.ac.diff
deleted file mode 100644
index 6719141f..00000000
--- a/source/l/loudmouth/loudmouth.gnutls.configure.ac.diff
+++ /dev/null
@@ -1,20 +0,0 @@
---- ./configure.ac.orig 2008-10-29 15:23:52.000000000 -0500
-+++ ./configure.ac 2010-04-10 15:42:12.000000000 -0500
-@@ -146,10 +146,13 @@
- enable_ssl=no
- if test "x$ac_ssl" = "xgnutls"; then
- dnl Look for GnuTLS
-- AM_PATH_LM_LIBGNUTLS($GNUTLS_REQUIRED, have_libgnutls=yes, have_libgnutls=no)
-- if test "x$have_libgnutls" = "xyes"; then
-- CFLAGS="$CFLAGS $LIBGNUTLS_CFLAGS"
-- LIBS="$LIBS $LIBGNUTLS_LIBS"
-+
-+ PKG_CHECK_MODULES(GNUTLS, gnutls >= $GNUTLS_REQUIRED, have_gnutls=yes, have_gnutls=no)
-+ if test "x$have_gnutls" = "xyes"; then
-+ AC_SUBST(ASYNCNS_CFLAGS)
-+ AC_SUBST(ASYNCNS_LIBS)
-+ CFLAGS="$CFLAGS $GNUTLS_CFLAGS"
-+ LIBS="$LIBS $GNUTLS_LIBS"
- AC_DEFINE(HAVE_GNUTLS, 1, [whether to use GnuTSL support.])
- enable_ssl=GnuTLS
- else
diff --git a/source/l/loudmouth/loudmouth.ld.gobject.diff b/source/l/loudmouth/loudmouth.ld.gobject.diff
new file mode 100644
index 00000000..a9f5b813
--- /dev/null
+++ b/source/l/loudmouth/loudmouth.ld.gobject.diff
@@ -0,0 +1,11 @@
+--- ./loudmouth/Makefile.in.orig 2012-12-01 12:53:52.000000000 -0600
++++ ./loudmouth/Makefile.in 2013-03-20 21:25:34.368522959 -0500
+@@ -148,7 +148,7 @@
+ CCLD = $(CC)
+ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+- $(LDFLAGS) -o $@
++ $(LDFLAGS) -o $@ -lgobject-2.0
+ SOURCES = $(libloudmouth_1_la_SOURCES) $(test_dns_SOURCES)
+ DIST_SOURCES = $(am__libloudmouth_1_la_SOURCES_DIST) \
+ $(test_dns_SOURCES)
diff --git a/source/l/loudmouth/loudmouth.sasl-md5-digest-uri.diff b/source/l/loudmouth/loudmouth.sasl-md5-digest-uri.diff
deleted file mode 100644
index 50c796e8..00000000
--- a/source/l/loudmouth/loudmouth.sasl-md5-digest-uri.diff
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -urp loudmouth-1.4.3.OLD/loudmouth/lm-connection.c loudmouth-1.4.3/loudmouth/lm-connection.c
---- loudmouth-1.4.3.OLD/loudmouth/lm-connection.c 2008-10-29 16:38:26.000000000 -0400
-+++ loudmouth-1.4.3/loudmouth/lm-connection.c 2009-06-12 19:13:03.183960144 -0400
-@@ -1442,10 +1442,17 @@ lm_connection_authenticate (LmConnection
- connection->jid, connection->resource);
-
- if (connection->use_sasl) {
-+ gchar *domain = NULL;
-+
-+ if (!connection_get_server_from_jid (connection->jid, &domain)) {
-+ domain = g_strdup (connection->server);
-+ }
-+
- lm_sasl_authenticate (connection->sasl,
- username, password,
-- connection->server,
-+ domain,
- connection_sasl_auth_finished);
-+ g_free (domain);
-
- connection->features_cb =
- lm_message_handler_new (connection_features_cb,
diff --git a/source/l/loudmouth/loudmouth.stanzadrop.diff b/source/l/loudmouth/loudmouth.stanzadrop.diff
deleted file mode 100644
index 87b86a99..00000000
--- a/source/l/loudmouth/loudmouth.stanzadrop.diff
+++ /dev/null
@@ -1,45 +0,0 @@
-From: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
-Date: Tue, 13 Jan 2009 11:28:44 +0000
-Subject: [PATCH] Drop stanzas when failing to convert them to LmMessages
-
-when a stanza comes in that for some reason can't be parsed into an LmMessage,
-just drop them on the floor instead of blocking the parser. I've seen this
-issue happen in practise because some (buggy?) client sending an iq with a
-prefix e.g. <client:iq xmlns:client="jabber:client" ... />
----
- loudmouth/lm-parser.c | 15 ++++++---------
- 1 files changed, 6 insertions(+), 9 deletions(-)
-
-diff --git a/loudmouth/lm-parser.c b/loudmouth/lm-parser.c
-index 1938d56..89f6675 100644
---- a/loudmouth/lm-parser.c
-+++ b/loudmouth/lm-parser.c
-@@ -151,19 +151,16 @@ parser_end_node_cb (GMarkupParseContext *context,
- if (!m) {
- g_warning ("Couldn't create message: %s\n",
- parser->cur_root->name);
-- return;
-- }
--
-- g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_PARSER,
-+ } else {
-+ g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_PARSER,
- "Have a new message\n");
-- if (parser->function) {
-- (* parser->function) (parser, m, parser->user_data);
-+ if (parser->function) {
-+ (* parser->function) (parser, m, parser->user_data);
-+ }
-+ lm_message_unref (m);
- }
-
-- lm_message_unref (m);
- lm_message_node_unref (parser->cur_root);
--
--
- parser->cur_node = parser->cur_root = NULL;
- } else {
- LmMessageNode *tmp_node;
---
-1.5.6.5
-
diff --git a/source/l/media-player-info/media-player-info.SlackBuild b/source/l/media-player-info/media-player-info.SlackBuild
index eff9d193..11773225 100755
--- a/source/l/media-player-info/media-player-info.SlackBuild
+++ b/source/l/media-player-info/media-player-info.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for media-player-info
-# Copyright 2010-2012 Robby Workman, Northport, Alabama, USA
+# Copyright 2010-2013 Robby Workman, Northport, Alabama, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/source/l/media-player-info/slack-desc b/source/l/media-player-info/slack-desc
index 509b51be..9ccb993f 100644
--- a/source/l/media-player-info/slack-desc
+++ b/source/l/media-player-info/slack-desc
@@ -11,7 +11,7 @@ media-player-info:
media-player-info: media-player-info is a repository of data files describing media
media-player-info: player (mostly USB Mass Storage ones) capabilities. These files
media-player-info: contain information about the directory layout to use to add music
-media-player-info: to these devices, about the supported file formats,
+media-player-info: to these devices, about the supported file formats, and so on.
media-player-info:
media-player-info:
media-player-info:
diff --git a/source/l/mozilla-nss/mozilla-nss.SlackBuild b/source/l/mozilla-nss/mozilla-nss.SlackBuild
index 2bc38d08..9c5c5ed9 100755
--- a/source/l/mozilla-nss/mozilla-nss.SlackBuild
+++ b/source/l/mozilla-nss/mozilla-nss.SlackBuild
@@ -1,5 +1,6 @@
#!/bin/sh
# Copyright 2005, 2006, 2008, 2009, 2010, 2012 Eric Hameleers, Eindhoven, NL
+# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Permission to use, copy, modify, and distribute this software for
@@ -23,9 +24,9 @@
PKGNAM=mozilla-nss
SRCNAM=nss
-VERSION=${VERSION:-3.13.5}
-NSPR=${NSPR:-4.9.1}
-BUILD=${BUILD:-3}
+VERSION=${VERSION:-3.15.2}
+NSPR=${NSPR:-4.10.1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
MARCH=$( uname -m )
@@ -65,11 +66,9 @@ cd $TMP
rm -rf nss-${VERSION}
rm -rf nspr-${NSPR}
tar xvf $CWD/nss-$VERSION.tar.?z* || exit 1
-tar xvf $CWD/nspr-$NSPR.tar.?z* || exit 1
cd nss-$VERSION
-
-# NSS needs NSPR:
-ln -s ../../nspr-$NSPR/mozilla/nsprpub mozilla/nsprpub
+tar xvf $CWD/nspr-$NSPR.tar.?z* || exit 1
+mv nspr*/nspr .
# Make sure ownerships and permissions are sane:
chown -R root:root .
@@ -86,13 +85,14 @@ export CXXFLAGS="$SLKCFLAGS"
export BUILD_OPT=1
export NSDISTMODE="copy"
export NSS_USE_SYSTEM_SQLITE=1
-cd mozilla/security/nss
+export NSS_ENABLE_ECC=1
+cd nss
make nss_build_all export
cd -
# Install all the needed stuff to the package dir:
mkdir -p $PKG/usr/{bin,lib${LIBDIRSUFFIX},include/{nss,nspr}}
-cd mozilla/dist/$(uname -s)*
+cd dist/$(uname -s)*
cp -pL bin/{certutil,cmsutil,crlutil,modutil,pk12util,shlibsign,signtool,signver,ssltap} $PKG/usr/bin/
cp -pL lib/* $PKG/usr/lib${LIBDIRSUFFIX}/
chmod 755 $PKG/usr/lib${LIBDIRSUFFIX}/*.so*
@@ -105,14 +105,14 @@ cd mozilla/dist/$(uname -s)*
cp -L lib/libcrmf.a $PKG/usr/lib${LIBDIRSUFFIX}/ # yes, put this one back
cd -
-cd mozilla/security/nss/cmd/smimetools
+cd nss/cmd/smimetools
cp -a smime $PKG/usr/bin/
chmod 0755 $PKG/usr/bin/smime
sed -i -e 's#/usr/local/bin#/usr/bin#g' $PKG/usr/bin/smime
cd -
# Install nspr-config:
-cat mozilla/nsprpub/$(uname -s)*/config/nspr-config | sed -e "s,prefix=/usr/local,prefix=/usr,g" | sed -e "s,libdir=\${exec_prefix}/lib,libdir=\${exec_prefix}/lib${LIBDIRSUFFIX},g" > $PKG/usr/bin/nspr-config
+cat nspr/$(uname -s)*/config/nspr-config | sed -e "s,prefix=/usr/local,prefix=/usr,g" | sed -e "s,libdir=\${exec_prefix}/lib,libdir=\${exec_prefix}/lib${LIBDIRSUFFIX},g" > $PKG/usr/bin/nspr-config
chmod 755 $PKG/usr/bin/nspr-config
# Install nss-config:
diff --git a/source/l/ncurses/ncurses-5.9-20130504-patch.sh b/source/l/ncurses/ncurses-5.9-20130504-patch.sh
new file mode 100644
index 00000000..6db3ebb1
--- /dev/null
+++ b/source/l/ncurses/ncurses-5.9-20130504-patch.sh
@@ -0,0 +1,106265 @@
+#!/bin/sh
+# Use this script to patch ncurses 5.9 to 5.9 (20130504)
+# Run this script inside the ncurses 5.9 source directory et voila! Updated.
+
+if ( egrep '^NCURSES_MAJOR = 5$' dist.mk >/dev/null 2>&1 \
+ && egrep '^NCURSES_MINOR = 9$' dist.mk >/dev/null 2>&1 \
+ && egrep '^NCURSES_PATCH = 20110404$' dist.mk >/dev/null 2>&1 )
+then
+ echo patching...
+ rm -f mk-dlls.sh.in
+ rm -f ncurses/base/memmove.c
+ rm -f ncurses/tinfo/setbuf.c
+ rm -f ncurses/tty/tty_display.h
+ rm -f ncurses/tty/tty_input.h
+else
+ echo 'This does not look like ncurses 5.9'
+ exit 1
+fi
+
+patch -p1 -i $0 # shell command = this script = inputfile for patch
+exit
+
+# patch by Thomas E. Dickey <dickey@invisible-island.net>
+# created Sun May 5 16:20:54 UTC 2013
+# ------------------------------------------------------------------------------
+# Ada95/aclocal.m4 | 1081 -
+# Ada95/configure | 4663 +++--
+# Ada95/configure.in | 115
+# Ada95/doc/Makefile.in | 3
+# Ada95/gen/Makefile.in | 12
+# Ada95/gen/gen.c | 45
+# Ada95/include/ncurses_defs | 7
+# Ada95/samples/Makefile.in | 7
+# Ada95/src/Makefile.in | 32
+# INSTALL | 100
+# MANIFEST | 27
+# Makefile.in | 13
+# NEWS | 1234 +
+# README | 17
+# README.MinGW | 95
+# aclocal.m4 | 1517 +
+# announce.html.in | 63
+# c++/Makefile.in | 111
+# c++/cursesapp.h | 21
+# c++/cursesf.cc | 12
+# c++/cursesf.h | 14
+# c++/cursesm.cc | 10
+# c++/cursesm.h | 13
+# c++/cursesp.h | 6
+# c++/cursespad.cc | 56
+# c++/cursesw.cc | 7
+# c++/cursesw.h | 11
+# c++/cursslk.cc | 9
+# c++/demo.cc | 9
+# c++/etip.h.in | 18
+# c++/internal.h | 6
+# c++/modules | 21
+# config.guess | 253
+# config.sub | 200
+# configure | 7253 +++++---
+# configure.in | 510
+# dist.mk | 6
+# doc/html/man/adacurses-config.1.html | 2
+# doc/html/man/captoinfo.1m.html | 11
+# doc/html/man/clear.1.html | 2
+# doc/html/man/curs_add_wch.3x.html | 24
+# doc/html/man/curs_add_wchstr.3x.html | 79
+# doc/html/man/curs_addch.3x.html | 5
+# doc/html/man/curs_addchstr.3x.html | 67
+# doc/html/man/curs_addstr.3x.html | 47
+# doc/html/man/curs_addwstr.3x.html | 54
+# doc/html/man/curs_attr.3x.html | 2
+# doc/html/man/curs_bkgrnd.3x.html | 6
+# doc/html/man/curs_border_set.3x.html | 6
+# doc/html/man/curs_get_wch.3x.html | 6
+# doc/html/man/curs_get_wstr.3x.html | 6
+# doc/html/man/curs_getcchar.3x.html | 6
+# doc/html/man/curs_getch.3x.html | 22
+# doc/html/man/curs_in_wchstr.3x.html | 6
+# doc/html/man/curs_inopts.3x.html | 52
+# doc/html/man/curs_ins_wstr.3x.html | 6
+# doc/html/man/curs_inwstr.3x.html | 6
+# doc/html/man/curs_mouse.3x.html | 4
+# doc/html/man/curs_sp_funcs.3x.html | 50
+# doc/html/man/curs_termattrs.3x.html | 10
+# doc/html/man/curs_termcap.3x.html | 129
+# doc/html/man/curs_terminfo.3x.html | 6
+# doc/html/man/curs_threads.3x.html | 8
+# doc/html/man/curs_util.3x.html | 91
+# doc/html/man/form.3x.html | 2
+# doc/html/man/form_field.3x.html | 6
+# doc/html/man/form_field_buffer.3x.html | 4
+# doc/html/man/form_fieldtype.3x.html | 4
+# doc/html/man/infocmp.1m.html | 284
+# doc/html/man/infotocap.1m.html | 6
+# doc/html/man/menu.3x.html | 2
+# doc/html/man/menu_driver.3x.html | 46
+# doc/html/man/menu_items.3x.html | 6
+# doc/html/man/ncurses.3x.html | 611
+# doc/html/man/ncurses5-config.1.html | 7
+# doc/html/man/panel.3x.html | 40
+# doc/html/man/resizeterm.3x.html | 8
+# doc/html/man/tabs.1.html | 6
+# doc/html/man/term.7.html | 10
+# doc/html/man/term_variables.3x.html | 4
+# doc/html/man/terminfo.5.html | 1319 -
+# doc/html/man/tic.1m.html | 271
+# doc/html/man/toe.1m.html | 16
+# doc/html/man/tput.1.html | 128
+# doc/html/man/tset.1.html | 149
+# doc/html/ncurses-intro.html | 5
+# doc/ncurses-intro.doc | 1
+# form/Makefile.in | 7
+# form/fld_arg.c | 6
+# form/fld_def.c | 27
+# form/fld_dup.c | 8
+# form/fld_ftchoice.c | 6
+# form/fld_ftlink.c | 10
+# form/fld_just.c | 6
+# form/fld_link.c | 8
+# form/fld_max.c | 8
+# form/fld_move.c | 8
+# form/fld_page.c | 8
+# form/fld_stat.c | 8
+# form/form.priv.h | 9
+# form/frm_def.c | 24
+# form/frm_driver.c | 164
+# form/frm_hook.c | 6
+# form/frm_opts.c | 10
+# form/frm_page.c | 6
+# form/frm_post.c | 8
+# form/frm_req_name.c | 21
+# form/fty_generic.c | 6
+# form/fty_int.c | 7
+# form/fty_num.c | 7
+# form/fty_regex.c | 14
+# include/Caps | 18
+# include/Caps.aix4 | 18
+# include/Caps.hpux11 | 18
+# include/Caps.keys | 18
+# include/Caps.osf1r5 | 6
+# include/MKkey_defs.sh | 9
+# include/MKterm.h.awk.in | 39
+# include/curses.h.in | 220
+# include/curses.tail | 4
+# include/curses.wide | 140
+# include/headers | 17
+# include/nc_alloc.h | 14
+# include/nc_tparm.h | 8
+# include/ncurses_defs | 19
+# include/ncurses_mingw.h | 100
+# include/term_entry.h | 66
+# include/tic.h | 35
+# man/Makefile.in | 3
+# man/curs_add_wch.3x | 6
+# man/curs_add_wchstr.3x | 64
+# man/curs_addchstr.3x | 50
+# man/curs_addstr.3x | 38
+# man/curs_addwstr.3x | 35
+# man/curs_bkgrnd.3x | 6
+# man/curs_border_set.3x | 6
+# man/curs_get_wch.3x | 6
+# man/curs_get_wstr.3x | 6
+# man/curs_getcchar.3x | 6
+# man/curs_getch.3x | 12
+# man/curs_in_wchstr.3x | 6
+# man/curs_inopts.3x | 47
+# man/curs_ins_wstr.3x | 6
+# man/curs_inwstr.3x | 6
+# man/curs_overlay.3x | 26
+# man/curs_termcap.3x | 61
+# man/curs_terminfo.3x | 8
+# man/curs_threads.3x | 8
+# man/curs_util.3x | 88
+# man/form_field.3x | 6
+# man/infocmp.1m | 176
+# man/menu_items.3x | 6
+# man/ncurses.3x | 142
+# man/resizeterm.3x | 6
+# man/tabs.1 | 20
+# man/term.7 | 6
+# man/term_variables.3x | 6
+# man/terminfo.head | 15
+# man/terminfo.tail | 188
+# man/tic.1m | 200
+# man/toe.1m | 21
+# man/tput.1 | 35
+# man/tset.1 | 39
+# menu/Makefile.in | 7
+# menu/m_attribs.c | 6
+# menu/m_driver.c | 12
+# menu/m_format.c | 20
+# menu/m_global.c | 38
+# menu/m_hook.c | 6
+# menu/m_item_new.c | 21
+# menu/m_pad.c | 6
+# menu/m_post.c | 40
+# menu/m_req_name.c | 19
+# menu/m_spacing.c | 10
+# menu/menu.priv.h | 15
+# menu/mf_common.h | 18
+# misc/Makefile.in | 10
+# misc/gen-pkgconfig.in | 86
+# misc/gen_edit.sh | 72
+# misc/ncurses-config.in | 49
+# misc/run_tic.in | 7
+# misc/terminfo.src | 1357 +
+# mk-0th.awk | 91
+# mk-1st.awk | 118
+# ncurses-5.9-20130504/include/nc_string.h | 77
+# ncurses-5.9-20130504/include/nc_termios.h | 171
+# ncurses-5.9-20130504/ncurses/llib-ltic | 212
+# ncurses-5.9-20130504/ncurses/llib-ltictw | 212
+# ncurses-5.9-20130504/ncurses/llib-lticw | 212
+# ncurses-5.9-20130504/ncurses/llib-ltinfo | 1504 +
+# ncurses-5.9-20130504/ncurses/llib-ltinfotw | 1646 +
+# ncurses-5.9-20130504/ncurses/llib-ltinfow | 1537 +
+# ncurses-5.9-20130504/ncurses/tinfo/obsolete.c | 102
+# ncurses-5.9-20130504/ncurses/widechar/widechars.c | 152
+# ncurses-5.9-20130504/package/debian/changelog | 11
+# ncurses-5.9-20130504/package/debian/compat | 1
+# ncurses-5.9-20130504/package/debian/control | 16
+# ncurses-5.9-20130504/package/debian/copyright | 112
+# ncurses-5.9-20130504/package/debian/rules | 123
+# ncurses-5.9-20130504/package/debian/source/format | 1
+# ncurses-5.9-20130504/package/debian/watch | 4
+# ncurses-5.9-20130504/package/ncurses.spec | 92
+# ncurses-5.9-20130504/test/color_name.h | 103
+# ncurses-5.9-20130504/test/test_vid_puts.c | 148
+# ncurses-5.9-20130504/test/test_vidputs.c | 148
+# ncurses-5.9-20130504/test/widechars.h | 71
+# ncurses/Makefile.in | 22
+# ncurses/base/MKkeyname.awk | 13
+# ncurses/base/MKlib_gen.sh | 43
+# ncurses/base/MKunctrl.awk | 6
+# ncurses/base/keybound.c | 9
+# ncurses/base/keyok.c | 66
+# ncurses/base/lib_addch.c | 16
+# ncurses/base/lib_addstr.c | 10
+# ncurses/base/lib_beep.c | 11
+# ncurses/base/lib_bkgd.c | 11
+# ncurses/base/lib_color.c | 89
+# ncurses/base/lib_dft_fgbg.c | 5
+# ncurses/base/lib_driver.c | 22
+# ncurses/base/lib_flash.c | 20
+# ncurses/base/lib_freeall.c | 20
+# ncurses/base/lib_getch.c | 39
+# ncurses/base/lib_getstr.c | 6
+# ncurses/base/lib_insch.c | 8
+# ncurses/base/lib_instr.c | 14
+# ncurses/base/lib_mouse.c | 415
+# ncurses/base/lib_newterm.c | 11
+# ncurses/base/lib_newwin.c | 17
+# ncurses/base/lib_overlay.c | 21
+# ncurses/base/lib_printw.c | 34
+# ncurses/base/lib_refresh.c | 17
+# ncurses/base/lib_restart.c | 10
+# ncurses/base/lib_scanw.c | 6
+# ncurses/base/lib_screen.c | 19
+# ncurses/base/lib_scroll.c | 8
+# ncurses/base/lib_set_term.c | 41
+# ncurses/base/lib_slkrefr.c | 22
+# ncurses/base/lib_slkset.c | 17
+# ncurses/base/lib_touch.c | 6
+# ncurses/base/lib_ungetch.c | 11
+# ncurses/base/resizeterm.c | 83
+# ncurses/base/safe_sprintf.c | 20
+# ncurses/base/vsscanf.c | 8
+# ncurses/base/wresize.c | 9
+# ncurses/build.priv.h | 6
+# ncurses/curses.priv.h | 280
+# ncurses/fifo_defs.h | 46
+# ncurses/llib-lncurses | 11
+# ncurses/llib-lncursest | 11
+# ncurses/llib-lncursestw | 11
+# ncurses/llib-lncursesw | 11
+# ncurses/modules | 8
+# ncurses/tinfo/MKcaptab.sh | 10
+# ncurses/tinfo/access.c | 43
+# ncurses/tinfo/alloc_entry.c | 31
+# ncurses/tinfo/alloc_ttype.c | 52
+# ncurses/tinfo/captoinfo.c | 212
+# ncurses/tinfo/comp_error.c | 20
+# ncurses/tinfo/comp_expand.c | 19
+# ncurses/tinfo/comp_parse.c | 189
+# ncurses/tinfo/comp_scan.c | 169
+# ncurses/tinfo/db_iterator.c | 413
+# ncurses/tinfo/doalloc.c | 21
+# ncurses/tinfo/entries.c | 11
+# ncurses/tinfo/getenv_num.c | 21
+# ncurses/tinfo/hashed_db.c | 159
+# ncurses/tinfo/home_terminfo.c | 10
+# ncurses/tinfo/lib_acs.c | 7
+# ncurses/tinfo/lib_cur_term.c | 7
+# ncurses/tinfo/lib_data.c | 14
+# ncurses/tinfo/lib_napms.c | 12
+# ncurses/tinfo/lib_options.c | 39
+# ncurses/tinfo/lib_print.c | 10
+# ncurses/tinfo/lib_raw.c | 35
+# ncurses/tinfo/lib_setup.c | 158
+# ncurses/tinfo/lib_termcap.c | 39
+# ncurses/tinfo/lib_tgoto.c | 9
+# ncurses/tinfo/lib_tparm.c | 28
+# ncurses/tinfo/lib_tputs.c | 92
+# ncurses/tinfo/lib_ttyflags.c | 10
+# ncurses/tinfo/make_hash.c | 51
+# ncurses/tinfo/make_keys.c | 6
+# ncurses/tinfo/name_match.c | 42
+# ncurses/tinfo/parse_entry.c | 40
+# ncurses/tinfo/read_entry.c | 274
+# ncurses/tinfo/read_termcap.c | 85
+# ncurses/tinfo/strings.c | 8
+# ncurses/tinfo/tinfo_driver.c | 181
+# ncurses/tinfo/trim_sgr0.c | 85
+# ncurses/tinfo/write_entry.c | 103
+# ncurses/trace/lib_trace.c | 20
+# ncurses/trace/lib_traceatr.c | 44
+# ncurses/trace/lib_tracebits.c | 24
+# ncurses/trace/lib_tracechr.c | 15
+# ncurses/trace/lib_tracedmp.c | 8
+# ncurses/trace/lib_tracemse.c | 42
+# ncurses/trace/trace_buf.c | 11
+# ncurses/trace/trace_tries.c | 37
+# ncurses/trace/varargs.c | 23
+# ncurses/trace/visbuf.c | 48
+# ncurses/tty/hardscroll.c | 24
+# ncurses/tty/hashmap.c | 6
+# ncurses/tty/lib_mvcur.c | 115
+# ncurses/tty/lib_tstp.c | 55
+# ncurses/tty/lib_twait.c | 64
+# ncurses/tty/lib_vidattr.c | 50
+# ncurses/tty/tty_update.c | 264
+# ncurses/widechar/lib_box_set.c | 6
+# ncurses/widechar/lib_cchar.c | 16
+# ncurses/widechar/lib_get_wch.c | 9
+# ncurses/widechar/lib_get_wstr.c | 8
+# ncurses/widechar/lib_ins_wch.c | 6
+# ncurses/widechar/lib_inwstr.c | 11
+# ncurses/widechar/lib_slk_wset.c | 30
+# ncurses/widechar/lib_unget_wch.c | 6
+# ncurses/widechar/lib_vid_attr.c | 40
+# ncurses/widechar/lib_wacs.c | 38
+# ncurses/widechar/lib_wunctrl.c | 17
+# ncurses/win32con/win_driver.c | 385
+# panel/Makefile.in | 8
+# panel/p_above.c | 6
+# panel/p_below.c | 6
+# panel/panel.c | 12
+# panel/panel.priv.h | 8
+# progs/Makefile.in | 30
+# progs/capconvert | 24
+# progs/dump_entry.c | 205
+# progs/dump_entry.h | 14
+# progs/infocmp.c | 467
+# progs/progs.priv.h | 22
+# progs/tabs.c | 92
+# progs/tic.c | 565
+# progs/toe.c | 442
+# progs/tput.c | 9
+# progs/transform.c | 16
+# progs/tset.c | 43
+# test/Makefile.in | 10
+# test/README | 52
+# test/aclocal.m4 | 1128 -
+# test/background.c | 228
+# test/blue.c | 12
+# test/bs.c | 60
+# test/cardfile.c | 26
+# test/chgat.c | 6
+# test/clip_printw.c | 11
+# test/color_set.c | 6
+# test/configure |16812 ++++++++++----------
+# test/configure.in | 189
+# test/demo_defkey.c | 6
+# test/demo_forms.c | 25
+# test/demo_menus.c | 33
+# test/demo_termcap.c | 289
+# test/demo_terminfo.c | 245
+# test/ditto.c | 10
+# test/dots.c | 8
+# test/dots_mvcur.c | 8
+# test/echochar.c | 6
+# test/filter.c | 8
+# test/firework.c | 16
+# test/gdc.c | 20
+# test/hanoi.c | 33
+# test/hashtest.c | 6
+# test/inchs.c | 16
+# test/ins_wide.c | 34
+# test/insdelln.c | 8
+# test/inserts.c | 29
+# test/knight.c | 70
+# test/linedata.h | 6
+# test/modules | 8
+# test/movewindow.c | 227
+# test/ncurses.c | 351
+# test/newdemo.c | 23
+# test/programs | 6
+# test/railroad.c | 8
+# test/rain.c | 8
+# test/redraw.c | 6
+# test/tclock.c | 6
+# test/test.priv.h | 111
+# test/test_add_wchstr.c | 31
+# test/test_addchstr.c | 31
+# test/test_addstr.c | 29
+# test/test_addwstr.c | 34
+# test/test_getstr.c | 15
+# test/testaddch.c | 12
+# test/testcurs.c | 64
+# test/view.c | 88
+# test/worm.c | 28
+# test/xmas.c | 6
+# 388 files changed, 39001 insertions(+), 21591 deletions(-)
+# ------------------------------------------------------------------------------
+# Please remove the following files before applying this patch.
+# (You can feed this patch to 'sh' to do so.)
+
+rm -f mk-dlls.sh.in
+rm -f ncurses/base/memmove.c
+rm -f ncurses/tinfo/setbuf.c
+rm -f ncurses/tty/tty_display.h
+rm -f ncurses/tty/tty_input.h
+exit
+
+Index: Ada95/aclocal.m4
+Prereq: 1.24
+--- ncurses-5.9/Ada95/aclocal.m4 2011-03-31 23:32:36.000000000 +0000
++++ ncurses-5.9-20130504/Ada95/aclocal.m4 2013-04-13 23:00:18.000000000 +0000
+@@ -1,5 +1,5 @@
+ dnl***************************************************************************
+-dnl Copyright (c) 2010,2011 Free Software Foundation, Inc. *
++dnl Copyright (c) 2010-2012,2013 Free Software Foundation, Inc. *
+ dnl *
+ dnl Permission is hereby granted, free of charge, to any person obtaining a *
+ dnl copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ dnl
+ dnl Author: Thomas E. Dickey
+ dnl
+-dnl $Id: aclocal.m4,v 1.24 2011/03/31 23:32:36 tom Exp $
++dnl $Id: aclocal.m4,v 1.66 2013/04/13 23:00:18 tom Exp $
+ dnl Macros used in NCURSES Ada95 auto-configuration script.
+ dnl
+ dnl These macros are maintained separately from NCURSES. The copyright on
+@@ -39,6 +39,32 @@
+ dnl
+ dnl ---------------------------------------------------------------------------
+ dnl ---------------------------------------------------------------------------
++dnl CF_ACVERSION_CHECK version: 4 updated: 2013/03/04 19:52:56
++dnl ------------------
++dnl Conditionally generate script according to whether we're using a given autoconf.
++dnl
++dnl $1 = version to compare against
++dnl $2 = code to use if AC_ACVERSION is at least as high as $1.
++dnl $3 = code to use if AC_ACVERSION is older than $1.
++define([CF_ACVERSION_CHECK],
++[
++ifdef([AC_ACVERSION], ,[m4_copy([m4_PACKAGE_VERSION],[AC_ACVERSION])])dnl
++ifdef([m4_version_compare],
++[m4_if(m4_version_compare(m4_defn([AC_ACVERSION]), [$1]), -1, [$3], [$2])],
++[CF_ACVERSION_COMPARE(
++AC_PREREQ_CANON(AC_PREREQ_SPLIT([$1])),
++AC_PREREQ_CANON(AC_PREREQ_SPLIT(AC_ACVERSION)), AC_ACVERSION, [$2], [$3])])])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_ACVERSION_COMPARE version: 3 updated: 2012/10/03 18:39:53
++dnl --------------------
++dnl CF_ACVERSION_COMPARE(MAJOR1, MINOR1, TERNARY1,
++dnl MAJOR2, MINOR2, TERNARY2,
++dnl PRINTABLE2, not FOUND, FOUND)
++define([CF_ACVERSION_COMPARE],
++[ifelse(builtin([eval], [$2 < $5]), 1,
++[ifelse([$8], , ,[$8])],
++[ifelse([$9], , ,[$9])])])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_ADA_INCLUDE_DIRS version: 6 updated: 2010/02/26 19:52:07
+ dnl -------------------
+ dnl Construct the list of include-options for the C programs in the Ada95
+@@ -290,75 +316,34 @@
+ }
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_ANSI_CC_CHECK version: 10 updated: 2010/10/23 15:52:32
+-dnl ----------------
+-dnl This is adapted from the macros 'fp_PROG_CC_STDC' and 'fp_C_PROTOTYPES'
+-dnl in the sharutils 4.2 distribution.
+-AC_DEFUN([CF_ANSI_CC_CHECK],
+-[
+-AC_CACHE_CHECK(for ${CC:-cc} option to accept ANSI C, cf_cv_ansi_cc,[
+-cf_cv_ansi_cc=no
+-cf_save_CFLAGS="$CFLAGS"
+-cf_save_CPPFLAGS="$CPPFLAGS"
+-# Don't try gcc -ansi; that turns off useful extensions and
+-# breaks some systems' header files.
+-# AIX -qlanglvl=ansi
+-# Ultrix and OSF/1 -std1
+-# HP-UX -Aa -D_HPUX_SOURCE
+-# SVR4 -Xc
+-# UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes)
+-for cf_arg in "-DCC_HAS_PROTOS" \
+- "" \
+- -qlanglvl=ansi \
+- -std1 \
+- -Ae \
+- "-Aa -D_HPUX_SOURCE" \
+- -Xc
+-do
+- CF_ADD_CFLAGS($cf_arg)
+- AC_TRY_COMPILE(
+-[
+-#ifndef CC_HAS_PROTOS
+-#if !defined(__STDC__) || (__STDC__ != 1)
+-choke me
+-#endif
+-#endif
+-],[
+- int test (int i, double x);
+- struct s1 {int (*f) (int a);};
+- struct s2 {int (*f) (double a);};],
+- [cf_cv_ansi_cc="$cf_arg"; break])
+-done
+-CFLAGS="$cf_save_CFLAGS"
+-CPPFLAGS="$cf_save_CPPFLAGS"
+-])
+-
+-if test "$cf_cv_ansi_cc" != "no"; then
+-if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then
+- CF_ADD_CFLAGS($cf_cv_ansi_cc)
+-else
+- AC_DEFINE(CC_HAS_PROTOS)
+-fi
+-fi
+-])dnl
++dnl CF_ARG_DISABLE version: 3 updated: 1999/03/30 17:24:31
++dnl --------------
++dnl Allow user to disable a normally-on option.
++AC_DEFUN([CF_ARG_DISABLE],
++[CF_ARG_OPTION($1,[$2],[$3],[$4],yes)])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_ANSI_CC_REQD version: 4 updated: 2008/03/23 14:48:54
+-dnl ---------------
+-dnl For programs that must use an ANSI compiler, obtain compiler options that
+-dnl will make it recognize prototypes. We'll do preprocessor checks in other
+-dnl macros, since tools such as unproto can fake prototypes, but only part of
+-dnl the preprocessor.
+-AC_DEFUN([CF_ANSI_CC_REQD],
+-[AC_REQUIRE([CF_ANSI_CC_CHECK])
+-if test "$cf_cv_ansi_cc" = "no"; then
+- AC_MSG_ERROR(
+-[Your compiler does not appear to recognize prototypes.
+-You have the following choices:
+- a. adjust your compiler options
+- b. get an up-to-date compiler
+- c. use a wrapper such as unproto])
+-fi
++dnl CF_ARG_OPTION version: 4 updated: 2010/05/26 05:38:42
++dnl -------------
++dnl Restricted form of AC_ARG_ENABLE that ensures user doesn't give bogus
++dnl values.
++dnl
++dnl Parameters:
++dnl $1 = option name
++dnl $2 = help-string
++dnl $3 = action to perform if option is not default
++dnl $4 = action if perform if option is default
++dnl $5 = default option value (either 'yes' or 'no')
++AC_DEFUN([CF_ARG_OPTION],
++[AC_ARG_ENABLE([$1],[$2],[test "$enableval" != ifelse([$5],no,yes,no) && enableval=ifelse([$5],no,no,yes)
++ if test "$enableval" != "$5" ; then
++ifelse([$3],,[ :]dnl
++,[ $3]) ifelse([$4],,,[
++ else
++ $4])
++ fi],[enableval=$5 ifelse([$4],,,[
++ $4
+ ])dnl
++ ])])dnl
+ dnl ---------------------------------------------------------------------------
+ dnl CF_AR_FLAGS version: 5 updated: 2010/05/20 20:24:29
+ dnl -----------
+@@ -413,7 +398,7 @@
+ AC_SUBST(ARFLAGS)
+ ])
+ dnl ---------------------------------------------------------------------------
+-dnl CF_BUILD_CC version: 6 updated: 2006/10/14 15:23:15
++dnl CF_BUILD_CC version: 7 updated: 2012/10/06 15:31:55
+ dnl -----------
+ dnl If we're cross-compiling, allow the user to override the tools and their
+ dnl options. The configure script is oriented toward identifying the host
+@@ -423,7 +408,8 @@
+ dnl $1 = default for $CPPFLAGS
+ dnl $2 = default for $LIBS
+ AC_DEFUN([CF_BUILD_CC],[
+-AC_REQUIRE([CF_PROG_EXT])
++CF_ACVERSION_CHECK(2.52,,
++ [AC_REQUIRE([CF_PROG_EXT])])
+ if test "$cross_compiling" = yes ; then
+
+ # defaults that we might want to override
+@@ -504,7 +490,33 @@
+ AC_SUBST(BUILD_OBJEXT)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CFG_DEFAULTS version: 7 updated: 2005/09/24 16:15:00
++dnl CF_CC_ENV_FLAGS version: 1 updated: 2012/10/03 05:25:49
++dnl ---------------
++dnl Check for user's environment-breakage by stuffing CFLAGS/CPPFLAGS content
++dnl into CC. This will not help with broken scripts that wrap the compiler with
++dnl options, but eliminates a more common category of user confusion.
++AC_DEFUN([CF_CC_ENV_FLAGS],
++[
++# This should have been defined by AC_PROG_CC
++: ${CC:=cc}
++
++AC_MSG_CHECKING(\$CC variable)
++case "$CC" in #(vi
++*[[\ \ ]]-[[IUD]]*)
++ AC_MSG_RESULT(broken)
++ AC_MSG_WARN(your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options)
++ # humor him...
++ cf_flags=`echo "$CC" | sed -e 's/^[[^ ]]*[[ ]]//'`
++ CC=`echo "$CC" | sed -e 's/[[ ]].*//'`
++ CF_ADD_CFLAGS($cf_flags)
++ ;;
++*)
++ AC_MSG_RESULT(ok)
++ ;;
++esac
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_CFG_DEFAULTS version: 9 updated: 2013/04/13 18:58:32
+ dnl ---------------
+ dnl Determine the default configuration into which we'll install ncurses. This
+ dnl can be overridden by the user's command-line options. There's two items to
+@@ -522,7 +534,7 @@
+ if test "x$prefix" = "xNONE" ; then
+ case "$cf_cv_system_name" in
+ # non-vendor systems don't have a conflict
+- openbsd*|freebsd*|linux*|cygwin*|k*bsd*-gnu)
++ openbsd*|freebsd*|mirbsd*|linux*|cygwin*|k*bsd*-gnu|mingw*)
+ prefix=/usr
+ ;;
+ *) prefix=$ac_default_prefix
+@@ -558,7 +570,7 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CHECK_CACHE version: 11 updated: 2008/03/23 14:45:59
++dnl CF_CHECK_CACHE version: 12 updated: 2012/10/02 20:55:03
+ dnl --------------
+ dnl Check if we're accidentally using a cache from a different machine.
+ dnl Derive the system name, as a check for reusing the autoconf cache.
+@@ -581,7 +593,7 @@
+ system_name="`(hostname) 2>/dev/null`"
+ fi
+ fi
+-test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name")
++test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name",[Define to the system name.])
+ AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])
+
+ test -z "$system_name" && system_name="$cf_cv_system_name"
+@@ -593,7 +605,40 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CURSES_HEADER version: 2 updated: 2010/04/28 06:02:16
++dnl CF_CLANG_COMPILER version: 1 updated: 2012/06/16 14:55:39
++dnl -----------------
++dnl Check if the given compiler is really clang. clang's C driver defines
++dnl __GNUC__ (fooling the configure script into setting $GCC to yes) but does
++dnl not ignore some gcc options.
++dnl
++dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to
++dnl ensure that it is not mistaken for gcc/g++. It is normally invoked from
++dnl the wrappers for gcc and g++ warnings.
++dnl
++dnl $1 = GCC (default) or GXX
++dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS
++dnl $3 = CFLAGS (default) or CXXFLAGS
++AC_DEFUN([CF_CLANG_COMPILER],[
++ifelse([$2],,CLANG_COMPILER,[$2])=no
++
++if test "$ifelse([$1],,[$1],GCC)" = yes ; then
++ AC_MSG_CHECKING(if this is really Clang ifelse([$1],GXX,C++,C) compiler)
++ cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])"
++ ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -Qunused-arguments"
++ AC_TRY_COMPILE([],[
++#ifdef __clang__
++#else
++make an error
++#endif
++],[ifelse([$2],,CLANG_COMPILER,[$2])=yes
++cf_save_CFLAGS="$cf_save_CFLAGS -Qunused-arguments"
++],[])
++ ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS"
++ AC_MSG_RESULT($ifelse([$2],,CLANG_COMPILER,[$2]))
++fi
++])
++dnl ---------------------------------------------------------------------------
++dnl CF_CURSES_HEADER version: 3 updated: 2011/05/01 19:47:45
+ dnl ----------------
+ dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common
+ dnl variations of ncurses' installs.
+@@ -603,10 +648,10 @@
+ AC_CACHE_CHECK(if we have identified curses headers,cf_cv_ncurses_header,[
+ cf_cv_ncurses_header=none
+ for cf_header in ifelse($1,,,[ \
+- $1/curses.h \
+- $1/ncurses.h]) \
+- curses.h \
+- ncurses.h ifelse($1,,[ncurses/curses.h ncurses/ncurses.h])
++ $1/ncurses.h \
++ $1/curses.h]) \
++ ncurses.h \
++ curses.h ifelse($1,,[ncurses/ncurses.h ncurses/curses.h])
+ do
+ AC_TRY_COMPILE([#include <${cf_header}>],
+ [initscr(); tgoto("?", 0,0)],
+@@ -627,6 +672,67 @@
+ dnl "dirname" is not portable, so we fake it with a shell script.
+ AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_DISABLE_ECHO version: 12 updated: 2012/10/06 16:30:28
++dnl ---------------
++dnl You can always use "make -n" to see the actual options, but it's hard to
++dnl pick out/analyze warning messages when the compile-line is long.
++dnl
++dnl Sets:
++dnl ECHO_LT - symbol to control if libtool is verbose
++dnl ECHO_LD - symbol to prefix "cc -o" lines
++dnl RULE_CC - symbol to put before implicit "cc -c" lines (e.g., .c.o)
++dnl SHOW_CC - symbol to put before explicit "cc -c" lines
++dnl ECHO_CC - symbol to put before any "cc" line
++dnl
++AC_DEFUN([CF_DISABLE_ECHO],[
++AC_MSG_CHECKING(if you want to see long compiling messages)
++CF_ARG_DISABLE(echo,
++ [ --disable-echo do not display "compiling" commands],
++ [
++ ECHO_LT='--silent'
++ ECHO_LD='@echo linking [$]@;'
++ RULE_CC='@echo compiling [$]<'
++ SHOW_CC='@echo compiling [$]@'
++ ECHO_CC='@'
++],[
++ ECHO_LT=''
++ ECHO_LD=''
++ RULE_CC=''
++ SHOW_CC=''
++ ECHO_CC=''
++])
++AC_MSG_RESULT($enableval)
++AC_SUBST(ECHO_LT)
++AC_SUBST(ECHO_LD)
++AC_SUBST(RULE_CC)
++AC_SUBST(SHOW_CC)
++AC_SUBST(ECHO_CC)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_ENABLE_PC_FILES version: 9 updated: 2012/08/04 13:59:54
++dnl ------------------
++dnl This is the "--enable-pc-files" option, which is available if there is a
++dnl pkg-config configuration on the local machine.
++AC_DEFUN([CF_ENABLE_PC_FILES],[
++AC_REQUIRE([CF_PKG_CONFIG])
++AC_REQUIRE([CF_WITH_PKG_CONFIG_LIBDIR])
++
++if test "$PKG_CONFIG" != none ; then
++ AC_MSG_CHECKING(if we should install .pc files for $PKG_CONFIG)
++ AC_ARG_ENABLE(pc-files,
++ [ --enable-pc-files generate and install .pc files for pkg-config],
++ [enable_pc_files=$enableval],
++ [enable_pc_files=no])
++ AC_MSG_RESULT($enable_pc_files)
++ if test "$enable_pc_files" != no
++ then
++ CF_PATH_SYNTAX(PKG_CONFIG_LIBDIR)
++ fi
++else
++ enable_pc_files=no
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_FIND_LIBRARY version: 9 updated: 2008/03/23 14:48:54
+ dnl ---------------
+ dnl Look for a non-standard library, given parameters for AC_TRY_LINK. We
+@@ -807,7 +913,26 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_GCC_ATTRIBUTES version: 14 updated: 2010/10/23 15:52:32
++dnl CF_FIXUP_ADAFLAGS version: 1 updated: 2012/03/31 18:48:10
++dnl -----------------
++dnl make ADAFLAGS consistent with CFLAGS
++AC_DEFUN([CF_FIXUP_ADAFLAGS],[
++ AC_MSG_CHECKING(optimization options for ADAFLAGS)
++ case "$CFLAGS" in
++ *-g*)
++ CF_ADD_ADAFLAGS(-g)
++ ;;
++ esac
++ case "$CFLAGS" in
++ *-O*)
++ cf_O_flag=`echo "$CFLAGS" |sed -e 's/^.*-O/-O/' -e 's/[[ ]].*//'`
++ CF_ADD_ADAFLAGS($cf_O_flag)
++ ;;
++ esac
++ AC_MSG_RESULT($ADAFLAGS)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_GCC_ATTRIBUTES version: 16 updated: 2012/10/02 20:55:03
+ dnl -----------------
+ dnl Test for availability of useful gcc __attribute__ directives to quiet
+ dnl compiler warnings. Though useful, not all are supported -- and contrary
+@@ -885,27 +1010,27 @@
+ test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute)
+ cat conftest.h >>confdefs.h
+ case $cf_attribute in #(vi
++ noreturn) #(vi
++ AC_DEFINE_UNQUOTED(GCC_NORETURN,$cf_directive,[Define to noreturn-attribute for gcc])
++ ;;
+ printf) #(vi
+- if test "$cf_printf_attribute" = no ; then
+- cat >>confdefs.h <<EOF
+-#define GCC_PRINTFLIKE(fmt,var) /* nothing */
+-EOF
+- else
+- cat >>confdefs.h <<EOF
+-#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
+-EOF
++ cf_value='/* nothing */'
++ if test "$cf_printf_attribute" != no ; then
++ cf_value='__attribute__((format(printf,fmt,var)))'
++ AC_DEFINE(GCC_PRINTF,1,[Define to 1 if the compiler supports gcc-like printf attribute.])
+ fi
++ AC_DEFINE_UNQUOTED(GCC_PRINTFLIKE(fmt,var),$cf_value,[Define to printf-attribute for gcc])
+ ;;
+ scanf) #(vi
+- if test "$cf_scanf_attribute" = no ; then
+- cat >>confdefs.h <<EOF
+-#define GCC_SCANFLIKE(fmt,var) /* nothing */
+-EOF
+- else
+- cat >>confdefs.h <<EOF
+-#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
+-EOF
++ cf_value='/* nothing */'
++ if test "$cf_scanf_attribute" != no ; then
++ cf_value='__attribute__((format(scanf,fmt,var)))'
++ AC_DEFINE(GCC_SCANF,1,[Define to 1 if the compiler supports gcc-like scanf attribute.])
+ fi
++ AC_DEFINE_UNQUOTED(GCC_SCANFLIKE(fmt,var),$cf_value,[Define to sscanf-attribute for gcc])
++ ;;
++ unused) #(vi
++ AC_DEFINE_UNQUOTED(GCC_UNUSED,$cf_directive,[Define to unused-attribute for gcc])
+ ;;
+ esac
+ fi
+@@ -917,7 +1042,7 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_GCC_VERSION version: 5 updated: 2010/04/24 11:02:31
++dnl CF_GCC_VERSION version: 7 updated: 2012/10/18 06:46:33
+ dnl --------------
+ dnl Find version of gcc
+ AC_DEFUN([CF_GCC_VERSION],[
+@@ -925,13 +1050,13 @@
+ GCC_VERSION=none
+ if test "$GCC" = yes ; then
+ AC_MSG_CHECKING(version of $CC)
+- GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
++ GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC[[^)]]*) //' -e 's/^.*(Debian[[^)]]*) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
+ test -z "$GCC_VERSION" && GCC_VERSION=unknown
+ AC_MSG_RESULT($GCC_VERSION)
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_GCC_WARNINGS version: 27 updated: 2010/10/23 15:52:32
++dnl CF_GCC_WARNINGS version: 29 updated: 2012/06/16 14:55:39
+ dnl ---------------
+ dnl Check if the compiler supports useful warning options. There's a few that
+ dnl we don't use, simply because they're too noisy:
+@@ -954,6 +1079,7 @@
+ [
+ AC_REQUIRE([CF_GCC_VERSION])
+ CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS)
++CF_CLANG_COMPILER(GCC,CLANG_COMPILER,CFLAGS)
+
+ cat > conftest.$ac_ext <<EOF
+ #line __oline__ "${as_me:-configure}"
+@@ -1029,6 +1155,13 @@
+ continue;;
+ esac
+ ;;
++ Wpointer-arith) #(vi
++ case $GCC_VERSION in
++ [[12]].*)
++ CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
++ continue;;
++ esac
++ ;;
+ esac
+ EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
+ fi
+@@ -1070,53 +1203,6 @@
+ AC_SUBST(cf_generic_objects)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_GNAT_SIGINT version: 1 updated: 2011/03/27 20:07:59
+-dnl --------------
+-dnl Check if gnat supports SIGINT, and presumably tasking. For the latter, it
+-dnl is noted that gnat may compile a tasking unit even for configurations which
+-dnl fail at runtime.
+-AC_DEFUN([CF_GNAT_SIGINT],[
+-AC_CACHE_CHECK(if GNAT supports SIGINT,cf_cv_gnat_sigint,[
+-CF_GNAT_TRY_LINK([with Ada.Interrupts.Names;
+-
+-package ConfTest is
+-
+- pragma Warnings (Off); -- the next pragma exists since 3.11p
+- pragma Unreserve_All_Interrupts;
+- pragma Warnings (On);
+-
+- protected Process is
+- procedure Stop;
+- function Continue return Boolean;
+- pragma Attach_Handler (Stop, Ada.Interrupts.Names.SIGINT);
+- private
+- Done : Boolean := False;
+- end Process;
+-
+-end ConfTest;],
+-[package body ConfTest is
+- protected body Process is
+- procedure Stop is
+- begin
+- Done := True;
+- end Stop;
+- function Continue return Boolean is
+- begin
+- return not Done;
+- end Continue;
+- end Process;
+-end ConfTest;],
+- [cf_cv_gnat_sigint=yes],
+- [cf_cv_gnat_sigint=no])])
+-
+-if test $cf_cv_gnat_sigint = yes ; then
+- USE_GNAT_SIGINT=""
+-else
+- USE_GNAT_SIGINT="#"
+-fi
+-AC_SUBST(USE_GNAT_SIGINT)
+-])dnl
+-dnl ---------------------------------------------------------------------------
+ dnl CF_GNAT_PRAGMA_UNREF version: 1 updated: 2010/06/19 15:22:18
+ dnl --------------------
+ dnl Check if the gnat pragma "Unreferenced" works.
+@@ -1253,6 +1339,53 @@
+ AC_SUBST(USE_GNAT_LIBRARIES)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_GNAT_SIGINT version: 1 updated: 2011/03/27 20:07:59
++dnl --------------
++dnl Check if gnat supports SIGINT, and presumably tasking. For the latter, it
++dnl is noted that gnat may compile a tasking unit even for configurations which
++dnl fail at runtime.
++AC_DEFUN([CF_GNAT_SIGINT],[
++AC_CACHE_CHECK(if GNAT supports SIGINT,cf_cv_gnat_sigint,[
++CF_GNAT_TRY_LINK([with Ada.Interrupts.Names;
++
++package ConfTest is
++
++ pragma Warnings (Off); -- the next pragma exists since 3.11p
++ pragma Unreserve_All_Interrupts;
++ pragma Warnings (On);
++
++ protected Process is
++ procedure Stop;
++ function Continue return Boolean;
++ pragma Attach_Handler (Stop, Ada.Interrupts.Names.SIGINT);
++ private
++ Done : Boolean := False;
++ end Process;
++
++end ConfTest;],
++[package body ConfTest is
++ protected body Process is
++ procedure Stop is
++ begin
++ Done := True;
++ end Stop;
++ function Continue return Boolean is
++ begin
++ return not Done;
++ end Continue;
++ end Process;
++end ConfTest;],
++ [cf_cv_gnat_sigint=yes],
++ [cf_cv_gnat_sigint=no])])
++
++if test $cf_cv_gnat_sigint = yes ; then
++ USE_GNAT_SIGINT=""
++else
++ USE_GNAT_SIGINT="#"
++fi
++AC_SUBST(USE_GNAT_SIGINT)
++])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_GNAT_TRY_LINK version: 3 updated: 2011/03/19 14:47:45
+ dnl ----------------
+ dnl Verify that a test program compiles/links with GNAT.
+@@ -1311,7 +1444,7 @@
+ rm -rf conftest* *~conftest*
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_GNAT_VERSION version: 17 updated: 2011/03/23 20:24:41
++dnl CF_GNAT_VERSION version: 18 updated: 2012/01/21 19:28:10
+ dnl ---------------
+ dnl Verify version of GNAT.
+ AC_DEFUN([CF_GNAT_VERSION],
+@@ -1323,7 +1456,7 @@
+ AC_MSG_RESULT($cf_gnat_version)
+
+ case $cf_gnat_version in #(vi
+-3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*) #(vi
++3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*|20[[0-9]][[0-9]]) #(vi
+ cf_cv_prog_gnat_correct=yes
+ ;;
+ *)
+@@ -1416,7 +1549,7 @@
+ [AC_DIVERT_HELP([$1])dnl
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_INCLUDE_DIRS version: 6 updated: 2009/01/06 19:37:40
++dnl CF_INCLUDE_DIRS version: 7 updated: 2012/11/10 19:15:05
+ dnl ---------------
+ dnl Construct the list of include-options according to whether we're building
+ dnl in the source directory or using '--srcdir=DIR' option. If we're building
+@@ -1424,25 +1557,25 @@
+ dnl since that usually breaks gcc's shadow-includes.
+ AC_DEFUN([CF_INCLUDE_DIRS],
+ [
+-CPPFLAGS="$CPPFLAGS -I. -I../include"
+-if test "$srcdir" != "."; then
+- CPPFLAGS="$CPPFLAGS -I\${srcdir}/../include"
+-fi
+ if test "$GCC" != yes; then
+- CPPFLAGS="$CPPFLAGS -I\${includedir}"
++ CPPFLAGS="-I\${includedir} $CPPFLAGS"
+ elif test "$includedir" != "/usr/include"; then
+ if test "$includedir" = '${prefix}/include' ; then
+ if test $prefix != /usr ; then
+- CPPFLAGS="$CPPFLAGS -I\${includedir}"
++ CPPFLAGS="-I\${includedir} $CPPFLAGS"
+ fi
+ else
+- CPPFLAGS="$CPPFLAGS -I\${includedir}"
++ CPPFLAGS="-I\${includedir} $CPPFLAGS"
+ fi
+ fi
++if test "$srcdir" != "."; then
++ CPPFLAGS="-I\${srcdir}/../include $CPPFLAGS"
++fi
++CPPFLAGS="-I. -I../include $CPPFLAGS"
+ AC_SUBST(CPPFLAGS)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_INTEL_COMPILER version: 4 updated: 2010/05/26 05:38:42
++dnl CF_INTEL_COMPILER version: 5 updated: 2013/02/10 10:41:05
+ dnl -----------------
+ dnl Check if the given compiler is really the Intel compiler for Linux. It
+ dnl tries to imitate gcc, but does not return an error when it finds a mismatch
+@@ -1456,6 +1589,7 @@
+ dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS
+ dnl $3 = CFLAGS (default) or CXXFLAGS
+ AC_DEFUN([CF_INTEL_COMPILER],[
++AC_REQUIRE([AC_CANONICAL_HOST])
+ ifelse([$2],,INTEL_COMPILER,[$2])=no
+
+ if test "$ifelse([$1],,[$1],GCC)" = yes ; then
+@@ -1479,7 +1613,7 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_LARGEFILE version: 7 updated: 2007/06/02 11:58:50
++dnl CF_LARGEFILE version: 8 updated: 2012/10/06 08:57:51
+ dnl ------------
+ dnl Add checks for large file support.
+ AC_DEFUN([CF_LARGEFILE],[
+@@ -1513,12 +1647,12 @@
+ [cf_cv_struct_dirent64=yes],
+ [cf_cv_struct_dirent64=no])
+ ])
+- test "$cf_cv_struct_dirent64" = yes && AC_DEFINE(HAVE_STRUCT_DIRENT64)
++ test "$cf_cv_struct_dirent64" = yes && AC_DEFINE(HAVE_STRUCT_DIRENT64,1,[Define to 1 if we have struct dirent64])
+ fi
+ ])
+ ])
+ dnl ---------------------------------------------------------------------------
+-dnl CF_LD_RPATH_OPT version: 3 updated: 2010/06/02 05:03:05
++dnl CF_LD_RPATH_OPT version: 5 updated: 2011/07/17 14:48:41
+ dnl ---------------
+ dnl For the given system and compiler, find the compiler flags to pass to the
+ dnl loader to use the "rpath" feature.
+@@ -1539,10 +1673,10 @@
+ linux*|gnu*|k*bsd*-gnu) #(vi
+ LD_RPATH_OPT="-Wl,-rpath,"
+ ;;
+-openbsd[[2-9]].*) #(vi
++openbsd[[2-9]].*|mirbsd*) #(vi
+ LD_RPATH_OPT="-Wl,-rpath,"
+ ;;
+-freebsd*) #(vi
++dragonfly*|freebsd*) #(vi
+ LD_RPATH_OPT="-rpath "
+ ;;
+ netbsd*) #(vi
+@@ -1601,11 +1735,11 @@
+ $1="$cf_library_path_list [$]$1"
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_LIB_PREFIX version: 8 updated: 2008/09/13 11:34:16
++dnl CF_LIB_PREFIX version: 9 updated: 2012/01/21 19:28:10
+ dnl -------------
+ dnl Compute the library-prefix for the given host system
+ dnl $1 = variable to set
+-AC_DEFUN([CF_LIB_PREFIX],
++define([CF_LIB_PREFIX],
+ [
+ case $cf_cv_system_name in #(vi
+ OS/2*|os2*) #(vi
+@@ -1618,44 +1752,7 @@
+ AC_SUBST(LIB_PREFIX)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_LIB_SONAME version: 5 updated: 2010/08/14 18:25:37
+-dnl -------------
+-dnl Find the and soname for the given shared library. Set the cache variable
+-dnl cf_cv_$3_soname to this, unless it is not found. Then set the cache
+-dnl variable to "unknown".
+-dnl
+-dnl $1 = headers
+-dnl $2 = code
+-dnl $3 = library name
+-AC_DEFUN([CF_LIB_SONAME],
+-[
+-AC_CACHE_CHECK(for soname of $3 library,cf_cv_$3_soname,[
+-
+-cf_cv_$3_soname=unknown
+-if test "$cross_compiling" != yes ; then
+-cat >conftest.$ac_ext <<CF_EOF
+-$1
+-int main()
+-{
+-$2
+- ${cf_cv_main_return:-return}(0);
+-}
+-CF_EOF
+-cf_save_LIBS="$LIBS"
+- CF_ADD_LIB($3)
+- if AC_TRY_EVAL(ac_compile) ; then
+- if AC_TRY_EVAL(ac_link) ; then
+- cf_cv_$3_soname=`ldd conftest$ac_exeext 2>/dev/null | sed -e 's,^.*/,,' -e 's, .*$,,' | fgrep lib$3.`
+- test -z "$cf_cv_$3_soname" && cf_cv_$3_soname=unknown
+- fi
+- fi
+-rm -rf conftest*
+-LIBS="$cf_save_LIBS"
+-fi
+-])
+-])
+-dnl ---------------------------------------------------------------------------
+-dnl CF_LIB_SUFFIX version: 16 updated: 2008/12/27 12:30:03
++dnl CF_LIB_SUFFIX version: 18 updated: 2012/02/25 15:20:07
+ dnl -------------
+ dnl Compute the library file-suffix from the given model name
+ dnl $1 = model name
+@@ -1684,11 +1781,11 @@
+ ;;
+ shared) #(vi
+ case $cf_cv_system_name in
+- aix[[56]]*) #(vi
++ aix[[5-7]]*) #(vi
+ $2='.a'
+ $3=[$]$2
+ ;;
+- cygwin*) #(vi
++ cygwin*|mingw*) #(vi
+ $2='.dll'
+ $3='.dll.a'
+ ;;
+@@ -1735,7 +1832,7 @@
+ test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_LINK_DATAONLY version: 9 updated: 2009/01/01 20:21:38
++dnl CF_LINK_DATAONLY version: 10 updated: 2012/10/06 17:41:51
+ dnl ----------------
+ dnl Some systems have a non-ANSI linker that doesn't pull in modules that have
+ dnl only data (i.e., no functions), for example NeXT. On those systems we'll
+@@ -1792,81 +1889,12 @@
+ AC_MSG_RESULT($cf_cv_link_dataonly)
+
+ if test "$cf_cv_link_dataonly" = no ; then
+- AC_DEFINE(BROKEN_LINKER)
++ AC_DEFINE(BROKEN_LINKER,1,[if data-only library module does not link])
+ BROKEN_LINKER=1
+ fi
+
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_LINK_FUNCS version: 7 updated: 2006/12/16 12:33:30
+-dnl -------------
+-dnl Most Unix systems have both link and symlink, a few don't have symlink.
+-dnl A few non-Unix systems implement symlink, but not link.
+-dnl A few non-systems implement neither (or have nonfunctional versions).
+-AC_DEFUN([CF_LINK_FUNCS],
+-[
+-AC_CHECK_FUNCS( \
+- remove \
+- unlink )
+-
+-if test "$cross_compiling" = yes ; then
+- AC_CHECK_FUNCS( \
+- link \
+- symlink )
+-else
+- AC_CACHE_CHECK(if link/symlink functions work,cf_cv_link_funcs,[
+- cf_cv_link_funcs=
+- for cf_func in link symlink ; do
+- AC_TRY_RUN([
+-#include <sys/types.h>
+-#include <sys/stat.h>
+-#ifdef HAVE_UNISTD_H
+-#include <unistd.h>
+-#endif
+-int main()
+-{
+- int fail = 0;
+- char *src = "config.log";
+- char *dst = "conftest.chk";
+- struct stat src_sb;
+- struct stat dst_sb;
+-
+- stat(src, &src_sb);
+- fail = ($cf_func("config.log", "conftest.chk") < 0)
+- || (stat(dst, &dst_sb) < 0)
+- || (dst_sb.st_mtime != src_sb.st_mtime);
+-#ifdef HAVE_UNLINK
+- unlink(dst);
+-#else
+- remove(dst);
+-#endif
+- ${cf_cv_main_return:-return} (fail);
+-}
+- ],[
+- cf_cv_link_funcs="$cf_cv_link_funcs $cf_func"
+- eval 'ac_cv_func_'$cf_func'=yes'],[
+- eval 'ac_cv_func_'$cf_func'=no'],[
+- eval 'ac_cv_func_'$cf_func'=error'])
+- done
+- test -z "$cf_cv_link_funcs" && cf_cv_link_funcs=no
+- ])
+- test "$ac_cv_func_link" = yes && AC_DEFINE(HAVE_LINK)
+- test "$ac_cv_func_symlink" = yes && AC_DEFINE(HAVE_SYMLINK)
+-fi
+-])dnl
+-dnl ---------------------------------------------------------------------------
+-dnl CF_MAIN_RETURN version: 1 updated: 2006/12/10 09:51:54
+-dnl --------------
+-dnl Check if a return from main to the shell actually returns the same exit
+-dnl code. This is true for almost any POSIX environment.
+-dnl
+-dnl Some very old environments did not flush stdout, etc., on an exit. That
+-dnl would be a useful case to test for also.
+-AC_DEFUN([CF_MAIN_RETURN],
+-[
+-cf_cv_main_return=return
+-])dnl
+-dnl ---------------------------------------------------------------------------
+ dnl CF_MAKEFLAGS version: 14 updated: 2011/03/31 19:29:46
+ dnl ------------
+ dnl Some 'make' programs support ${MAKEFLAGS}, some ${MFLAGS}, to pass 'make'
+@@ -1944,7 +1972,7 @@
+ AC_SUBST(MAKE_LOWER_TAGS)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_MIXEDCASE_FILENAMES version: 3 updated: 2003/09/20 17:07:55
++dnl CF_MIXEDCASE_FILENAMES version: 4 updated: 2012/10/02 20:55:03
+ dnl ----------------------
+ dnl Check if the file-system supports mixed-case filenames. If we're able to
+ dnl create a lowercase name and see it as uppercase, it doesn't support that.
+@@ -1971,10 +1999,10 @@
+ rm -f conftest CONFTEST
+ fi
+ ])
+-test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES)
++test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES,1,[Define to 1 if filesystem supports mixed-case filenames.])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_MKSTEMP version: 7 updated: 2010/08/14 18:25:37
++dnl CF_MKSTEMP version: 9 updated: 2012/10/03 04:34:49
+ dnl ----------
+ dnl Check for a working mkstemp. This creates two files, checks that they are
+ dnl successfully created and distinct (AmigaOS apparently fails on the last).
+@@ -2016,11 +2044,13 @@
+ }
+ ],[cf_cv_func_mkstemp=yes
+ ],[cf_cv_func_mkstemp=no
+-],[AC_CHECK_FUNC(mkstemp)
+-])
++],[cf_cv_func_mkstemp=maybe])
+ ])
++if test "x$cf_cv_func_mkstemp" = xmaybe ; then
++ AC_CHECK_FUNC(mkstemp)
++fi
+ if test "x$cf_cv_func_mkstemp" = xyes || test "x$ac_cv_func_mkstemp" = xyes ; then
+- AC_DEFINE(HAVE_MKSTEMP)
++ AC_DEFINE(HAVE_MKSTEMP,1,[Define to 1 if mkstemp() is available and working.])
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+@@ -2141,7 +2171,7 @@
+ ,[$1=no])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_NCURSES_CONFIG version: 8 updated: 2010/07/08 05:17:30
++dnl CF_NCURSES_CONFIG version: 10 updated: 2012/10/06 08:57:51
+ dnl -----------------
+ dnl Tie together the configure-script macros for ncurses.
+ dnl Prefer the "-config" script from ncurses 6.x, to simplify analysis.
+@@ -2153,7 +2183,10 @@
+ cf_ncuconfig_root=ifelse($1,,ncurses,$1)
+
+ echo "Looking for ${cf_ncuconfig_root}-config"
+-AC_PATH_PROGS(NCURSES_CONFIG,${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config,none)
++
++CF_ACVERSION_CHECK(2.52,
++ [AC_CHECK_TOOLS(NCURSES_CONFIG, ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)],
++ [AC_PATH_PROGS(NCURSES_CONFIG, ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)])
+
+ if test "$NCURSES_CONFIG" != none ; then
+
+@@ -2164,7 +2197,7 @@
+ CF_CURSES_HEADER(ifelse($1,,ncurses,$1))
+
+ dnl like CF_NCURSES_CPPFLAGS
+-AC_DEFINE(NCURSES)
++AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries])
+
+ dnl like CF_NCURSES_LIBS
+ CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_ncuconfig_root)
+@@ -2181,7 +2214,7 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_NCURSES_CPPFLAGS version: 20 updated: 2010/11/20 17:02:38
++dnl CF_NCURSES_CPPFLAGS version: 21 updated: 2012/10/06 08:57:51
+ dnl -------------------
+ dnl Look for the SVr4 curses clone 'ncurses' in the standard places, adjusting
+ dnl the CPPFLAGS variable so we can include its header.
+@@ -2227,12 +2260,12 @@
+ CF_TERM_HEADER
+
+ # some applications need this, but should check for NCURSES_VERSION
+-AC_DEFINE(NCURSES)
++AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries])
+
+ CF_NCURSES_VERSION
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_NCURSES_HEADER version: 2 updated: 2008/03/23 14:48:54
++dnl CF_NCURSES_HEADER version: 3 updated: 2012/10/06 08:57:51
+ dnl -----------------
+ dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common
+ dnl variations of ncurses' installs.
+@@ -2283,16 +2316,16 @@
+
+ case $cf_cv_ncurses_header in # (vi
+ *ncurses.h)
+- AC_DEFINE(HAVE_NCURSES_H)
++ AC_DEFINE(HAVE_NCURSES_H,1,[Define to 1 if we have ncurses.h])
+ ;;
+ esac
+
+ case $cf_cv_ncurses_header in # (vi
+ ncurses/curses.h|ncurses/ncurses.h)
+- AC_DEFINE(HAVE_NCURSES_NCURSES_H)
++ AC_DEFINE(HAVE_NCURSES_NCURSES_H,1,[Define to 1 if we have ncurses/ncurses.h])
+ ;;
+ ncursesw/curses.h|ncursesw/ncurses.h)
+- AC_DEFINE(HAVE_NCURSESW_NCURSES_H)
++ AC_DEFINE(HAVE_NCURSESW_NCURSES_H,1,[Define to 1 if we have ncursesw/ncurses.h])
+ ;;
+ esac
+
+@@ -2366,7 +2399,7 @@
+ AC_DEFINE_UNQUOTED($cf_nculib_ROOT)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_NCURSES_VERSION version: 13 updated: 2010/10/23 15:54:49
++dnl CF_NCURSES_VERSION version: 14 updated: 2012/10/06 08:57:51
+ dnl ------------------
+ dnl Check for the version of ncurses, to aid in reporting bugs, etc.
+ dnl Call CF_CURSES_CPPFLAGS first, or CF_NCURSES_CPPFLAGS. We don't use
+@@ -2425,55 +2458,7 @@
+ ])
+ rm -f $cf_tempfile
+ ])
+-test "$cf_cv_ncurses_version" = no || AC_DEFINE(NCURSES)
+-])dnl
+-dnl ---------------------------------------------------------------------------
+-dnl CF_NO_LEAKS_OPTION version: 4 updated: 2006/12/16 14:24:05
+-dnl ------------------
+-dnl see CF_WITH_NO_LEAKS
+-AC_DEFUN([CF_NO_LEAKS_OPTION],[
+-AC_MSG_CHECKING(if you want to use $1 for testing)
+-AC_ARG_WITH($1,
+- [$2],
+- [AC_DEFINE($3)ifelse([$4],,[
+- $4
+-])
+- : ${with_cflags:=-g}
+- : ${with_no_leaks:=yes}
+- with_$1=yes],
+- [with_$1=])
+-AC_MSG_RESULT(${with_$1:-no})
+-
+-case .$with_cflags in #(vi
+-.*-g*)
+- case .$CFLAGS in #(vi
+- .*-g*) #(vi
+- ;;
+- *)
+- CF_ADD_CFLAGS([-g])
+- ;;
+- esac
+- ;;
+-esac
+-])dnl
+-dnl ---------------------------------------------------------------------------
+-dnl CF_NUMBER_SYNTAX version: 1 updated: 2003/09/20 18:12:49
+-dnl ----------------
+-dnl Check if the given variable is a number. If not, report an error.
+-dnl $1 is the variable
+-dnl $2 is the message
+-AC_DEFUN([CF_NUMBER_SYNTAX],[
+-if test -n "$1" ; then
+- case $1 in #(vi
+- [[0-9]]*) #(vi
+- ;;
+- *)
+- AC_MSG_ERROR($2 is not a number: $1)
+- ;;
+- esac
+-else
+- AC_MSG_ERROR($2 value is empty)
+-fi
++test "$cf_cv_ncurses_version" = no || AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+ dnl CF_OBJ_SUBDIR version: 4 updated: 2002/02/23 20:38:31
+@@ -2496,20 +2481,23 @@
+ esac
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_PATHSEP version: 5 updated: 2010/05/26 05:38:42
++dnl CF_PATHSEP version: 6 updated: 2012/09/29 18:38:12
+ dnl ----------
+-dnl Provide a value for the $PATH and similar separator
++dnl Provide a value for the $PATH and similar separator (or amend the value
++dnl as provided in autoconf 2.5x).
+ AC_DEFUN([CF_PATHSEP],
+ [
++ AC_MSG_CHECKING(for PATH separator)
+ case $cf_cv_system_name in
+ os2*) PATH_SEPARATOR=';' ;;
+- *) PATH_SEPARATOR=':' ;;
++ *) ${PATH_SEPARATOR:=':'} ;;
+ esac
+ ifelse([$1],,,[$1=$PATH_SEPARATOR])
+ AC_SUBST(PATH_SEPARATOR)
++ AC_MSG_RESULT($PATH_SEPARATOR)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_PATH_SYNTAX version: 13 updated: 2010/05/26 05:38:42
++dnl CF_PATH_SYNTAX version: 14 updated: 2012/06/19 20:58:54
+ dnl --------------
+ dnl Check the argument to see that it looks like a pathname. Rewrite it if it
+ dnl begins with one of the prefix/exec_prefix variables, and then again if the
+@@ -2529,7 +2517,7 @@
+ ;;
+ .[[a-zA-Z]]:[[\\/]]*) #(vi OS/2 EMX
+ ;;
+-.\[$]{*prefix}*) #(vi
++.\[$]{*prefix}*|.\[$]{*dir}*) #(vi
+ eval $1="[$]$1"
+ case ".[$]$1" in #(vi
+ .NONE/*)
+@@ -2546,7 +2534,7 @@
+ esac
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_PKG_CONFIG version: 4 updated: 2011/02/18 20:26:24
++dnl CF_PKG_CONFIG version: 7 updated: 2011/04/29 04:53:22
+ dnl -------------
+ dnl Check for the package-config program, unless disabled by command-line.
+ AC_DEFUN([CF_PKG_CONFIG],
+@@ -2563,7 +2551,9 @@
+ PKG_CONFIG=none
+ ;;
+ yes) #(vi
+- AC_PATH_TOOL(PKG_CONFIG, pkg-config, none)
++ CF_ACVERSION_CHECK(2.52,
++ [AC_PATH_TOOL(PKG_CONFIG, pkg-config, none)],
++ [AC_PATH_PROG(PKG_CONFIG, pkg-config, none)])
+ ;;
+ *)
+ PKG_CONFIG=$withval
+@@ -2667,6 +2657,19 @@
+ test -z "$AWK" && AC_MSG_ERROR(No awk program found)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_PROG_CC version: 3 updated: 2012/10/06 15:31:55
++dnl ----------
++dnl standard check for CC, plus followup sanity checks
++dnl $1 = optional parameter to pass to AC_PROG_CC to specify compiler name
++AC_DEFUN([CF_PROG_CC],[
++ifelse($1,,[AC_PROG_CC],[AC_PROG_CC($1)])
++CF_GCC_VERSION
++CF_ACVERSION_CHECK(2.52,
++ [AC_PROG_CC_STDC],
++ [CF_ANSI_CC_REQD])
++CF_CC_ENV_FLAGS
++])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_PROG_CC_C_O version: 3 updated: 2010/08/14 18:25:37
+ dnl --------------
+ dnl Analogous to AC_PROG_CC_C_O, but more useful: tests only $CC, ensures that
+@@ -2721,7 +2724,7 @@
+ test -z "$EGREP" && AC_MSG_ERROR(No egrep program found)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_PROG_EXT version: 10 updated: 2004/01/03 19:28:18
++dnl CF_PROG_EXT version: 11 updated: 2012/10/06 08:57:51
+ dnl -----------
+ dnl Compute $PROG_EXT, used for non-Unix ports, such as OS/2 EMX.
+ AC_DEFUN([CF_PROG_EXT],
+@@ -2743,10 +2746,10 @@
+
+ PROG_EXT="$EXEEXT"
+ AC_SUBST(PROG_EXT)
+-test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT")
++test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT",[Define to the program extension (normally blank)])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_PROG_GNAT version: 1 updated: 2010/06/19 15:22:18
++dnl CF_PROG_GNAT version: 2 updated: 2011/10/22 14:01:47
+ dnl ------------
+ dnl Check for gnatmake, ensure that it is complete.
+ AC_DEFUN([CF_PROG_GNAT],[
+@@ -2754,6 +2757,7 @@
+ AC_CHECK_PROG(gnat_exists, $cf_ada_make, yes, no)
+ if test "$ac_cv_prog_gnat_exists" = no; then
+ cf_ada_make=
++ cf_cv_prog_gnat_correct=no
+ else
+ CF_GNAT_VERSION
+ AC_CHECK_PROG(M4_exists, m4, yes, no)
+@@ -2831,7 +2835,7 @@
+ $1=`echo "$2" | sed -e 's/-l$3[[ ]]//g' -e 's/-l$3[$]//'`
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_SHARED_OPTS version: 64 updated: 2010/06/05 16:51:16
++dnl CF_SHARED_OPTS version: 72 updated: 2013/01/26 16:26:12
+ dnl --------------
+ dnl --------------
+ dnl Attempt to determine the appropriate CC/LD options for creating a shared
+@@ -2887,6 +2891,7 @@
+ AC_MSG_RESULT($cf_cv_shlib_version)
+
+ cf_cv_rm_so_locs=no
++ cf_try_cflags=
+
+ # Some less-capable ports of gcc support only -fpic
+ CC_SHARED_OPTS=
+@@ -2906,10 +2911,14 @@
+ cf_cv_shlib_version_infix=no
+
+ case $cf_cv_system_name in #(vi
+- aix[[56]]*) #(vi
++ aix4.[3-9]*|aix[[5-7]]*) #(vi
+ if test "$GCC" = yes; then
+ CC_SHARED_OPTS=
+- MK_SHARED_LIB='$(CC) -shared'
++ MK_SHARED_LIB='${CC} -shared -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o [$]@'
++ else
++ # CC_SHARED_OPTS='-qpic=large -G'
++ # perhaps "-bM:SRE -bnoentry -bexpall"
++ MK_SHARED_LIB='${CC} -G -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o [$]@'
+ fi
+ ;;
+ beos*) #(vi
+@@ -2935,7 +2944,7 @@
+ chmod +x mk_shared_lib.sh
+ ;;
+ darwin*) #(vi
+- EXTRA_CFLAGS="-no-cpp-precomp"
++ cf_try_cflags="no-cpp-precomp"
+ CC_SHARED_OPTS="-dynamic"
+ MK_SHARED_LIB='${CC} ${CFLAGS} -dynamiclib -install_name ${libdir}/`basename $[@]` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $[@]'
+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi
+@@ -2949,6 +2958,14 @@
+ LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
+ fi
+ ;;
++ hpux[[7-8]]*) #(vi
++ # HP-UX 8.07 ld lacks "+b" option used for libdir search-list
++ if test "$GCC" != yes; then
++ CC_SHARED_OPTS='+Z'
++ fi
++ MK_SHARED_LIB='${LD} -b -o $[@]'
++ INSTALL_LIB="-m 555"
++ ;;
+ hpux*) #(vi
+ # (tested with gcc 2.7.2 -- I don't have c89)
+ if test "$GCC" = yes; then
+@@ -2962,9 +2979,19 @@
+ # readonly to exploit a quirk in the memory manager.
+ INSTALL_LIB="-m 555"
+ ;;
++ interix*)
++ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
++ if test "$cf_cv_shlib_version" = rel; then
++ cf_shared_soname='`basename $@ .${REL_VERSION}`.${ABI_VERSION}'
++ else
++ cf_shared_soname='`basename $@`'
++ fi
++ CC_SHARED_OPTS=
++ MK_SHARED_LIB='${CC} -shared -Wl,-rpath,${RPATH_LIST} -Wl,-h,'$cf_shared_soname' -o $@'
++ ;;
+ irix*) #(vi
+ if test "$cf_cv_enable_rpath" = yes ; then
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+ # tested with IRIX 5.2 and 'cc'.
+ if test "$GCC" != yes; then
+@@ -2981,18 +3008,39 @@
+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+ fi
+ if test "$cf_cv_enable_rpath" = yes ; then
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+ CF_SHARED_SONAME
+ MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
+ ;;
+- openbsd[[2-9]].*) #(vi
++ mingw*) #(vi
++ cf_cv_shlib_version=mingw
++ cf_cv_shlib_version_infix=mingw
++ CC_SHARED_OPTS=
++ MK_SHARED_LIB='sh ../mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
++ #MK_SHARED_LIB='${CC} ${CFLAGS} -mdll -Wl,-soname,'$cf_cv_shared_soname',-stats -o $[@]'
++ #MK_SHARED_LIB='${DLLTOOL} --export-all-symbols --output-exp --output-lib $[@]'
++ cat >mk_shared_lib.sh <<-CF_EOF
++ #!/bin/sh
++ SHARED_LIB=\[$]1
++ IMPORT_LIB=\`echo "\[$]1" | sed -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
++ shift
++ cat <<-EOF
++ Linking shared library
++ ** SHARED_LIB \[$]SHARED_LIB
++ ** IMPORT_LIB \[$]IMPORT_LIB
++EOF
++ exec \[$]* -shared -Wl,--out-implib=../lib/\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o ../lib/\[$]{SHARED_LIB}
++CF_EOF
++ chmod +x mk_shared_lib.sh
++ ;;
++ openbsd[[2-9]].*|mirbsd*) #(vi
+ if test "$DFT_LWR_MODEL" = "shared" ; then
+ LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+ fi
+ if test "$cf_cv_enable_rpath" = yes ; then
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+ CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
+ CF_SHARED_SONAME
+@@ -3003,12 +3051,12 @@
+ MK_SHARED_LIB='${LD} -Bshareable -o $[@]'
+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
+ ;;
+- freebsd*) #(vi
++ dragonfly*|freebsd*) #(vi
+ CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
+ if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
+ LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
+- LOCAL_LDFLAGS2="${cf_ld_rpath_opt}\${libdir} $LOCAL_LDFLAGS"
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ LOCAL_LDFLAGS2="${cf_ld_rpath_opt}\${RPATH_LIST} $LOCAL_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+ CF_SHARED_SONAME
+ MK_SHARED_LIB='${LD} -shared -Bshareable -soname=`basename $[@]` -o $[@]'
+@@ -3018,7 +3066,7 @@
+ if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
+ LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ if test "$cf_cv_shlib_version" = auto; then
+ if test -f /usr/libexec/ld.elf_so; then
+ cf_cv_shlib_version=abi
+@@ -3123,10 +3171,40 @@
+ ;;
+ esac
+
+- if test -n "$cf_ld_rpath_opt" ; then
+- MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${libdir}"
++ if test -n "$cf_try_cflags"
++ then
++cat > conftest.$ac_ext <<EOF
++#line __oline__ "${as_me:-configure}"
++#include <stdio.h>
++int main(int argc, char *argv[[]])
++{
++ printf("hello\n");
++ return (argv[[argc-1]] == 0) ;
++}
++EOF
++ cf_save_CFLAGS="$CFLAGS"
++ for cf_opt in $cf_try_cflags
++ do
++ CFLAGS="$cf_save_CFLAGS -$cf_opt"
++ AC_MSG_CHECKING(if CFLAGS option -$cf_opt works)
++ if AC_TRY_EVAL(ac_compile); then
++ AC_MSG_RESULT(yes)
++ cf_save_CFLAGS="$CFLAGS"
++ else
++ AC_MSG_RESULT(no)
++ fi
++ done
++ CFLAGS="$cf_save_CFLAGS"
+ fi
+
++
++ # RPATH_LIST is a colon-separated list of directories
++ test -n "$cf_ld_rpath_opt" && MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${RPATH_LIST}"
++ test -z "$RPATH_LIST" && RPATH_LIST="\${libdir}"
++
++ CF_VERBOSE(CC_SHARED_OPTS: $CC_SHARED_OPTS)
++ CF_VERBOSE(MK_SHARED_LIB: $MK_SHARED_LIB)
++
+ AC_SUBST(CC_SHARED_OPTS)
+ AC_SUBST(LD_RPATH_OPT)
+ AC_SUBST(LD_SHARED_OPTS)
+@@ -3137,6 +3215,7 @@
+ AC_SUBST(LOCAL_LDFLAGS)
+ AC_SUBST(LOCAL_LDFLAGS2)
+ AC_SUBST(INSTALL_LIB)
++ AC_SUBST(RPATH_LIST)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+ dnl CF_SHARED_SONAME version: 3 updated: 2008/09/08 18:34:43
+@@ -3180,24 +3259,7 @@
+ CF_ADD_SUBDIR_PATH($1,$2,$3,[$]HOME,$prefix)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_SUBST version: 4 updated: 2006/06/17 12:33:03
+-dnl --------
+-dnl Shorthand macro for substituting things that the user may override
+-dnl with an environment variable.
+-dnl
+-dnl $1 = long/descriptive name
+-dnl $2 = environment variable
+-dnl $3 = default value
+-AC_DEFUN([CF_SUBST],
+-[AC_CACHE_VAL(cf_cv_subst_$2,[
+-AC_MSG_CHECKING(for $1 (symbol $2))
+-CF_SUBST_IF([-z "[$]$2"], [$2], [$3])
+-cf_cv_subst_$2=[$]$2
+-AC_MSG_RESULT([$]$2)
+-])
+-])dnl
+-dnl ---------------------------------------------------------------------------
+-dnl CF_TERM_HEADER version: 2 updated: 2010/10/23 15:54:49
++dnl CF_TERM_HEADER version: 3 updated: 2012/10/06 08:57:51
+ dnl --------------
+ dnl Look for term.h, which is part of X/Open curses. It defines the interface
+ dnl to terminfo database. Usually it is in the same include-path as curses.h,
+@@ -3230,16 +3292,16 @@
+
+ case $cf_cv_term_header in # (vi
+ *term.h)
+- AC_DEFINE(HAVE_TERM_H)
++ AC_DEFINE(HAVE_TERM_H,1,[Define to 1 if we have term.h])
+ ;;
+ esac
+
+ case $cf_cv_term_header in # (vi
+ ncurses/term.h) #(vi
+- AC_DEFINE(HAVE_NCURSES_TERM_H)
++ AC_DEFINE(HAVE_NCURSES_TERM_H,1,[Define to 1 if we have ncurses/term.h])
+ ;;
+ ncursesw/term.h)
+- AC_DEFINE(HAVE_NCURSESW_TERM_H)
++ AC_DEFINE(HAVE_NCURSESW_TERM_H,1,[Define to 1 if we have ncursesw/term.h])
+ ;;
+ esac
+ ])dnl
+@@ -3253,6 +3315,45 @@
+ AC_SUBST(top_builddir)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_TRY_XOPEN_SOURCE version: 1 updated: 2011/10/30 17:09:50
++dnl -------------------
++dnl If _XOPEN_SOURCE is not defined in the compile environment, check if we
++dnl can define it successfully.
++AC_DEFUN([CF_TRY_XOPEN_SOURCE],[
++AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
++ AC_TRY_COMPILE([
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++],[
++#ifndef _XOPEN_SOURCE
++make an error
++#endif],
++ [cf_cv_xopen_source=no],
++ [cf_save="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
++ AC_TRY_COMPILE([
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++],[
++#ifdef _XOPEN_SOURCE
++make an error
++#endif],
++ [cf_cv_xopen_source=no],
++ [cf_cv_xopen_source=$cf_XOPEN_SOURCE])
++ CPPFLAGS="$cf_save"
++ ])
++])
++
++if test "$cf_cv_xopen_source" != no ; then
++ CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE)
++ CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE)
++ cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
++ CF_ADD_CFLAGS($cf_temp_xopen_source)
++fi
++])
++dnl ---------------------------------------------------------------------------
+ dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59
+ dnl --------
+ dnl Make an uppercase version of a variable
+@@ -3262,7 +3363,7 @@
+ $1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_UTF8_LIB version: 7 updated: 2010/06/20 09:24:28
++dnl CF_UTF8_LIB version: 8 updated: 2012/10/06 08:57:51
+ dnl -----------
+ dnl Check for multibyte support, and if not found, utf8 compatibility library
+ AC_DEFUN([CF_UTF8_LIB],
+@@ -3281,7 +3382,7 @@
+ # HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
+ # ncurses/ncursesw:
+ if test "$cf_cv_utf8_lib" = "add-on" ; then
+- AC_DEFINE(HAVE_LIBUTF8_H)
++ AC_DEFINE(HAVE_LIBUTF8_H,1,[Define to 1 if we should include libutf8.h])
+ CF_ADD_INCDIR($cf_cv_header_path_utf8)
+ CF_ADD_LIBDIR($cf_cv_library_path_utf8)
+ CF_ADD_LIBS($cf_cv_library_file_utf8)
+@@ -3415,7 +3516,33 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_WITH_PATH version: 10 updated: 2010/10/23 15:44:18
++dnl CF_WITH_LIB_PREFIX version: 1 updated: 2012/01/21 19:28:10
++dnl ------------------
++dnl Allow the library-prefix to be overridden. OS/2 EMX originally had no
++dnl "lib" prefix, e.g., because it used the dll naming convention.
++dnl
++dnl $1 = variable to set
++AC_DEFUN([CF_WITH_LIB_PREFIX],
++[
++AC_MSG_CHECKING(if you want to have a library-prefix)
++AC_ARG_WITH(lib-prefix,
++ [ --with-lib-prefix override library-prefix],
++ [with_lib_prefix=$withval],
++ [with_lib_prefix=auto])
++AC_MSG_RESULT($with_lib_prefix)
++
++if test $with_lib_prefix = auto
++then
++ CF_LIB_PREFIX($1)
++elif test $with_lib_prefix = no
++then
++ LIB_PREFIX=
++else
++ LIB_PREFIX=$with_lib_prefix
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_WITH_PATH version: 11 updated: 2012/09/29 15:04:19
+ dnl ------------
+ dnl Wrapper for AC_ARG_WITH to ensure that user supplies a pathname, not just
+ dnl defaulting to yes/no.
+@@ -3432,11 +3559,54 @@
+ if ifelse([$5],,true,[test -n "$5"]) ; then
+ CF_PATH_SYNTAX(withval)
+ fi
+-$3="$withval"
++eval $3="$withval"
+ AC_SUBST($3)dnl
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_WITH_PTHREAD version: 3 updated: 2010/05/29 16:31:02
++dnl CF_WITH_PKG_CONFIG_LIBDIR version: 2 updated: 2011/12/10 18:58:47
++dnl -------------------------
++dnl Allow the choice of the pkg-config library directory to be overridden.
++AC_DEFUN([CF_WITH_PKG_CONFIG_LIBDIR],[
++if test "$PKG_CONFIG" != none ; then
++ AC_MSG_CHECKING(for $PKG_CONFIG library directory)
++ AC_ARG_WITH(pkg-config-libdir,
++ [ --with-pkg-config-libdir=XXX use given directory for installing pc-files],
++ [PKG_CONFIG_LIBDIR=$withval],
++ [PKG_CONFIG_LIBDIR=yes])
++
++ case x$PKG_CONFIG_LIBDIR in #(vi
++ x/*) #(vi
++ ;;
++ xyes) #(vi
++ # look for the library directory using the same prefix as the executable
++ cf_path=`echo "$PKG_CONFIG" | sed -e 's,/[[^/]]*/[[^/]]*$,,'`
++ case x`(arch) 2>/dev/null` in #(vi
++ *64) #(vi
++ for cf_config in $cf_path/share $cf_path/lib64 $cf_path/lib32 $cf_path/lib
++ do
++ if test -d $cf_config/pkgconfig
++ then
++ PKG_CONFIG_LIBDIR=$cf_config/pkgconfig
++ break
++ fi
++ done
++ ;;
++ *)
++ PKG_CONFIG_LIBDIR=$cf_path/lib/pkgconfig
++ ;;
++ esac
++ ;;
++ *)
++ ;;
++ esac
++
++ AC_MSG_RESULT($PKG_CONFIG_LIBDIR)
++fi
++
++AC_SUBST(PKG_CONFIG_LIBDIR)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_WITH_PTHREAD version: 6 updated: 2012/10/06 17:41:51
+ dnl ---------------
+ dnl Check for POSIX thread library.
+ AC_DEFUN([CF_WITH_PTHREAD],
+@@ -3450,30 +3620,55 @@
+
+ if test "$with_pthread" != no ; then
+ AC_CHECK_HEADER(pthread.h,[
+- AC_DEFINE(HAVE_PTHREADS_H)
++ AC_DEFINE(HAVE_PTHREADS_H,1,[Define to 1 if we have pthreads.h header])
+
+- AC_MSG_CHECKING(if we can link with the pthread library)
+- cf_save_LIBS="$LIBS"
+- CF_ADD_LIB(pthread)
+- AC_TRY_LINK([
++ for cf_lib_pthread in pthread c_r
++ do
++ AC_MSG_CHECKING(if we can link with the $cf_lib_pthread library)
++ cf_save_LIBS="$LIBS"
++ CF_ADD_LIB($cf_lib_pthread)
++ AC_TRY_LINK([
+ #include <pthread.h>
+ ],[
+- int rc = pthread_create(0,0,0,0);
++ int rc = pthread_create(0,0,0,0);
++ int r2 = pthread_mutexattr_settype(0, 0);
+ ],[with_pthread=yes],[with_pthread=no])
+- LIBS="$cf_save_LIBS"
+- AC_MSG_RESULT($with_pthread)
++ LIBS="$cf_save_LIBS"
++ AC_MSG_RESULT($with_pthread)
++ test "$with_pthread" = yes && break
++ done
+
+- if test "$with_pthread" = yes ; then
+- CF_ADD_LIB(pthread)
+- AC_DEFINE(HAVE_LIBPTHREADS)
+- else
+- AC_MSG_ERROR(Cannot link with pthread library)
+- fi
++ if test "$with_pthread" = yes ; then
++ CF_ADD_LIB($cf_lib_pthread)
++ AC_DEFINE(HAVE_LIBPTHREADS,1,[Define to 1 if we have pthreads library])
++ else
++ AC_MSG_ERROR(Cannot link with pthread library)
++ fi
+ ])
+ fi
+ ])
+ dnl ---------------------------------------------------------------------------
+-dnl CF_XOPEN_SOURCE version: 35 updated: 2011/02/20 20:37:37
++dnl CF_WITH_SYSTYPE version: 1 updated: 2013/01/26 16:26:12
++dnl ---------------
++dnl For testing, override the derived host system-type which is used to decide
++dnl things such as the linker commands used to build shared libraries. This is
++dnl normally chosen automatically based on the type of system which you are
++dnl building on. We use it for testing the configure script.
++dnl
++dnl This is different from the --host option: it is used only for testing parts
++dnl of the configure script which would not be reachable with --host since that
++dnl relies on the build environment being real, rather than mocked up.
++AC_DEFUN([CF_WITH_SYSTYPE],[
++CF_CHECK_CACHE([AC_CANONICAL_SYSTEM])
++AC_ARG_WITH(system-type,
++ [ --with-system-type=XXX test: override derived host system-type],
++[AC_MSG_WARN(overriding system type to $withval)
++ cf_cv_system_name=$withval
++ host_os=$withval
++])
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_XOPEN_SOURCE version: 43 updated: 2013/02/10 10:41:05
+ dnl ---------------
+ dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions,
+ dnl or adapt to the vendor's definitions to get equivalent functionality,
+@@ -3483,13 +3678,14 @@
+ dnl $1 is the nominal value for _XOPEN_SOURCE
+ dnl $2 is the nominal value for _POSIX_C_SOURCE
+ AC_DEFUN([CF_XOPEN_SOURCE],[
++AC_REQUIRE([AC_CANONICAL_HOST])
+
+ cf_XOPEN_SOURCE=ifelse([$1],,500,[$1])
+ cf_POSIX_C_SOURCE=ifelse([$2],,199506L,[$2])
+ cf_xopen_source=
+
+ case $host_os in #(vi
+-aix[[456]]*) #(vi
++aix[[4-7]]*) #(vi
+ cf_xopen_source="-D_ALL_SOURCE"
+ ;;
+ cygwin) #(vi
+@@ -3500,6 +3696,7 @@
+ ;;
+ darwin*) #(vi
+ cf_xopen_source="-D_DARWIN_C_SOURCE"
++ cf_XOPEN_SOURCE=
+ ;;
+ freebsd*|dragonfly*) #(vi
+ # 5.x headers associate
+@@ -3517,15 +3714,23 @@
+ ;;
+ irix[[56]].*) #(vi
+ cf_xopen_source="-D_SGI_SOURCE"
++ cf_XOPEN_SOURCE=
+ ;;
+ linux*|gnu*|mint*|k*bsd*-gnu) #(vi
+ CF_GNU_SOURCE
+ ;;
+ mirbsd*) #(vi
+- # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <arpa/inet.h>
++ # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <sys/select.h> and other headers which use u_int / u_short types
++ cf_XOPEN_SOURCE=
++ CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
+ ;;
+ netbsd*) #(vi
+- # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
++ cf_xopen_source="-D_NETBSD_SOURCE" # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
++ ;;
++openbsd[[4-9]]*) #(vi
++ # setting _XOPEN_SOURCE lower than 500 breaks g++ compile with wchar.h, needed for ncursesw
++ cf_xopen_source="-D_BSD_SOURCE"
++ cf_XOPEN_SOURCE=600
+ ;;
+ openbsd*) #(vi
+ # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
+@@ -3539,36 +3744,11 @@
+ sco*) #(vi
+ # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
+ ;;
+-solaris2.1[[0-9]]) #(vi
+- cf_xopen_source="-D__EXTENSIONS__ -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+- ;;
+-solaris2.[[1-9]]) #(vi
++solaris2.*) #(vi
+ cf_xopen_source="-D__EXTENSIONS__"
+ ;;
+ *)
+- AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
+- AC_TRY_COMPILE([#include <sys/types.h>],[
+-#ifndef _XOPEN_SOURCE
+-make an error
+-#endif],
+- [cf_cv_xopen_source=no],
+- [cf_save="$CPPFLAGS"
+- CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+- AC_TRY_COMPILE([#include <sys/types.h>],[
+-#ifdef _XOPEN_SOURCE
+-make an error
+-#endif],
+- [cf_cv_xopen_source=no],
+- [cf_cv_xopen_source=$cf_XOPEN_SOURCE])
+- CPPFLAGS="$cf_save"
+- ])
+-])
+- if test "$cf_cv_xopen_source" != no ; then
+- CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE)
+- CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE)
+- cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
+- CF_ADD_CFLAGS($cf_temp_xopen_source)
+- fi
++ CF_TRY_XOPEN_SOURCE
+ CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
+ ;;
+ esac
+@@ -3576,4 +3756,33 @@
+ if test -n "$cf_xopen_source" ; then
+ CF_ADD_CFLAGS($cf_xopen_source)
+ fi
++
++dnl In anything but the default case, we may have system-specific setting
++dnl which is still not guaranteed to provide all of the entrypoints that
++dnl _XOPEN_SOURCE would yield.
++if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then
++ AC_MSG_CHECKING(if _XOPEN_SOURCE really is set)
++ AC_TRY_COMPILE([#include <stdlib.h>],[
++#ifndef _XOPEN_SOURCE
++make an error
++#endif],
++ [cf_XOPEN_SOURCE_set=yes],
++ [cf_XOPEN_SOURCE_set=no])
++ AC_MSG_RESULT($cf_XOPEN_SOURCE_set)
++ if test $cf_XOPEN_SOURCE_set = yes
++ then
++ AC_TRY_COMPILE([#include <stdlib.h>],[
++#if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE
++make an error
++#endif],
++ [cf_XOPEN_SOURCE_set_ok=yes],
++ [cf_XOPEN_SOURCE_set_ok=no])
++ if test $cf_XOPEN_SOURCE_set_ok = no
++ then
++ AC_MSG_WARN(_XOPEN_SOURCE is lower than requested)
++ fi
++ else
++ CF_TRY_XOPEN_SOURCE
++ fi
++fi
+ ])
+Index: Ada95/configure
+--- ncurses-5.9/Ada95/configure 2011-03-31 23:34:47.000000000 +0000
++++ ncurses-5.9-20130504/Ada95/configure 2013-04-27 19:50:59.000000000 +0000
+@@ -1,7 +1,7 @@
+ #! /bin/sh
+-# From configure.in Revision: 1.30 .
++# From configure.in Revision: 1.47 .
+ # Guess values for system-dependent variables and create Makefiles.
+-# Generated by Autoconf 2.52.20101002.
++# Generated by Autoconf 2.52.20121002.
+ #
+ # Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+ # Free Software Foundation, Inc.
+@@ -135,15 +135,16 @@
+ bindir='${exec_prefix}/bin'
+ sbindir='${exec_prefix}/sbin'
+ libexecdir='${exec_prefix}/libexec'
+-datadir='${prefix}/share'
++datarootdir='${prefix}/share'
++datadir='${datarootdir}'
+ sysconfdir='${prefix}/etc'
+ sharedstatedir='${prefix}/com'
+ localstatedir='${prefix}/var'
+ libdir='${exec_prefix}/lib'
+ includedir='${prefix}/include'
+ oldincludedir='/usr/include'
+-infodir='${prefix}/info'
+-mandir='${prefix}/man'
++infodir='${datarootdir}/info'
++mandir='${datarootdir}/man'
+
+ # Identity of this package.
+ PACKAGE_NAME=
+@@ -194,6 +195,13 @@
+ | --da=*)
+ datadir=$ac_optarg ;;
+
++ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
++ | --dataroo | --dataro | --datar)
++ ac_prev=datarootdir ;;
++ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
++ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
++ datarootdir=$ac_optarg ;;
++
+ -disable-* | --disable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+@@ -469,7 +477,7 @@
+ done
+
+ # Be sure to have absolute paths.
+-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
++for ac_var in bindir sbindir libexecdir datarootdir datadir sysconfdir sharedstatedir \
+ localstatedir libdir includedir oldincludedir infodir mandir
+ do
+ eval ac_val=$`echo $ac_var`
+@@ -606,15 +614,16 @@
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+- --datadir=DIR read-only architecture-independent data [PREFIX/share]
++ --datarootdir=DIR read-only architecture-independent data [PREFIX/share]
++ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+- --infodir=DIR info documentation [PREFIX/info]
+- --mandir=DIR man documentation [PREFIX/man]
++ --infodir=DIR info documentation [DATAROOTDIR/info]
++ --mandir=DIR man documentation [DATAROOTDIR/man]
+ EOF
+
+ cat <<\EOF
+@@ -645,6 +654,7 @@
+
+ --with-system-type=XXX test: override derived host system-type
+ --with-pkg-config{=path} enable/disable use of pkg-config
++ --with-pkg-config-libdir=XXX use given directory for installing pc-files
+ --enable-pc-files generate and install .pc files for pkg-config
+ --without-tests suppress build with test-programs
+ --enable-mixed-case tic should assume mixed-case filenames
+@@ -660,6 +670,7 @@
+ --with-shared generate shared C-objects (needed for --with-ada-sharedlib)
+ --enable-widec compile with wide-char/UTF-8 code
+ --with-curses-dir=DIR directory in which (n)curses is installed
++ --with-lib-prefix override library-prefix
+ --with-shlib-version=X Specify rel or abi version for shared libs
+ --enable-rpath-link link sample programs with rpath option
+ Fine-Tuning Your Configuration:
+@@ -677,7 +688,7 @@
+ --enable-reentrant compile with experimental reentrant code
+ --with-wrap-prefix=XXX override prefix used for public variables
+ Testing/development Options:
+- --enable-echo build: display "compiling" commands (default)
++ --disable-echo do not display "compiling" commands
+ --enable-warnings build: turn on GCC compiler warnings
+ --enable-assertions test: turn on generation of assertion code
+ --enable-expanded test: generate functions for certain macros
+@@ -757,7 +768,7 @@
+ running configure, to aid debugging if configure makes a mistake.
+
+ It was created by $as_me, which was
+-generated by GNU Autoconf 2.52.20101002. Invocation command line was
++generated by GNU Autoconf 2.52.20121002. Invocation command line was
+
+ $ $0 $@
+
+@@ -881,7 +892,7 @@
+ fi
+ for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+- { echo "$as_me:884: loading site script $ac_site_file" >&5
++ { echo "$as_me:895: loading site script $ac_site_file" >&5
+ echo "$as_me: loading site script $ac_site_file" >&6;}
+ cat "$ac_site_file" >&5
+ . "$ac_site_file"
+@@ -892,7 +903,7 @@
+ # Some versions of bash will fail to source /dev/null (special
+ # files actually), so we avoid doing that.
+ if test -f "$cache_file"; then
+- { echo "$as_me:895: loading cache $cache_file" >&5
++ { echo "$as_me:906: loading cache $cache_file" >&5
+ echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . $cache_file;;
+@@ -900,7 +911,7 @@
+ esac
+ fi
+ else
+- { echo "$as_me:903: creating cache $cache_file" >&5
++ { echo "$as_me:914: creating cache $cache_file" >&5
+ echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+ fi
+@@ -916,21 +927,21 @@
+ eval ac_new_val="\$ac_env_${ac_var}_value"
+ case $ac_old_set,$ac_new_set in
+ set,)
+- { echo "$as_me:919: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
++ { echo "$as_me:930: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+ echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+- { echo "$as_me:923: error: \`$ac_var' was not set in the previous run" >&5
++ { echo "$as_me:934: error: \`$ac_var' was not set in the previous run" >&5
+ echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+- { echo "$as_me:929: error: \`$ac_var' has changed since the previous run:" >&5
++ { echo "$as_me:940: error: \`$ac_var' has changed since the previous run:" >&5
+ echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+- { echo "$as_me:931: former value: $ac_old_val" >&5
++ { echo "$as_me:942: former value: $ac_old_val" >&5
+ echo "$as_me: former value: $ac_old_val" >&2;}
+- { echo "$as_me:933: current value: $ac_new_val" >&5
++ { echo "$as_me:944: current value: $ac_new_val" >&5
+ echo "$as_me: current value: $ac_new_val" >&2;}
+ ac_cache_corrupted=:
+ fi;;
+@@ -949,9 +960,9 @@
+ fi
+ done
+ if $ac_cache_corrupted; then
+- { echo "$as_me:952: error: changes in the environment can compromise the build" >&5
++ { echo "$as_me:963: error: changes in the environment can compromise the build" >&5
+ echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+- { { echo "$as_me:954: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
++ { { echo "$as_me:965: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+ echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -972,10 +983,10 @@
+ echo "#! $SHELL" >conftest.sh
+ echo "exit 0" >>conftest.sh
+ chmod +x conftest.sh
+-if { (echo "$as_me:975: PATH=\".;.\"; conftest.sh") >&5
++if { (echo "$as_me:986: PATH=\".;.\"; conftest.sh") >&5
+ (PATH=".;."; conftest.sh) 2>&5
+ ac_status=$?
+- echo "$as_me:978: \$? = $ac_status" >&5
++ echo "$as_me:989: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ ac_path_separator=';'
+ else
+@@ -1005,7 +1016,7 @@
+ fi
+ done
+ if test -z "$ac_aux_dir"; then
+- { { echo "$as_me:1008: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
++ { { echo "$as_me:1019: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
+ echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -1015,11 +1026,11 @@
+
+ # Make sure we can run config.sub.
+ $ac_config_sub sun4 >/dev/null 2>&1 ||
+- { { echo "$as_me:1018: error: cannot run $ac_config_sub" >&5
++ { { echo "$as_me:1029: error: cannot run $ac_config_sub" >&5
+ echo "$as_me: error: cannot run $ac_config_sub" >&2;}
+ { (exit 1); exit 1; }; }
+
+-echo "$as_me:1022: checking build system type" >&5
++echo "$as_me:1033: checking build system type" >&5
+ echo $ECHO_N "checking build system type... $ECHO_C" >&6
+ if test "${ac_cv_build+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1028,23 +1039,23 @@
+ test -z "$ac_cv_build_alias" &&
+ ac_cv_build_alias=`$ac_config_guess`
+ test -z "$ac_cv_build_alias" &&
+- { { echo "$as_me:1031: error: cannot guess build type; you must specify one" >&5
++ { { echo "$as_me:1042: error: cannot guess build type; you must specify one" >&5
+ echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+ { (exit 1); exit 1; }; }
+ ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
+- { { echo "$as_me:1035: error: $ac_config_sub $ac_cv_build_alias failed." >&5
++ { { echo "$as_me:1046: error: $ac_config_sub $ac_cv_build_alias failed." >&5
+ echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed." >&2;}
+ { (exit 1); exit 1; }; }
+
+ fi
+-echo "$as_me:1040: result: $ac_cv_build" >&5
++echo "$as_me:1051: result: $ac_cv_build" >&5
+ echo "${ECHO_T}$ac_cv_build" >&6
+ build=$ac_cv_build
+ build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+ build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+ build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+-echo "$as_me:1047: checking host system type" >&5
++echo "$as_me:1058: checking host system type" >&5
+ echo $ECHO_N "checking host system type... $ECHO_C" >&6
+ if test "${ac_cv_host+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1053,12 +1064,12 @@
+ test -z "$ac_cv_host_alias" &&
+ ac_cv_host_alias=$ac_cv_build_alias
+ ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
+- { { echo "$as_me:1056: error: $ac_config_sub $ac_cv_host_alias failed" >&5
++ { { echo "$as_me:1067: error: $ac_config_sub $ac_cv_host_alias failed" >&5
+ echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+
+ fi
+-echo "$as_me:1061: result: $ac_cv_host" >&5
++echo "$as_me:1072: result: $ac_cv_host" >&5
+ echo "${ECHO_T}$ac_cv_host" >&6
+ host=$ac_cv_host
+ host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+@@ -1066,7 +1077,7 @@
+ host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+ if test -f $srcdir/config.guess || test -f $ac_aux_dir/config.guess ; then
+- echo "$as_me:1069: checking target system type" >&5
++ echo "$as_me:1080: checking target system type" >&5
+ echo $ECHO_N "checking target system type... $ECHO_C" >&6
+ if test "${ac_cv_target+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1075,12 +1086,12 @@
+ test "x$ac_cv_target_alias" = "x" &&
+ ac_cv_target_alias=$ac_cv_host_alias
+ ac_cv_target=`$ac_config_sub $ac_cv_target_alias` ||
+- { { echo "$as_me:1078: error: $ac_config_sub $ac_cv_target_alias failed" >&5
++ { { echo "$as_me:1089: error: $ac_config_sub $ac_cv_target_alias failed" >&5
+ echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+
+ fi
+-echo "$as_me:1083: result: $ac_cv_target" >&5
++echo "$as_me:1094: result: $ac_cv_target" >&5
+ echo "${ECHO_T}$ac_cv_target" >&6
+ target=$ac_cv_target
+ target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+@@ -1100,7 +1111,8 @@
+ system_name="`(hostname) 2>/dev/null`"
+ fi
+ fi
+-test -n "$system_name" && cat >>confdefs.h <<EOF
++test -n "$system_name" &&
++cat >>confdefs.h <<EOF
+ #define SYSTEM_NAME "$system_name"
+ EOF
+
+@@ -1111,13 +1123,13 @@
+ fi
+
+ test -z "$system_name" && system_name="$cf_cv_system_name"
+-test -n "$cf_cv_system_name" && echo "$as_me:1114: result: Configuring for $cf_cv_system_name" >&5
++test -n "$cf_cv_system_name" && echo "$as_me:1126: result: Configuring for $cf_cv_system_name" >&5
+ echo "${ECHO_T}Configuring for $cf_cv_system_name" >&6
+
+ if test ".$system_name" != ".$cf_cv_system_name" ; then
+- echo "$as_me:1118: result: Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&5
++ echo "$as_me:1130: result: Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&5
+ echo "${ECHO_T}Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&6
+- { { echo "$as_me:1120: error: \"Please remove config.cache and try again.\"" >&5
++ { { echo "$as_me:1132: error: \"Please remove config.cache and try again.\"" >&5
+ echo "$as_me: error: \"Please remove config.cache and try again.\"" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -1125,9 +1137,11 @@
+ # Check whether --with-system-type or --without-system-type was given.
+ if test "${with_system_type+set}" = set; then
+ withval="$with_system_type"
+- { echo "$as_me:1128: WARNING: overriding system type to $withval" >&5
++ { echo "$as_me:1140: WARNING: overriding system type to $withval" >&5
+ echo "$as_me: WARNING: overriding system type to $withval" >&2;}
+- cf_cv_system_name=$withval
++ cf_cv_system_name=$withval
++ host_os=$withval
++
+ fi;
+
+ ### Save the given $CFLAGS to allow user-override.
+@@ -1135,23 +1149,23 @@
+
+ ### Default install-location
+
+-echo "$as_me:1138: checking for prefix" >&5
++echo "$as_me:1152: checking for prefix" >&5
+ echo $ECHO_N "checking for prefix... $ECHO_C" >&6
+ if test "x$prefix" = "xNONE" ; then
+ case "$cf_cv_system_name" in
+ # non-vendor systems don't have a conflict
+- openbsd*|freebsd*|linux*|cygwin*|k*bsd*-gnu)
++ openbsd*|freebsd*|mirbsd*|linux*|cygwin*|k*bsd*-gnu|mingw*)
+ prefix=/usr
+ ;;
+ *) prefix=$ac_default_prefix
+ ;;
+ esac
+ fi
+-echo "$as_me:1150: result: $prefix" >&5
++echo "$as_me:1164: result: $prefix" >&5
+ echo "${ECHO_T}$prefix" >&6
+
+ if test "x$prefix" = "xNONE" ; then
+-echo "$as_me:1154: checking for default include-directory" >&5
++echo "$as_me:1168: checking for default include-directory" >&5
+ echo $ECHO_N "checking for default include-directory... $ECHO_C" >&6
+ test -n "$verbose" && echo 1>&6
+ for cf_symbol in \
+@@ -1174,11 +1188,12 @@
+ fi
+ test -n "$verbose" && echo " tested $cf_dir" 1>&6
+ done
+-echo "$as_me:1177: result: $includedir" >&5
++echo "$as_me:1191: result: $includedir" >&5
+ echo "${ECHO_T}$includedir" >&6
+ fi
+
+ ### Checks for programs.
++
+ ac_ext=c
+ ac_cpp='$CPP $CPPFLAGS'
+ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+@@ -1186,213 +1201,11 @@
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ ac_main_return=return
+ if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}gcc; ac_word=$2
+-echo "$as_me:1191: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_prog_CC+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- if test -n "$CC"; then
+- ac_cv_prog_CC="$CC" # Let the user override the test.
+-else
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- $as_executable_p "$ac_dir/$ac_word" || continue
+-ac_cv_prog_CC="${ac_tool_prefix}gcc"
+-echo "$as_me:1206: found $ac_dir/$ac_word" >&5
+-break
+-done
+-
+-fi
+-fi
+-CC=$ac_cv_prog_CC
+-if test -n "$CC"; then
+- echo "$as_me:1214: result: $CC" >&5
+-echo "${ECHO_T}$CC" >&6
+-else
+- echo "$as_me:1217: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+-fi
+-if test -z "$ac_cv_prog_CC"; then
+- ac_ct_CC=$CC
+- # Extract the first word of "gcc", so it can be a program name with args.
+-set dummy gcc; ac_word=$2
+-echo "$as_me:1226: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- if test -n "$ac_ct_CC"; then
+- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+-else
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- $as_executable_p "$ac_dir/$ac_word" || continue
+-ac_cv_prog_ac_ct_CC="gcc"
+-echo "$as_me:1241: found $ac_dir/$ac_word" >&5
+-break
+-done
+-
+-fi
+-fi
+-ac_ct_CC=$ac_cv_prog_ac_ct_CC
+-if test -n "$ac_ct_CC"; then
+- echo "$as_me:1249: result: $ac_ct_CC" >&5
+-echo "${ECHO_T}$ac_ct_CC" >&6
+-else
+- echo "$as_me:1252: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+- CC=$ac_ct_CC
+-else
+- CC="$ac_cv_prog_CC"
+-fi
+-
+-if test -z "$CC"; then
+- if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}cc; ac_word=$2
+-echo "$as_me:1265: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_prog_CC+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- if test -n "$CC"; then
+- ac_cv_prog_CC="$CC" # Let the user override the test.
+-else
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- $as_executable_p "$ac_dir/$ac_word" || continue
+-ac_cv_prog_CC="${ac_tool_prefix}cc"
+-echo "$as_me:1280: found $ac_dir/$ac_word" >&5
+-break
+-done
+-
+-fi
+-fi
+-CC=$ac_cv_prog_CC
+-if test -n "$CC"; then
+- echo "$as_me:1288: result: $CC" >&5
+-echo "${ECHO_T}$CC" >&6
+-else
+- echo "$as_me:1291: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+-fi
+-if test -z "$ac_cv_prog_CC"; then
+- ac_ct_CC=$CC
+- # Extract the first word of "cc", so it can be a program name with args.
+-set dummy cc; ac_word=$2
+-echo "$as_me:1300: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- if test -n "$ac_ct_CC"; then
+- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+-else
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- $as_executable_p "$ac_dir/$ac_word" || continue
+-ac_cv_prog_ac_ct_CC="cc"
+-echo "$as_me:1315: found $ac_dir/$ac_word" >&5
+-break
+-done
+-
+-fi
+-fi
+-ac_ct_CC=$ac_cv_prog_ac_ct_CC
+-if test -n "$ac_ct_CC"; then
+- echo "$as_me:1323: result: $ac_ct_CC" >&5
+-echo "${ECHO_T}$ac_ct_CC" >&6
+-else
+- echo "$as_me:1326: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+- CC=$ac_ct_CC
+-else
+- CC="$ac_cv_prog_CC"
+-fi
+-
+-fi
+-if test -z "$CC"; then
+- # Extract the first word of "cc", so it can be a program name with args.
+-set dummy cc; ac_word=$2
+-echo "$as_me:1339: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_prog_CC+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- if test -n "$CC"; then
+- ac_cv_prog_CC="$CC" # Let the user override the test.
+-else
+- ac_prog_rejected=no
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- $as_executable_p "$ac_dir/$ac_word" || continue
+-if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+- ac_prog_rejected=yes
+- continue
+-fi
+-ac_cv_prog_CC="cc"
+-echo "$as_me:1359: found $ac_dir/$ac_word" >&5
+-break
+-done
+-
+-if test $ac_prog_rejected = yes; then
+- # We found a bogon in the path, so make sure we never use it.
+- set dummy $ac_cv_prog_CC
+- shift
+- if test $# != 0; then
+- # We chose a different compiler from the bogus one.
+- # However, it has the same basename, so the bogon will be chosen
+- # first if we set CC to just the basename; use the full file name.
+- shift
+- set dummy "$ac_dir/$ac_word" ${1+"$@"}
+- shift
+- ac_cv_prog_CC="$@"
+- fi
+-fi
+-fi
+-fi
+-CC=$ac_cv_prog_CC
+-if test -n "$CC"; then
+- echo "$as_me:1381: result: $CC" >&5
+-echo "${ECHO_T}$CC" >&6
+-else
+- echo "$as_me:1384: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+-fi
+-if test -z "$CC"; then
+- if test -n "$ac_tool_prefix"; then
+- for ac_prog in cl
++ for ac_prog in gnatgcc gcc cc
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+ set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+-echo "$as_me:1395: checking for $ac_word" >&5
++echo "$as_me:1208: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1407,7 +1220,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+-echo "$as_me:1410: found $ac_dir/$ac_word" >&5
++echo "$as_me:1223: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -1415,10 +1228,10 @@
+ fi
+ CC=$ac_cv_prog_CC
+ if test -n "$CC"; then
+- echo "$as_me:1418: result: $CC" >&5
++ echo "$as_me:1231: result: $CC" >&5
+ echo "${ECHO_T}$CC" >&6
+ else
+- echo "$as_me:1421: result: no" >&5
++ echo "$as_me:1234: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -1427,11 +1240,11 @@
+ fi
+ if test -z "$CC"; then
+ ac_ct_CC=$CC
+- for ac_prog in cl
++ for ac_prog in gnatgcc gcc cc
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+-echo "$as_me:1434: checking for $ac_word" >&5
++echo "$as_me:1247: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1446,7 +1259,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+-echo "$as_me:1449: found $ac_dir/$ac_word" >&5
++echo "$as_me:1262: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -1454,10 +1267,10 @@
+ fi
+ ac_ct_CC=$ac_cv_prog_ac_ct_CC
+ if test -n "$ac_ct_CC"; then
+- echo "$as_me:1457: result: $ac_ct_CC" >&5
++ echo "$as_me:1270: result: $ac_ct_CC" >&5
+ echo "${ECHO_T}$ac_ct_CC" >&6
+ else
+- echo "$as_me:1460: result: no" >&5
++ echo "$as_me:1273: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -1467,34 +1280,32 @@
+ CC=$ac_ct_CC
+ fi
+
+-fi
+-
+-test -z "$CC" && { { echo "$as_me:1472: error: no acceptable cc found in \$PATH" >&5
++test -z "$CC" && { { echo "$as_me:1283: error: no acceptable cc found in \$PATH" >&5
+ echo "$as_me: error: no acceptable cc found in \$PATH" >&2;}
+ { (exit 1); exit 1; }; }
+
+ # Provide some information about the compiler.
+-echo "$as_me:1477:" \
++echo "$as_me:1288:" \
+ "checking for C compiler version" >&5
+ ac_compiler=`set X $ac_compile; echo $2`
+-{ (eval echo "$as_me:1480: \"$ac_compiler --version </dev/null >&5\"") >&5
++{ (eval echo "$as_me:1291: \"$ac_compiler --version </dev/null >&5\"") >&5
+ (eval $ac_compiler --version </dev/null >&5) 2>&5
+ ac_status=$?
+- echo "$as_me:1483: \$? = $ac_status" >&5
++ echo "$as_me:1294: \$? = $ac_status" >&5
+ (exit $ac_status); }
+-{ (eval echo "$as_me:1485: \"$ac_compiler -v </dev/null >&5\"") >&5
++{ (eval echo "$as_me:1296: \"$ac_compiler -v </dev/null >&5\"") >&5
+ (eval $ac_compiler -v </dev/null >&5) 2>&5
+ ac_status=$?
+- echo "$as_me:1488: \$? = $ac_status" >&5
++ echo "$as_me:1299: \$? = $ac_status" >&5
+ (exit $ac_status); }
+-{ (eval echo "$as_me:1490: \"$ac_compiler -V </dev/null >&5\"") >&5
++{ (eval echo "$as_me:1301: \"$ac_compiler -V </dev/null >&5\"") >&5
+ (eval $ac_compiler -V </dev/null >&5) 2>&5
+ ac_status=$?
+- echo "$as_me:1493: \$? = $ac_status" >&5
++ echo "$as_me:1304: \$? = $ac_status" >&5
+ (exit $ac_status); }
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1497 "configure"
++#line 1308 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -1510,13 +1321,13 @@
+ # Try to create an executable without -o first, disregard a.out.
+ # It will help us diagnose broken compilers, and finding out an intuition
+ # of exeext.
+-echo "$as_me:1513: checking for C compiler default output" >&5
++echo "$as_me:1324: checking for C compiler default output" >&5
+ echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6
+ ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+-if { (eval echo "$as_me:1516: \"$ac_link_default\"") >&5
++if { (eval echo "$as_me:1327: \"$ac_link_default\"") >&5
+ (eval $ac_link_default) 2>&5
+ ac_status=$?
+- echo "$as_me:1519: \$? = $ac_status" >&5
++ echo "$as_me:1330: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # Find the output, starting from the most likely. This scheme is
+ # not robust to junk in `.', hence go to wildcards (a.*) only as a last
+@@ -1539,34 +1350,34 @@
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-{ { echo "$as_me:1542: error: C compiler cannot create executables" >&5
++{ { echo "$as_me:1353: error: C compiler cannot create executables" >&5
+ echo "$as_me: error: C compiler cannot create executables" >&2;}
+ { (exit 77); exit 77; }; }
+ fi
+
+ ac_exeext=$ac_cv_exeext
+-echo "$as_me:1548: result: $ac_file" >&5
++echo "$as_me:1359: result: $ac_file" >&5
+ echo "${ECHO_T}$ac_file" >&6
+
+ # Check the compiler produces executables we can run. If not, either
+ # the compiler is broken, or we cross compile.
+-echo "$as_me:1553: checking whether the C compiler works" >&5
++echo "$as_me:1364: checking whether the C compiler works" >&5
+ echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
+ # FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+ # If not cross compiling, check that we can run a simple program.
+ if test "$cross_compiling" != yes; then
+ if { ac_try='./$ac_file'
+- { (eval echo "$as_me:1559: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1370: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1562: \$? = $ac_status" >&5
++ echo "$as_me:1373: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+- { { echo "$as_me:1569: error: cannot run C compiled programs.
++ { { echo "$as_me:1380: error: cannot run C compiled programs.
+ If you meant to cross compile, use \`--host'." >&5
+ echo "$as_me: error: cannot run C compiled programs.
+ If you meant to cross compile, use \`--host'." >&2;}
+@@ -1574,24 +1385,24 @@
+ fi
+ fi
+ fi
+-echo "$as_me:1577: result: yes" >&5
++echo "$as_me:1388: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+
+ rm -f a.out a.exe conftest$ac_cv_exeext
+ ac_clean_files=$ac_clean_files_save
+ # Check the compiler produces executables we can run. If not, either
+ # the compiler is broken, or we cross compile.
+-echo "$as_me:1584: checking whether we are cross compiling" >&5
++echo "$as_me:1395: checking whether we are cross compiling" >&5
+ echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
+-echo "$as_me:1586: result: $cross_compiling" >&5
++echo "$as_me:1397: result: $cross_compiling" >&5
+ echo "${ECHO_T}$cross_compiling" >&6
+
+-echo "$as_me:1589: checking for executable suffix" >&5
++echo "$as_me:1400: checking for executable suffix" >&5
+ echo $ECHO_N "checking for executable suffix... $ECHO_C" >&6
+-if { (eval echo "$as_me:1591: \"$ac_link\"") >&5
++if { (eval echo "$as_me:1402: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:1594: \$? = $ac_status" >&5
++ echo "$as_me:1405: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
+ # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
+@@ -1607,25 +1418,25 @@
+ esac
+ done
+ else
+- { { echo "$as_me:1610: error: cannot compute EXEEXT: cannot compile and link" >&5
++ { { echo "$as_me:1421: error: cannot compute EXEEXT: cannot compile and link" >&5
+ echo "$as_me: error: cannot compute EXEEXT: cannot compile and link" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ rm -f conftest$ac_cv_exeext
+-echo "$as_me:1616: result: $ac_cv_exeext" >&5
++echo "$as_me:1427: result: $ac_cv_exeext" >&5
+ echo "${ECHO_T}$ac_cv_exeext" >&6
+
+ rm -f conftest.$ac_ext
+ EXEEXT=$ac_cv_exeext
+ ac_exeext=$EXEEXT
+-echo "$as_me:1622: checking for object suffix" >&5
++echo "$as_me:1433: checking for object suffix" >&5
+ echo $ECHO_N "checking for object suffix... $ECHO_C" >&6
+ if test "${ac_cv_objext+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1628 "configure"
++#line 1439 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -1637,10 +1448,10 @@
+ }
+ _ACEOF
+ rm -f conftest.o conftest.obj
+-if { (eval echo "$as_me:1640: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1451: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1643: \$? = $ac_status" >&5
++ echo "$as_me:1454: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+ case $ac_file in
+@@ -1652,24 +1463,24 @@
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-{ { echo "$as_me:1655: error: cannot compute OBJEXT: cannot compile" >&5
++{ { echo "$as_me:1466: error: cannot compute OBJEXT: cannot compile" >&5
+ echo "$as_me: error: cannot compute OBJEXT: cannot compile" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ rm -f conftest.$ac_cv_objext conftest.$ac_ext
+ fi
+-echo "$as_me:1662: result: $ac_cv_objext" >&5
++echo "$as_me:1473: result: $ac_cv_objext" >&5
+ echo "${ECHO_T}$ac_cv_objext" >&6
+ OBJEXT=$ac_cv_objext
+ ac_objext=$OBJEXT
+-echo "$as_me:1666: checking whether we are using the GNU C compiler" >&5
++echo "$as_me:1477: checking whether we are using the GNU C compiler" >&5
+ echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
+ if test "${ac_cv_c_compiler_gnu+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1672 "configure"
++#line 1483 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -1684,16 +1495,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:1687: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1498: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1690: \$? = $ac_status" >&5
++ echo "$as_me:1501: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:1693: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1504: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1696: \$? = $ac_status" >&5
++ echo "$as_me:1507: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_compiler_gnu=yes
+ else
+@@ -1705,19 +1516,19 @@
+ ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+ fi
+-echo "$as_me:1708: result: $ac_cv_c_compiler_gnu" >&5
++echo "$as_me:1519: result: $ac_cv_c_compiler_gnu" >&5
+ echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
+ GCC=`test $ac_compiler_gnu = yes && echo yes`
+ ac_test_CFLAGS=${CFLAGS+set}
+ ac_save_CFLAGS=$CFLAGS
+ CFLAGS="-g"
+-echo "$as_me:1714: checking whether $CC accepts -g" >&5
++echo "$as_me:1525: checking whether $CC accepts -g" >&5
+ echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
+ if test "${ac_cv_prog_cc_g+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1720 "configure"
++#line 1531 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -1729,16 +1540,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:1732: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1543: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1735: \$? = $ac_status" >&5
++ echo "$as_me:1546: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:1738: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1549: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1741: \$? = $ac_status" >&5
++ echo "$as_me:1552: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_prog_cc_g=yes
+ else
+@@ -1748,7 +1559,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:1751: result: $ac_cv_prog_cc_g" >&5
++echo "$as_me:1562: result: $ac_cv_prog_cc_g" >&5
+ echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+@@ -1775,16 +1586,16 @@
+ #endif
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:1778: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1589: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1781: \$? = $ac_status" >&5
++ echo "$as_me:1592: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:1784: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1595: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1787: \$? = $ac_status" >&5
++ echo "$as_me:1598: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ for ac_declaration in \
+ ''\
+@@ -1796,7 +1607,7 @@
+ 'void exit (int);'
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1799 "configure"
++#line 1610 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ $ac_declaration
+@@ -1809,16 +1620,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:1812: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1623: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1815: \$? = $ac_status" >&5
++ echo "$as_me:1626: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:1818: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1629: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1821: \$? = $ac_status" >&5
++ echo "$as_me:1632: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -1828,7 +1639,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1831 "configure"
++#line 1642 "configure"
+ #include "confdefs.h"
+ $ac_declaration
+ int
+@@ -1840,16 +1651,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:1843: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1654: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1846: \$? = $ac_status" >&5
++ echo "$as_me:1657: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:1849: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1660: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1852: \$? = $ac_status" >&5
++ echo "$as_me:1663: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -1879,68 +1690,259 @@
+
+ GCC_VERSION=none
+ if test "$GCC" = yes ; then
+- echo "$as_me:1882: checking version of $CC" >&5
++ echo "$as_me:1693: checking version of $CC" >&5
+ echo $ECHO_N "checking version of $CC... $ECHO_C" >&6
+- GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[^0-9.]*//' -e 's/[^0-9.].*//'`"
++ GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC[^)]*) //' -e 's/^.*(Debian[^)]*) //' -e 's/^[^0-9.]*//' -e 's/[^0-9.].*//'`"
+ test -z "$GCC_VERSION" && GCC_VERSION=unknown
+- echo "$as_me:1886: result: $GCC_VERSION" >&5
++ echo "$as_me:1697: result: $GCC_VERSION" >&5
+ echo "${ECHO_T}$GCC_VERSION" >&6
+ fi
+
+-ac_ext=c
+-ac_cpp='$CPP $CPPFLAGS'
+-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+-ac_main_return=return
+-echo "$as_me:1896: checking how to run the C preprocessor" >&5
+-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
+-# On Suns, sometimes $CPP names a directory.
+-if test -n "$CPP" && test -d "$CPP"; then
+- CPP=
+-fi
+-if test -z "$CPP"; then
+- if test "${ac_cv_prog_CPP+set}" = set; then
++echo "$as_me:1701: checking for $CC option to accept ANSI C" >&5
++echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
++if test "${ac_cv_prog_cc_stdc+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- # Double quotes because CPP needs to be expanded
+- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+- do
+- ac_preproc_ok=false
+-for ac_c_preproc_warn_flag in '' yes
+-do
+- # Use a header file that comes with gcc, so configuring glibc
+- # with a fresh cross-compiler works.
+- # On the NeXT, cc -E runs the code through the compiler's parser,
+- # not just through cpp. "Syntax error" is here to catch this case.
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 1917 "configure"
++ ac_cv_prog_cc_stdc=no
++ac_save_CC=$CC
++cat >conftest.$ac_ext <<_ACEOF
++#line 1709 "configure"
+ #include "confdefs.h"
+-#include <assert.h>
+- Syntax error
++#include <stdarg.h>
++#include <stdio.h>
++#include <sys/types.h>
++#include <sys/stat.h>
++/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
++struct buf { int x; };
++FILE * (*rcsopen) (struct buf *, struct stat *, int);
++static char *e (p, i)
++ char **p;
++ int i;
++{
++ return p[i];
++}
++static char *f (char * (*g) (char **, int), char **p, ...)
++{
++ char *s;
++ va_list v;
++ va_start (v,p);
++ s = g (p, va_arg (v,int));
++ va_end (v);
++ return s;
++}
++int test (int i, double x);
++struct s1 {int (*f) (int a);};
++struct s2 {int (*f) (double a);};
++int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
++int argc;
++char **argv;
++int
++main ()
++{
++return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
++ ;
++ return 0;
++}
+ _ACEOF
+-if { (eval echo "$as_me:1922: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++# Don't try gcc -ansi; that turns off useful extensions and
++# breaks some systems' header files.
++# AIX -qlanglvl=ansi
++# Ultrix and OSF/1 -std1
++# HP-UX 10.20 and later -Ae
++# HP-UX older versions -Aa -D_HPUX_SOURCE
++# SVR4 -Xc -D__EXTENSIONS__
++for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
++do
++ CC="$ac_save_CC $ac_arg"
++ rm -f conftest.$ac_objext
++if { (eval echo "$as_me:1758: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- egrep -v '^ *\+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:1928: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- :
++ echo "$as_me:1761: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:1764: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:1767: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_prog_cc_stdc=$ac_arg
++break
+ else
+ echo "$as_me: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- # Broken: fails on valid input.
++cat conftest.$ac_ext >&5
++fi
++rm -f conftest.$ac_objext
++done
++rm -f conftest.$ac_ext conftest.$ac_objext
++CC=$ac_save_CC
++
++fi
++
++case "x$ac_cv_prog_cc_stdc" in
++ x|xno)
++ echo "$as_me:1784: result: none needed" >&5
++echo "${ECHO_T}none needed" >&6 ;;
++ *)
++ echo "$as_me:1787: result: $ac_cv_prog_cc_stdc" >&5
++echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
++ CC="$CC $ac_cv_prog_cc_stdc" ;;
++esac
++
++# This should have been defined by AC_PROG_CC
++: ${CC:=cc}
++
++echo "$as_me:1795: checking \$CC variable" >&5
++echo $ECHO_N "checking \$CC variable... $ECHO_C" >&6
++case "$CC" in #(vi
++*[\ \ ]-[IUD]*)
++ echo "$as_me:1799: result: broken" >&5
++echo "${ECHO_T}broken" >&6
++ { echo "$as_me:1801: WARNING: your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options" >&5
++echo "$as_me: WARNING: your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options" >&2;}
++ # humor him...
++ cf_flags=`echo "$CC" | sed -e 's/^[^ ]*[ ]//'`
++ CC=`echo "$CC" | sed -e 's/[ ].*//'`
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in $cf_flags
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
++fi
++
++if test -n "$cf_new_cppflags" ; then
++
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
++
++ ;;
++*)
++ echo "$as_me:1887: result: ok" >&5
++echo "${ECHO_T}ok" >&6
++ ;;
++esac
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++ac_main_return=return
++echo "$as_me:1898: checking how to run the C preprocessor" >&5
++echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
++# On Suns, sometimes $CPP names a directory.
++if test -n "$CPP" && test -d "$CPP"; then
++ CPP=
++fi
++if test -z "$CPP"; then
++ if test "${ac_cv_prog_CPP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ # Double quotes because CPP needs to be expanded
++ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
++ do
++ ac_preproc_ok=false
++for ac_c_preproc_warn_flag in '' yes
++do
++ # Use a header file that comes with gcc, so configuring glibc
++ # with a fresh cross-compiler works.
++ # On the NeXT, cc -E runs the code through the compiler's parser,
++ # not just through cpp. "Syntax error" is here to catch this case.
++ cat >conftest.$ac_ext <<_ACEOF
++#line 1919 "configure"
++#include "confdefs.h"
++#include <assert.h>
++ Syntax error
++_ACEOF
++if { (eval echo "$as_me:1924: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ egrep -v '^ *\+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:1930: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ # Broken: fails on valid input.
+ continue
+ fi
+ rm -f conftest.err conftest.$ac_ext
+@@ -1948,17 +1950,17 @@
+ # OK, works on sane cases. Now check whether non-existent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1951 "configure"
++#line 1953 "configure"
+ #include "confdefs.h"
+ #include <ac_nonexistent.h>
+ _ACEOF
+-if { (eval echo "$as_me:1955: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:1957: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:1961: \$? = $ac_status" >&5
++ echo "$as_me:1963: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -1995,7 +1997,7 @@
+ else
+ ac_cv_prog_CPP=$CPP
+ fi
+-echo "$as_me:1998: result: $CPP" >&5
++echo "$as_me:2000: result: $CPP" >&5
+ echo "${ECHO_T}$CPP" >&6
+ ac_preproc_ok=false
+ for ac_c_preproc_warn_flag in '' yes
+@@ -2005,18 +2007,18 @@
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2008 "configure"
++#line 2010 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+ Syntax error
+ _ACEOF
+-if { (eval echo "$as_me:2013: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:2015: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:2019: \$? = $ac_status" >&5
++ echo "$as_me:2021: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -2039,17 +2041,17 @@
+ # OK, works on sane cases. Now check whether non-existent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2042 "configure"
++#line 2044 "configure"
+ #include "confdefs.h"
+ #include <ac_nonexistent.h>
+ _ACEOF
+-if { (eval echo "$as_me:2046: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:2048: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:2052: \$? = $ac_status" >&5
++ echo "$as_me:2054: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -2077,7 +2079,7 @@
+ if $ac_preproc_ok; then
+ :
+ else
+- { { echo "$as_me:2080: error: C preprocessor \"$CPP\" fails sanity check" >&5
++ { { echo "$as_me:2082: error: C preprocessor \"$CPP\" fails sanity check" >&5
+ echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -2090,14 +2092,14 @@
+ ac_main_return=return
+
+ if test $ac_cv_c_compiler_gnu = yes; then
+- echo "$as_me:2093: checking whether $CC needs -traditional" >&5
++ echo "$as_me:2095: checking whether $CC needs -traditional" >&5
+ echo $ECHO_N "checking whether $CC needs -traditional... $ECHO_C" >&6
+ if test "${ac_cv_prog_gcc_traditional+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_pattern="Autoconf.*'x'"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2100 "configure"
++#line 2102 "configure"
+ #include "confdefs.h"
+ #include <sgtty.h>
+ int Autoconf = TIOCGETP;
+@@ -2112,7 +2114,7 @@
+
+ if test $ac_cv_prog_gcc_traditional = no; then
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2115 "configure"
++#line 2117 "configure"
+ #include "confdefs.h"
+ #include <termio.h>
+ int Autoconf = TCGETA;
+@@ -2125,14 +2127,14 @@
+
+ fi
+ fi
+-echo "$as_me:2128: result: $ac_cv_prog_gcc_traditional" >&5
++echo "$as_me:2130: result: $ac_cv_prog_gcc_traditional" >&5
+ echo "${ECHO_T}$ac_cv_prog_gcc_traditional" >&6
+ if test $ac_cv_prog_gcc_traditional = yes; then
+ CC="$CC -traditional"
+ fi
+ fi
+
+-echo "$as_me:2135: checking whether $CC understands -c and -o together" >&5
++echo "$as_me:2137: checking whether $CC understands -c and -o together" >&5
+ echo $ECHO_N "checking whether $CC understands -c and -o together... $ECHO_C" >&6
+ if test "${cf_cv_prog_CC_c_o+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2148,15 +2150,15 @@
+ # We do the test twice because some compilers refuse to overwrite an
+ # existing .o file with -o, though they will create one.
+ ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
+-if { (eval echo "$as_me:2151: \"$ac_try\"") >&5
++if { (eval echo "$as_me:2153: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2154: \$? = $ac_status" >&5
++ echo "$as_me:2156: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- test -f conftest2.$ac_objext && { (eval echo "$as_me:2156: \"$ac_try\"") >&5
++ test -f conftest2.$ac_objext && { (eval echo "$as_me:2158: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2159: \$? = $ac_status" >&5
++ echo "$as_me:2161: \$? = $ac_status" >&5
+ (exit $ac_status); };
+ then
+ eval cf_cv_prog_CC_c_o=yes
+@@ -2167,378 +2169,84 @@
+
+ fi
+ if test $cf_cv_prog_CC_c_o = yes; then
+- echo "$as_me:2170: result: yes" >&5
++ echo "$as_me:2172: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ else
+- echo "$as_me:2173: result: no" >&5
++ echo "$as_me:2175: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+-echo "$as_me:2177: checking for POSIXized ISC" >&5
+-echo $ECHO_N "checking for POSIXized ISC... $ECHO_C" >&6
+-if test -d /etc/conf/kconfig.d &&
+- grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
+-then
+- echo "$as_me:2182: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
+- ISC=yes # If later tests want to check for ISC.
++test "$program_prefix" != NONE &&
++ program_transform_name="s,^,$program_prefix,;$program_transform_name"
++# Use a double $ so make ignores it.
++test "$program_suffix" != NONE &&
++ program_transform_name="s,\$,$program_suffix,;$program_transform_name"
++# Double any \ or $. echo might interpret backslashes.
++# By default was `s,x,x', remove it if useless.
++cat <<\_ACEOF >conftest.sed
++s/[\\$]/&&/g;s/;s,x,x,$//
++_ACEOF
++program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
++rm conftest.sed
+
+-cat >>confdefs.h <<\EOF
+-#define _POSIX_SOURCE 1
+-EOF
++for ac_prog in mawk gawk nawk awk
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++echo "$as_me:2196: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_AWK+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$AWK"; then
++ ac_cv_prog_AWK="$AWK" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_AWK="$ac_prog"
++echo "$as_me:2211: found $ac_dir/$ac_word" >&5
++break
++done
+
+- if test "$GCC" = yes; then
+- CC="$CC -posix"
+- else
+- CC="$CC -Xp"
+- fi
++fi
++fi
++AWK=$ac_cv_prog_AWK
++if test -n "$AWK"; then
++ echo "$as_me:2219: result: $AWK" >&5
++echo "${ECHO_T}$AWK" >&6
+ else
+- echo "$as_me:2196: result: no" >&5
++ echo "$as_me:2222: result: no" >&5
+ echo "${ECHO_T}no" >&6
+- ISC=
+ fi
+
+-echo "$as_me:2201: checking for ${CC:-cc} option to accept ANSI C" >&5
+-echo $ECHO_N "checking for ${CC:-cc} option to accept ANSI C... $ECHO_C" >&6
+-if test "${cf_cv_ansi_cc+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+-
+-cf_cv_ansi_cc=no
+-cf_save_CFLAGS="$CFLAGS"
+-cf_save_CPPFLAGS="$CPPFLAGS"
+-# Don't try gcc -ansi; that turns off useful extensions and
+-# breaks some systems' header files.
+-# AIX -qlanglvl=ansi
+-# Ultrix and OSF/1 -std1
+-# HP-UX -Aa -D_HPUX_SOURCE
+-# SVR4 -Xc
+-# UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes)
+-for cf_arg in "-DCC_HAS_PROTOS" \
+- "" \
+- -qlanglvl=ansi \
+- -std1 \
+- -Ae \
+- "-Aa -D_HPUX_SOURCE" \
+- -Xc
+-do
+-
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
++ test -n "$AWK" && break
++done
+
+-for cf_add_cflags in $cf_arg
+-do
+-case $cf_fix_cppflags in
+-no)
+- case $cf_add_cflags in #(vi
+- -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+- case $cf_add_cflags in
+- -D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++test -z "$AWK" && { { echo "$as_me:2229: error: No awk program found" >&5
++echo "$as_me: error: No awk program found" >&2;}
++ { (exit 1); exit 1; }; }
+
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
++echo "$as_me:2233: checking for egrep" >&5
++echo $ECHO_N "checking for egrep... $ECHO_C" >&6
++if test "${ac_cv_prog_egrep+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if echo a | (grep -E '(a|b)') >/dev/null 2>&1
++ then ac_cv_prog_egrep='grep -E'
++ else ac_cv_prog_egrep='egrep'
++ fi
++fi
++echo "$as_me:2243: result: $ac_cv_prog_egrep" >&5
++echo "${ECHO_T}$ac_cv_prog_egrep" >&6
++ EGREP=$ac_cv_prog_egrep
+
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- *$cf_add_cflags) #(vi
+- ;;
+- *) #(vi
+- case $cf_add_cflags in #(vi
+- -D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+-
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+-
+- ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- *)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+-yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+-
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
+-done
+-
+-if test -n "$cf_new_cflags" ; then
+-
+- CFLAGS="$CFLAGS $cf_new_cflags"
+-fi
+-
+-if test -n "$cf_new_cppflags" ; then
+-
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
+-fi
+-
+-if test -n "$cf_new_extra_cppflags" ; then
+-
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+-fi
+-
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 2305 "configure"
+-#include "confdefs.h"
+-
+-#ifndef CC_HAS_PROTOS
+-#if !defined(__STDC__) || (__STDC__ != 1)
+-choke me
+-#endif
+-#endif
+-
+-int
+-main ()
+-{
+-
+- int test (int i, double x);
+- struct s1 {int (*f) (int a);};
+- struct s2 {int (*f) (double a);};
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:2326: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:2329: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:2332: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:2335: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- cf_cv_ansi_cc="$cf_arg"; break
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-done
+-CFLAGS="$cf_save_CFLAGS"
+-CPPFLAGS="$cf_save_CPPFLAGS"
+-
+-fi
+-echo "$as_me:2348: result: $cf_cv_ansi_cc" >&5
+-echo "${ECHO_T}$cf_cv_ansi_cc" >&6
+-
+-if test "$cf_cv_ansi_cc" != "no"; then
+-if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then
+-
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
+-
+-for cf_add_cflags in $cf_cv_ansi_cc
+-do
+-case $cf_fix_cppflags in
+-no)
+- case $cf_add_cflags in #(vi
+- -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+- case $cf_add_cflags in
+- -D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
+-
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- *$cf_add_cflags) #(vi
+- ;;
+- *) #(vi
+- case $cf_add_cflags in #(vi
+- -D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+-
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+-
+- ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- *)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+-yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+-
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
+-done
+-
+-if test -n "$cf_new_cflags" ; then
+-
+- CFLAGS="$CFLAGS $cf_new_cflags"
+-fi
+-
+-if test -n "$cf_new_cppflags" ; then
+-
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
+-fi
+-
+-if test -n "$cf_new_extra_cppflags" ; then
+-
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+-fi
+-
+-else
+- cat >>confdefs.h <<\EOF
+-#define CC_HAS_PROTOS 1
+-EOF
+-
+-fi
+-fi
+-
+-if test "$cf_cv_ansi_cc" = "no"; then
+- { { echo "$as_me:2441: error: Your compiler does not appear to recognize prototypes.
+-You have the following choices:
+- a. adjust your compiler options
+- b. get an up-to-date compiler
+- c. use a wrapper such as unproto" >&5
+-echo "$as_me: error: Your compiler does not appear to recognize prototypes.
+-You have the following choices:
+- a. adjust your compiler options
+- b. get an up-to-date compiler
+- c. use a wrapper such as unproto" >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+-
+-case $cf_cv_system_name in
+-os2*)
+- CFLAGS="$CFLAGS -Zmt"
+- CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__"
+- CXXFLAGS="$CXXFLAGS -Zmt"
+- # autoconf's macro sets -Zexe and suffix both, which conflict:w
+- LDFLAGS="$LDFLAGS -Zmt -Zcrtdll"
+- ac_cv_exeext=.exe
+- ;;
+-esac
+-
+-PROG_EXT="$EXEEXT"
+-
+-test -n "$PROG_EXT" && cat >>confdefs.h <<EOF
+-#define PROG_EXT "$PROG_EXT"
+-EOF
+-
+-test "$program_prefix" != NONE &&
+- program_transform_name="s,^,$program_prefix,;$program_transform_name"
+-# Use a double $ so make ignores it.
+-test "$program_suffix" != NONE &&
+- program_transform_name="s,\$,$program_suffix,;$program_transform_name"
+-# Double any \ or $. echo might interpret backslashes.
+-# By default was `s,x,x', remove it if useless.
+-cat <<\_ACEOF >conftest.sed
+-s/[\\$]/&&/g;s/;s,x,x,$//
+-_ACEOF
+-program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
+-rm conftest.sed
+-
+-for ac_prog in mawk gawk nawk awk
+-do
+- # Extract the first word of "$ac_prog", so it can be a program name with args.
+-set dummy $ac_prog; ac_word=$2
+-echo "$as_me:2488: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_prog_AWK+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- if test -n "$AWK"; then
+- ac_cv_prog_AWK="$AWK" # Let the user override the test.
+-else
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- $as_executable_p "$ac_dir/$ac_word" || continue
+-ac_cv_prog_AWK="$ac_prog"
+-echo "$as_me:2503: found $ac_dir/$ac_word" >&5
+-break
+-done
+-
+-fi
+-fi
+-AWK=$ac_cv_prog_AWK
+-if test -n "$AWK"; then
+- echo "$as_me:2511: result: $AWK" >&5
+-echo "${ECHO_T}$AWK" >&6
+-else
+- echo "$as_me:2514: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+- test -n "$AWK" && break
+-done
+-
+-test -z "$AWK" && { { echo "$as_me:2521: error: No awk program found" >&5
+-echo "$as_me: error: No awk program found" >&2;}
+- { (exit 1); exit 1; }; }
+-
+-echo "$as_me:2525: checking for egrep" >&5
+-echo $ECHO_N "checking for egrep... $ECHO_C" >&6
+-if test "${ac_cv_prog_egrep+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- if echo a | (grep -E '(a|b)') >/dev/null 2>&1
+- then ac_cv_prog_egrep='grep -E'
+- else ac_cv_prog_egrep='egrep'
+- fi
+-fi
+-echo "$as_me:2535: result: $ac_cv_prog_egrep" >&5
+-echo "${ECHO_T}$ac_cv_prog_egrep" >&6
+- EGREP=$ac_cv_prog_egrep
+-
+-test -z "$EGREP" && { { echo "$as_me:2539: error: No egrep program found" >&5
+-echo "$as_me: error: No egrep program found" >&2;}
+- { (exit 1); exit 1; }; }
++test -z "$EGREP" && { { echo "$as_me:2247: error: No egrep program found" >&5
++echo "$as_me: error: No egrep program found" >&2;}
++ { (exit 1); exit 1; }; }
+
+ # Find a good install program. We prefer a C program (faster),
+ # so one script is as good as another. But avoid the broken or
+@@ -2552,7 +2260,7 @@
+ # AFS /usr/afsws/bin/install, which mishandles nonexistent args
+ # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+ # ./install, which can be erroneously created by make from ./install.sh.
+-echo "$as_me:2555: checking for a BSD compatible install" >&5
++echo "$as_me:2263: checking for a BSD compatible install" >&5
+ echo $ECHO_N "checking for a BSD compatible install... $ECHO_C" >&6
+ if test -z "$INSTALL"; then
+ if test "${ac_cv_path_install+set}" = set; then
+@@ -2601,7 +2309,7 @@
+ INSTALL=$ac_install_sh
+ fi
+ fi
+-echo "$as_me:2604: result: $INSTALL" >&5
++echo "$as_me:2312: result: $INSTALL" >&5
+ echo "${ECHO_T}$INSTALL" >&6
+
+ # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+@@ -2612,18 +2320,18 @@
+
+ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+-echo "$as_me:2615: checking whether ln -s works" >&5
++echo "$as_me:2323: checking whether ln -s works" >&5
+ echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
+ LN_S=$as_ln_s
+ if test "$LN_S" = "ln -s"; then
+- echo "$as_me:2619: result: yes" >&5
++ echo "$as_me:2327: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ else
+- echo "$as_me:2622: result: no, using $LN_S" >&5
++ echo "$as_me:2330: result: no, using $LN_S" >&5
+ echo "${ECHO_T}no, using $LN_S" >&6
+ fi
+
+-echo "$as_me:2626: checking if $LN_S -f options work" >&5
++echo "$as_me:2334: checking if $LN_S -f options work" >&5
+ echo $ECHO_N "checking if $LN_S -f options work... $ECHO_C" >&6
+
+ rm -f conf$$.src conf$$dst
+@@ -2635,12 +2343,12 @@
+ cf_prog_ln_sf=no
+ fi
+ rm -f conf$$.dst conf$$src
+-echo "$as_me:2638: result: $cf_prog_ln_sf" >&5
++echo "$as_me:2346: result: $cf_prog_ln_sf" >&5
+ echo "${ECHO_T}$cf_prog_ln_sf" >&6
+
+ test "$cf_prog_ln_sf" = yes && LN_S="$LN_S -f"
+
+-echo "$as_me:2643: checking for long file names" >&5
++echo "$as_me:2351: checking for long file names" >&5
+ echo $ECHO_N "checking for long file names... $ECHO_C" >&6
+ if test "${ac_cv_sys_long_file_names+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2679,7 +2387,7 @@
+ rm -rf $ac_xdir 2>/dev/null
+ done
+ fi
+-echo "$as_me:2682: result: $ac_cv_sys_long_file_names" >&5
++echo "$as_me:2390: result: $ac_cv_sys_long_file_names" >&5
+ echo "${ECHO_T}$ac_cv_sys_long_file_names" >&6
+ if test $ac_cv_sys_long_file_names = yes; then
+
+@@ -2691,7 +2399,7 @@
+
+ # if we find pkg-config, check if we should install the ".pc" files.
+
+-echo "$as_me:2694: checking if you want to use pkg-config" >&5
++echo "$as_me:2402: checking if you want to use pkg-config" >&5
+ echo $ECHO_N "checking if you want to use pkg-config... $ECHO_C" >&6
+
+ # Check whether --with-pkg-config or --without-pkg-config was given.
+@@ -2701,7 +2409,7 @@
+ else
+ cf_pkg_config=yes
+ fi;
+-echo "$as_me:2704: result: $cf_pkg_config" >&5
++echo "$as_me:2412: result: $cf_pkg_config" >&5
+ echo "${ECHO_T}$cf_pkg_config" >&6
+
+ case $cf_pkg_config in #(vi
+@@ -2709,10 +2417,11 @@
+ PKG_CONFIG=none
+ ;;
+ yes) #(vi
+- if test -n "$ac_tool_prefix"; then
++
++if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+-echo "$as_me:2715: checking for $ac_word" >&5
++echo "$as_me:2424: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2729,7 +2438,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ if $as_executable_p "$ac_dir/$ac_word"; then
+ ac_cv_path_PKG_CONFIG="$ac_dir/$ac_word"
+- echo "$as_me:2732: found $ac_dir/$ac_word" >&5
++ echo "$as_me:2441: found $ac_dir/$ac_word" >&5
+ break
+ fi
+ done
+@@ -2740,10 +2449,10 @@
+ PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+
+ if test -n "$PKG_CONFIG"; then
+- echo "$as_me:2743: result: $PKG_CONFIG" >&5
++ echo "$as_me:2452: result: $PKG_CONFIG" >&5
+ echo "${ECHO_T}$PKG_CONFIG" >&6
+ else
+- echo "$as_me:2746: result: no" >&5
++ echo "$as_me:2455: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -2752,7 +2461,7 @@
+ ac_pt_PKG_CONFIG=$PKG_CONFIG
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+ set dummy pkg-config; ac_word=$2
+-echo "$as_me:2755: checking for $ac_word" >&5
++echo "$as_me:2464: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2769,7 +2478,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ if $as_executable_p "$ac_dir/$ac_word"; then
+ ac_cv_path_ac_pt_PKG_CONFIG="$ac_dir/$ac_word"
+- echo "$as_me:2772: found $ac_dir/$ac_word" >&5
++ echo "$as_me:2481: found $ac_dir/$ac_word" >&5
+ break
+ fi
+ done
+@@ -2781,10 +2490,10 @@
+ ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+
+ if test -n "$ac_pt_PKG_CONFIG"; then
+- echo "$as_me:2784: result: $ac_pt_PKG_CONFIG" >&5
++ echo "$as_me:2493: result: $ac_pt_PKG_CONFIG" >&5
+ echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6
+ else
+- echo "$as_me:2787: result: no" >&5
++ echo "$as_me:2496: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -2815,7 +2524,7 @@
+ ;;
+ .[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
+ ;;
+-.\${*prefix}*) #(vi
++.\${*prefix}*|.\${*dir}*) #(vi
+ eval PKG_CONFIG="$PKG_CONFIG"
+ case ".$PKG_CONFIG" in #(vi
+ .NONE/*)
+@@ -2827,7 +2536,7 @@
+ PKG_CONFIG=`echo $PKG_CONFIG | sed -e s%NONE%$cf_path_syntax%`
+ ;;
+ *)
+- { { echo "$as_me:2830: error: expected a pathname, not \"$PKG_CONFIG\"" >&5
++ { { echo "$as_me:2539: error: expected a pathname, not \"$PKG_CONFIG\"" >&5
+ echo "$as_me: error: expected a pathname, not \"$PKG_CONFIG\"" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+@@ -2836,15 +2545,50 @@
+ fi
+
+ if test "$PKG_CONFIG" != none ; then
+- echo "$as_me:2839: checking if we should install .pc files for $PKG_CONFIG" >&5
+-echo $ECHO_N "checking if we should install .pc files for $PKG_CONFIG... $ECHO_C" >&6
++ echo "$as_me:2548: checking for $PKG_CONFIG library directory" >&5
++echo $ECHO_N "checking for $PKG_CONFIG library directory... $ECHO_C" >&6
+
+- # Leave this as something that can be overridden in the environment.
+- if test -z "$PKG_CONFIG_LIBDIR" ; then
+- PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG" | sed -e 's,/[^/]*/[^/]*$,,'`/lib/pkgconfig
+- fi
+- PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG_LIBDIR" | sed -e 's/^://' -e 's/:.*//'`
+- if test -n "$PKG_CONFIG_LIBDIR" && test -d "$PKG_CONFIG_LIBDIR" ; then
++# Check whether --with-pkg-config-libdir or --without-pkg-config-libdir was given.
++if test "${with_pkg_config_libdir+set}" = set; then
++ withval="$with_pkg_config_libdir"
++ PKG_CONFIG_LIBDIR=$withval
++else
++ PKG_CONFIG_LIBDIR=yes
++fi;
++
++ case x$PKG_CONFIG_LIBDIR in #(vi
++ x/*) #(vi
++ ;;
++ xyes) #(vi
++ # look for the library directory using the same prefix as the executable
++ cf_path=`echo "$PKG_CONFIG" | sed -e 's,/[^/]*/[^/]*$,,'`
++ case x`(arch) 2>/dev/null` in #(vi
++ *64) #(vi
++ for cf_config in $cf_path/share $cf_path/lib64 $cf_path/lib32 $cf_path/lib
++ do
++ if test -d $cf_config/pkgconfig
++ then
++ PKG_CONFIG_LIBDIR=$cf_config/pkgconfig
++ break
++ fi
++ done
++ ;;
++ *)
++ PKG_CONFIG_LIBDIR=$cf_path/lib/pkgconfig
++ ;;
++ esac
++ ;;
++ *)
++ ;;
++ esac
++
++ echo "$as_me:2585: result: $PKG_CONFIG_LIBDIR" >&5
++echo "${ECHO_T}$PKG_CONFIG_LIBDIR" >&6
++fi
++
++if test "$PKG_CONFIG" != none ; then
++ echo "$as_me:2590: checking if we should install .pc files for $PKG_CONFIG" >&5
++echo $ECHO_N "checking if we should install .pc files for $PKG_CONFIG... $ECHO_C" >&6
+
+ # Check whether --enable-pc-files or --disable-pc-files was given.
+ if test "${enable_pc_files+set}" = set; then
+@@ -2853,18 +2597,48 @@
+ else
+ enable_pc_files=no
+ fi;
+- echo "$as_me:2856: result: $enable_pc_files" >&5
++ echo "$as_me:2600: result: $enable_pc_files" >&5
+ echo "${ECHO_T}$enable_pc_files" >&6
+- else
+- echo "$as_me:2859: result: no" >&5
+-echo "${ECHO_T}no" >&6
+- { echo "$as_me:2861: WARNING: did not find library $PKG_CONFIG_LIBDIR" >&5
+-echo "$as_me: WARNING: did not find library $PKG_CONFIG_LIBDIR" >&2;}
+- enable_pc_files=no
++ if test "$enable_pc_files" != no
++ then
++
++if test "x$prefix" != xNONE; then
++ cf_path_syntax="$prefix"
++else
++ cf_path_syntax="$ac_default_prefix"
++fi
++
++case ".$PKG_CONFIG_LIBDIR" in #(vi
++.\$\(*\)*|.\'*\'*) #(vi
++ ;;
++..|./*|.\\*) #(vi
++ ;;
++.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
++ ;;
++.\${*prefix}*|.\${*dir}*) #(vi
++ eval PKG_CONFIG_LIBDIR="$PKG_CONFIG_LIBDIR"
++ case ".$PKG_CONFIG_LIBDIR" in #(vi
++ .NONE/*)
++ PKG_CONFIG_LIBDIR=`echo $PKG_CONFIG_LIBDIR | sed -e s%NONE%$cf_path_syntax%`
++ ;;
++ esac
++ ;; #(vi
++.no|.NONE/*)
++ PKG_CONFIG_LIBDIR=`echo $PKG_CONFIG_LIBDIR | sed -e s%NONE%$cf_path_syntax%`
++ ;;
++*)
++ { { echo "$as_me:2630: error: expected a pathname, not \"$PKG_CONFIG_LIBDIR\"" >&5
++echo "$as_me: error: expected a pathname, not \"$PKG_CONFIG_LIBDIR\"" >&2;}
++ { (exit 1); exit 1; }; }
++ ;;
++esac
++
+ fi
++else
++ enable_pc_files=no
+ fi
+
+-echo "$as_me:2867: checking if you want to build test-programs" >&5
++echo "$as_me:2641: checking if you want to build test-programs" >&5
+ echo $ECHO_N "checking if you want to build test-programs... $ECHO_C" >&6
+
+ # Check whether --with-tests or --without-tests was given.
+@@ -2874,10 +2648,10 @@
+ else
+ cf_with_tests=yes
+ fi;
+-echo "$as_me:2877: result: $cf_with_tests" >&5
++echo "$as_me:2651: result: $cf_with_tests" >&5
+ echo "${ECHO_T}$cf_with_tests" >&6
+
+-echo "$as_me:2880: checking if we should assume mixed-case filenames" >&5
++echo "$as_me:2654: checking if we should assume mixed-case filenames" >&5
+ echo $ECHO_N "checking if we should assume mixed-case filenames... $ECHO_C" >&6
+
+ # Check whether --enable-mixed-case or --disable-mixed-case was given.
+@@ -2887,11 +2661,11 @@
+ else
+ enable_mixedcase=auto
+ fi;
+-echo "$as_me:2890: result: $enable_mixedcase" >&5
++echo "$as_me:2664: result: $enable_mixedcase" >&5
+ echo "${ECHO_T}$enable_mixedcase" >&6
+ if test "$enable_mixedcase" = "auto" ; then
+
+-echo "$as_me:2894: checking if filesystem supports mixed-case filenames" >&5
++echo "$as_me:2668: checking if filesystem supports mixed-case filenames" >&5
+ echo $ECHO_N "checking if filesystem supports mixed-case filenames... $ECHO_C" >&6
+ if test "${cf_cv_mixedcase+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2918,9 +2692,10 @@
+ fi
+
+ fi
+-echo "$as_me:2921: result: $cf_cv_mixedcase" >&5
++echo "$as_me:2695: result: $cf_cv_mixedcase" >&5
+ echo "${ECHO_T}$cf_cv_mixedcase" >&6
+-test "$cf_cv_mixedcase" = yes && cat >>confdefs.h <<\EOF
++test "$cf_cv_mixedcase" = yes &&
++cat >>confdefs.h <<\EOF
+ #define MIXEDCASE_FILENAMES 1
+ EOF
+
+@@ -2935,7 +2710,7 @@
+ fi
+
+ # do this after mixed-case option (tags/TAGS is not as important as tic).
+-echo "$as_me:2938: checking whether ${MAKE-make} sets \${MAKE}" >&5
++echo "$as_me:2713: checking whether ${MAKE-make} sets \${MAKE}" >&5
+ echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6
+ set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
+ if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+@@ -2955,11 +2730,11 @@
+ rm -f conftest.make
+ fi
+ if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+- echo "$as_me:2958: result: yes" >&5
++ echo "$as_me:2733: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ SET_MAKE=
+ else
+- echo "$as_me:2962: result: no" >&5
++ echo "$as_me:2737: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ SET_MAKE="MAKE=${MAKE-make}"
+ fi
+@@ -2968,7 +2743,7 @@
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+-echo "$as_me:2971: checking for $ac_word" >&5
++echo "$as_me:2746: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_CTAGS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2983,7 +2758,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_CTAGS="$ac_prog"
+-echo "$as_me:2986: found $ac_dir/$ac_word" >&5
++echo "$as_me:2761: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -2991,10 +2766,10 @@
+ fi
+ CTAGS=$ac_cv_prog_CTAGS
+ if test -n "$CTAGS"; then
+- echo "$as_me:2994: result: $CTAGS" >&5
++ echo "$as_me:2769: result: $CTAGS" >&5
+ echo "${ECHO_T}$CTAGS" >&6
+ else
+- echo "$as_me:2997: result: no" >&5
++ echo "$as_me:2772: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3005,7 +2780,7 @@
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+-echo "$as_me:3008: checking for $ac_word" >&5
++echo "$as_me:2783: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ETAGS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3020,7 +2795,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ETAGS="$ac_prog"
+-echo "$as_me:3023: found $ac_dir/$ac_word" >&5
++echo "$as_me:2798: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3028,10 +2803,10 @@
+ fi
+ ETAGS=$ac_cv_prog_ETAGS
+ if test -n "$ETAGS"; then
+- echo "$as_me:3031: result: $ETAGS" >&5
++ echo "$as_me:2806: result: $ETAGS" >&5
+ echo "${ECHO_T}$ETAGS" >&6
+ else
+- echo "$as_me:3034: result: no" >&5
++ echo "$as_me:2809: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3040,7 +2815,7 @@
+
+ # Extract the first word of "${CTAGS:-ctags}", so it can be a program name with args.
+ set dummy ${CTAGS:-ctags}; ac_word=$2
+-echo "$as_me:3043: checking for $ac_word" >&5
++echo "$as_me:2818: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_MAKE_LOWER_TAGS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3055,7 +2830,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_MAKE_LOWER_TAGS="yes"
+-echo "$as_me:3058: found $ac_dir/$ac_word" >&5
++echo "$as_me:2833: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3064,17 +2839,17 @@
+ fi
+ MAKE_LOWER_TAGS=$ac_cv_prog_MAKE_LOWER_TAGS
+ if test -n "$MAKE_LOWER_TAGS"; then
+- echo "$as_me:3067: result: $MAKE_LOWER_TAGS" >&5
++ echo "$as_me:2842: result: $MAKE_LOWER_TAGS" >&5
+ echo "${ECHO_T}$MAKE_LOWER_TAGS" >&6
+ else
+- echo "$as_me:3070: result: no" >&5
++ echo "$as_me:2845: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+ if test "$cf_cv_mixedcase" = yes ; then
+ # Extract the first word of "${ETAGS:-etags}", so it can be a program name with args.
+ set dummy ${ETAGS:-etags}; ac_word=$2
+-echo "$as_me:3077: checking for $ac_word" >&5
++echo "$as_me:2852: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_MAKE_UPPER_TAGS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3089,7 +2864,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_MAKE_UPPER_TAGS="yes"
+-echo "$as_me:3092: found $ac_dir/$ac_word" >&5
++echo "$as_me:2867: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3098,10 +2873,10 @@
+ fi
+ MAKE_UPPER_TAGS=$ac_cv_prog_MAKE_UPPER_TAGS
+ if test -n "$MAKE_UPPER_TAGS"; then
+- echo "$as_me:3101: result: $MAKE_UPPER_TAGS" >&5
++ echo "$as_me:2876: result: $MAKE_UPPER_TAGS" >&5
+ echo "${ECHO_T}$MAKE_UPPER_TAGS" >&6
+ else
+- echo "$as_me:3104: result: no" >&5
++ echo "$as_me:2879: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3121,7 +2896,7 @@
+ MAKE_LOWER_TAGS="#"
+ fi
+
+-echo "$as_me:3124: checking for makeflags variable" >&5
++echo "$as_me:2899: checking for makeflags variable" >&5
+ echo $ECHO_N "checking for makeflags variable... $ECHO_C" >&6
+ if test "${cf_cv_makeflags+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3155,13 +2930,13 @@
+ rm -f cf_makeflags.tmp
+
+ fi
+-echo "$as_me:3158: result: $cf_cv_makeflags" >&5
++echo "$as_me:2933: result: $cf_cv_makeflags" >&5
+ echo "${ECHO_T}$cf_cv_makeflags" >&6
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+-echo "$as_me:3164: checking for $ac_word" >&5
++echo "$as_me:2939: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_RANLIB+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3176,7 +2951,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+-echo "$as_me:3179: found $ac_dir/$ac_word" >&5
++echo "$as_me:2954: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3184,10 +2959,10 @@
+ fi
+ RANLIB=$ac_cv_prog_RANLIB
+ if test -n "$RANLIB"; then
+- echo "$as_me:3187: result: $RANLIB" >&5
++ echo "$as_me:2962: result: $RANLIB" >&5
+ echo "${ECHO_T}$RANLIB" >&6
+ else
+- echo "$as_me:3190: result: no" >&5
++ echo "$as_me:2965: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3196,7 +2971,7 @@
+ ac_ct_RANLIB=$RANLIB
+ # Extract the first word of "ranlib", so it can be a program name with args.
+ set dummy ranlib; ac_word=$2
+-echo "$as_me:3199: checking for $ac_word" >&5
++echo "$as_me:2974: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3211,7 +2986,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
+-echo "$as_me:3214: found $ac_dir/$ac_word" >&5
++echo "$as_me:2989: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3220,10 +2995,10 @@
+ fi
+ ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+ if test -n "$ac_ct_RANLIB"; then
+- echo "$as_me:3223: result: $ac_ct_RANLIB" >&5
++ echo "$as_me:2998: result: $ac_ct_RANLIB" >&5
+ echo "${ECHO_T}$ac_ct_RANLIB" >&6
+ else
+- echo "$as_me:3226: result: no" >&5
++ echo "$as_me:3001: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3235,7 +3010,7 @@
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ld", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}ld; ac_word=$2
+-echo "$as_me:3238: checking for $ac_word" >&5
++echo "$as_me:3013: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_LD+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3250,7 +3025,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_LD="${ac_tool_prefix}ld"
+-echo "$as_me:3253: found $ac_dir/$ac_word" >&5
++echo "$as_me:3028: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3258,10 +3033,10 @@
+ fi
+ LD=$ac_cv_prog_LD
+ if test -n "$LD"; then
+- echo "$as_me:3261: result: $LD" >&5
++ echo "$as_me:3036: result: $LD" >&5
+ echo "${ECHO_T}$LD" >&6
+ else
+- echo "$as_me:3264: result: no" >&5
++ echo "$as_me:3039: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3270,7 +3045,7 @@
+ ac_ct_LD=$LD
+ # Extract the first word of "ld", so it can be a program name with args.
+ set dummy ld; ac_word=$2
+-echo "$as_me:3273: checking for $ac_word" >&5
++echo "$as_me:3048: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ac_ct_LD+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3285,7 +3060,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_LD="ld"
+-echo "$as_me:3288: found $ac_dir/$ac_word" >&5
++echo "$as_me:3063: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3294,10 +3069,10 @@
+ fi
+ ac_ct_LD=$ac_cv_prog_ac_ct_LD
+ if test -n "$ac_ct_LD"; then
+- echo "$as_me:3297: result: $ac_ct_LD" >&5
++ echo "$as_me:3072: result: $ac_ct_LD" >&5
+ echo "${ECHO_T}$ac_ct_LD" >&6
+ else
+- echo "$as_me:3300: result: no" >&5
++ echo "$as_me:3075: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3309,7 +3084,7 @@
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}ar; ac_word=$2
+-echo "$as_me:3312: checking for $ac_word" >&5
++echo "$as_me:3087: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_AR+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3324,7 +3099,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+-echo "$as_me:3327: found $ac_dir/$ac_word" >&5
++echo "$as_me:3102: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3332,10 +3107,10 @@
+ fi
+ AR=$ac_cv_prog_AR
+ if test -n "$AR"; then
+- echo "$as_me:3335: result: $AR" >&5
++ echo "$as_me:3110: result: $AR" >&5
+ echo "${ECHO_T}$AR" >&6
+ else
+- echo "$as_me:3338: result: no" >&5
++ echo "$as_me:3113: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3344,7 +3119,7 @@
+ ac_ct_AR=$AR
+ # Extract the first word of "ar", so it can be a program name with args.
+ set dummy ar; ac_word=$2
+-echo "$as_me:3347: checking for $ac_word" >&5
++echo "$as_me:3122: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3359,7 +3134,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_AR="ar"
+-echo "$as_me:3362: found $ac_dir/$ac_word" >&5
++echo "$as_me:3137: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3368,10 +3143,10 @@
+ fi
+ ac_ct_AR=$ac_cv_prog_ac_ct_AR
+ if test -n "$ac_ct_AR"; then
+- echo "$as_me:3371: result: $ac_ct_AR" >&5
++ echo "$as_me:3146: result: $ac_ct_AR" >&5
+ echo "${ECHO_T}$ac_ct_AR" >&6
+ else
+- echo "$as_me:3374: result: no" >&5
++ echo "$as_me:3149: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3383,7 +3158,7 @@
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}ar; ac_word=$2
+-echo "$as_me:3386: checking for $ac_word" >&5
++echo "$as_me:3161: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_AR+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3398,7 +3173,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+-echo "$as_me:3401: found $ac_dir/$ac_word" >&5
++echo "$as_me:3176: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3406,10 +3181,10 @@
+ fi
+ AR=$ac_cv_prog_AR
+ if test -n "$AR"; then
+- echo "$as_me:3409: result: $AR" >&5
++ echo "$as_me:3184: result: $AR" >&5
+ echo "${ECHO_T}$AR" >&6
+ else
+- echo "$as_me:3412: result: no" >&5
++ echo "$as_me:3187: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3418,7 +3193,7 @@
+ ac_ct_AR=$AR
+ # Extract the first word of "ar", so it can be a program name with args.
+ set dummy ar; ac_word=$2
+-echo "$as_me:3421: checking for $ac_word" >&5
++echo "$as_me:3196: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3433,7 +3208,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_AR="ar"
+-echo "$as_me:3436: found $ac_dir/$ac_word" >&5
++echo "$as_me:3211: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3442,10 +3217,10 @@
+ fi
+ ac_ct_AR=$ac_cv_prog_ac_ct_AR
+ if test -n "$ac_ct_AR"; then
+- echo "$as_me:3445: result: $ac_ct_AR" >&5
++ echo "$as_me:3220: result: $ac_ct_AR" >&5
+ echo "${ECHO_T}$ac_ct_AR" >&6
+ else
+- echo "$as_me:3448: result: no" >&5
++ echo "$as_me:3223: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3454,7 +3229,7 @@
+ AR="$ac_cv_prog_AR"
+ fi
+
+-echo "$as_me:3457: checking for options to update archives" >&5
++echo "$as_me:3232: checking for options to update archives" >&5
+ echo $ECHO_N "checking for options to update archives... $ECHO_C" >&6
+ if test "${cf_cv_ar_flags+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3477,13 +3252,13 @@
+ rm -f conftest.a
+
+ cat >conftest.$ac_ext <<EOF
+-#line 3480 "configure"
++#line 3255 "configure"
+ int testdata[3] = { 123, 456, 789 };
+ EOF
+- if { (eval echo "$as_me:3483: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:3258: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:3486: \$? = $ac_status" >&5
++ echo "$as_me:3261: \$? = $ac_status" >&5
+ (exit $ac_status); } ; then
+ echo "$AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext" >&5
+ $AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext 2>&5 1>/dev/null
+@@ -3494,7 +3269,7 @@
+ else
+ test -n "$verbose" && echo " cannot compile test-program" 1>&6
+
+-echo "${as_me:-configure}:3497: testing cannot compile test-program ..." 1>&5
++echo "${as_me:-configure}:3272: testing cannot compile test-program ..." 1>&5
+
+ break
+ fi
+@@ -3502,7 +3277,7 @@
+ rm -f conftest.a conftest.$ac_ext conftest.$ac_cv_objext
+
+ fi
+-echo "$as_me:3505: result: $cf_cv_ar_flags" >&5
++echo "$as_me:3280: result: $cf_cv_ar_flags" >&5
+ echo "${ECHO_T}$cf_cv_ar_flags" >&6
+
+ if test -n "$ARFLAGS" ; then
+@@ -3513,7 +3288,17 @@
+ ARFLAGS=$cf_cv_ar_flags
+ fi
+
+-echo "$as_me:3516: checking if you have specified an install-prefix" >&5
++ echo "$as_me:3291: checking for PATH separator" >&5
++echo $ECHO_N "checking for PATH separator... $ECHO_C" >&6
++ case $cf_cv_system_name in
++ os2*) PATH_SEPARATOR=';' ;;
++ *) ${PATH_SEPARATOR:=':'} ;;
++ esac
++
++ echo "$as_me:3298: result: $PATH_SEPARATOR" >&5
++echo "${ECHO_T}$PATH_SEPARATOR" >&6
++
++echo "$as_me:3301: checking if you have specified an install-prefix" >&5
+ echo $ECHO_N "checking if you have specified an install-prefix... $ECHO_C" >&6
+
+ # Check whether --with-install-prefix or --without-install-prefix was given.
+@@ -3526,7 +3311,7 @@
+ ;;
+ esac
+ fi;
+-echo "$as_me:3529: result: $DESTDIR" >&5
++echo "$as_me:3314: result: $DESTDIR" >&5
+ echo "${ECHO_T}$DESTDIR" >&6
+
+ ###############################################################################
+@@ -3554,7 +3339,7 @@
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+-echo "$as_me:3557: checking for $ac_word" >&5
++echo "$as_me:3342: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_BUILD_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3569,7 +3354,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_BUILD_CC="$ac_prog"
+-echo "$as_me:3572: found $ac_dir/$ac_word" >&5
++echo "$as_me:3357: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3577,10 +3362,10 @@
+ fi
+ BUILD_CC=$ac_cv_prog_BUILD_CC
+ if test -n "$BUILD_CC"; then
+- echo "$as_me:3580: result: $BUILD_CC" >&5
++ echo "$as_me:3365: result: $BUILD_CC" >&5
+ echo "${ECHO_T}$BUILD_CC" >&6
+ else
+- echo "$as_me:3583: result: no" >&5
++ echo "$as_me:3368: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3588,12 +3373,12 @@
+ done
+
+ fi;
+- echo "$as_me:3591: checking for native build C compiler" >&5
++ echo "$as_me:3376: checking for native build C compiler" >&5
+ echo $ECHO_N "checking for native build C compiler... $ECHO_C" >&6
+- echo "$as_me:3593: result: $BUILD_CC" >&5
++ echo "$as_me:3378: result: $BUILD_CC" >&5
+ echo "${ECHO_T}$BUILD_CC" >&6
+
+- echo "$as_me:3596: checking for native build C preprocessor" >&5
++ echo "$as_me:3381: checking for native build C preprocessor" >&5
+ echo $ECHO_N "checking for native build C preprocessor... $ECHO_C" >&6
+
+ # Check whether --with-build-cpp or --without-build-cpp was given.
+@@ -3603,10 +3388,10 @@
+ else
+ BUILD_CPP='${BUILD_CC} -E'
+ fi;
+- echo "$as_me:3606: result: $BUILD_CPP" >&5
++ echo "$as_me:3391: result: $BUILD_CPP" >&5
+ echo "${ECHO_T}$BUILD_CPP" >&6
+
+- echo "$as_me:3609: checking for native build C flags" >&5
++ echo "$as_me:3394: checking for native build C flags" >&5
+ echo $ECHO_N "checking for native build C flags... $ECHO_C" >&6
+
+ # Check whether --with-build-cflags or --without-build-cflags was given.
+@@ -3614,10 +3399,10 @@
+ withval="$with_build_cflags"
+ BUILD_CFLAGS="$withval"
+ fi;
+- echo "$as_me:3617: result: $BUILD_CFLAGS" >&5
++ echo "$as_me:3402: result: $BUILD_CFLAGS" >&5
+ echo "${ECHO_T}$BUILD_CFLAGS" >&6
+
+- echo "$as_me:3620: checking for native build C preprocessor-flags" >&5
++ echo "$as_me:3405: checking for native build C preprocessor-flags" >&5
+ echo $ECHO_N "checking for native build C preprocessor-flags... $ECHO_C" >&6
+
+ # Check whether --with-build-cppflags or --without-build-cppflags was given.
+@@ -3625,10 +3410,10 @@
+ withval="$with_build_cppflags"
+ BUILD_CPPFLAGS="$withval"
+ fi;
+- echo "$as_me:3628: result: $BUILD_CPPFLAGS" >&5
++ echo "$as_me:3413: result: $BUILD_CPPFLAGS" >&5
+ echo "${ECHO_T}$BUILD_CPPFLAGS" >&6
+
+- echo "$as_me:3631: checking for native build linker-flags" >&5
++ echo "$as_me:3416: checking for native build linker-flags" >&5
+ echo $ECHO_N "checking for native build linker-flags... $ECHO_C" >&6
+
+ # Check whether --with-build-ldflags or --without-build-ldflags was given.
+@@ -3636,10 +3421,10 @@
+ withval="$with_build_ldflags"
+ BUILD_LDFLAGS="$withval"
+ fi;
+- echo "$as_me:3639: result: $BUILD_LDFLAGS" >&5
++ echo "$as_me:3424: result: $BUILD_LDFLAGS" >&5
+ echo "${ECHO_T}$BUILD_LDFLAGS" >&6
+
+- echo "$as_me:3642: checking for native build linker-libraries" >&5
++ echo "$as_me:3427: checking for native build linker-libraries" >&5
+ echo $ECHO_N "checking for native build linker-libraries... $ECHO_C" >&6
+
+ # Check whether --with-build-libs or --without-build-libs was given.
+@@ -3647,7 +3432,7 @@
+ withval="$with_build_libs"
+ BUILD_LIBS="$withval"
+ fi;
+- echo "$as_me:3650: result: $BUILD_LIBS" >&5
++ echo "$as_me:3435: result: $BUILD_LIBS" >&5
+ echo "${ECHO_T}$BUILD_LIBS" >&6
+
+ # this assumes we're on Unix.
+@@ -3657,7 +3442,7 @@
+ : ${BUILD_CC:='${CC}'}
+
+ if ( test "$BUILD_CC" = "$CC" || test "$BUILD_CC" = '${CC}' ) ; then
+- { { echo "$as_me:3660: error: Cross-build requires two compilers.
++ { { echo "$as_me:3445: error: Cross-build requires two compilers.
+ Use --with-build-cc to specify the native compiler." >&5
+ echo "$as_me: error: Cross-build requires two compilers.
+ Use --with-build-cc to specify the native compiler." >&2;}
+@@ -3682,7 +3467,7 @@
+ ### shared, for example.
+ cf_list_models=""
+
+-echo "$as_me:3685: checking if you want to build shared C-objects" >&5
++echo "$as_me:3470: checking if you want to build shared C-objects" >&5
+ echo $ECHO_N "checking if you want to build shared C-objects... $ECHO_C" >&6
+
+ # Check whether --with-shared or --without-shared was given.
+@@ -3692,27 +3477,27 @@
+ else
+ with_shared=no
+ fi;
+-echo "$as_me:3695: result: $with_shared" >&5
++echo "$as_me:3480: result: $with_shared" >&5
+ echo "${ECHO_T}$with_shared" >&6
+ test "$with_shared" = "yes" && cf_list_models="$cf_list_models shared"
+
+-echo "$as_me:3699: checking for specified models" >&5
++echo "$as_me:3484: checking for specified models" >&5
+ echo $ECHO_N "checking for specified models... $ECHO_C" >&6
+ test -z "$cf_list_models" && cf_list_models=normal
+-echo "$as_me:3702: result: $cf_list_models" >&5
++echo "$as_me:3487: result: $cf_list_models" >&5
+ echo "${ECHO_T}$cf_list_models" >&6
+
+ ### Use the first model as the default, and save its suffix for use in building
+ ### up test-applications.
+-echo "$as_me:3707: checking for default model" >&5
++echo "$as_me:3492: checking for default model" >&5
+ echo $ECHO_N "checking for default model... $ECHO_C" >&6
+ DFT_LWR_MODEL=`echo "$cf_list_models" | $AWK '{print $1}'`
+-echo "$as_me:3710: result: $DFT_LWR_MODEL" >&5
++echo "$as_me:3495: result: $DFT_LWR_MODEL" >&5
+ echo "${ECHO_T}$DFT_LWR_MODEL" >&6
+
+ DFT_UPR_MODEL=`echo "$DFT_LWR_MODEL" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+
+-echo "$as_me:3715: checking for specific curses-directory" >&5
++echo "$as_me:3500: checking for specific curses-directory" >&5
+ echo $ECHO_N "checking for specific curses-directory... $ECHO_C" >&6
+
+ # Check whether --with-curses-dir or --without-curses-dir was given.
+@@ -3722,7 +3507,7 @@
+ else
+ cf_cv_curses_dir=no
+ fi;
+-echo "$as_me:3725: result: $cf_cv_curses_dir" >&5
++echo "$as_me:3510: result: $cf_cv_curses_dir" >&5
+ echo "${ECHO_T}$cf_cv_curses_dir" >&6
+
+ if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
+@@ -3741,7 +3526,7 @@
+ ;;
+ .[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
+ ;;
+-.\${*prefix}*) #(vi
++.\${*prefix}*|.\${*dir}*) #(vi
+ eval withval="$withval"
+ case ".$withval" in #(vi
+ .NONE/*)
+@@ -3753,7 +3538,7 @@
+ withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%`
+ ;;
+ *)
+- { { echo "$as_me:3756: error: expected a pathname, not \"$withval\"" >&5
++ { { echo "$as_me:3541: error: expected a pathname, not \"$withval\"" >&5
+ echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+@@ -3786,7 +3571,7 @@
+ cf_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 3789 "configure"
++#line 3574 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -3798,16 +3583,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:3801: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:3586: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:3804: \$? = $ac_status" >&5
++ echo "$as_me:3589: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:3807: \"$ac_try\"") >&5
++ { (eval echo "$as_me:3592: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3810: \$? = $ac_status" >&5
++ echo "$as_me:3595: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -3824,7 +3609,7 @@
+ if test "$cf_have_incdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-echo "${as_me:-configure}:3827: testing adding $cf_add_incdir to include-path ..." 1>&5
++echo "${as_me:-configure}:3612: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+@@ -3858,7 +3643,7 @@
+ if test "$cf_have_libdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
+
+-echo "${as_me:-configure}:3861: testing adding $cf_add_libdir to library-path ..." 1>&5
++echo "${as_me:-configure}:3646: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+ LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+ fi
+@@ -3869,7 +3654,7 @@
+ fi
+ fi
+
+-echo "$as_me:3872: checking if you want wide-character code" >&5
++echo "$as_me:3657: checking if you want wide-character code" >&5
+ echo $ECHO_N "checking if you want wide-character code... $ECHO_C" >&6
+
+ # Check whether --enable-widec or --disable-widec was given.
+@@ -3879,11 +3664,11 @@
+ else
+ with_widec=no
+ fi;
+-echo "$as_me:3882: result: $with_widec" >&5
++echo "$as_me:3667: result: $with_widec" >&5
+ echo "${ECHO_T}$with_widec" >&6
+ if test "$with_widec" = yes ; then
+
+-echo "$as_me:3886: checking for multibyte character support" >&5
++echo "$as_me:3671: checking for multibyte character support" >&5
+ echo $ECHO_N "checking for multibyte character support... $ECHO_C" >&6
+ if test "${cf_cv_utf8_lib+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3891,7 +3676,7 @@
+
+ cf_save_LIBS="$LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 3894 "configure"
++#line 3679 "configure"
+ #include "confdefs.h"
+
+ #include <stdlib.h>
+@@ -3904,16 +3689,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:3907: \"$ac_link\"") >&5
++if { (eval echo "$as_me:3692: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:3910: \$? = $ac_status" >&5
++ echo "$as_me:3695: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:3913: \"$ac_try\"") >&5
++ { (eval echo "$as_me:3698: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3916: \$? = $ac_status" >&5
++ echo "$as_me:3701: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_utf8_lib=yes
+ else
+@@ -3925,12 +3710,12 @@
+ cf_cv_header_path_utf8=
+ cf_cv_library_path_utf8=
+
+-echo "${as_me:-configure}:3928: testing Starting FIND_LINKAGE(utf8,) ..." 1>&5
++echo "${as_me:-configure}:3713: testing Starting FIND_LINKAGE(utf8,) ..." 1>&5
+
+ cf_save_LIBS="$LIBS"
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 3933 "configure"
++#line 3718 "configure"
+ #include "confdefs.h"
+
+ #include <libutf8.h>
+@@ -3943,16 +3728,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:3946: \"$ac_link\"") >&5
++if { (eval echo "$as_me:3731: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:3949: \$? = $ac_status" >&5
++ echo "$as_me:3734: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:3952: \"$ac_try\"") >&5
++ { (eval echo "$as_me:3737: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3955: \$? = $ac_status" >&5
++ echo "$as_me:3740: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_find_linkage_utf8=yes
+@@ -3966,7 +3751,7 @@
+ LIBS="-lutf8 $cf_save_LIBS"
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 3969 "configure"
++#line 3754 "configure"
+ #include "confdefs.h"
+
+ #include <libutf8.h>
+@@ -3979,16 +3764,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:3982: \"$ac_link\"") >&5
++if { (eval echo "$as_me:3767: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:3985: \$? = $ac_status" >&5
++ echo "$as_me:3770: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:3988: \"$ac_try\"") >&5
++ { (eval echo "$as_me:3773: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3991: \$? = $ac_status" >&5
++ echo "$as_me:3776: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_find_linkage_utf8=yes
+@@ -4005,9 +3790,9 @@
+
+ test -n "$verbose" && echo " find linkage for utf8 library" 1>&6
+
+-echo "${as_me:-configure}:4008: testing find linkage for utf8 library ..." 1>&5
++echo "${as_me:-configure}:3793: testing find linkage for utf8 library ..." 1>&5
+
+-echo "${as_me:-configure}:4010: testing Searching for headers in FIND_LINKAGE(utf8,) ..." 1>&5
++echo "${as_me:-configure}:3795: testing Searching for headers in FIND_LINKAGE(utf8,) ..." 1>&5
+
+ cf_save_CPPFLAGS="$CPPFLAGS"
+ cf_test_CPPFLAGS="$CPPFLAGS"
+@@ -4120,11 +3905,11 @@
+ if test -d $cf_cv_header_path_utf8 ; then
+ test -n "$verbose" && echo " ... testing $cf_cv_header_path_utf8" 1>&6
+
+-echo "${as_me:-configure}:4123: testing ... testing $cf_cv_header_path_utf8 ..." 1>&5
++echo "${as_me:-configure}:3908: testing ... testing $cf_cv_header_path_utf8 ..." 1>&5
+
+ CPPFLAGS="$cf_save_CPPFLAGS -I$cf_cv_header_path_utf8"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4127 "configure"
++#line 3912 "configure"
+ #include "confdefs.h"
+
+ #include <libutf8.h>
+@@ -4137,21 +3922,21 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:4140: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:3925: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:4143: \$? = $ac_status" >&5
++ echo "$as_me:3928: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:4146: \"$ac_try\"") >&5
++ { (eval echo "$as_me:3931: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4149: \$? = $ac_status" >&5
++ echo "$as_me:3934: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ test -n "$verbose" && echo " ... found utf8 headers in $cf_cv_header_path_utf8" 1>&6
+
+-echo "${as_me:-configure}:4154: testing ... found utf8 headers in $cf_cv_header_path_utf8 ..." 1>&5
++echo "${as_me:-configure}:3939: testing ... found utf8 headers in $cf_cv_header_path_utf8 ..." 1>&5
+
+ cf_cv_find_linkage_utf8=maybe
+ cf_test_CPPFLAGS="$CPPFLAGS"
+@@ -4169,7 +3954,7 @@
+
+ if test "$cf_cv_find_linkage_utf8" = maybe ; then
+
+-echo "${as_me:-configure}:4172: testing Searching for utf8 library in FIND_LINKAGE(utf8,) ..." 1>&5
++echo "${as_me:-configure}:3957: testing Searching for utf8 library in FIND_LINKAGE(utf8,) ..." 1>&5
+
+ cf_save_LIBS="$LIBS"
+ cf_save_LDFLAGS="$LDFLAGS"
+@@ -4266,13 +4051,13 @@
+ if test -d $cf_cv_library_path_utf8 ; then
+ test -n "$verbose" && echo " ... testing $cf_cv_library_path_utf8" 1>&6
+
+-echo "${as_me:-configure}:4269: testing ... testing $cf_cv_library_path_utf8 ..." 1>&5
++echo "${as_me:-configure}:4054: testing ... testing $cf_cv_library_path_utf8 ..." 1>&5
+
+ CPPFLAGS="$cf_test_CPPFLAGS"
+ LIBS="-lutf8 $cf_save_LIBS"
+ LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_utf8"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4275 "configure"
++#line 4060 "configure"
+ #include "confdefs.h"
+
+ #include <libutf8.h>
+@@ -4285,21 +4070,21 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:4288: \"$ac_link\"") >&5
++if { (eval echo "$as_me:4073: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:4291: \$? = $ac_status" >&5
++ echo "$as_me:4076: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:4294: \"$ac_try\"") >&5
++ { (eval echo "$as_me:4079: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4297: \$? = $ac_status" >&5
++ echo "$as_me:4082: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ test -n "$verbose" && echo " ... found utf8 library in $cf_cv_library_path_utf8" 1>&6
+
+-echo "${as_me:-configure}:4302: testing ... found utf8 library in $cf_cv_library_path_utf8 ..." 1>&5
++echo "${as_me:-configure}:4087: testing ... found utf8 library in $cf_cv_library_path_utf8 ..." 1>&5
+
+ cf_cv_find_linkage_utf8=yes
+ cf_cv_library_file_utf8="-lutf8"
+@@ -4341,13 +4126,14 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:4344: result: $cf_cv_utf8_lib" >&5
++echo "$as_me:4129: result: $cf_cv_utf8_lib" >&5
+ echo "${ECHO_T}$cf_cv_utf8_lib" >&6
+
+ # HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
+ # ncurses/ncursesw:
+ if test "$cf_cv_utf8_lib" = "add-on" ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_LIBUTF8_H 1
+ EOF
+
+@@ -4375,7 +4161,7 @@
+ cf_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4378 "configure"
++#line 4164 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -4387,16 +4173,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:4390: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:4176: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:4393: \$? = $ac_status" >&5
++ echo "$as_me:4179: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:4396: \"$ac_try\"") >&5
++ { (eval echo "$as_me:4182: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4399: \$? = $ac_status" >&5
++ echo "$as_me:4185: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -4413,7 +4199,7 @@
+ if test "$cf_have_incdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-echo "${as_me:-configure}:4416: testing adding $cf_add_incdir to include-path ..." 1>&5
++echo "${as_me:-configure}:4202: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+@@ -4447,7 +4233,7 @@
+ if test "$cf_have_libdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
+
+-echo "${as_me:-configure}:4450: testing adding $cf_add_libdir to library-path ..." 1>&5
++echo "${as_me:-configure}:4236: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+ LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+ fi
+@@ -4461,48 +4247,87 @@
+ cf_ncuconfig_root=ncursesw
+
+ echo "Looking for ${cf_ncuconfig_root}-config"
+-for ac_prog in ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config
++
++if test -n "$ac_tool_prefix"; then
++ for ac_prog in ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config
++ do
++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
++echo "$as_me:4256: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_NCURSES_CONFIG+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$NCURSES_CONFIG"; then
++ ac_cv_prog_NCURSES_CONFIG="$NCURSES_CONFIG" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_NCURSES_CONFIG="$ac_tool_prefix$ac_prog"
++echo "$as_me:4271: found $ac_dir/$ac_word" >&5
++break
++done
++
++fi
++fi
++NCURSES_CONFIG=$ac_cv_prog_NCURSES_CONFIG
++if test -n "$NCURSES_CONFIG"; then
++ echo "$as_me:4279: result: $NCURSES_CONFIG" >&5
++echo "${ECHO_T}$NCURSES_CONFIG" >&6
++else
++ echo "$as_me:4282: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++ test -n "$NCURSES_CONFIG" && break
++ done
++fi
++if test -z "$NCURSES_CONFIG"; then
++ ac_ct_NCURSES_CONFIG=$NCURSES_CONFIG
++ for ac_prog in ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+-echo "$as_me:4468: checking for $ac_word" >&5
++echo "$as_me:4295: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_path_NCURSES_CONFIG+set}" = set; then
++if test "${ac_cv_prog_ac_ct_NCURSES_CONFIG+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- case $NCURSES_CONFIG in
+- [\\/]* | ?:[\\/]*)
+- ac_cv_path_NCURSES_CONFIG="$NCURSES_CONFIG" # Let the user override the test with a path.
+- ;;
+- *)
++ if test -n "$ac_ct_NCURSES_CONFIG"; then
++ ac_cv_prog_ac_ct_NCURSES_CONFIG="$ac_ct_NCURSES_CONFIG" # Let the user override the test.
++else
+ ac_save_IFS=$IFS; IFS=$ac_path_separator
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ IFS=$ac_save_IFS
+ test -z "$ac_dir" && ac_dir=.
+- if $as_executable_p "$ac_dir/$ac_word"; then
+- ac_cv_path_NCURSES_CONFIG="$ac_dir/$ac_word"
+- echo "$as_me:4485: found $ac_dir/$ac_word" >&5
+- break
+-fi
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_ac_ct_NCURSES_CONFIG="$ac_prog"
++echo "$as_me:4310: found $ac_dir/$ac_word" >&5
++break
+ done
+
+- ;;
+-esac
+ fi
+-NCURSES_CONFIG=$ac_cv_path_NCURSES_CONFIG
+-
+-if test -n "$NCURSES_CONFIG"; then
+- echo "$as_me:4496: result: $NCURSES_CONFIG" >&5
+-echo "${ECHO_T}$NCURSES_CONFIG" >&6
++fi
++ac_ct_NCURSES_CONFIG=$ac_cv_prog_ac_ct_NCURSES_CONFIG
++if test -n "$ac_ct_NCURSES_CONFIG"; then
++ echo "$as_me:4318: result: $ac_ct_NCURSES_CONFIG" >&5
++echo "${ECHO_T}$ac_ct_NCURSES_CONFIG" >&6
+ else
+- echo "$as_me:4499: result: no" >&5
++ echo "$as_me:4321: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+- test -n "$NCURSES_CONFIG" && break
++ test -n "$ac_ct_NCURSES_CONFIG" && break
+ done
+-test -n "$NCURSES_CONFIG" || NCURSES_CONFIG="none"
++test -n "$ac_ct_NCURSES_CONFIG" || ac_ct_NCURSES_CONFIG="none"
++
++ NCURSES_CONFIG=$ac_ct_NCURSES_CONFIG
++fi
+
+ if test "$NCURSES_CONFIG" != none ; then
+
+@@ -4511,7 +4336,7 @@
+
+ # even with config script, some packages use no-override for curses.h
+
+-echo "$as_me:4514: checking if we have identified curses headers" >&5
++echo "$as_me:4339: checking if we have identified curses headers" >&5
+ echo $ECHO_N "checking if we have identified curses headers... $ECHO_C" >&6
+ if test "${cf_cv_ncurses_header+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -4519,13 +4344,13 @@
+
+ cf_cv_ncurses_header=none
+ for cf_header in \
+- ncursesw/curses.h \
+- ncursesw/ncurses.h \
+- curses.h \
+- ncurses.h
++ ncursesw/ncurses.h \
++ ncursesw/curses.h \
++ ncurses.h \
++ curses.h
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4528 "configure"
++#line 4353 "configure"
+ #include "confdefs.h"
+ #include <${cf_header}>
+ int
+@@ -4537,16 +4362,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:4540: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:4365: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:4543: \$? = $ac_status" >&5
++ echo "$as_me:4368: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:4546: \"$ac_try\"") >&5
++ { (eval echo "$as_me:4371: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4549: \$? = $ac_status" >&5
++ echo "$as_me:4374: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_ncurses_header=$cf_header; break
+ else
+@@ -4557,11 +4382,11 @@
+ done
+
+ fi
+-echo "$as_me:4560: result: $cf_cv_ncurses_header" >&5
++echo "$as_me:4385: result: $cf_cv_ncurses_header" >&5
+ echo "${ECHO_T}$cf_cv_ncurses_header" >&6
+
+ if test "$cf_cv_ncurses_header" = none ; then
+- { { echo "$as_me:4564: error: No curses header-files found" >&5
++ { { echo "$as_me:4389: error: No curses header-files found" >&5
+ echo "$as_me: error: No curses header-files found" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -4571,23 +4396,23 @@
+ for ac_header in $cf_cv_ncurses_header
+ do
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:4574: checking for $ac_header" >&5
++echo "$as_me:4399: checking for $ac_header" >&5
+ echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4580 "configure"
++#line 4405 "configure"
+ #include "confdefs.h"
+ #include <$ac_header>
+ _ACEOF
+-if { (eval echo "$as_me:4584: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:4409: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:4590: \$? = $ac_status" >&5
++ echo "$as_me:4415: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -4606,7 +4431,7 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:4609: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "$as_me:4434: result: `eval echo '${'$as_ac_Header'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -4659,7 +4484,7 @@
+ cf_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4662 "configure"
++#line 4487 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -4671,16 +4496,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:4674: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:4499: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:4677: \$? = $ac_status" >&5
++ echo "$as_me:4502: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:4680: \"$ac_try\"") >&5
++ { (eval echo "$as_me:4505: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4683: \$? = $ac_status" >&5
++ echo "$as_me:4508: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -4697,7 +4522,7 @@
+ if test "$cf_have_incdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-echo "${as_me:-configure}:4700: testing adding $cf_add_incdir to include-path ..." 1>&5
++echo "${as_me:-configure}:4525: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+@@ -4714,7 +4539,7 @@
+
+ }
+
+-echo "$as_me:4717: checking for $cf_ncuhdr_root header in include-path" >&5
++echo "$as_me:4542: checking for $cf_ncuhdr_root header in include-path" >&5
+ echo $ECHO_N "checking for $cf_ncuhdr_root header in include-path... $ECHO_C" >&6
+ if test "${cf_cv_ncurses_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -4726,7 +4551,7 @@
+ do
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4729 "configure"
++#line 4554 "configure"
+ #include "confdefs.h"
+
+ #define _XOPEN_SOURCE_EXTENDED
+@@ -4758,16 +4583,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:4761: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:4586: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:4764: \$? = $ac_status" >&5
++ echo "$as_me:4589: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:4767: \"$ac_try\"") >&5
++ { (eval echo "$as_me:4592: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4770: \$? = $ac_status" >&5
++ echo "$as_me:4595: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_ncurses_h=$cf_header
+
+@@ -4782,14 +4607,14 @@
+ done
+
+ fi
+-echo "$as_me:4785: result: $cf_cv_ncurses_h" >&5
++echo "$as_me:4610: result: $cf_cv_ncurses_h" >&5
+ echo "${ECHO_T}$cf_cv_ncurses_h" >&6
+
+ if test "$cf_cv_ncurses_h" != no ; then
+ cf_cv_ncurses_header=$cf_cv_ncurses_h
+ else
+
+-echo "$as_me:4792: checking for $cf_ncuhdr_root include-path" >&5
++echo "$as_me:4617: checking for $cf_ncuhdr_root include-path" >&5
+ echo $ECHO_N "checking for $cf_ncuhdr_root include-path... $ECHO_C" >&6
+ if test "${cf_cv_ncurses_h2+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -4929,7 +4754,7 @@
+ cf_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4932 "configure"
++#line 4757 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -4941,16 +4766,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:4944: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:4769: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:4947: \$? = $ac_status" >&5
++ echo "$as_me:4772: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:4950: \"$ac_try\"") >&5
++ { (eval echo "$as_me:4775: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4953: \$? = $ac_status" >&5
++ echo "$as_me:4778: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -4967,7 +4792,7 @@
+ if test "$cf_have_incdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-echo "${as_me:-configure}:4970: testing adding $cf_add_incdir to include-path ..." 1>&5
++echo "${as_me:-configure}:4795: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+@@ -4988,7 +4813,7 @@
+ do
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4991 "configure"
++#line 4816 "configure"
+ #include "confdefs.h"
+
+ #include <$cf_header>
+@@ -5012,16 +4837,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:5015: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:4840: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5018: \$? = $ac_status" >&5
++ echo "$as_me:4843: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:5021: \"$ac_try\"") >&5
++ { (eval echo "$as_me:4846: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5024: \$? = $ac_status" >&5
++ echo "$as_me:4849: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_ncurses_h2=$cf_header
+
+@@ -5042,12 +4867,12 @@
+ CPPFLAGS="$cf_save2_CPPFLAGS"
+ test "$cf_cv_ncurses_h2" != no && break
+ done
+- test "$cf_cv_ncurses_h2" = no && { { echo "$as_me:5045: error: not found" >&5
++ test "$cf_cv_ncurses_h2" = no && { { echo "$as_me:4870: error: not found" >&5
+ echo "$as_me: error: not found" >&2;}
+ { (exit 1); exit 1; }; }
+
+ fi
+-echo "$as_me:5050: result: $cf_cv_ncurses_h2" >&5
++echo "$as_me:4875: result: $cf_cv_ncurses_h2" >&5
+ echo "${ECHO_T}$cf_cv_ncurses_h2" >&6
+
+ cf_1st_incdir=`echo $cf_cv_ncurses_h2 | sed -e 's%/[^/]*$%%'`
+@@ -5080,7 +4905,7 @@
+ cf_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5083 "configure"
++#line 4908 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -5092,16 +4917,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:5095: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:4920: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5098: \$? = $ac_status" >&5
++ echo "$as_me:4923: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:5101: \"$ac_try\"") >&5
++ { (eval echo "$as_me:4926: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5104: \$? = $ac_status" >&5
++ echo "$as_me:4929: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -5118,7 +4943,7 @@
+ if test "$cf_have_incdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-echo "${as_me:-configure}:5121: testing adding $cf_add_incdir to include-path ..." 1>&5
++echo "${as_me:-configure}:4946: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+@@ -5139,7 +4964,8 @@
+
+ case $cf_cv_ncurses_header in # (vi
+ *ncurses.h)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_NCURSES_H 1
+ EOF
+
+@@ -5148,20 +4974,22 @@
+
+ case $cf_cv_ncurses_header in # (vi
+ ncurses/curses.h|ncurses/ncurses.h)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_NCURSES_NCURSES_H 1
+ EOF
+
+ ;;
+ ncursesw/curses.h|ncursesw/ncurses.h)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_NCURSESW_NCURSES_H 1
+ EOF
+
+ ;;
+ esac
+
+-echo "$as_me:5164: checking for terminfo header" >&5
++echo "$as_me:4992: checking for terminfo header" >&5
+ echo $ECHO_N "checking for terminfo header... $ECHO_C" >&6
+ if test "${cf_cv_term_header+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -5179,7 +5007,7 @@
+ for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h"
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5182 "configure"
++#line 5010 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ #include <${cf_cv_ncurses_header:-curses.h}>
+@@ -5194,16 +5022,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:5197: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:5025: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5200: \$? = $ac_status" >&5
++ echo "$as_me:5028: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:5203: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5031: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5206: \$? = $ac_status" >&5
++ echo "$as_me:5034: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_term_header="$cf_test"
+@@ -5219,14 +5047,15 @@
+ done
+
+ fi
+-echo "$as_me:5222: result: $cf_cv_term_header" >&5
++echo "$as_me:5050: result: $cf_cv_term_header" >&5
+ echo "${ECHO_T}$cf_cv_term_header" >&6
+
+ # Set definitions to allow ifdef'ing to accommodate subdirectories
+
+ case $cf_cv_term_header in # (vi
+ *term.h)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_TERM_H 1
+ EOF
+
+@@ -5235,13 +5064,15 @@
+
+ case $cf_cv_term_header in # (vi
+ ncurses/term.h) #(vi
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_NCURSES_TERM_H 1
+ EOF
+
+ ;;
+ ncursesw/term.h)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_NCURSESW_TERM_H 1
+ EOF
+
+@@ -5249,11 +5080,12 @@
+ esac
+
+ # some applications need this, but should check for NCURSES_VERSION
++
+ cat >>confdefs.h <<\EOF
+ #define NCURSES 1
+ EOF
+
+-echo "$as_me:5256: checking for ncurses version" >&5
++echo "$as_me:5088: checking for ncurses version" >&5
+ echo $ECHO_N "checking for ncurses version... $ECHO_C" >&6
+ if test "${cf_cv_ncurses_version+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -5279,10 +5111,10 @@
+ #endif
+ EOF
+ cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
+- { (eval echo "$as_me:5282: \"$cf_try\"") >&5
++ { (eval echo "$as_me:5114: \"$cf_try\"") >&5
+ (eval $cf_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5285: \$? = $ac_status" >&5
++ echo "$as_me:5117: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ if test -f conftest.out ; then
+ cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'`
+@@ -5292,7 +5124,7 @@
+
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5295 "configure"
++#line 5127 "configure"
+ #include "confdefs.h"
+
+ #include <${cf_cv_ncurses_header:-curses.h}>
+@@ -5317,15 +5149,15 @@
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:5320: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5152: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5323: \$? = $ac_status" >&5
++ echo "$as_me:5155: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:5325: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5157: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5328: \$? = $ac_status" >&5
++ echo "$as_me:5160: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_ncurses_version=`cat $cf_tempfile`
+@@ -5339,9 +5171,10 @@
+ rm -f $cf_tempfile
+
+ fi
+-echo "$as_me:5342: result: $cf_cv_ncurses_version" >&5
++echo "$as_me:5174: result: $cf_cv_ncurses_version" >&5
+ echo "${ECHO_T}$cf_cv_ncurses_version" >&6
+-test "$cf_cv_ncurses_version" = no || cat >>confdefs.h <<\EOF
++test "$cf_cv_ncurses_version" = no ||
++cat >>confdefs.h <<\EOF
+ #define NCURSES 1
+ EOF
+
+@@ -5351,7 +5184,7 @@
+ # to link gpm.
+ cf_ncurses_LIBS=""
+ cf_ncurses_SAVE="$LIBS"
+-echo "$as_me:5354: checking for Gpm_Open in -lgpm" >&5
++echo "$as_me:5187: checking for Gpm_Open in -lgpm" >&5
+ echo $ECHO_N "checking for Gpm_Open in -lgpm... $ECHO_C" >&6
+ if test "${ac_cv_lib_gpm_Gpm_Open+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -5359,7 +5192,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lgpm $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5362 "configure"
++#line 5195 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -5378,16 +5211,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5381: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5214: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5384: \$? = $ac_status" >&5
++ echo "$as_me:5217: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5387: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5220: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5390: \$? = $ac_status" >&5
++ echo "$as_me:5223: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_gpm_Gpm_Open=yes
+ else
+@@ -5398,10 +5231,10 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:5401: result: $ac_cv_lib_gpm_Gpm_Open" >&5
++echo "$as_me:5234: result: $ac_cv_lib_gpm_Gpm_Open" >&5
+ echo "${ECHO_T}$ac_cv_lib_gpm_Gpm_Open" >&6
+ if test $ac_cv_lib_gpm_Gpm_Open = yes; then
+- echo "$as_me:5404: checking for initscr in -lgpm" >&5
++ echo "$as_me:5237: checking for initscr in -lgpm" >&5
+ echo $ECHO_N "checking for initscr in -lgpm... $ECHO_C" >&6
+ if test "${ac_cv_lib_gpm_initscr+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -5409,7 +5242,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lgpm $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5412 "configure"
++#line 5245 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -5428,16 +5261,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5431: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5264: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5434: \$? = $ac_status" >&5
++ echo "$as_me:5267: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5437: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5270: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5440: \$? = $ac_status" >&5
++ echo "$as_me:5273: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_gpm_initscr=yes
+ else
+@@ -5448,7 +5281,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:5451: result: $ac_cv_lib_gpm_initscr" >&5
++echo "$as_me:5284: result: $ac_cv_lib_gpm_initscr" >&5
+ echo "${ECHO_T}$ac_cv_lib_gpm_initscr" >&6
+ if test $ac_cv_lib_gpm_initscr = yes; then
+ LIBS="$cf_ncurses_SAVE"
+@@ -5463,7 +5296,7 @@
+ # This is only necessary if you are linking against an obsolete
+ # version of ncurses (but it should do no harm, since it's static).
+ if test "$cf_nculib_root" = ncurses ; then
+- echo "$as_me:5466: checking for tgoto in -lmytinfo" >&5
++ echo "$as_me:5299: checking for tgoto in -lmytinfo" >&5
+ echo $ECHO_N "checking for tgoto in -lmytinfo... $ECHO_C" >&6
+ if test "${ac_cv_lib_mytinfo_tgoto+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -5471,7 +5304,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lmytinfo $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5474 "configure"
++#line 5307 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -5490,16 +5323,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5493: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5326: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5496: \$? = $ac_status" >&5
++ echo "$as_me:5329: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5499: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5332: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5502: \$? = $ac_status" >&5
++ echo "$as_me:5335: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_mytinfo_tgoto=yes
+ else
+@@ -5510,7 +5343,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:5513: result: $ac_cv_lib_mytinfo_tgoto" >&5
++echo "$as_me:5346: result: $ac_cv_lib_mytinfo_tgoto" >&5
+ echo "${ECHO_T}$ac_cv_lib_mytinfo_tgoto" >&6
+ if test $ac_cv_lib_mytinfo_tgoto = yes; then
+ cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"
+@@ -5529,13 +5362,13 @@
+
+ eval 'cf_cv_have_lib_'$cf_nculib_root'=no'
+ cf_libdir=""
+- echo "$as_me:5532: checking for initscr" >&5
++ echo "$as_me:5365: checking for initscr" >&5
+ echo $ECHO_N "checking for initscr... $ECHO_C" >&6
+ if test "${ac_cv_func_initscr+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5538 "configure"
++#line 5371 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char initscr (); below. */
+@@ -5558,7 +5391,7 @@
+ #if defined (__stub_initscr) || defined (__stub___initscr)
+ choke me
+ #else
+-f = initscr;
++f = initscr; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -5566,16 +5399,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5569: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5402: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5572: \$? = $ac_status" >&5
++ echo "$as_me:5405: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5575: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5408: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5578: \$? = $ac_status" >&5
++ echo "$as_me:5411: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_initscr=yes
+ else
+@@ -5585,18 +5418,18 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:5588: result: $ac_cv_func_initscr" >&5
++echo "$as_me:5421: result: $ac_cv_func_initscr" >&5
+ echo "${ECHO_T}$ac_cv_func_initscr" >&6
+ if test $ac_cv_func_initscr = yes; then
+ eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
+ else
+
+ cf_save_LIBS="$LIBS"
+- echo "$as_me:5595: checking for initscr in -l$cf_nculib_root" >&5
++ echo "$as_me:5428: checking for initscr in -l$cf_nculib_root" >&5
+ echo $ECHO_N "checking for initscr in -l$cf_nculib_root... $ECHO_C" >&6
+ LIBS="-l$cf_nculib_root $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5599 "configure"
++#line 5432 "configure"
+ #include "confdefs.h"
+ #include <${cf_cv_ncurses_header:-curses.h}>
+ int
+@@ -5608,25 +5441,25 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5611: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5444: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5614: \$? = $ac_status" >&5
++ echo "$as_me:5447: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5617: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5450: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5620: \$? = $ac_status" >&5
++ echo "$as_me:5453: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- echo "$as_me:5622: result: yes" >&5
++ echo "$as_me:5455: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
+
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-echo "$as_me:5629: result: no" >&5
++echo "$as_me:5462: result: no" >&5
+ echo "${ECHO_T}no" >&6
+
+ cf_search=
+@@ -5716,11 +5549,11 @@
+
+ for cf_libdir in $cf_search
+ do
+- echo "$as_me:5719: checking for -l$cf_nculib_root in $cf_libdir" >&5
++ echo "$as_me:5552: checking for -l$cf_nculib_root in $cf_libdir" >&5
+ echo $ECHO_N "checking for -l$cf_nculib_root in $cf_libdir... $ECHO_C" >&6
+ LIBS="-L$cf_libdir -l$cf_nculib_root $cf_save_LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5723 "configure"
++#line 5556 "configure"
+ #include "confdefs.h"
+ #include <${cf_cv_ncurses_header:-curses.h}>
+ int
+@@ -5732,25 +5565,25 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5735: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5568: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5738: \$? = $ac_status" >&5
++ echo "$as_me:5571: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5741: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5574: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5744: \$? = $ac_status" >&5
++ echo "$as_me:5577: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- echo "$as_me:5746: result: yes" >&5
++ echo "$as_me:5579: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
+ break
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-echo "$as_me:5753: result: no" >&5
++echo "$as_me:5586: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ LIBS="$cf_save_LIBS"
+ fi
+@@ -5765,7 +5598,7 @@
+ eval 'cf_found_library=$cf_cv_have_lib_'$cf_nculib_root
+
+ if test $cf_found_library = no ; then
+- { { echo "$as_me:5768: error: Cannot link $cf_nculib_root library" >&5
++ { { echo "$as_me:5601: error: Cannot link $cf_nculib_root library" >&5
+ echo "$as_me: error: Cannot link $cf_nculib_root library" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -5773,7 +5606,7 @@
+ fi
+
+ if test -n "$cf_ncurses_LIBS" ; then
+- echo "$as_me:5776: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5
++ echo "$as_me:5609: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5
+ echo $ECHO_N "checking if we can link $cf_nculib_root without $cf_ncurses_LIBS... $ECHO_C" >&6
+ cf_ncurses_SAVE="$LIBS"
+ for p in $cf_ncurses_LIBS ; do
+@@ -5783,7 +5616,7 @@
+ fi
+ done
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5786 "configure"
++#line 5619 "configure"
+ #include "confdefs.h"
+ #include <${cf_cv_ncurses_header:-curses.h}>
+ int
+@@ -5795,23 +5628,23 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5798: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5631: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5801: \$? = $ac_status" >&5
++ echo "$as_me:5634: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5804: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5637: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5807: \$? = $ac_status" >&5
++ echo "$as_me:5640: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- echo "$as_me:5809: result: yes" >&5
++ echo "$as_me:5642: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-echo "$as_me:5814: result: no" >&5
++echo "$as_me:5647: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ LIBS="$cf_ncurses_SAVE"
+ fi
+@@ -5831,48 +5664,87 @@
+ cf_ncuconfig_root=ncurses
+
+ echo "Looking for ${cf_ncuconfig_root}-config"
+-for ac_prog in ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config
++
++if test -n "$ac_tool_prefix"; then
++ for ac_prog in ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config
++ do
++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
++echo "$as_me:5673: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_NCURSES_CONFIG+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$NCURSES_CONFIG"; then
++ ac_cv_prog_NCURSES_CONFIG="$NCURSES_CONFIG" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_NCURSES_CONFIG="$ac_tool_prefix$ac_prog"
++echo "$as_me:5688: found $ac_dir/$ac_word" >&5
++break
++done
++
++fi
++fi
++NCURSES_CONFIG=$ac_cv_prog_NCURSES_CONFIG
++if test -n "$NCURSES_CONFIG"; then
++ echo "$as_me:5696: result: $NCURSES_CONFIG" >&5
++echo "${ECHO_T}$NCURSES_CONFIG" >&6
++else
++ echo "$as_me:5699: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++ test -n "$NCURSES_CONFIG" && break
++ done
++fi
++if test -z "$NCURSES_CONFIG"; then
++ ac_ct_NCURSES_CONFIG=$NCURSES_CONFIG
++ for ac_prog in ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+-echo "$as_me:5838: checking for $ac_word" >&5
++echo "$as_me:5712: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_path_NCURSES_CONFIG+set}" = set; then
++if test "${ac_cv_prog_ac_ct_NCURSES_CONFIG+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- case $NCURSES_CONFIG in
+- [\\/]* | ?:[\\/]*)
+- ac_cv_path_NCURSES_CONFIG="$NCURSES_CONFIG" # Let the user override the test with a path.
+- ;;
+- *)
++ if test -n "$ac_ct_NCURSES_CONFIG"; then
++ ac_cv_prog_ac_ct_NCURSES_CONFIG="$ac_ct_NCURSES_CONFIG" # Let the user override the test.
++else
+ ac_save_IFS=$IFS; IFS=$ac_path_separator
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ IFS=$ac_save_IFS
+ test -z "$ac_dir" && ac_dir=.
+- if $as_executable_p "$ac_dir/$ac_word"; then
+- ac_cv_path_NCURSES_CONFIG="$ac_dir/$ac_word"
+- echo "$as_me:5855: found $ac_dir/$ac_word" >&5
+- break
+-fi
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_ac_ct_NCURSES_CONFIG="$ac_prog"
++echo "$as_me:5727: found $ac_dir/$ac_word" >&5
++break
+ done
+
+- ;;
+-esac
+ fi
+-NCURSES_CONFIG=$ac_cv_path_NCURSES_CONFIG
+-
+-if test -n "$NCURSES_CONFIG"; then
+- echo "$as_me:5866: result: $NCURSES_CONFIG" >&5
+-echo "${ECHO_T}$NCURSES_CONFIG" >&6
++fi
++ac_ct_NCURSES_CONFIG=$ac_cv_prog_ac_ct_NCURSES_CONFIG
++if test -n "$ac_ct_NCURSES_CONFIG"; then
++ echo "$as_me:5735: result: $ac_ct_NCURSES_CONFIG" >&5
++echo "${ECHO_T}$ac_ct_NCURSES_CONFIG" >&6
+ else
+- echo "$as_me:5869: result: no" >&5
++ echo "$as_me:5738: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+- test -n "$NCURSES_CONFIG" && break
++ test -n "$ac_ct_NCURSES_CONFIG" && break
+ done
+-test -n "$NCURSES_CONFIG" || NCURSES_CONFIG="none"
++test -n "$ac_ct_NCURSES_CONFIG" || ac_ct_NCURSES_CONFIG="none"
++
++ NCURSES_CONFIG=$ac_ct_NCURSES_CONFIG
++fi
+
+ if test "$NCURSES_CONFIG" != none ; then
+
+@@ -5881,7 +5753,7 @@
+
+ # even with config script, some packages use no-override for curses.h
+
+-echo "$as_me:5884: checking if we have identified curses headers" >&5
++echo "$as_me:5756: checking if we have identified curses headers" >&5
+ echo $ECHO_N "checking if we have identified curses headers... $ECHO_C" >&6
+ if test "${cf_cv_ncurses_header+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -5889,13 +5761,13 @@
+
+ cf_cv_ncurses_header=none
+ for cf_header in \
+- ncurses/curses.h \
+- ncurses/ncurses.h \
+- curses.h \
+- ncurses.h
++ ncurses/ncurses.h \
++ ncurses/curses.h \
++ ncurses.h \
++ curses.h
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5898 "configure"
++#line 5770 "configure"
+ #include "confdefs.h"
+ #include <${cf_header}>
+ int
+@@ -5907,16 +5779,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:5910: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:5782: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5913: \$? = $ac_status" >&5
++ echo "$as_me:5785: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:5916: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5788: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5919: \$? = $ac_status" >&5
++ echo "$as_me:5791: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_ncurses_header=$cf_header; break
+ else
+@@ -5927,11 +5799,11 @@
+ done
+
+ fi
+-echo "$as_me:5930: result: $cf_cv_ncurses_header" >&5
++echo "$as_me:5802: result: $cf_cv_ncurses_header" >&5
+ echo "${ECHO_T}$cf_cv_ncurses_header" >&6
+
+ if test "$cf_cv_ncurses_header" = none ; then
+- { { echo "$as_me:5934: error: No curses header-files found" >&5
++ { { echo "$as_me:5806: error: No curses header-files found" >&5
+ echo "$as_me: error: No curses header-files found" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -5941,23 +5813,23 @@
+ for ac_header in $cf_cv_ncurses_header
+ do
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:5944: checking for $ac_header" >&5
++echo "$as_me:5816: checking for $ac_header" >&5
+ echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5950 "configure"
++#line 5822 "configure"
+ #include "confdefs.h"
+ #include <$ac_header>
+ _ACEOF
+-if { (eval echo "$as_me:5954: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:5826: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:5960: \$? = $ac_status" >&5
++ echo "$as_me:5832: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -5976,7 +5848,7 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:5979: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "$as_me:5851: result: `eval echo '${'$as_ac_Header'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -6029,7 +5901,7 @@
+ cf_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6032 "configure"
++#line 5904 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -6041,16 +5913,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:6044: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:5916: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:6047: \$? = $ac_status" >&5
++ echo "$as_me:5919: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:6050: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5922: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6053: \$? = $ac_status" >&5
++ echo "$as_me:5925: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -6067,7 +5939,7 @@
+ if test "$cf_have_incdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-echo "${as_me:-configure}:6070: testing adding $cf_add_incdir to include-path ..." 1>&5
++echo "${as_me:-configure}:5942: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+@@ -6084,7 +5956,7 @@
+
+ }
+
+-echo "$as_me:6087: checking for $cf_ncuhdr_root header in include-path" >&5
++echo "$as_me:5959: checking for $cf_ncuhdr_root header in include-path" >&5
+ echo $ECHO_N "checking for $cf_ncuhdr_root header in include-path... $ECHO_C" >&6
+ if test "${cf_cv_ncurses_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -6096,7 +5968,7 @@
+ do
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6099 "configure"
++#line 5971 "configure"
+ #include "confdefs.h"
+
+ #include <$cf_header>
+@@ -6120,16 +5992,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:6123: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:5995: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:6126: \$? = $ac_status" >&5
++ echo "$as_me:5998: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:6129: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6001: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6132: \$? = $ac_status" >&5
++ echo "$as_me:6004: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_ncurses_h=$cf_header
+
+@@ -6144,14 +6016,14 @@
+ done
+
+ fi
+-echo "$as_me:6147: result: $cf_cv_ncurses_h" >&5
++echo "$as_me:6019: result: $cf_cv_ncurses_h" >&5
+ echo "${ECHO_T}$cf_cv_ncurses_h" >&6
+
+ if test "$cf_cv_ncurses_h" != no ; then
+ cf_cv_ncurses_header=$cf_cv_ncurses_h
+ else
+
+-echo "$as_me:6154: checking for $cf_ncuhdr_root include-path" >&5
++echo "$as_me:6026: checking for $cf_ncuhdr_root include-path" >&5
+ echo $ECHO_N "checking for $cf_ncuhdr_root include-path... $ECHO_C" >&6
+ if test "${cf_cv_ncurses_h2+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -6291,7 +6163,7 @@
+ cf_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6294 "configure"
++#line 6166 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -6303,16 +6175,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:6306: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:6178: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:6309: \$? = $ac_status" >&5
++ echo "$as_me:6181: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:6312: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6184: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6315: \$? = $ac_status" >&5
++ echo "$as_me:6187: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -6329,7 +6201,7 @@
+ if test "$cf_have_incdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-echo "${as_me:-configure}:6332: testing adding $cf_add_incdir to include-path ..." 1>&5
++echo "${as_me:-configure}:6204: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+@@ -6350,7 +6222,7 @@
+ do
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6353 "configure"
++#line 6225 "configure"
+ #include "confdefs.h"
+
+ #include <$cf_header>
+@@ -6374,16 +6246,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:6377: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:6249: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:6380: \$? = $ac_status" >&5
++ echo "$as_me:6252: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:6383: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6255: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6386: \$? = $ac_status" >&5
++ echo "$as_me:6258: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_ncurses_h2=$cf_header
+
+@@ -6404,12 +6276,12 @@
+ CPPFLAGS="$cf_save2_CPPFLAGS"
+ test "$cf_cv_ncurses_h2" != no && break
+ done
+- test "$cf_cv_ncurses_h2" = no && { { echo "$as_me:6407: error: not found" >&5
++ test "$cf_cv_ncurses_h2" = no && { { echo "$as_me:6279: error: not found" >&5
+ echo "$as_me: error: not found" >&2;}
+ { (exit 1); exit 1; }; }
+
+ fi
+-echo "$as_me:6412: result: $cf_cv_ncurses_h2" >&5
++echo "$as_me:6284: result: $cf_cv_ncurses_h2" >&5
+ echo "${ECHO_T}$cf_cv_ncurses_h2" >&6
+
+ cf_1st_incdir=`echo $cf_cv_ncurses_h2 | sed -e 's%/[^/]*$%%'`
+@@ -6442,7 +6314,7 @@
+ cf_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6445 "configure"
++#line 6317 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -6454,16 +6326,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:6457: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:6329: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:6460: \$? = $ac_status" >&5
++ echo "$as_me:6332: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:6463: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6335: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6466: \$? = $ac_status" >&5
++ echo "$as_me:6338: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -6480,7 +6352,7 @@
+ if test "$cf_have_incdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-echo "${as_me:-configure}:6483: testing adding $cf_add_incdir to include-path ..." 1>&5
++echo "${as_me:-configure}:6355: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+@@ -6501,7 +6373,8 @@
+
+ case $cf_cv_ncurses_header in # (vi
+ *ncurses.h)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_NCURSES_H 1
+ EOF
+
+@@ -6510,20 +6383,22 @@
+
+ case $cf_cv_ncurses_header in # (vi
+ ncurses/curses.h|ncurses/ncurses.h)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_NCURSES_NCURSES_H 1
+ EOF
+
+ ;;
+ ncursesw/curses.h|ncursesw/ncurses.h)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_NCURSESW_NCURSES_H 1
+ EOF
+
+ ;;
+ esac
+
+-echo "$as_me:6526: checking for terminfo header" >&5
++echo "$as_me:6401: checking for terminfo header" >&5
+ echo $ECHO_N "checking for terminfo header... $ECHO_C" >&6
+ if test "${cf_cv_term_header+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -6541,7 +6416,7 @@
+ for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h"
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6544 "configure"
++#line 6419 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ #include <${cf_cv_ncurses_header:-curses.h}>
+@@ -6556,16 +6431,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:6559: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:6434: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:6562: \$? = $ac_status" >&5
++ echo "$as_me:6437: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:6565: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6440: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6568: \$? = $ac_status" >&5
++ echo "$as_me:6443: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_term_header="$cf_test"
+@@ -6581,14 +6456,15 @@
+ done
+
+ fi
+-echo "$as_me:6584: result: $cf_cv_term_header" >&5
++echo "$as_me:6459: result: $cf_cv_term_header" >&5
+ echo "${ECHO_T}$cf_cv_term_header" >&6
+
+ # Set definitions to allow ifdef'ing to accommodate subdirectories
+
+ case $cf_cv_term_header in # (vi
+ *term.h)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_TERM_H 1
+ EOF
+
+@@ -6597,13 +6473,15 @@
+
+ case $cf_cv_term_header in # (vi
+ ncurses/term.h) #(vi
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_NCURSES_TERM_H 1
+ EOF
+
+ ;;
+ ncursesw/term.h)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_NCURSESW_TERM_H 1
+ EOF
+
+@@ -6611,11 +6489,12 @@
+ esac
+
+ # some applications need this, but should check for NCURSES_VERSION
++
+ cat >>confdefs.h <<\EOF
+ #define NCURSES 1
+ EOF
+
+-echo "$as_me:6618: checking for ncurses version" >&5
++echo "$as_me:6497: checking for ncurses version" >&5
+ echo $ECHO_N "checking for ncurses version... $ECHO_C" >&6
+ if test "${cf_cv_ncurses_version+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -6641,10 +6520,10 @@
+ #endif
+ EOF
+ cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
+- { (eval echo "$as_me:6644: \"$cf_try\"") >&5
++ { (eval echo "$as_me:6523: \"$cf_try\"") >&5
+ (eval $cf_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6647: \$? = $ac_status" >&5
++ echo "$as_me:6526: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ if test -f conftest.out ; then
+ cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'`
+@@ -6654,7 +6533,7 @@
+
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6657 "configure"
++#line 6536 "configure"
+ #include "confdefs.h"
+
+ #include <${cf_cv_ncurses_header:-curses.h}>
+@@ -6679,15 +6558,15 @@
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:6682: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6561: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6685: \$? = $ac_status" >&5
++ echo "$as_me:6564: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:6687: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6566: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6690: \$? = $ac_status" >&5
++ echo "$as_me:6569: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_ncurses_version=`cat $cf_tempfile`
+@@ -6701,9 +6580,10 @@
+ rm -f $cf_tempfile
+
+ fi
+-echo "$as_me:6704: result: $cf_cv_ncurses_version" >&5
++echo "$as_me:6583: result: $cf_cv_ncurses_version" >&5
+ echo "${ECHO_T}$cf_cv_ncurses_version" >&6
+-test "$cf_cv_ncurses_version" = no || cat >>confdefs.h <<\EOF
++test "$cf_cv_ncurses_version" = no ||
++cat >>confdefs.h <<\EOF
+ #define NCURSES 1
+ EOF
+
+@@ -6713,7 +6593,7 @@
+ # to link gpm.
+ cf_ncurses_LIBS=""
+ cf_ncurses_SAVE="$LIBS"
+-echo "$as_me:6716: checking for Gpm_Open in -lgpm" >&5
++echo "$as_me:6596: checking for Gpm_Open in -lgpm" >&5
+ echo $ECHO_N "checking for Gpm_Open in -lgpm... $ECHO_C" >&6
+ if test "${ac_cv_lib_gpm_Gpm_Open+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -6721,7 +6601,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lgpm $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6724 "configure"
++#line 6604 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -6740,16 +6620,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6743: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6623: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6746: \$? = $ac_status" >&5
++ echo "$as_me:6626: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6749: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6629: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6752: \$? = $ac_status" >&5
++ echo "$as_me:6632: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_gpm_Gpm_Open=yes
+ else
+@@ -6760,10 +6640,10 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:6763: result: $ac_cv_lib_gpm_Gpm_Open" >&5
++echo "$as_me:6643: result: $ac_cv_lib_gpm_Gpm_Open" >&5
+ echo "${ECHO_T}$ac_cv_lib_gpm_Gpm_Open" >&6
+ if test $ac_cv_lib_gpm_Gpm_Open = yes; then
+- echo "$as_me:6766: checking for initscr in -lgpm" >&5
++ echo "$as_me:6646: checking for initscr in -lgpm" >&5
+ echo $ECHO_N "checking for initscr in -lgpm... $ECHO_C" >&6
+ if test "${ac_cv_lib_gpm_initscr+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -6771,7 +6651,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lgpm $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6774 "configure"
++#line 6654 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -6790,16 +6670,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6793: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6673: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6796: \$? = $ac_status" >&5
++ echo "$as_me:6676: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6799: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6679: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6802: \$? = $ac_status" >&5
++ echo "$as_me:6682: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_gpm_initscr=yes
+ else
+@@ -6810,7 +6690,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:6813: result: $ac_cv_lib_gpm_initscr" >&5
++echo "$as_me:6693: result: $ac_cv_lib_gpm_initscr" >&5
+ echo "${ECHO_T}$ac_cv_lib_gpm_initscr" >&6
+ if test $ac_cv_lib_gpm_initscr = yes; then
+ LIBS="$cf_ncurses_SAVE"
+@@ -6825,7 +6705,7 @@
+ # This is only necessary if you are linking against an obsolete
+ # version of ncurses (but it should do no harm, since it's static).
+ if test "$cf_nculib_root" = ncurses ; then
+- echo "$as_me:6828: checking for tgoto in -lmytinfo" >&5
++ echo "$as_me:6708: checking for tgoto in -lmytinfo" >&5
+ echo $ECHO_N "checking for tgoto in -lmytinfo... $ECHO_C" >&6
+ if test "${ac_cv_lib_mytinfo_tgoto+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -6833,7 +6713,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lmytinfo $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6836 "configure"
++#line 6716 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -6852,16 +6732,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6855: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6735: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6858: \$? = $ac_status" >&5
++ echo "$as_me:6738: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6861: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6741: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6864: \$? = $ac_status" >&5
++ echo "$as_me:6744: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_mytinfo_tgoto=yes
+ else
+@@ -6872,7 +6752,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:6875: result: $ac_cv_lib_mytinfo_tgoto" >&5
++echo "$as_me:6755: result: $ac_cv_lib_mytinfo_tgoto" >&5
+ echo "${ECHO_T}$ac_cv_lib_mytinfo_tgoto" >&6
+ if test $ac_cv_lib_mytinfo_tgoto = yes; then
+ cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"
+@@ -6891,13 +6771,13 @@
+
+ eval 'cf_cv_have_lib_'$cf_nculib_root'=no'
+ cf_libdir=""
+- echo "$as_me:6894: checking for initscr" >&5
++ echo "$as_me:6774: checking for initscr" >&5
+ echo $ECHO_N "checking for initscr... $ECHO_C" >&6
+ if test "${ac_cv_func_initscr+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6900 "configure"
++#line 6780 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char initscr (); below. */
+@@ -6920,7 +6800,7 @@
+ #if defined (__stub_initscr) || defined (__stub___initscr)
+ choke me
+ #else
+-f = initscr;
++f = initscr; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -6928,16 +6808,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6931: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6811: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6934: \$? = $ac_status" >&5
++ echo "$as_me:6814: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6937: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6817: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6940: \$? = $ac_status" >&5
++ echo "$as_me:6820: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_initscr=yes
+ else
+@@ -6947,18 +6827,18 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:6950: result: $ac_cv_func_initscr" >&5
++echo "$as_me:6830: result: $ac_cv_func_initscr" >&5
+ echo "${ECHO_T}$ac_cv_func_initscr" >&6
+ if test $ac_cv_func_initscr = yes; then
+ eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
+ else
+
+ cf_save_LIBS="$LIBS"
+- echo "$as_me:6957: checking for initscr in -l$cf_nculib_root" >&5
++ echo "$as_me:6837: checking for initscr in -l$cf_nculib_root" >&5
+ echo $ECHO_N "checking for initscr in -l$cf_nculib_root... $ECHO_C" >&6
+ LIBS="-l$cf_nculib_root $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6961 "configure"
++#line 6841 "configure"
+ #include "confdefs.h"
+ #include <${cf_cv_ncurses_header:-curses.h}>
+ int
+@@ -6970,25 +6850,25 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6973: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6853: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6976: \$? = $ac_status" >&5
++ echo "$as_me:6856: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6979: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6859: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6982: \$? = $ac_status" >&5
++ echo "$as_me:6862: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- echo "$as_me:6984: result: yes" >&5
++ echo "$as_me:6864: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
+
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-echo "$as_me:6991: result: no" >&5
++echo "$as_me:6871: result: no" >&5
+ echo "${ECHO_T}no" >&6
+
+ cf_search=
+@@ -7078,11 +6958,11 @@
+
+ for cf_libdir in $cf_search
+ do
+- echo "$as_me:7081: checking for -l$cf_nculib_root in $cf_libdir" >&5
++ echo "$as_me:6961: checking for -l$cf_nculib_root in $cf_libdir" >&5
+ echo $ECHO_N "checking for -l$cf_nculib_root in $cf_libdir... $ECHO_C" >&6
+ LIBS="-L$cf_libdir -l$cf_nculib_root $cf_save_LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7085 "configure"
++#line 6965 "configure"
+ #include "confdefs.h"
+ #include <${cf_cv_ncurses_header:-curses.h}>
+ int
+@@ -7094,25 +6974,25 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:7097: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6977: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:7100: \$? = $ac_status" >&5
++ echo "$as_me:6980: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:7103: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6983: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7106: \$? = $ac_status" >&5
++ echo "$as_me:6986: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- echo "$as_me:7108: result: yes" >&5
++ echo "$as_me:6988: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
+ break
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-echo "$as_me:7115: result: no" >&5
++echo "$as_me:6995: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ LIBS="$cf_save_LIBS"
+ fi
+@@ -7127,7 +7007,7 @@
+ eval 'cf_found_library=$cf_cv_have_lib_'$cf_nculib_root
+
+ if test $cf_found_library = no ; then
+- { { echo "$as_me:7130: error: Cannot link $cf_nculib_root library" >&5
++ { { echo "$as_me:7010: error: Cannot link $cf_nculib_root library" >&5
+ echo "$as_me: error: Cannot link $cf_nculib_root library" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -7135,7 +7015,7 @@
+ fi
+
+ if test -n "$cf_ncurses_LIBS" ; then
+- echo "$as_me:7138: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5
++ echo "$as_me:7018: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5
+ echo $ECHO_N "checking if we can link $cf_nculib_root without $cf_ncurses_LIBS... $ECHO_C" >&6
+ cf_ncurses_SAVE="$LIBS"
+ for p in $cf_ncurses_LIBS ; do
+@@ -7145,7 +7025,7 @@
+ fi
+ done
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7148 "configure"
++#line 7028 "configure"
+ #include "confdefs.h"
+ #include <${cf_cv_ncurses_header:-curses.h}>
+ int
+@@ -7157,23 +7037,23 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:7160: \"$ac_link\"") >&5
++if { (eval echo "$as_me:7040: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:7163: \$? = $ac_status" >&5
++ echo "$as_me:7043: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:7166: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7046: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7169: \$? = $ac_status" >&5
++ echo "$as_me:7049: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- echo "$as_me:7171: result: yes" >&5
++ echo "$as_me:7051: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-echo "$as_me:7176: result: no" >&5
++echo "$as_me:7056: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ LIBS="$cf_ncurses_SAVE"
+ fi
+@@ -7210,10 +7090,10 @@
+ AUTOCONF_$cf_name NCURSES_VERSION_$cf_name
+ CF_EOF
+ cf_try="$ac_cpp conftest.$ac_ext 2>&5 | fgrep AUTOCONF_$cf_name >conftest.out"
+- { (eval echo "$as_me:7213: \"$cf_try\"") >&5
++ { (eval echo "$as_me:7093: \"$cf_try\"") >&5
+ (eval $cf_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7216: \$? = $ac_status" >&5
++ echo "$as_me:7096: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ if test -f conftest.out ; then
+ cf_result=`cat conftest.out | sed -e "s/^.*AUTOCONF_$cf_name[ ][ ]*//"`
+@@ -7231,9 +7111,25 @@
+
+ cf_cv_timestamp=`date`
+
+-echo "$as_me:7234: result: Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp)" >&5
++echo "$as_me:7114: result: Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp)" >&5
+ echo "${ECHO_T}Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp)" >&6
+
++echo "$as_me:7117: checking if you want to have a library-prefix" >&5
++echo $ECHO_N "checking if you want to have a library-prefix... $ECHO_C" >&6
++
++# Check whether --with-lib-prefix or --without-lib-prefix was given.
++if test "${with_lib_prefix+set}" = set; then
++ withval="$with_lib_prefix"
++ with_lib_prefix=$withval
++else
++ with_lib_prefix=auto
++fi;
++echo "$as_me:7127: result: $with_lib_prefix" >&5
++echo "${ECHO_T}$with_lib_prefix" >&6
++
++if test $with_lib_prefix = auto
++then
++
+ case $cf_cv_system_name in #(vi
+ OS/2*|os2*) #(vi
+ LIB_PREFIX=''
+@@ -7243,7 +7139,12 @@
+ esac
+ cf_prefix=$LIB_PREFIX
+
+-LIB_PREFIX=$cf_prefix
++elif test $with_lib_prefix = no
++then
++ LIB_PREFIX=
++else
++ LIB_PREFIX=$with_lib_prefix
++fi
+
+ LIB_SUFFIX=
+
+@@ -7254,7 +7155,7 @@
+ test -n "$GCC" && test "${ac_cv_prog_cc_g}" != yes && CC_G_OPT=''
+ fi
+
+-echo "$as_me:7257: checking for default loader flags" >&5
++echo "$as_me:7158: checking for default loader flags" >&5
+ echo $ECHO_N "checking for default loader flags... $ECHO_C" >&6
+ case $DFT_LWR_MODEL in
+ normal) LD_MODEL='' ;;
+@@ -7262,11 +7163,11 @@
+ profile) LD_MODEL='-pg';;
+ shared) LD_MODEL='' ;;
+ esac
+-echo "$as_me:7265: result: $LD_MODEL" >&5
++echo "$as_me:7166: result: $LD_MODEL" >&5
+ echo "${ECHO_T}$LD_MODEL" >&6
+
+ LD_RPATH_OPT=
+-echo "$as_me:7269: checking for an rpath option" >&5
++echo "$as_me:7170: checking for an rpath option" >&5
+ echo $ECHO_N "checking for an rpath option... $ECHO_C" >&6
+ case $cf_cv_system_name in #(vi
+ irix*) #(vi
+@@ -7279,10 +7180,10 @@
+ linux*|gnu*|k*bsd*-gnu) #(vi
+ LD_RPATH_OPT="-Wl,-rpath,"
+ ;;
+-openbsd[2-9].*) #(vi
++openbsd[2-9].*|mirbsd*) #(vi
+ LD_RPATH_OPT="-Wl,-rpath,"
+ ;;
+-freebsd*) #(vi
++dragonfly*|freebsd*) #(vi
+ LD_RPATH_OPT="-rpath "
+ ;;
+ netbsd*) #(vi
+@@ -7297,17 +7198,17 @@
+ *)
+ ;;
+ esac
+-echo "$as_me:7300: result: $LD_RPATH_OPT" >&5
++echo "$as_me:7201: result: $LD_RPATH_OPT" >&5
+ echo "${ECHO_T}$LD_RPATH_OPT" >&6
+
+ case "x$LD_RPATH_OPT" in #(vi
+ x-R*)
+- echo "$as_me:7305: checking if we need a space after rpath option" >&5
++ echo "$as_me:7206: checking if we need a space after rpath option" >&5
+ echo $ECHO_N "checking if we need a space after rpath option... $ECHO_C" >&6
+ cf_save_LIBS="$LIBS"
+ LIBS="${LD_RPATH_OPT}$libdir $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7310 "configure"
++#line 7211 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -7319,16 +7220,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:7322: \"$ac_link\"") >&5
++if { (eval echo "$as_me:7223: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:7325: \$? = $ac_status" >&5
++ echo "$as_me:7226: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:7328: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7229: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7331: \$? = $ac_status" >&5
++ echo "$as_me:7232: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_rpath_space=no
+ else
+@@ -7338,7 +7239,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS="$cf_save_LIBS"
+- echo "$as_me:7341: result: $cf_rpath_space" >&5
++ echo "$as_me:7242: result: $cf_rpath_space" >&5
+ echo "${ECHO_T}$cf_rpath_space" >&6
+ test "$cf_rpath_space" = yes && LD_RPATH_OPT="$LD_RPATH_OPT "
+ ;;
+@@ -7353,7 +7254,7 @@
+ cf_ld_rpath_opt=
+ test "$cf_cv_enable_rpath" = yes && cf_ld_rpath_opt="$LD_RPATH_OPT"
+
+- echo "$as_me:7356: checking if release/abi version should be used for shared libs" >&5
++ echo "$as_me:7257: checking if release/abi version should be used for shared libs" >&5
+ echo $ECHO_N "checking if release/abi version should be used for shared libs... $ECHO_C" >&6
+
+ # Check whether --with-shlib-version or --without-shlib-version was given.
+@@ -7368,7 +7269,7 @@
+ cf_cv_shlib_version=$withval
+ ;;
+ *)
+- { { echo "$as_me:7371: error: option value must be one of: rel, abi, auto or no" >&5
++ { { echo "$as_me:7272: error: option value must be one of: rel, abi, auto or no" >&5
+ echo "$as_me: error: option value must be one of: rel, abi, auto or no" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+@@ -7377,23 +7278,24 @@
+ else
+ cf_cv_shlib_version=auto
+ fi;
+- echo "$as_me:7380: result: $cf_cv_shlib_version" >&5
++ echo "$as_me:7281: result: $cf_cv_shlib_version" >&5
+ echo "${ECHO_T}$cf_cv_shlib_version" >&6
+
+ cf_cv_rm_so_locs=no
++ cf_try_cflags=
+
+ # Some less-capable ports of gcc support only -fpic
+ CC_SHARED_OPTS=
+ if test "$GCC" = yes
+ then
+- echo "$as_me:7389: checking which $CC option to use" >&5
++ echo "$as_me:7291: checking which $CC option to use" >&5
+ echo $ECHO_N "checking which $CC option to use... $ECHO_C" >&6
+ cf_save_CFLAGS="$CFLAGS"
+ for CC_SHARED_OPTS in -fPIC -fpic ''
+ do
+ CFLAGS="$cf_save_CFLAGS $CC_SHARED_OPTS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7396 "configure"
++#line 7298 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -7405,16 +7307,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7408: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7310: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7411: \$? = $ac_status" >&5
++ echo "$as_me:7313: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7414: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7316: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7417: \$? = $ac_status" >&5
++ echo "$as_me:7319: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -7423,7 +7325,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ done
+- echo "$as_me:7426: result: $CC_SHARED_OPTS" >&5
++ echo "$as_me:7328: result: $CC_SHARED_OPTS" >&5
+ echo "${ECHO_T}$CC_SHARED_OPTS" >&6
+ CFLAGS="$cf_save_CFLAGS"
+ fi
+@@ -7431,10 +7333,14 @@
+ cf_cv_shlib_version_infix=no
+
+ case $cf_cv_system_name in #(vi
+- aix[56]*) #(vi
++ aix4.3-9*|aix[5-7]*) #(vi
+ if test "$GCC" = yes; then
+ CC_SHARED_OPTS=
+- MK_SHARED_LIB='$(CC) -shared'
++ MK_SHARED_LIB='${CC} -shared -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o $@'
++ else
++ # CC_SHARED_OPTS='-qpic=large -G'
++ # perhaps "-bM:SRE -bnoentry -bexpall"
++ MK_SHARED_LIB='${CC} -G -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o $@'
+ fi
+ ;;
+ beos*) #(vi
+@@ -7460,12 +7366,12 @@
+ chmod +x mk_shared_lib.sh
+ ;;
+ darwin*) #(vi
+- EXTRA_CFLAGS="-no-cpp-precomp"
++ cf_try_cflags="no-cpp-precomp"
+ CC_SHARED_OPTS="-dynamic"
+ MK_SHARED_LIB='${CC} ${CFLAGS} -dynamiclib -install_name ${libdir}/`basename $@` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $@'
+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi
+ cf_cv_shlib_version_infix=yes
+- echo "$as_me:7468: checking if ld -search_paths_first works" >&5
++ echo "$as_me:7374: checking if ld -search_paths_first works" >&5
+ echo $ECHO_N "checking if ld -search_paths_first works... $ECHO_C" >&6
+ if test "${cf_cv_ldflags_search_paths_first+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -7474,7 +7380,7 @@
+ cf_save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7477 "configure"
++#line 7383 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -7486,16 +7392,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:7489: \"$ac_link\"") >&5
++if { (eval echo "$as_me:7395: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:7492: \$? = $ac_status" >&5
++ echo "$as_me:7398: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:7495: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7401: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7498: \$? = $ac_status" >&5
++ echo "$as_me:7404: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_ldflags_search_paths_first=yes
+ else
+@@ -7506,12 +7412,20 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS=$cf_save_LDFLAGS
+ fi
+-echo "$as_me:7509: result: $cf_cv_ldflags_search_paths_first" >&5
++echo "$as_me:7415: result: $cf_cv_ldflags_search_paths_first" >&5
+ echo "${ECHO_T}$cf_cv_ldflags_search_paths_first" >&6
+ if test $cf_cv_ldflags_search_paths_first = yes; then
+ LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
+ fi
+ ;;
++ hpux[7-8]*) #(vi
++ # HP-UX 8.07 ld lacks "+b" option used for libdir search-list
++ if test "$GCC" != yes; then
++ CC_SHARED_OPTS='+Z'
++ fi
++ MK_SHARED_LIB='${LD} -b -o $@'
++ INSTALL_LIB="-m 555"
++ ;;
+ hpux*) #(vi
+ # (tested with gcc 2.7.2 -- I don't have c89)
+ if test "$GCC" = yes; then
+@@ -7525,9 +7439,19 @@
+ # readonly to exploit a quirk in the memory manager.
+ INSTALL_LIB="-m 555"
+ ;;
++ interix*)
++ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
++ if test "$cf_cv_shlib_version" = rel; then
++ cf_shared_soname='`basename .${REL_VERSION}`.${ABI_VERSION}'
++ else
++ cf_shared_soname='`basename `'
++ fi
++ CC_SHARED_OPTS=
++ MK_SHARED_LIB='${CC} -shared -Wl,-rpath,${RPATH_LIST} -Wl,-h,'$cf_shared_soname' -o '
++ ;;
+ irix*) #(vi
+ if test "$cf_cv_enable_rpath" = yes ; then
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+ # tested with IRIX 5.2 and 'cc'.
+ if test "$GCC" != yes; then
+@@ -7544,7 +7468,7 @@
+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+ fi
+ if test "$cf_cv_enable_rpath" = yes ; then
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+
+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
+@@ -7556,13 +7480,34 @@
+
+ MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $@'
+ ;;
+- openbsd[2-9].*) #(vi
++ mingw*) #(vi
++ cf_cv_shlib_version=mingw
++ cf_cv_shlib_version_infix=mingw
++ CC_SHARED_OPTS=
++ MK_SHARED_LIB='sh ../mk_shared_lib.sh $@ ${CC} ${CFLAGS}'
++ #MK_SHARED_LIB='${CC} ${CFLAGS} -mdll -Wl,-soname,'$cf_cv_shared_soname',-stats -o $[@]'
++ #MK_SHARED_LIB='${DLLTOOL} --export-all-symbols --output-exp --output-lib $[@]'
++ cat >mk_shared_lib.sh <<-CF_EOF
++ #!/bin/sh
++ SHARED_LIB=\$1
++ IMPORT_LIB=\`echo "\$1" | sed -e 's/[0-9]*\.dll$/.dll.a/'\`
++ shift
++ cat <<-EOF
++ Linking shared library
++ ** SHARED_LIB \$SHARED_LIB
++ ** IMPORT_LIB \$IMPORT_LIB
++EOF
++ exec \$* -shared -Wl,--out-implib=../lib/\${IMPORT_LIB} -Wl,--export-all-symbols -o ../lib/\${SHARED_LIB}
++CF_EOF
++ chmod +x mk_shared_lib.sh
++ ;;
++ openbsd[2-9].*|mirbsd*) #(vi
+ if test "$DFT_LWR_MODEL" = "shared" ; then
+ LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+ fi
+ if test "$cf_cv_enable_rpath" = yes ; then
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+ CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
+
+@@ -7580,12 +7525,12 @@
+ MK_SHARED_LIB='${LD} -Bshareable -o $@'
+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
+ ;;
+- freebsd*) #(vi
++ dragonfly*|freebsd*) #(vi
+ CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
+ if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
+ LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
+- LOCAL_LDFLAGS2="${cf_ld_rpath_opt}\${libdir} $LOCAL_LDFLAGS"
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ LOCAL_LDFLAGS2="${cf_ld_rpath_opt}\${RPATH_LIST} $LOCAL_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+
+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
+@@ -7602,7 +7547,7 @@
+ if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
+ LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ if test "$cf_cv_shlib_version" = auto; then
+ if test -f /usr/libexec/ld.elf_so; then
+ cf_cv_shlib_version=abi
+@@ -7686,7 +7631,7 @@
+ do
+ CFLAGS="$cf_shared_opts $cf_save_CFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7689 "configure"
++#line 7634 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -7698,16 +7643,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7701: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7646: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7704: \$? = $ac_status" >&5
++ echo "$as_me:7649: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7707: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7652: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7710: \$? = $ac_status" >&5
++ echo "$as_me:7655: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -7744,22 +7689,63 @@
+ test "$cf_cv_do_symlinks" = no && cf_cv_do_symlinks=yes
+ ;;
+ *)
+- { echo "$as_me:7747: WARNING: ignored --with-shlib-version" >&5
++ { echo "$as_me:7692: WARNING: ignored --with-shlib-version" >&5
+ echo "$as_me: WARNING: ignored --with-shlib-version" >&2;}
+ ;;
+ esac
+ ;;
+ esac
+
+- if test -n "$cf_ld_rpath_opt" ; then
+- MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${libdir}"
++ if test -n "$cf_try_cflags"
++ then
++cat > conftest.$ac_ext <<EOF
++#line 7702 "${as_me:-configure}"
++#include <stdio.h>
++int main(int argc, char *argv[])
++{
++ printf("hello\n");
++ return (argv[argc-1] == 0) ;
++}
++EOF
++ cf_save_CFLAGS="$CFLAGS"
++ for cf_opt in $cf_try_cflags
++ do
++ CFLAGS="$cf_save_CFLAGS -$cf_opt"
++ echo "$as_me:7714: checking if CFLAGS option -$cf_opt works" >&5
++echo $ECHO_N "checking if CFLAGS option -$cf_opt works... $ECHO_C" >&6
++ if { (eval echo "$as_me:7716: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:7719: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ echo "$as_me:7721: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++ cf_save_CFLAGS="$CFLAGS"
++ else
++ echo "$as_me:7725: result: no" >&5
++echo "${ECHO_T}no" >&6
++ fi
++ done
++ CFLAGS="$cf_save_CFLAGS"
+ fi
+
++ # RPATH_LIST is a colon-separated list of directories
++ test -n "$cf_ld_rpath_opt" && MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${RPATH_LIST}"
++ test -z "$RPATH_LIST" && RPATH_LIST="\${libdir}"
++
++ test -n "$verbose" && echo " CC_SHARED_OPTS: $CC_SHARED_OPTS" 1>&6
++
++echo "${as_me:-configure}:7738: testing CC_SHARED_OPTS: $CC_SHARED_OPTS ..." 1>&5
++
++ test -n "$verbose" && echo " MK_SHARED_LIB: $MK_SHARED_LIB" 1>&6
++
++echo "${as_me:-configure}:7742: testing MK_SHARED_LIB: $MK_SHARED_LIB ..." 1>&5
++
+ # The test/sample programs in the original tree link using rpath option.
+ # Make it optional for packagers.
+ if test -n "$LOCAL_LDFLAGS"
+ then
+- echo "$as_me:7762: checking if you want to link sample programs with rpath option" >&5
++ echo "$as_me:7748: checking if you want to link sample programs with rpath option" >&5
+ echo $ECHO_N "checking if you want to link sample programs with rpath option... $ECHO_C" >&6
+
+ # Check whether --enable-rpath-link or --disable-rpath-link was given.
+@@ -7769,7 +7755,7 @@
+ else
+ with_rpath_link=yes
+ fi;
+- echo "$as_me:7772: result: $with_rpath_link" >&5
++ echo "$as_me:7758: result: $with_rpath_link" >&5
+ echo "${ECHO_T}$with_rpath_link" >&6
+ if test "$with_rpath_link" = no
+ then
+@@ -7780,13 +7766,8 @@
+
+ ###############################################################################
+
+- case $cf_cv_system_name in
+- os2*) PATH_SEPARATOR=';' ;;
+- *) PATH_SEPARATOR=':' ;;
+- esac
+-
+ ### use option --enable-broken-linker to force on use of broken-linker support
+-echo "$as_me:7789: checking if you want broken-linker support code" >&5
++echo "$as_me:7770: checking if you want broken-linker support code" >&5
+ echo $ECHO_N "checking if you want broken-linker support code... $ECHO_C" >&6
+
+ # Check whether --enable-broken_linker or --disable-broken_linker was given.
+@@ -7796,7 +7777,7 @@
+ else
+ with_broken_linker=${BROKEN_LINKER:-no}
+ fi;
+-echo "$as_me:7799: result: $with_broken_linker" >&5
++echo "$as_me:7780: result: $with_broken_linker" >&5
+ echo "${ECHO_T}$with_broken_linker" >&6
+
+ BROKEN_LINKER=0
+@@ -7816,7 +7797,7 @@
+ BROKEN_LINKER=1
+ test -n "$verbose" && echo " cygwin linker is broken anyway" 1>&6
+
+-echo "${as_me:-configure}:7819: testing cygwin linker is broken anyway ..." 1>&5
++echo "${as_me:-configure}:7800: testing cygwin linker is broken anyway ..." 1>&5
+
+ ;;
+ esac
+@@ -7829,7 +7810,7 @@
+ cf_xopen_source=
+
+ case $host_os in #(vi
+-aix[456]*) #(vi
++aix[4-7]*) #(vi
+ cf_xopen_source="-D_ALL_SOURCE"
+ ;;
+ cygwin) #(vi
+@@ -7840,6 +7821,7 @@
+ ;;
+ darwin*) #(vi
+ cf_xopen_source="-D_DARWIN_C_SOURCE"
++ cf_XOPEN_SOURCE=
+ ;;
+ freebsd*|dragonfly*) #(vi
+ # 5.x headers associate
+@@ -7857,17 +7839,18 @@
+ ;;
+ irix[56].*) #(vi
+ cf_xopen_source="-D_SGI_SOURCE"
++ cf_XOPEN_SOURCE=
+ ;;
+ linux*|gnu*|mint*|k*bsd*-gnu) #(vi
+
+-echo "$as_me:7863: checking if we must define _GNU_SOURCE" >&5
++echo "$as_me:7846: checking if we must define _GNU_SOURCE" >&5
+ echo $ECHO_N "checking if we must define _GNU_SOURCE... $ECHO_C" >&6
+ if test "${cf_cv_gnu_source+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7870 "configure"
++#line 7853 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ int
+@@ -7882,16 +7865,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7885: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7868: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7888: \$? = $ac_status" >&5
++ echo "$as_me:7871: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7891: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7874: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7894: \$? = $ac_status" >&5
++ echo "$as_me:7877: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_gnu_source=no
+ else
+@@ -7900,7 +7883,7 @@
+ cf_save="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7903 "configure"
++#line 7886 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ int
+@@ -7915,16 +7898,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7918: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7901: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7921: \$? = $ac_status" >&5
++ echo "$as_me:7904: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7924: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7907: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7927: \$? = $ac_status" >&5
++ echo "$as_me:7910: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_gnu_source=no
+ else
+@@ -7939,51 +7922,45 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+-echo "$as_me:7942: result: $cf_cv_gnu_source" >&5
++echo "$as_me:7925: result: $cf_cv_gnu_source" >&5
+ echo "${ECHO_T}$cf_cv_gnu_source" >&6
+ test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
+
+ ;;
+ mirbsd*) #(vi
+- # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <arpa/inet.h>
+- ;;
+-netbsd*) #(vi
+- # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
+- ;;
+-openbsd*) #(vi
+- # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
+- ;;
+-osf[45]*) #(vi
+- cf_xopen_source="-D_OSF_SOURCE"
+- ;;
+-nto-qnx*) #(vi
+- cf_xopen_source="-D_QNX_SOURCE"
+- ;;
+-sco*) #(vi
+- # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
+- ;;
+-solaris2.1[0-9]) #(vi
+- cf_xopen_source="-D__EXTENSIONS__ -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+- ;;
+-solaris2.[1-9]) #(vi
+- cf_xopen_source="-D__EXTENSIONS__"
+- ;;
+-*)
+- echo "$as_me:7972: checking if we should define _XOPEN_SOURCE" >&5
+-echo $ECHO_N "checking if we should define _XOPEN_SOURCE... $ECHO_C" >&6
+-if test "${cf_cv_xopen_source+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
++ # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <sys/select.h> and other headers which use u_int / u_short types
++ cf_XOPEN_SOURCE=
+
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 7979 "configure"
+-#include "confdefs.h"
+-#include <sys/types.h>
+-int
+-main ()
++cf_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE
++
++cf_save_CFLAGS="$CFLAGS"
++cf_save_CPPFLAGS="$CPPFLAGS"
++
++cf_trim_CFLAGS=`echo "$cf_save_CFLAGS" | \
++ sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'`
++
++cf_trim_CPPFLAGS=`echo "$cf_save_CPPFLAGS" | \
++ sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'`
++
++echo "$as_me:7947: checking if we should define _POSIX_C_SOURCE" >&5
++echo $ECHO_N "checking if we should define _POSIX_C_SOURCE... $ECHO_C" >&6
++if test "${cf_cv_posix_c_source+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++echo "${as_me:-configure}:7953: testing if the symbol is already defined go no further ..." 1>&5
++
++ cat >conftest.$ac_ext <<_ACEOF
++#line 7956 "configure"
++#include "confdefs.h"
++#include <sys/types.h>
++int
++main ()
+ {
+
+-#ifndef _XOPEN_SOURCE
++#ifndef _POSIX_C_SOURCE
+ make an error
+ #endif
+ ;
+@@ -7991,32 +7968,44 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7994: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7971: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7997: \$? = $ac_status" >&5
++ echo "$as_me:7974: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8000: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7977: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8003: \$? = $ac_status" >&5
++ echo "$as_me:7980: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_xopen_source=no
++ cf_cv_posix_c_source=no
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_save="$CPPFLAGS"
+- CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 8012 "configure"
++cf_want_posix_source=no
++ case .$cf_POSIX_C_SOURCE in #(vi
++ .[12]??*) #(vi
++ cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
++ ;;
++ .2) #(vi
++ cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
++ cf_want_posix_source=yes
++ ;;
++ .*)
++ cf_want_posix_source=yes
++ ;;
++ esac
++ if test "$cf_want_posix_source" = yes ; then
++ cat >conftest.$ac_ext <<_ACEOF
++#line 8001 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ int
+ main ()
+ {
+
+-#ifdef _XOPEN_SOURCE
++#ifdef _POSIX_SOURCE
+ make an error
+ #endif
+ ;
+@@ -8024,50 +8013,87 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8027: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8016: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8030: \$? = $ac_status" >&5
++ echo "$as_me:8019: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8033: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8022: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8036: \$? = $ac_status" >&5
++ echo "$as_me:8025: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_xopen_source=no
++ :
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_xopen_source=$cf_XOPEN_SOURCE
++cf_cv_posix_c_source="$cf_cv_posix_c_source -D_POSIX_SOURCE"
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+- CPPFLAGS="$cf_save"
++ fi
++
++echo "${as_me:-configure}:8036: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5
++
++ CFLAGS="$cf_trim_CFLAGS"
++ CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source"
++
++echo "${as_me:-configure}:8041: testing if the second compile does not leave our definition intact error ..." 1>&5
++
++ cat >conftest.$ac_ext <<_ACEOF
++#line 8044 "configure"
++#include "confdefs.h"
++#include <sys/types.h>
++int
++main ()
++{
+
++#ifndef _POSIX_C_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:8059: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:8062: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:8065: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:8068: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_posix_c_source=no
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
++ CFLAGS="$cf_save_CFLAGS"
++ CPPFLAGS="$cf_save_CPPFLAGS"
+
+ fi
+-echo "$as_me:8051: result: $cf_cv_xopen_source" >&5
+-echo "${ECHO_T}$cf_cv_xopen_source" >&6
+- if test "$cf_cv_xopen_source" != no ; then
+-
+-CFLAGS=`echo "$CFLAGS" | \
+- sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'`
++rm -f conftest.$ac_objext conftest.$ac_ext
+
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'`
++fi
++echo "$as_me:8084: result: $cf_cv_posix_c_source" >&5
++echo "${ECHO_T}$cf_cv_posix_c_source" >&6
+
+- cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
++if test "$cf_cv_posix_c_source" != no ; then
++ CFLAGS="$cf_trim_CFLAGS"
++ CPPFLAGS="$cf_trim_CPPFLAGS"
+
+ cf_fix_cppflags=no
+ cf_new_cflags=
+ cf_new_cppflags=
+ cf_new_extra_cppflags=
+
+-for cf_add_cflags in $cf_temp_xopen_source
++for cf_add_cflags in $cf_cv_posix_c_source
+ do
+ case $cf_fix_cppflags in
+ no)
+@@ -8140,38 +8166,550 @@
+ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+ fi
+
+- fi
++fi
+
+-cf_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE
++ ;;
++netbsd*) #(vi
++ cf_xopen_source="-D_NETBSD_SOURCE" # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
++ ;;
++openbsd[4-9]*) #(vi
++ # setting _XOPEN_SOURCE lower than 500 breaks g++ compile with wchar.h, needed for ncursesw
++ cf_xopen_source="-D_BSD_SOURCE"
++ cf_XOPEN_SOURCE=600
++ ;;
++openbsd*) #(vi
++ # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
++ ;;
++osf[45]*) #(vi
++ cf_xopen_source="-D_OSF_SOURCE"
++ ;;
++nto-qnx*) #(vi
++ cf_xopen_source="-D_QNX_SOURCE"
++ ;;
++sco*) #(vi
++ # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
++ ;;
++solaris2.*) #(vi
++ cf_xopen_source="-D__EXTENSIONS__"
++ ;;
++*)
+
+-cf_save_CFLAGS="$CFLAGS"
+-cf_save_CPPFLAGS="$CPPFLAGS"
++echo "$as_me:8197: checking if we should define _XOPEN_SOURCE" >&5
++echo $ECHO_N "checking if we should define _XOPEN_SOURCE... $ECHO_C" >&6
++if test "${cf_cv_xopen_source+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
+
+-cf_trim_CFLAGS=`echo "$cf_save_CFLAGS" | \
+- sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'`
++ cat >conftest.$ac_ext <<_ACEOF
++#line 8204 "configure"
++#include "confdefs.h"
+
+-cf_trim_CPPFLAGS=`echo "$cf_save_CPPFLAGS" | \
+- sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'`
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
+
+-echo "$as_me:8158: checking if we should define _POSIX_C_SOURCE" >&5
+-echo $ECHO_N "checking if we should define _POSIX_C_SOURCE... $ECHO_C" >&6
+-if test "${cf_cv_posix_c_source+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
++int
++main ()
++{
++
++#ifndef _XOPEN_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:8223: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:8226: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:8229: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:8232: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_xopen_source=no
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_save="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 8241 "configure"
++#include "confdefs.h"
++
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++
++int
++main ()
++{
++
++#ifdef _XOPEN_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:8260: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:8263: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:8266: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:8269: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_xopen_source=no
+ else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_xopen_source=$cf_XOPEN_SOURCE
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CPPFLAGS="$cf_save"
++
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++
++fi
++echo "$as_me:8284: result: $cf_cv_xopen_source" >&5
++echo "${ECHO_T}$cf_cv_xopen_source" >&6
++
++if test "$cf_cv_xopen_source" != no ; then
++
++CFLAGS=`echo "$CFLAGS" | \
++ sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'`
++
++ cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in $cf_temp_xopen_source
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
++fi
++
++if test -n "$cf_new_cppflags" ; then
++
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
++
++fi
++
++cf_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE
++
++cf_save_CFLAGS="$CFLAGS"
++cf_save_CPPFLAGS="$CPPFLAGS"
++
++cf_trim_CFLAGS=`echo "$cf_save_CFLAGS" | \
++ sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'`
++
++cf_trim_CPPFLAGS=`echo "$cf_save_CPPFLAGS" | \
++ sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'`
++
++echo "$as_me:8392: checking if we should define _POSIX_C_SOURCE" >&5
++echo $ECHO_N "checking if we should define _POSIX_C_SOURCE... $ECHO_C" >&6
++if test "${cf_cv_posix_c_source+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++echo "${as_me:-configure}:8398: testing if the symbol is already defined go no further ..." 1>&5
++
++ cat >conftest.$ac_ext <<_ACEOF
++#line 8401 "configure"
++#include "confdefs.h"
++#include <sys/types.h>
++int
++main ()
++{
++
++#ifndef _POSIX_C_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:8416: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:8419: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:8422: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:8425: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_posix_c_source=no
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_want_posix_source=no
++ case .$cf_POSIX_C_SOURCE in #(vi
++ .[12]??*) #(vi
++ cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
++ ;;
++ .2) #(vi
++ cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
++ cf_want_posix_source=yes
++ ;;
++ .*)
++ cf_want_posix_source=yes
++ ;;
++ esac
++ if test "$cf_want_posix_source" = yes ; then
++ cat >conftest.$ac_ext <<_ACEOF
++#line 8446 "configure"
++#include "confdefs.h"
++#include <sys/types.h>
++int
++main ()
++{
++
++#ifdef _POSIX_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:8461: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:8464: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:8467: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:8470: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_posix_c_source="$cf_cv_posix_c_source -D_POSIX_SOURCE"
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ fi
++
++echo "${as_me:-configure}:8481: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5
++
++ CFLAGS="$cf_trim_CFLAGS"
++ CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source"
++
++echo "${as_me:-configure}:8486: testing if the second compile does not leave our definition intact error ..." 1>&5
++
++ cat >conftest.$ac_ext <<_ACEOF
++#line 8489 "configure"
++#include "confdefs.h"
++#include <sys/types.h>
++int
++main ()
++{
++
++#ifndef _POSIX_C_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:8504: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:8507: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:8510: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:8513: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_posix_c_source=no
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CFLAGS="$cf_save_CFLAGS"
++ CPPFLAGS="$cf_save_CPPFLAGS"
++
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++
++fi
++echo "$as_me:8529: result: $cf_cv_posix_c_source" >&5
++echo "${ECHO_T}$cf_cv_posix_c_source" >&6
++
++if test "$cf_cv_posix_c_source" != no ; then
++ CFLAGS="$cf_trim_CFLAGS"
++ CPPFLAGS="$cf_trim_CPPFLAGS"
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in $cf_cv_posix_c_source
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
++fi
++
++if test -n "$cf_new_cppflags" ; then
++
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
++
++fi
++
++ ;;
++esac
++
++if test -n "$cf_xopen_source" ; then
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in $cf_xopen_source
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
++fi
++
++if test -n "$cf_new_cppflags" ; then
++
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
+
+-echo "${as_me:-configure}:8164: testing if the symbol is already defined go no further ..." 1>&5
++fi
+
++if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then
++ echo "$as_me:8702: checking if _XOPEN_SOURCE really is set" >&5
++echo $ECHO_N "checking if _XOPEN_SOURCE really is set... $ECHO_C" >&6
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8167 "configure"
++#line 8705 "configure"
+ #include "confdefs.h"
+-#include <sys/types.h>
++#include <stdlib.h>
+ int
+ main ()
+ {
+
+-#ifndef _POSIX_C_SOURCE
++#ifndef _XOPEN_SOURCE
+ make an error
+ #endif
+ ;
+@@ -8179,44 +8717,37 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8182: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8720: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8185: \$? = $ac_status" >&5
++ echo "$as_me:8723: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8188: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8726: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8191: \$? = $ac_status" >&5
++ echo "$as_me:8729: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_posix_c_source=no
++ cf_XOPEN_SOURCE_set=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_want_posix_source=no
+- case .$cf_POSIX_C_SOURCE in #(vi
+- .[12]??*) #(vi
+- cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
+- ;;
+- .2) #(vi
+- cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
+- cf_want_posix_source=yes
+- ;;
+- .*)
+- cf_want_posix_source=yes
+- ;;
+- esac
+- if test "$cf_want_posix_source" = yes ; then
++cf_XOPEN_SOURCE_set=no
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ echo "$as_me:8738: result: $cf_XOPEN_SOURCE_set" >&5
++echo "${ECHO_T}$cf_XOPEN_SOURCE_set" >&6
++ if test $cf_XOPEN_SOURCE_set = yes
++ then
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8212 "configure"
++#line 8743 "configure"
+ #include "confdefs.h"
+-#include <sys/types.h>
++#include <stdlib.h>
+ int
+ main ()
+ {
+
+-#ifdef _POSIX_SOURCE
++#if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE
+ make an error
+ #endif
+ ;
+@@ -8224,42 +8755,87 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8227: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8758: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8230: \$? = $ac_status" >&5
++ echo "$as_me:8761: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8233: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8764: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8236: \$? = $ac_status" >&5
++ echo "$as_me:8767: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- :
++ cf_XOPEN_SOURCE_set_ok=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_posix_c_source="$cf_cv_posix_c_source -D_POSIX_SOURCE"
++cf_XOPEN_SOURCE_set_ok=no
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+- fi
++ if test $cf_XOPEN_SOURCE_set_ok = no
++ then
++ { echo "$as_me:8778: WARNING: _XOPEN_SOURCE is lower than requested" >&5
++echo "$as_me: WARNING: _XOPEN_SOURCE is lower than requested" >&2;}
++ fi
++ else
+
+-echo "${as_me:-configure}:8247: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5
++echo "$as_me:8783: checking if we should define _XOPEN_SOURCE" >&5
++echo $ECHO_N "checking if we should define _XOPEN_SOURCE... $ECHO_C" >&6
++if test "${cf_cv_xopen_source+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
+
+- CFLAGS="$cf_trim_CFLAGS"
+- CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 8790 "configure"
++#include "confdefs.h"
+
+-echo "${as_me:-configure}:8252: testing if the second compile does not leave our definition intact error ..." 1>&5
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++
++int
++main ()
++{
+
++#ifndef _XOPEN_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:8809: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:8812: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:8815: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:8818: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_xopen_source=no
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_save="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8255 "configure"
++#line 8827 "configure"
+ #include "confdefs.h"
++
++#include <stdlib.h>
++#include <string.h>
+ #include <sys/types.h>
++
+ int
+ main ()
+ {
+
+-#ifndef _POSIX_C_SOURCE
++#ifdef _XOPEN_SOURCE
+ make an error
+ #endif
+ ;
+@@ -8267,129 +8843,51 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8270: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8846: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8273: \$? = $ac_status" >&5
++ echo "$as_me:8849: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8276: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8852: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8279: \$? = $ac_status" >&5
++ echo "$as_me:8855: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- :
++ cf_cv_xopen_source=no
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_posix_c_source=no
++cf_cv_xopen_source=$cf_XOPEN_SOURCE
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+- CFLAGS="$cf_save_CFLAGS"
+- CPPFLAGS="$cf_save_CPPFLAGS"
++ CPPFLAGS="$cf_save"
+
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+-echo "$as_me:8295: result: $cf_cv_posix_c_source" >&5
+-echo "${ECHO_T}$cf_cv_posix_c_source" >&6
+-
+-if test "$cf_cv_posix_c_source" != no ; then
+- CFLAGS="$cf_trim_CFLAGS"
+- CPPFLAGS="$cf_trim_CPPFLAGS"
+-
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
+-
+-for cf_add_cflags in $cf_cv_posix_c_source
+-do
+-case $cf_fix_cppflags in
+-no)
+- case $cf_add_cflags in #(vi
+- -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+- case $cf_add_cflags in
+- -D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++echo "$as_me:8870: result: $cf_cv_xopen_source" >&5
++echo "${ECHO_T}$cf_cv_xopen_source" >&6
+
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
++if test "$cf_cv_xopen_source" != no ; then
+
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- *$cf_add_cflags) #(vi
+- ;;
+- *) #(vi
+- case $cf_add_cflags in #(vi
+- -D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++CFLAGS=`echo "$CFLAGS" | \
++ sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'`
+
+ CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+-
+- ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- *)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+-yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+-
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
+-done
+-
+-if test -n "$cf_new_cflags" ; then
+-
+- CFLAGS="$CFLAGS $cf_new_cflags"
+-fi
+-
+-if test -n "$cf_new_cppflags" ; then
+-
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
+-fi
+-
+-if test -n "$cf_new_extra_cppflags" ; then
+-
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+-fi
+-
+-fi
+-
+- ;;
+-esac
++ sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'`
+
+-if test -n "$cf_xopen_source" ; then
++ cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
+
+ cf_fix_cppflags=no
+ cf_new_cflags=
+ cf_new_cppflags=
+ cf_new_extra_cppflags=
+
+-for cf_add_cflags in $cf_xopen_source
++for cf_add_cflags in $cf_temp_xopen_source
+ do
+ case $cf_fix_cppflags in
+ no)
+@@ -8464,6 +8962,9 @@
+
+ fi
+
++ fi
++fi
++
+ # Check whether --enable-largefile or --disable-largefile was given.
+ if test "${enable_largefile+set}" = set; then
+ enableval="$enable_largefile"
+@@ -8471,7 +8972,7 @@
+ fi;
+ if test "$enable_largefile" != no; then
+
+- echo "$as_me:8474: checking for special C compiler options needed for large files" >&5
++ echo "$as_me:8975: checking for special C compiler options needed for large files" >&5
+ echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6
+ if test "${ac_cv_sys_largefile_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -8483,7 +8984,7 @@
+ # IRIX 6.2 and later do not support large files by default,
+ # so use the C compiler's -n32 option if that helps.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8486 "configure"
++#line 8987 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+@@ -8503,16 +9004,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8506: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9007: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8509: \$? = $ac_status" >&5
++ echo "$as_me:9010: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8512: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9013: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8515: \$? = $ac_status" >&5
++ echo "$as_me:9016: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -8522,16 +9023,16 @@
+ rm -f conftest.$ac_objext
+ CC="$CC -n32"
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8525: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9026: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8528: \$? = $ac_status" >&5
++ echo "$as_me:9029: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8531: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9032: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8534: \$? = $ac_status" >&5
++ echo "$as_me:9035: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sys_largefile_CC=' -n32'; break
+ else
+@@ -8545,13 +9046,13 @@
+ rm -f conftest.$ac_ext
+ fi
+ fi
+-echo "$as_me:8548: result: $ac_cv_sys_largefile_CC" >&5
++echo "$as_me:9049: result: $ac_cv_sys_largefile_CC" >&5
+ echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6
+ if test "$ac_cv_sys_largefile_CC" != no; then
+ CC=$CC$ac_cv_sys_largefile_CC
+ fi
+
+- echo "$as_me:8554: checking for _FILE_OFFSET_BITS value needed for large files" >&5
++ echo "$as_me:9055: checking for _FILE_OFFSET_BITS value needed for large files" >&5
+ echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6
+ if test "${ac_cv_sys_file_offset_bits+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -8559,7 +9060,7 @@
+ while :; do
+ ac_cv_sys_file_offset_bits=no
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8562 "configure"
++#line 9063 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+@@ -8579,16 +9080,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8582: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9083: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8585: \$? = $ac_status" >&5
++ echo "$as_me:9086: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8588: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9089: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8591: \$? = $ac_status" >&5
++ echo "$as_me:9092: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -8597,7 +9098,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8600 "configure"
++#line 9101 "configure"
+ #include "confdefs.h"
+ #define _FILE_OFFSET_BITS 64
+ #include <sys/types.h>
+@@ -8618,16 +9119,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8621: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9122: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8624: \$? = $ac_status" >&5
++ echo "$as_me:9125: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8627: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9128: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8630: \$? = $ac_status" >&5
++ echo "$as_me:9131: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sys_file_offset_bits=64; break
+ else
+@@ -8638,7 +9139,7 @@
+ break
+ done
+ fi
+-echo "$as_me:8641: result: $ac_cv_sys_file_offset_bits" >&5
++echo "$as_me:9142: result: $ac_cv_sys_file_offset_bits" >&5
+ echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6
+ if test "$ac_cv_sys_file_offset_bits" != no; then
+
+@@ -8648,7 +9149,7 @@
+
+ fi
+ rm -rf conftest*
+- echo "$as_me:8651: checking for _LARGE_FILES value needed for large files" >&5
++ echo "$as_me:9152: checking for _LARGE_FILES value needed for large files" >&5
+ echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6
+ if test "${ac_cv_sys_large_files+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -8656,7 +9157,7 @@
+ while :; do
+ ac_cv_sys_large_files=no
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8659 "configure"
++#line 9160 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+@@ -8676,16 +9177,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8679: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9180: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8682: \$? = $ac_status" >&5
++ echo "$as_me:9183: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8685: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9186: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8688: \$? = $ac_status" >&5
++ echo "$as_me:9189: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -8694,7 +9195,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8697 "configure"
++#line 9198 "configure"
+ #include "confdefs.h"
+ #define _LARGE_FILES 1
+ #include <sys/types.h>
+@@ -8715,16 +9216,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8718: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9219: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8721: \$? = $ac_status" >&5
++ echo "$as_me:9222: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8724: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9225: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8727: \$? = $ac_status" >&5
++ echo "$as_me:9228: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sys_large_files=1; break
+ else
+@@ -8735,7 +9236,7 @@
+ break
+ done
+ fi
+-echo "$as_me:8738: result: $ac_cv_sys_large_files" >&5
++echo "$as_me:9239: result: $ac_cv_sys_large_files" >&5
+ echo "${ECHO_T}$ac_cv_sys_large_files" >&6
+ if test "$ac_cv_sys_large_files" != no; then
+
+@@ -8748,7 +9249,7 @@
+ fi
+
+ if test "$enable_largefile" != no ; then
+- echo "$as_me:8751: checking for _LARGEFILE_SOURCE value needed for large files" >&5
++ echo "$as_me:9252: checking for _LARGEFILE_SOURCE value needed for large files" >&5
+ echo $ECHO_N "checking for _LARGEFILE_SOURCE value needed for large files... $ECHO_C" >&6
+ if test "${ac_cv_sys_largefile_source+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -8756,7 +9257,7 @@
+ while :; do
+ ac_cv_sys_largefile_source=no
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8759 "configure"
++#line 9260 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -8768,16 +9269,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8771: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9272: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8774: \$? = $ac_status" >&5
++ echo "$as_me:9275: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8777: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9278: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8780: \$? = $ac_status" >&5
++ echo "$as_me:9281: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -8786,7 +9287,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8789 "configure"
++#line 9290 "configure"
+ #include "confdefs.h"
+ #define _LARGEFILE_SOURCE 1
+ #include <stdio.h>
+@@ -8799,16 +9300,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8802: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9303: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8805: \$? = $ac_status" >&5
++ echo "$as_me:9306: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8808: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9309: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8811: \$? = $ac_status" >&5
++ echo "$as_me:9312: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sys_largefile_source=1; break
+ else
+@@ -8819,7 +9320,7 @@
+ break
+ done
+ fi
+-echo "$as_me:8822: result: $ac_cv_sys_largefile_source" >&5
++echo "$as_me:9323: result: $ac_cv_sys_largefile_source" >&5
+ echo "${ECHO_T}$ac_cv_sys_largefile_source" >&6
+ if test "$ac_cv_sys_largefile_source" != no; then
+
+@@ -8833,13 +9334,13 @@
+ # We used to try defining _XOPEN_SOURCE=500 too, to work around a bug
+ # in glibc 2.1.3, but that breaks too many other things.
+ # If you want fseeko and ftello with glibc, upgrade to a fixed glibc.
+-echo "$as_me:8836: checking for fseeko" >&5
++echo "$as_me:9337: checking for fseeko" >&5
+ echo $ECHO_N "checking for fseeko... $ECHO_C" >&6
+ if test "${ac_cv_func_fseeko+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8842 "configure"
++#line 9343 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -8851,16 +9352,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:8854: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9355: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8857: \$? = $ac_status" >&5
++ echo "$as_me:9358: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:8860: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9361: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8863: \$? = $ac_status" >&5
++ echo "$as_me:9364: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_fseeko=yes
+ else
+@@ -8870,7 +9371,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:8873: result: $ac_cv_func_fseeko" >&5
++echo "$as_me:9374: result: $ac_cv_func_fseeko" >&5
+ echo "${ECHO_T}$ac_cv_func_fseeko" >&6
+ if test $ac_cv_func_fseeko = yes; then
+
+@@ -8891,14 +9392,14 @@
+ test "$ac_cv_sys_largefile_source" != no && CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE "
+ test "$ac_cv_sys_file_offset_bits" != no && CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits "
+
+- echo "$as_me:8894: checking whether to use struct dirent64" >&5
++ echo "$as_me:9395: checking whether to use struct dirent64" >&5
+ echo $ECHO_N "checking whether to use struct dirent64... $ECHO_C" >&6
+ if test "${cf_cv_struct_dirent64+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8901 "configure"
++#line 9402 "configure"
+ #include "confdefs.h"
+
+ #include <sys/types.h>
+@@ -8919,16 +9420,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8922: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9423: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8925: \$? = $ac_status" >&5
++ echo "$as_me:9426: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8928: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9429: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8931: \$? = $ac_status" >&5
++ echo "$as_me:9432: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_struct_dirent64=yes
+ else
+@@ -8939,16 +9440,17 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+-echo "$as_me:8942: result: $cf_cv_struct_dirent64" >&5
++echo "$as_me:9443: result: $cf_cv_struct_dirent64" >&5
+ echo "${ECHO_T}$cf_cv_struct_dirent64" >&6
+- test "$cf_cv_struct_dirent64" = yes && cat >>confdefs.h <<\EOF
++ test "$cf_cv_struct_dirent64" = yes &&
++cat >>confdefs.h <<\EOF
+ #define HAVE_STRUCT_DIRENT64 1
+ EOF
+
+ fi
+
+ ### Enable compiling-in rcs id's
+-echo "$as_me:8951: checking if RCS identifiers should be compiled-in" >&5
++echo "$as_me:9453: checking if RCS identifiers should be compiled-in" >&5
+ echo $ECHO_N "checking if RCS identifiers should be compiled-in... $ECHO_C" >&6
+
+ # Check whether --with-rcs-ids or --without-rcs-ids was given.
+@@ -8958,16 +9460,17 @@
+ else
+ with_rcs_ids=no
+ fi;
+-echo "$as_me:8961: result: $with_rcs_ids" >&5
++echo "$as_me:9463: result: $with_rcs_ids" >&5
+ echo "${ECHO_T}$with_rcs_ids" >&6
+-test "$with_rcs_ids" = yes && cat >>confdefs.h <<\EOF
++test "$with_rcs_ids" = yes &&
++cat >>confdefs.h <<\EOF
+ #define USE_RCS_IDS 1
+ EOF
+
+ ###############################################################################
+
+ ### Note that some functions (such as const) are normally disabled anyway.
+-echo "$as_me:8970: checking if you want to build with function extensions" >&5
++echo "$as_me:9473: checking if you want to build with function extensions" >&5
+ echo $ECHO_N "checking if you want to build with function extensions... $ECHO_C" >&6
+
+ # Check whether --enable-ext-funcs or --disable-ext-funcs was given.
+@@ -8977,15 +9480,16 @@
+ else
+ with_ext_funcs=yes
+ fi;
+-echo "$as_me:8980: result: $with_ext_funcs" >&5
++echo "$as_me:9483: result: $with_ext_funcs" >&5
+ echo "${ECHO_T}$with_ext_funcs" >&6
+ if test "$with_ext_funcs" = yes ; then
+ NCURSES_EXT_FUNCS=1
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_USE_DEFAULT_COLORS 1
+ EOF
+
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define NCURSES_EXT_FUNCS 1
+ EOF
+
+@@ -8994,7 +9498,7 @@
+ fi
+
+ ### use option --enable-const to turn on use of const beyond that in XSI.
+-echo "$as_me:8997: checking for extended use of const keyword" >&5
++echo "$as_me:9501: checking for extended use of const keyword" >&5
+ echo $ECHO_N "checking for extended use of const keyword... $ECHO_C" >&6
+
+ # Check whether --enable-const or --disable-const was given.
+@@ -9004,7 +9508,7 @@
+ else
+ with_ext_const=no
+ fi;
+-echo "$as_me:9007: result: $with_ext_const" >&5
++echo "$as_me:9511: result: $with_ext_const" >&5
+ echo "${ECHO_T}$with_ext_const" >&6
+ NCURSES_CONST='/*nothing*/'
+ if test "$with_ext_const" = yes ; then
+@@ -9014,7 +9518,7 @@
+ ###############################################################################
+ # These options are relatively safe to experiment with.
+
+-echo "$as_me:9017: checking if you want all development code" >&5
++echo "$as_me:9521: checking if you want all development code" >&5
+ echo $ECHO_N "checking if you want all development code... $ECHO_C" >&6
+
+ # Check whether --with-develop or --without-develop was given.
+@@ -9024,7 +9528,7 @@
+ else
+ with_develop=no
+ fi;
+-echo "$as_me:9027: result: $with_develop" >&5
++echo "$as_me:9531: result: $with_develop" >&5
+ echo "${ECHO_T}$with_develop" >&6
+
+ ###############################################################################
+@@ -9033,7 +9537,7 @@
+ # This is still experimental (20080329), but should ultimately be moved to
+ # the script-block --with-normal, etc.
+
+-echo "$as_me:9036: checking if you want to link with the pthread library" >&5
++echo "$as_me:9540: checking if you want to link with the pthread library" >&5
+ echo $ECHO_N "checking if you want to link with the pthread library... $ECHO_C" >&6
+
+ # Check whether --with-pthread or --without-pthread was given.
+@@ -9043,27 +9547,27 @@
+ else
+ with_pthread=no
+ fi;
+-echo "$as_me:9046: result: $with_pthread" >&5
++echo "$as_me:9550: result: $with_pthread" >&5
+ echo "${ECHO_T}$with_pthread" >&6
+
+ if test "$with_pthread" != no ; then
+- echo "$as_me:9050: checking for pthread.h" >&5
++ echo "$as_me:9554: checking for pthread.h" >&5
+ echo $ECHO_N "checking for pthread.h... $ECHO_C" >&6
+ if test "${ac_cv_header_pthread_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9056 "configure"
++#line 9560 "configure"
+ #include "confdefs.h"
+ #include <pthread.h>
+ _ACEOF
+-if { (eval echo "$as_me:9060: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:9564: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:9066: \$? = $ac_status" >&5
++ echo "$as_me:9570: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -9082,20 +9586,22 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:9085: result: $ac_cv_header_pthread_h" >&5
++echo "$as_me:9589: result: $ac_cv_header_pthread_h" >&5
+ echo "${ECHO_T}$ac_cv_header_pthread_h" >&6
+ if test $ac_cv_header_pthread_h = yes; then
+
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define HAVE_PTHREADS_H 1
+ EOF
+
+- echo "$as_me:9093: checking if we can link with the pthread library" >&5
+-echo $ECHO_N "checking if we can link with the pthread library... $ECHO_C" >&6
+- cf_save_LIBS="$LIBS"
+- LIBS="-lpthread $LIBS"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 9098 "configure"
++ for cf_lib_pthread in pthread c_r
++ do
++ echo "$as_me:9599: checking if we can link with the $cf_lib_pthread library" >&5
++echo $ECHO_N "checking if we can link with the $cf_lib_pthread library... $ECHO_C" >&6
++ cf_save_LIBS="$LIBS"
++ LIBS="-l$cf_lib_pthread $LIBS"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 9604 "configure"
+ #include "confdefs.h"
+
+ #include <pthread.h>
+@@ -9104,23 +9610,24 @@
+ main ()
+ {
+
+- int rc = pthread_create(0,0,0,0);
++ int rc = pthread_create(0,0,0,0);
++ int r2 = pthread_mutexattr_settype(0, 0);
+
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9114: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9621: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9117: \$? = $ac_status" >&5
++ echo "$as_me:9624: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9120: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9627: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9123: \$? = $ac_status" >&5
++ echo "$as_me:9630: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ with_pthread=yes
+ else
+@@ -9129,27 +9636,30 @@
+ with_pthread=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+- LIBS="$cf_save_LIBS"
+- echo "$as_me:9133: result: $with_pthread" >&5
++ LIBS="$cf_save_LIBS"
++ echo "$as_me:9640: result: $with_pthread" >&5
+ echo "${ECHO_T}$with_pthread" >&6
++ test "$with_pthread" = yes && break
++ done
++
++ if test "$with_pthread" = yes ; then
++ LIBS="-l$cf_lib_pthread $LIBS"
+
+- if test "$with_pthread" = yes ; then
+- LIBS="-lpthread $LIBS"
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define HAVE_LIBPTHREADS 1
+ EOF
+
+- else
+- { { echo "$as_me:9143: error: Cannot link with pthread library" >&5
++ else
++ { { echo "$as_me:9653: error: Cannot link with pthread library" >&5
+ echo "$as_me: error: Cannot link with pthread library" >&2;}
+ { (exit 1); exit 1; }; }
+- fi
++ fi
+
+ fi
+
+ fi
+
+-echo "$as_me:9152: checking if you want to use weak-symbols for pthreads" >&5
++echo "$as_me:9662: checking if you want to use weak-symbols for pthreads" >&5
+ echo $ECHO_N "checking if you want to use weak-symbols for pthreads... $ECHO_C" >&6
+
+ # Check whether --enable-weak-symbols or --disable-weak-symbols was given.
+@@ -9159,18 +9669,18 @@
+ else
+ use_weak_symbols=no
+ fi;
+-echo "$as_me:9162: result: $use_weak_symbols" >&5
++echo "$as_me:9672: result: $use_weak_symbols" >&5
+ echo "${ECHO_T}$use_weak_symbols" >&6
+ if test "$use_weak_symbols" = yes ; then
+
+-echo "$as_me:9166: checking if $CC supports weak symbols" >&5
++echo "$as_me:9676: checking if $CC supports weak symbols" >&5
+ echo $ECHO_N "checking if $CC supports weak symbols... $ECHO_C" >&6
+ if test "${cf_cv_weak_symbols+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9173 "configure"
++#line 9683 "configure"
+ #include "confdefs.h"
+
+ #include <stdio.h>
+@@ -9196,16 +9706,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:9199: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9709: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:9202: \$? = $ac_status" >&5
++ echo "$as_me:9712: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:9205: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9715: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9208: \$? = $ac_status" >&5
++ echo "$as_me:9718: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_weak_symbols=yes
+ else
+@@ -9216,7 +9726,7 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+-echo "$as_me:9219: result: $cf_cv_weak_symbols" >&5
++echo "$as_me:9729: result: $cf_cv_weak_symbols" >&5
+ echo "${ECHO_T}$cf_cv_weak_symbols" >&6
+
+ else
+@@ -9224,7 +9734,8 @@
+ fi
+
+ if test $cf_cv_weak_symbols = yes ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define USE_WEAK_SYMBOLS 1
+ EOF
+
+@@ -9232,7 +9743,8 @@
+
+ PTHREAD=
+ if test "$with_pthread" = "yes" ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define USE_PTHREADS 1
+ EOF
+
+@@ -9243,13 +9755,13 @@
+ fi
+
+ # OpenSUSE is installing ncurses6, using reentrant option.
+-echo "$as_me:9246: checking for _nc_TABSIZE" >&5
++echo "$as_me:9758: checking for _nc_TABSIZE" >&5
+ echo $ECHO_N "checking for _nc_TABSIZE... $ECHO_C" >&6
+ if test "${ac_cv_func__nc_TABSIZE+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9252 "configure"
++#line 9764 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char _nc_TABSIZE (); below. */
+@@ -9272,7 +9784,7 @@
+ #if defined (__stub__nc_TABSIZE) || defined (__stub____nc_TABSIZE)
+ choke me
+ #else
+-f = _nc_TABSIZE;
++f = _nc_TABSIZE; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -9280,16 +9792,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9283: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9795: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9286: \$? = $ac_status" >&5
++ echo "$as_me:9798: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9289: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9801: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9292: \$? = $ac_status" >&5
++ echo "$as_me:9804: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func__nc_TABSIZE=yes
+ else
+@@ -9299,7 +9811,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:9302: result: $ac_cv_func__nc_TABSIZE" >&5
++echo "$as_me:9814: result: $ac_cv_func__nc_TABSIZE" >&5
+ echo "${ECHO_T}$ac_cv_func__nc_TABSIZE" >&6
+ if test $ac_cv_func__nc_TABSIZE = yes; then
+ assume_reentrant=yes
+@@ -9311,7 +9823,7 @@
+ # opaque outside of that, so there is no --enable-opaque option. We can use
+ # this option without --with-pthreads, but this will be always set for
+ # pthreads.
+-echo "$as_me:9314: checking if you want experimental reentrant code" >&5
++echo "$as_me:9826: checking if you want experimental reentrant code" >&5
+ echo $ECHO_N "checking if you want experimental reentrant code... $ECHO_C" >&6
+
+ # Check whether --enable-reentrant or --disable-reentrant was given.
+@@ -9321,7 +9833,7 @@
+ else
+ with_reentrant=$assume_reentrant
+ fi;
+-echo "$as_me:9324: result: $with_reentrant" >&5
++echo "$as_me:9836: result: $with_reentrant" >&5
+ echo "${ECHO_T}$with_reentrant" >&6
+ if test "$with_reentrant" = yes ; then
+ cf_cv_enable_reentrant=1
+@@ -9333,7 +9845,8 @@
+ elif test "$assume_reentrant" = no ; then
+ LIB_SUFFIX="t${LIB_SUFFIX}"
+ fi
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define USE_REENTRANT 1
+ EOF
+
+@@ -9343,7 +9856,7 @@
+
+ ### Allow using a different wrap-prefix
+ if test "$cf_cv_enable_reentrant" != 0 || test "$BROKEN_LINKER" = 1 ; then
+- echo "$as_me:9346: checking for prefix used to wrap public variables" >&5
++ echo "$as_me:9859: checking for prefix used to wrap public variables" >&5
+ echo $ECHO_N "checking for prefix used to wrap public variables... $ECHO_C" >&6
+
+ # Check whether --with-wrap-prefix or --without-wrap-prefix was given.
+@@ -9353,7 +9866,7 @@
+ else
+ NCURSES_WRAP_PREFIX=_nc_
+ fi;
+- echo "$as_me:9356: result: $NCURSES_WRAP_PREFIX" >&5
++ echo "$as_me:9869: result: $NCURSES_WRAP_PREFIX" >&5
+ echo "${ECHO_T}$NCURSES_WRAP_PREFIX" >&6
+ else
+ NCURSES_WRAP_PREFIX=_nc_
+@@ -9366,26 +9879,46 @@
+ ###############################################################################
+
+ ### use option --disable-echo to suppress full display compiling commands
+-echo "$as_me:9369: checking if you want to display full commands during build" >&5
+-echo $ECHO_N "checking if you want to display full commands during build... $ECHO_C" >&6
++
++echo "$as_me:9883: checking if you want to see long compiling messages" >&5
++echo $ECHO_N "checking if you want to see long compiling messages... $ECHO_C" >&6
+
+ # Check whether --enable-echo or --disable-echo was given.
+ if test "${enable_echo+set}" = set; then
+ enableval="$enable_echo"
+- with_echo=$enableval
++ test "$enableval" != no && enableval=yes
++ if test "$enableval" != "yes" ; then
++
++ ECHO_LT='--silent'
++ ECHO_LD='@echo linking $@;'
++ RULE_CC='@echo compiling $<'
++ SHOW_CC='@echo compiling $@'
++ ECHO_CC='@'
++
++ else
++
++ ECHO_LT=''
++ ECHO_LD=''
++ RULE_CC=''
++ SHOW_CC=''
++ ECHO_CC=''
++
++ fi
+ else
+- with_echo=yes
++ enableval=yes
++
++ ECHO_LT=''
++ ECHO_LD=''
++ RULE_CC=''
++ SHOW_CC=''
++ ECHO_CC=''
++
+ fi;
+-if test "$with_echo" = yes; then
+- ECHO_LINK=
+-else
+- ECHO_LINK='@ echo linking $@ ... ;'
+-fi
+-echo "$as_me:9384: result: $with_echo" >&5
+-echo "${ECHO_T}$with_echo" >&6
++echo "$as_me:9917: result: $enableval" >&5
++echo "${ECHO_T}$enableval" >&6
+
+ ### use option --enable-warnings to turn on all gcc warnings
+-echo "$as_me:9388: checking if you want to see compiler warnings" >&5
++echo "$as_me:9921: checking if you want to see compiler warnings" >&5
+ echo $ECHO_N "checking if you want to see compiler warnings... $ECHO_C" >&6
+
+ # Check whether --enable-warnings or --disable-warnings was given.
+@@ -9393,7 +9926,7 @@
+ enableval="$enable_warnings"
+ with_warnings=$enableval
+ fi;
+-echo "$as_me:9396: result: $with_warnings" >&5
++echo "$as_me:9929: result: $with_warnings" >&5
+ echo "${ECHO_T}$with_warnings" >&6
+
+ if test "x$with_warnings" = "xyes"; then
+@@ -9405,12 +9938,12 @@
+ if test "$GCC" = yes ; then
+ case $host_os in
+ linux*|gnu*)
+- echo "$as_me:9408: checking if this is really Intel C compiler" >&5
++ echo "$as_me:9941: checking if this is really Intel C compiler" >&5
+ echo $ECHO_N "checking if this is really Intel C compiler... $ECHO_C" >&6
+ cf_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -no-gcc"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9413 "configure"
++#line 9946 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -9427,16 +9960,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:9430: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9963: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:9433: \$? = $ac_status" >&5
++ echo "$as_me:9966: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:9436: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9969: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9439: \$? = $ac_status" >&5
++ echo "$as_me:9972: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ INTEL_COMPILER=yes
+ cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc"
+@@ -9447,14 +9980,63 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ CFLAGS="$cf_save_CFLAGS"
+- echo "$as_me:9450: result: $INTEL_COMPILER" >&5
++ echo "$as_me:9983: result: $INTEL_COMPILER" >&5
+ echo "${ECHO_T}$INTEL_COMPILER" >&6
+ ;;
+ esac
+ fi
+
++CLANG_COMPILER=no
++
++if test "$GCC" = yes ; then
++ echo "$as_me:9992: checking if this is really Clang C compiler" >&5
++echo $ECHO_N "checking if this is really Clang C compiler... $ECHO_C" >&6
++ cf_save_CFLAGS="$CFLAGS"
++ CFLAGS="$CFLAGS -Qunused-arguments"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 9997 "configure"
++#include "confdefs.h"
++
++int
++main ()
++{
++
++#ifdef __clang__
++#else
++make an error
++#endif
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:10014: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:10017: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:10020: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:10023: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ CLANG_COMPILER=yes
++cf_save_CFLAGS="$cf_save_CFLAGS -Qunused-arguments"
++
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CFLAGS="$cf_save_CFLAGS"
++ echo "$as_me:10034: result: $CLANG_COMPILER" >&5
++echo "${ECHO_T}$CLANG_COMPILER" >&6
++fi
++
+ cat > conftest.$ac_ext <<EOF
+-#line 9457 "${as_me:-configure}"
++#line 10039 "${as_me:-configure}"
+ int main(int argc, char *argv[]) { return (argv[argc-1] == 0) ; }
+ EOF
+
+@@ -9471,7 +10053,7 @@
+ # remark #981: operands are evaluated in unspecified order
+ # warning #279: controlling expression is constant
+
+- { echo "$as_me:9474: checking for $CC warning options..." >&5
++ { echo "$as_me:10056: checking for $CC warning options..." >&5
+ echo "$as_me: checking for $CC warning options..." >&6;}
+ cf_save_CFLAGS="$CFLAGS"
+ EXTRA_CFLAGS="-Wall"
+@@ -9487,12 +10069,12 @@
+ wd981
+ do
+ CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
+- if { (eval echo "$as_me:9490: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:10072: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:9493: \$? = $ac_status" >&5
++ echo "$as_me:10075: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+- test -n "$verbose" && echo "$as_me:9495: result: ... -$cf_opt" >&5
++ test -n "$verbose" && echo "$as_me:10077: result: ... -$cf_opt" >&5
+ echo "${ECHO_T}... -$cf_opt" >&6
+ EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
+ fi
+@@ -9501,7 +10083,7 @@
+
+ elif test "$GCC" = yes
+ then
+- { echo "$as_me:9504: checking for $CC warning options..." >&5
++ { echo "$as_me:10086: checking for $CC warning options..." >&5
+ echo "$as_me: checking for $CC warning options..." >&6;}
+ cf_save_CFLAGS="$CFLAGS"
+ EXTRA_CFLAGS=
+@@ -9521,12 +10103,12 @@
+ Wundef $cf_warn_CONST Wdeclaration-after-statement Wextra Wno-unknown-pragmas Wswitch-enum
+ do
+ CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
+- if { (eval echo "$as_me:9524: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:10106: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:9527: \$? = $ac_status" >&5
++ echo "$as_me:10109: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+- test -n "$verbose" && echo "$as_me:9529: result: ... -$cf_opt" >&5
++ test -n "$verbose" && echo "$as_me:10111: result: ... -$cf_opt" >&5
+ echo "${ECHO_T}... -$cf_opt" >&6
+ case $cf_opt in #(vi
+ Wcast-qual) #(vi
+@@ -9537,7 +10119,17 @@
+ [34].*)
+ test -n "$verbose" && echo " feature is broken in gcc $GCC_VERSION" 1>&6
+
+-echo "${as_me:-configure}:9540: testing feature is broken in gcc $GCC_VERSION ..." 1>&5
++echo "${as_me:-configure}:10122: testing feature is broken in gcc $GCC_VERSION ..." 1>&5
++
++ continue;;
++ esac
++ ;;
++ Wpointer-arith) #(vi
++ case $GCC_VERSION in
++ [12].*)
++ test -n "$verbose" && echo " feature is broken in gcc $GCC_VERSION" 1>&6
++
++echo "${as_me:-configure}:10132: testing feature is broken in gcc $GCC_VERSION ..." 1>&5
+
+ continue;;
+ esac
+@@ -9570,10 +10162,10 @@
+ EOF
+ if test "$GCC" = yes
+ then
+- { echo "$as_me:9573: checking for $CC __attribute__ directives..." >&5
++ { echo "$as_me:10165: checking for $CC __attribute__ directives..." >&5
+ echo "$as_me: checking for $CC __attribute__ directives..." >&6;}
+ cat > conftest.$ac_ext <<EOF
+-#line 9576 "${as_me:-configure}"
++#line 10168 "${as_me:-configure}"
+ #include "confdefs.h"
+ #include "conftest.h"
+ #include "conftest.i"
+@@ -9622,36 +10214,60 @@
+ ;;
+ esac
+
+- if { (eval echo "$as_me:9625: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:10217: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:9628: \$? = $ac_status" >&5
++ echo "$as_me:10220: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+- test -n "$verbose" && echo "$as_me:9630: result: ... $cf_attribute" >&5
++ test -n "$verbose" && echo "$as_me:10222: result: ... $cf_attribute" >&5
+ echo "${ECHO_T}... $cf_attribute" >&6
+ cat conftest.h >>confdefs.h
+ case $cf_attribute in #(vi
+- printf) #(vi
+- if test "$cf_printf_attribute" = no ; then
+- cat >>confdefs.h <<EOF
+-#define GCC_PRINTFLIKE(fmt,var) /* nothing */
++ noreturn) #(vi
++
++cat >>confdefs.h <<EOF
++#define GCC_NORETURN $cf_directive
+ EOF
+- else
+- cat >>confdefs.h <<EOF
+-#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
++
++ ;;
++ printf) #(vi
++ cf_value='/* nothing */'
++ if test "$cf_printf_attribute" != no ; then
++ cf_value='__attribute__((format(printf,fmt,var)))'
++
++cat >>confdefs.h <<\EOF
++#define GCC_PRINTF 1
+ EOF
++
+ fi
++
++cat >>confdefs.h <<EOF
++#define GCC_PRINTFLIKE(fmt,var) $cf_value
++EOF
++
+ ;;
+ scanf) #(vi
+- if test "$cf_scanf_attribute" = no ; then
+- cat >>confdefs.h <<EOF
+-#define GCC_SCANFLIKE(fmt,var) /* nothing */
+-EOF
+- else
+- cat >>confdefs.h <<EOF
+-#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
++ cf_value='/* nothing */'
++ if test "$cf_scanf_attribute" != no ; then
++ cf_value='__attribute__((format(scanf,fmt,var)))'
++
++cat >>confdefs.h <<\EOF
++#define GCC_SCANF 1
+ EOF
++
+ fi
++
++cat >>confdefs.h <<EOF
++#define GCC_SCANFLIKE(fmt,var) $cf_value
++EOF
++
++ ;;
++ unused) #(vi
++
++cat >>confdefs.h <<EOF
++#define GCC_UNUSED $cf_directive
++EOF
++
+ ;;
+ esac
+ fi
+@@ -9663,7 +10279,7 @@
+ fi
+
+ ### use option --enable-assertions to turn on generation of assertion code
+-echo "$as_me:9666: checking if you want to enable runtime assertions" >&5
++echo "$as_me:10282: checking if you want to enable runtime assertions" >&5
+ echo $ECHO_N "checking if you want to enable runtime assertions... $ECHO_C" >&6
+
+ # Check whether --enable-assertions or --disable-assertions was given.
+@@ -9673,16 +10289,12 @@
+ else
+ with_assertions=no
+ fi;
+-echo "$as_me:9676: result: $with_assertions" >&5
++echo "$as_me:10292: result: $with_assertions" >&5
+ echo "${ECHO_T}$with_assertions" >&6
+ if test -n "$GCC"
+ then
+ if test "$with_assertions" = no
+ then
+- cat >>confdefs.h <<\EOF
+-#define NDEBUG 1
+-EOF
+-
+ CPPFLAGS="$CPPFLAGS -DNDEBUG"
+ else
+
+@@ -9692,6 +10304,7 @@
+ fi
+
+ ### use option --disable-leaks to suppress "permanent" leaks, for testing
++
+ cat >>confdefs.h <<\EOF
+ #define HAVE_NC_ALLOC_H 1
+ EOF
+@@ -9701,7 +10314,8 @@
+ # Check whether --enable-expanded or --disable-expanded was given.
+ if test "${enable_expanded+set}" = set; then
+ enableval="$enable_expanded"
+- test "$enableval" = yes && cat >>confdefs.h <<\EOF
++ test "$enableval" = yes &&
++cat >>confdefs.h <<\EOF
+ #define NCURSES_EXPANDED 1
+ EOF
+
+@@ -9712,7 +10326,8 @@
+ # Check whether --enable-macros or --disable-macros was given.
+ if test "${enable_macros+set}" = set; then
+ enableval="$enable_macros"
+- test "$enableval" = no && cat >>confdefs.h <<\EOF
++ test "$enableval" = no &&
++cat >>confdefs.h <<\EOF
+ #define NCURSES_NOMACROS 1
+ EOF
+
+@@ -9727,7 +10342,7 @@
+ ;;
+ esac
+
+-echo "$as_me:9730: checking whether to add trace feature to all models" >&5
++echo "$as_me:10345: checking whether to add trace feature to all models" >&5
+ echo $ECHO_N "checking whether to add trace feature to all models... $ECHO_C" >&6
+
+ # Check whether --with-trace or --without-trace was given.
+@@ -9737,7 +10352,7 @@
+ else
+ cf_with_trace=$cf_all_traces
+ fi;
+-echo "$as_me:9740: result: $cf_with_trace" >&5
++echo "$as_me:10355: result: $cf_with_trace" >&5
+ echo "${ECHO_T}$cf_with_trace" >&6
+
+ if test "$cf_with_trace" = yes ; then
+@@ -9830,13 +10445,13 @@
+ *mingw32*) #(vi
+ ;;
+ *)
+-echo "$as_me:9833: checking for gettimeofday" >&5
++echo "$as_me:10448: checking for gettimeofday" >&5
+ echo $ECHO_N "checking for gettimeofday... $ECHO_C" >&6
+ if test "${ac_cv_func_gettimeofday+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9839 "configure"
++#line 10454 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char gettimeofday (); below. */
+@@ -9859,7 +10474,7 @@
+ #if defined (__stub_gettimeofday) || defined (__stub___gettimeofday)
+ choke me
+ #else
+-f = gettimeofday;
++f = gettimeofday; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -9867,16 +10482,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9870: \"$ac_link\"") >&5
++if { (eval echo "$as_me:10485: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9873: \$? = $ac_status" >&5
++ echo "$as_me:10488: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9876: \"$ac_try\"") >&5
++ { (eval echo "$as_me:10491: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9879: \$? = $ac_status" >&5
++ echo "$as_me:10494: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_gettimeofday=yes
+ else
+@@ -9886,7 +10501,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:9889: result: $ac_cv_func_gettimeofday" >&5
++echo "$as_me:10504: result: $ac_cv_func_gettimeofday" >&5
+ echo "${ECHO_T}$ac_cv_func_gettimeofday" >&6
+ if test $ac_cv_func_gettimeofday = yes; then
+ cat >>confdefs.h <<\EOF
+@@ -9895,7 +10510,7 @@
+
+ else
+
+-echo "$as_me:9898: checking for gettimeofday in -lbsd" >&5
++echo "$as_me:10513: checking for gettimeofday in -lbsd" >&5
+ echo $ECHO_N "checking for gettimeofday in -lbsd... $ECHO_C" >&6
+ if test "${ac_cv_lib_bsd_gettimeofday+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -9903,7 +10518,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lbsd $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9906 "configure"
++#line 10521 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -9922,16 +10537,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9925: \"$ac_link\"") >&5
++if { (eval echo "$as_me:10540: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9928: \$? = $ac_status" >&5
++ echo "$as_me:10543: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9931: \"$ac_try\"") >&5
++ { (eval echo "$as_me:10546: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9934: \$? = $ac_status" >&5
++ echo "$as_me:10549: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_bsd_gettimeofday=yes
+ else
+@@ -9942,10 +10557,11 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:9945: result: $ac_cv_lib_bsd_gettimeofday" >&5
++echo "$as_me:10560: result: $ac_cv_lib_bsd_gettimeofday" >&5
+ echo "${ECHO_T}$ac_cv_lib_bsd_gettimeofday" >&6
+ if test $ac_cv_lib_bsd_gettimeofday = yes; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_GETTIMEOFDAY 1
+ EOF
+
+@@ -9957,13 +10573,13 @@
+ esac
+
+ ### Checks for header files.
+-echo "$as_me:9960: checking for ANSI C header files" >&5
++echo "$as_me:10576: checking for ANSI C header files" >&5
+ echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+ if test "${ac_cv_header_stdc+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9966 "configure"
++#line 10582 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ #include <stdarg.h>
+@@ -9971,13 +10587,13 @@
+ #include <float.h>
+
+ _ACEOF
+-if { (eval echo "$as_me:9974: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:10590: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:9980: \$? = $ac_status" >&5
++ echo "$as_me:10596: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -9999,7 +10615,7 @@
+ if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10002 "configure"
++#line 10618 "configure"
+ #include "confdefs.h"
+ #include <string.h>
+
+@@ -10017,7 +10633,7 @@
+ if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10020 "configure"
++#line 10636 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+
+@@ -10038,7 +10654,7 @@
+ :
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10041 "configure"
++#line 10657 "configure"
+ #include "confdefs.h"
+ #include <ctype.h>
+ #if ((' ' & 0x0FF) == 0x020)
+@@ -10064,15 +10680,15 @@
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:10067: \"$ac_link\"") >&5
++if { (eval echo "$as_me:10683: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:10070: \$? = $ac_status" >&5
++ echo "$as_me:10686: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:10072: \"$ac_try\"") >&5
++ { (eval echo "$as_me:10688: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10075: \$? = $ac_status" >&5
++ echo "$as_me:10691: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -10085,7 +10701,7 @@
+ fi
+ fi
+ fi
+-echo "$as_me:10088: result: $ac_cv_header_stdc" >&5
++echo "$as_me:10704: result: $ac_cv_header_stdc" >&5
+ echo "${ECHO_T}$ac_cv_header_stdc" >&6
+ if test $ac_cv_header_stdc = yes; then
+
+@@ -10098,13 +10714,13 @@
+ ac_header_dirent=no
+ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
+ as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
+-echo "$as_me:10101: checking for $ac_hdr that defines DIR" >&5
++echo "$as_me:10717: checking for $ac_hdr that defines DIR" >&5
+ echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10107 "configure"
++#line 10723 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #include <$ac_hdr>
+@@ -10119,16 +10735,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:10122: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:10738: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:10125: \$? = $ac_status" >&5
++ echo "$as_me:10741: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:10128: \"$ac_try\"") >&5
++ { (eval echo "$as_me:10744: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10131: \$? = $ac_status" >&5
++ echo "$as_me:10747: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_Header=yes"
+ else
+@@ -10138,7 +10754,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:10141: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "$as_me:10757: result: `eval echo '${'$as_ac_Header'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -10151,7 +10767,7 @@
+ done
+ # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
+ if test $ac_header_dirent = dirent.h; then
+- echo "$as_me:10154: checking for opendir in -ldir" >&5
++ echo "$as_me:10770: checking for opendir in -ldir" >&5
+ echo $ECHO_N "checking for opendir in -ldir... $ECHO_C" >&6
+ if test "${ac_cv_lib_dir_opendir+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -10159,7 +10775,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-ldir $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10162 "configure"
++#line 10778 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -10178,16 +10794,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:10181: \"$ac_link\"") >&5
++if { (eval echo "$as_me:10797: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:10184: \$? = $ac_status" >&5
++ echo "$as_me:10800: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:10187: \"$ac_try\"") >&5
++ { (eval echo "$as_me:10803: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10190: \$? = $ac_status" >&5
++ echo "$as_me:10806: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_dir_opendir=yes
+ else
+@@ -10198,14 +10814,14 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:10201: result: $ac_cv_lib_dir_opendir" >&5
++echo "$as_me:10817: result: $ac_cv_lib_dir_opendir" >&5
+ echo "${ECHO_T}$ac_cv_lib_dir_opendir" >&6
+ if test $ac_cv_lib_dir_opendir = yes; then
+ LIBS="$LIBS -ldir"
+ fi
+
+ else
+- echo "$as_me:10208: checking for opendir in -lx" >&5
++ echo "$as_me:10824: checking for opendir in -lx" >&5
+ echo $ECHO_N "checking for opendir in -lx... $ECHO_C" >&6
+ if test "${ac_cv_lib_x_opendir+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -10213,7 +10829,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lx $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10216 "configure"
++#line 10832 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -10232,16 +10848,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:10235: \"$ac_link\"") >&5
++if { (eval echo "$as_me:10851: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:10238: \$? = $ac_status" >&5
++ echo "$as_me:10854: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:10241: \"$ac_try\"") >&5
++ { (eval echo "$as_me:10857: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10244: \$? = $ac_status" >&5
++ echo "$as_me:10860: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_x_opendir=yes
+ else
+@@ -10252,7 +10868,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:10255: result: $ac_cv_lib_x_opendir" >&5
++echo "$as_me:10871: result: $ac_cv_lib_x_opendir" >&5
+ echo "${ECHO_T}$ac_cv_lib_x_opendir" >&6
+ if test $ac_cv_lib_x_opendir = yes; then
+ LIBS="$LIBS -lx"
+@@ -10260,13 +10876,13 @@
+
+ fi
+
+-echo "$as_me:10263: checking whether time.h and sys/time.h may both be included" >&5
++echo "$as_me:10879: checking whether time.h and sys/time.h may both be included" >&5
+ echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6
+ if test "${ac_cv_header_time+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10269 "configure"
++#line 10885 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #include <sys/time.h>
+@@ -10282,16 +10898,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:10285: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:10901: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:10288: \$? = $ac_status" >&5
++ echo "$as_me:10904: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:10291: \"$ac_try\"") >&5
++ { (eval echo "$as_me:10907: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10294: \$? = $ac_status" >&5
++ echo "$as_me:10910: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_header_time=yes
+ else
+@@ -10301,7 +10917,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:10304: result: $ac_cv_header_time" >&5
++echo "$as_me:10920: result: $ac_cv_header_time" >&5
+ echo "${ECHO_T}$ac_cv_header_time" >&6
+ if test $ac_cv_header_time = yes; then
+
+@@ -10319,104 +10935,13 @@
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ ac_main_return=return
+
+-echo "$as_me:10322: checking for $CC option to accept ANSI C" >&5
+-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
+-if test "${ac_cv_prog_cc_stdc+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_cv_prog_cc_stdc=no
+-ac_save_CC=$CC
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 10330 "configure"
+-#include "confdefs.h"
+-#include <stdarg.h>
+-#include <stdio.h>
+-#include <sys/types.h>
+-#include <sys/stat.h>
+-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+-struct buf { int x; };
+-FILE * (*rcsopen) (struct buf *, struct stat *, int);
+-static char *e (p, i)
+- char **p;
+- int i;
+-{
+- return p[i];
+-}
+-static char *f (char * (*g) (char **, int), char **p, ...)
+-{
+- char *s;
+- va_list v;
+- va_start (v,p);
+- s = g (p, va_arg (v,int));
+- va_end (v);
+- return s;
+-}
+-int test (int i, double x);
+-struct s1 {int (*f) (int a);};
+-struct s2 {int (*f) (double a);};
+-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+-int argc;
+-char **argv;
+-int
+-main ()
+-{
+-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+- ;
+- return 0;
+-}
+-_ACEOF
+-# Don't try gcc -ansi; that turns off useful extensions and
+-# breaks some systems' header files.
+-# AIX -qlanglvl=ansi
+-# Ultrix and OSF/1 -std1
+-# HP-UX 10.20 and later -Ae
+-# HP-UX older versions -Aa -D_HPUX_SOURCE
+-# SVR4 -Xc -D__EXTENSIONS__
+-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+-do
+- CC="$ac_save_CC $ac_arg"
+- rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:10379: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:10382: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:10385: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:10388: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_prog_cc_stdc=$ac_arg
+-break
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-fi
+-rm -f conftest.$ac_objext
+-done
+-rm -f conftest.$ac_ext conftest.$ac_objext
+-CC=$ac_save_CC
+-
+-fi
+-
+-case "x$ac_cv_prog_cc_stdc" in
+- x|xno)
+- echo "$as_me:10405: result: none needed" >&5
+-echo "${ECHO_T}none needed" >&6 ;;
+- *)
+- echo "$as_me:10408: result: $ac_cv_prog_cc_stdc" >&5
+-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
+- CC="$CC $ac_cv_prog_cc_stdc" ;;
+-esac
+-
+-echo "$as_me:10413: checking for an ANSI C-conforming const" >&5
++echo "$as_me:10938: checking for an ANSI C-conforming const" >&5
+ echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6
+ if test "${ac_cv_c_const+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10419 "configure"
++#line 10944 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -10474,16 +10999,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:10477: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:11002: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:10480: \$? = $ac_status" >&5
++ echo "$as_me:11005: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:10483: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11008: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10486: \$? = $ac_status" >&5
++ echo "$as_me:11011: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_c_const=yes
+ else
+@@ -10493,7 +11018,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:10496: result: $ac_cv_c_const" >&5
++echo "$as_me:11021: result: $ac_cv_c_const" >&5
+ echo "${ECHO_T}$ac_cv_c_const" >&6
+ if test $ac_cv_c_const = no; then
+
+@@ -10505,7 +11030,7 @@
+
+ ### Checks for external-data
+
+-echo "$as_me:10508: checking if data-only library module links" >&5
++echo "$as_me:11033: checking if data-only library module links" >&5
+ echo $ECHO_N "checking if data-only library module links... $ECHO_C" >&6
+ if test "${cf_cv_link_dataonly+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -10513,20 +11038,20 @@
+
+ rm -f conftest.a
+ cat >conftest.$ac_ext <<EOF
+-#line 10516 "configure"
++#line 11041 "configure"
+ int testdata[3] = { 123, 456, 789 };
+ EOF
+- if { (eval echo "$as_me:10519: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:11044: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:10522: \$? = $ac_status" >&5
++ echo "$as_me:11047: \$? = $ac_status" >&5
+ (exit $ac_status); } ; then
+ mv conftest.o data.o && \
+ ( $AR $ARFLAGS conftest.a data.o ) 2>&5 1>/dev/null
+ fi
+ rm -f conftest.$ac_ext data.o
+ cat >conftest.$ac_ext <<EOF
+-#line 10529 "configure"
++#line 11054 "configure"
+ int testfunc()
+ {
+ #if defined(NeXT)
+@@ -10539,10 +11064,10 @@
+ #endif
+ }
+ EOF
+- if { (eval echo "$as_me:10542: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:11067: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:10545: \$? = $ac_status" >&5
++ echo "$as_me:11070: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ mv conftest.o func.o && \
+ ( $AR $ARFLAGS conftest.a func.o ) 2>&5 1>/dev/null
+@@ -10555,7 +11080,7 @@
+ cf_cv_link_dataonly=unknown
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10558 "configure"
++#line 11083 "configure"
+ #include "confdefs.h"
+
+ int main()
+@@ -10566,15 +11091,15 @@
+
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:10569: \"$ac_link\"") >&5
++if { (eval echo "$as_me:11094: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:10572: \$? = $ac_status" >&5
++ echo "$as_me:11097: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:10574: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11099: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10577: \$? = $ac_status" >&5
++ echo "$as_me:11102: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_link_dataonly=yes
+ else
+@@ -10589,11 +11114,12 @@
+
+ fi
+
+-echo "$as_me:10592: result: $cf_cv_link_dataonly" >&5
++echo "$as_me:11117: result: $cf_cv_link_dataonly" >&5
+ echo "${ECHO_T}$cf_cv_link_dataonly" >&6
+
+ if test "$cf_cv_link_dataonly" = no ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define BROKEN_LINKER 1
+ EOF
+
+@@ -10602,7 +11128,7 @@
+
+ ### Checks for library functions.
+
+-echo "$as_me:10605: checking for working mkstemp" >&5
++echo "$as_me:11131: checking for working mkstemp" >&5
+ echo $ECHO_N "checking for working mkstemp... $ECHO_C" >&6
+ if test "${cf_cv_func_mkstemp+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -10610,68 +11136,10 @@
+
+ rm -rf conftest*
+ if test "$cross_compiling" = yes; then
+- echo "$as_me:10613: checking for mkstemp" >&5
+-echo $ECHO_N "checking for mkstemp... $ECHO_C" >&6
+-if test "${ac_cv_func_mkstemp+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 10619 "configure"
+-#include "confdefs.h"
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char mkstemp (); below. */
+-#include <assert.h>
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char mkstemp ();
+-char (*f) ();
+-
+-int
+-main ()
+-{
+-/* The GNU C library defines this for functions which it implements
+- to always fail with ENOSYS. Some functions are actually named
+- something starting with __ and the normal name is an alias. */
+-#if defined (__stub_mkstemp) || defined (__stub___mkstemp)
+-choke me
+-#else
+-f = mkstemp;
+-#endif
+-
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:10650: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:10653: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:10656: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:10659: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_func_mkstemp=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-ac_cv_func_mkstemp=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-fi
+-echo "$as_me:10669: result: $ac_cv_func_mkstemp" >&5
+-echo "${ECHO_T}$ac_cv_func_mkstemp" >&6
+-
++ cf_cv_func_mkstemp=maybe
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10674 "configure"
++#line 11142 "configure"
+ #include "confdefs.h"
+
+ #include <sys/types.h>
+@@ -10709,15 +11177,15 @@
+
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:10712: \"$ac_link\"") >&5
++if { (eval echo "$as_me:11180: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:10715: \$? = $ac_status" >&5
++ echo "$as_me:11183: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:10717: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11185: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10720: \$? = $ac_status" >&5
++ echo "$as_me:11188: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_func_mkstemp=yes
+
+@@ -10732,80 +11200,89 @@
+ fi
+
+ fi
+-echo "$as_me:10735: result: $cf_cv_func_mkstemp" >&5
++echo "$as_me:11203: result: $cf_cv_func_mkstemp" >&5
+ echo "${ECHO_T}$cf_cv_func_mkstemp" >&6
+-if test "x$cf_cv_func_mkstemp" = xyes || test "x$ac_cv_func_mkstemp" = xyes ; then
+- cat >>confdefs.h <<\EOF
+-#define HAVE_MKSTEMP 1
+-EOF
+-
+-fi
+-
+-echo "$as_me:10744: checking return type of signal handlers" >&5
+-echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6
+-if test "${ac_cv_type_signal+set}" = set; then
++if test "x$cf_cv_func_mkstemp" = xmaybe ; then
++ echo "$as_me:11206: checking for mkstemp" >&5
++echo $ECHO_N "checking for mkstemp... $ECHO_C" >&6
++if test "${ac_cv_func_mkstemp+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10750 "configure"
++#line 11212 "configure"
+ #include "confdefs.h"
+-#include <sys/types.h>
+-#include <signal.h>
+-#ifdef signal
+-# undef signal
+-#endif
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char mkstemp (); below. */
++#include <assert.h>
++/* Override any gcc2 internal prototype to avoid an error. */
+ #ifdef __cplusplus
+-extern "C" void (*signal (int, void (*)(int)))(int);
+-#else
+-void (*signal ()) ();
++extern "C"
+ #endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char mkstemp ();
++char (*f) ();
+
+ int
+ main ()
+ {
+-int i;
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined (__stub_mkstemp) || defined (__stub___mkstemp)
++choke me
++#else
++f = mkstemp; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
++#endif
++
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:10772: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:11243: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:10775: \$? = $ac_status" >&5
++ echo "$as_me:11246: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:10778: \"$ac_try\"") >&5
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:11249: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10781: \$? = $ac_status" >&5
++ echo "$as_me:11252: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_type_signal=void
++ ac_cv_func_mkstemp=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_type_signal=int
++ac_cv_func_mkstemp=no
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:10791: result: $ac_cv_type_signal" >&5
+-echo "${ECHO_T}$ac_cv_type_signal" >&6
++echo "$as_me:11262: result: $ac_cv_func_mkstemp" >&5
++echo "${ECHO_T}$ac_cv_func_mkstemp" >&6
+
+-cat >>confdefs.h <<EOF
+-#define RETSIGTYPE $ac_cv_type_signal
++fi
++if test "x$cf_cv_func_mkstemp" = xyes || test "x$ac_cv_func_mkstemp" = xyes ; then
++
++cat >>confdefs.h <<\EOF
++#define HAVE_MKSTEMP 1
+ EOF
+
++fi
++
+ if test -z "$cf_user_CFLAGS" && test "$with_no_leaks" = no ; then
+ CFLAGS=`echo ${CFLAGS} | sed -e 's%-g %%' -e 's%-g$%%'`
+ CXXFLAGS=`echo ${CXXFLAGS} | sed -e 's%-g %%' -e 's%-g$%%'`
+ fi
+
++cf_with_ada=yes
+ if test "$cf_with_ada" != "no" ; then
+
+ cf_ada_make=gnatmake
+ # Extract the first word of "$cf_ada_make", so it can be a program name with args.
+ set dummy $cf_ada_make; ac_word=$2
+-echo "$as_me:10808: checking for $ac_word" >&5
++echo "$as_me:11285: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_gnat_exists+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -10820,7 +11297,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_gnat_exists="yes"
+-echo "$as_me:10823: found $ac_dir/$ac_word" >&5
++echo "$as_me:11300: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -10829,31 +11306,32 @@
+ fi
+ gnat_exists=$ac_cv_prog_gnat_exists
+ if test -n "$gnat_exists"; then
+- echo "$as_me:10832: result: $gnat_exists" >&5
++ echo "$as_me:11309: result: $gnat_exists" >&5
+ echo "${ECHO_T}$gnat_exists" >&6
+ else
+- echo "$as_me:10835: result: no" >&5
++ echo "$as_me:11312: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+ if test "$ac_cv_prog_gnat_exists" = no; then
+ cf_ada_make=
++ cf_cv_prog_gnat_correct=no
+ else
+
+-echo "$as_me:10843: checking for gnat version" >&5
++echo "$as_me:11321: checking for gnat version" >&5
+ echo $ECHO_N "checking for gnat version... $ECHO_C" >&6
+ cf_gnat_version=`${cf_ada_make:-gnatmake} -v 2>&1 | \
+ grep '[0-9].[0-9][0-9]*' |\
+ sed -e '2,$d' -e 's/[^0-9 \.]//g' -e 's/^[ ]*//' -e 's/ .*//'`
+-echo "$as_me:10848: result: $cf_gnat_version" >&5
++echo "$as_me:11326: result: $cf_gnat_version" >&5
+ echo "${ECHO_T}$cf_gnat_version" >&6
+
+ case $cf_gnat_version in #(vi
+-3.1[1-9]*|3.[2-9]*|[4-9].*) #(vi
++3.1[1-9]*|3.[2-9]*|[4-9].*|20[0-9][0-9]) #(vi
+ cf_cv_prog_gnat_correct=yes
+ ;;
+ *)
+- { echo "$as_me:10856: WARNING: Unsupported GNAT version $cf_gnat_version. We require 3.11 or better. Disabling Ada95 binding." >&5
++ { echo "$as_me:11334: WARNING: Unsupported GNAT version $cf_gnat_version. We require 3.11 or better. Disabling Ada95 binding." >&5
+ echo "$as_me: WARNING: Unsupported GNAT version $cf_gnat_version. We require 3.11 or better. Disabling Ada95 binding." >&2;}
+ cf_cv_prog_gnat_correct=no
+ ;;
+@@ -10861,7 +11339,7 @@
+
+ # Extract the first word of "m4", so it can be a program name with args.
+ set dummy m4; ac_word=$2
+-echo "$as_me:10864: checking for $ac_word" >&5
++echo "$as_me:11342: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_M4_exists+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -10876,7 +11354,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_M4_exists="yes"
+-echo "$as_me:10879: found $ac_dir/$ac_word" >&5
++echo "$as_me:11357: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -10885,10 +11363,10 @@
+ fi
+ M4_exists=$ac_cv_prog_M4_exists
+ if test -n "$M4_exists"; then
+- echo "$as_me:10888: result: $M4_exists" >&5
++ echo "$as_me:11366: result: $M4_exists" >&5
+ echo "${ECHO_T}$M4_exists" >&6
+ else
+- echo "$as_me:10891: result: no" >&5
++ echo "$as_me:11369: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -10897,7 +11375,7 @@
+ echo Ada95 binding required program m4 not found. Ada95 binding disabled.
+ fi
+ if test "$cf_cv_prog_gnat_correct" = yes; then
+- echo "$as_me:10900: checking if GNAT works" >&5
++ echo "$as_me:11378: checking if GNAT works" >&5
+ echo $ECHO_N "checking if GNAT works... $ECHO_C" >&6
+
+ rm -rf conftest* *~conftest*
+@@ -10925,30 +11403,34 @@
+ fi
+ rm -rf conftest* *~conftest*
+
+- echo "$as_me:10928: result: $cf_cv_prog_gnat_correct" >&5
++ echo "$as_me:11406: result: $cf_cv_prog_gnat_correct" >&5
+ echo "${ECHO_T}$cf_cv_prog_gnat_correct" >&6
+ fi
+ fi
+
+ if test "$cf_cv_prog_gnat_correct" = yes; then
+
+- # make ADAFLAGS consistent with CFLAGS
+- case "$CFLAGS" in
+- *-g*)
++ echo "$as_me:11413: checking optimization options for ADAFLAGS" >&5
++echo $ECHO_N "checking optimization options for ADAFLAGS... $ECHO_C" >&6
++ case "$CFLAGS" in
++ *-g*)
+
+ ADAFLAGS="$ADAFLAGS -g"
+
+- ;;
+- esac
+- case "$CFLAGS" in
+- *-O*)
++ ;;
++ esac
++ case "$CFLAGS" in
++ *-O*)
++ cf_O_flag=`echo "$CFLAGS" |sed -e 's/^.*-O/-O/' -e 's/[ ].*//'`
+
+- ADAFLAGS="$ADAFLAGS -O3"
++ ADAFLAGS="$ADAFLAGS $cf_O_flag"
+
+- ;;
+- esac
++ ;;
++ esac
++ echo "$as_me:11430: result: $ADAFLAGS" >&5
++echo "${ECHO_T}$ADAFLAGS" >&6
+
+-echo "$as_me:10951: checking if GNAT supports generics" >&5
++echo "$as_me:11433: checking if GNAT supports generics" >&5
+ echo $ECHO_N "checking if GNAT supports generics... $ECHO_C" >&6
+ case $cf_gnat_version in #(vi
+ 3.[1-9]*|[4-9].*) #(vi
+@@ -10958,7 +11440,7 @@
+ cf_gnat_generics=no
+ ;;
+ esac
+-echo "$as_me:10961: result: $cf_gnat_generics" >&5
++echo "$as_me:11443: result: $cf_gnat_generics" >&5
+ echo "${ECHO_T}$cf_gnat_generics" >&6
+
+ if test "$cf_gnat_generics" = yes
+@@ -10970,7 +11452,7 @@
+ cf_generic_objects=
+ fi
+
+-echo "$as_me:10973: checking if GNAT supports SIGINT" >&5
++echo "$as_me:11455: checking if GNAT supports SIGINT" >&5
+ echo $ECHO_N "checking if GNAT supports SIGINT... $ECHO_C" >&6
+ if test "${cf_cv_gnat_sigint+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -11018,7 +11500,7 @@
+ rm -rf conftest* *~conftest*
+
+ fi
+-echo "$as_me:11021: result: $cf_cv_gnat_sigint" >&5
++echo "$as_me:11503: result: $cf_cv_gnat_sigint" >&5
+ echo "${ECHO_T}$cf_cv_gnat_sigint" >&6
+
+ if test $cf_cv_gnat_sigint = yes ; then
+@@ -11027,7 +11509,7 @@
+ USE_GNAT_SIGINT="#"
+ fi
+
+-echo "$as_me:11030: checking if GNAT pragma Unreferenced works" >&5
++echo "$as_me:11512: checking if GNAT pragma Unreferenced works" >&5
+ echo $ECHO_N "checking if GNAT pragma Unreferenced works... $ECHO_C" >&6
+ if test "${cf_cv_pragma_unreferenced+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -11058,7 +11540,7 @@
+ rm -rf conftest* *~conftest*
+
+ fi
+-echo "$as_me:11061: result: $cf_cv_pragma_unreferenced" >&5
++echo "$as_me:11543: result: $cf_cv_pragma_unreferenced" >&5
+ echo "${ECHO_T}$cf_cv_pragma_unreferenced" >&6
+
+ # if the pragma is supported, use it (needed in the Trace code).
+@@ -11071,7 +11553,7 @@
+ cf_gnat_libraries=no
+ cf_gnat_projects=no
+
+-echo "$as_me:11074: checking if GNAT supports project files" >&5
++echo "$as_me:11556: checking if GNAT supports project files" >&5
+ echo $ECHO_N "checking if GNAT supports project files... $ECHO_C" >&6
+ case $cf_gnat_version in #(vi
+ 3.[0-9]*) #(vi
+@@ -11139,14 +11621,14 @@
+ esac
+ ;;
+ esac
+-echo "$as_me:11142: result: $cf_gnat_projects" >&5
++echo "$as_me:11624: result: $cf_gnat_projects" >&5
+ echo "${ECHO_T}$cf_gnat_projects" >&6
+
+ if test $cf_gnat_projects = yes
+ then
+- echo "$as_me:11147: checking if GNAT supports libraries" >&5
++ echo "$as_me:11629: checking if GNAT supports libraries" >&5
+ echo $ECHO_N "checking if GNAT supports libraries... $ECHO_C" >&6
+- echo "$as_me:11149: result: $cf_gnat_libraries" >&5
++ echo "$as_me:11631: result: $cf_gnat_libraries" >&5
+ echo "${ECHO_T}$cf_gnat_libraries" >&6
+ fi
+
+@@ -11166,7 +11648,7 @@
+ USE_GNAT_LIBRARIES="#"
+ fi
+
+-echo "$as_me:11169: checking for ada-compiler" >&5
++echo "$as_me:11651: checking for ada-compiler" >&5
+ echo $ECHO_N "checking for ada-compiler... $ECHO_C" >&6
+
+ # Check whether --with-ada-compiler or --without-ada-compiler was given.
+@@ -11177,12 +11659,12 @@
+ cf_ada_compiler=gnatmake
+ fi;
+
+-echo "$as_me:11180: result: $cf_ada_compiler" >&5
++echo "$as_me:11662: result: $cf_ada_compiler" >&5
+ echo "${ECHO_T}$cf_ada_compiler" >&6
+
+ cf_ada_package=terminal_interface
+
+-echo "$as_me:11185: checking for ada-include" >&5
++echo "$as_me:11667: checking for ada-include" >&5
+ echo $ECHO_N "checking for ada-include... $ECHO_C" >&6
+
+ # Check whether --with-ada-include or --without-ada-include was given.
+@@ -11206,7 +11688,7 @@
+ ;;
+ .[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
+ ;;
+-.\${*prefix}*) #(vi
++.\${*prefix}*|.\${*dir}*) #(vi
+ eval withval="$withval"
+ case ".$withval" in #(vi
+ .NONE/*)
+@@ -11218,19 +11700,19 @@
+ withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%`
+ ;;
+ *)
+- { { echo "$as_me:11221: error: expected a pathname, not \"$withval\"" >&5
++ { { echo "$as_me:11703: error: expected a pathname, not \"$withval\"" >&5
+ echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+ esac
+
+ fi
+-ADA_INCLUDE="$withval"
++eval ADA_INCLUDE="$withval"
+
+-echo "$as_me:11230: result: $ADA_INCLUDE" >&5
++echo "$as_me:11712: result: $ADA_INCLUDE" >&5
+ echo "${ECHO_T}$ADA_INCLUDE" >&6
+
+-echo "$as_me:11233: checking for ada-objects" >&5
++echo "$as_me:11715: checking for ada-objects" >&5
+ echo $ECHO_N "checking for ada-objects... $ECHO_C" >&6
+
+ # Check whether --with-ada-objects or --without-ada-objects was given.
+@@ -11254,7 +11736,7 @@
+ ;;
+ .[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
+ ;;
+-.\${*prefix}*) #(vi
++.\${*prefix}*|.\${*dir}*) #(vi
+ eval withval="$withval"
+ case ".$withval" in #(vi
+ .NONE/*)
+@@ -11266,19 +11748,19 @@
+ withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%`
+ ;;
+ *)
+- { { echo "$as_me:11269: error: expected a pathname, not \"$withval\"" >&5
++ { { echo "$as_me:11751: error: expected a pathname, not \"$withval\"" >&5
+ echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+ esac
+
+ fi
+-ADA_OBJECTS="$withval"
++eval ADA_OBJECTS="$withval"
+
+-echo "$as_me:11278: result: $ADA_OBJECTS" >&5
++echo "$as_me:11760: result: $ADA_OBJECTS" >&5
+ echo "${ECHO_T}$ADA_OBJECTS" >&6
+
+-echo "$as_me:11281: checking if an Ada95 shared-library should be built" >&5
++echo "$as_me:11763: checking if an Ada95 shared-library should be built" >&5
+ echo $ECHO_N "checking if an Ada95 shared-library should be built... $ECHO_C" >&6
+
+ # Check whether --with-ada-sharedlib or --without-ada-sharedlib was given.
+@@ -11288,7 +11770,7 @@
+ else
+ with_ada_sharedlib=no
+ fi;
+-echo "$as_me:11291: result: $with_ada_sharedlib" >&5
++echo "$as_me:11773: result: $with_ada_sharedlib" >&5
+ echo "${ECHO_T}$with_ada_sharedlib" >&6
+
+ ADA_SHAREDLIB='lib$(LIB_NAME).so.1'
+@@ -11304,12 +11786,12 @@
+ fi
+
+ else
+- { { echo "$as_me:11307: error: No usable Ada compiler found" >&5
++ { { echo "$as_me:11789: error: No usable Ada compiler found" >&5
+ echo "$as_me: error: No usable Ada compiler found" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ else
+- { { echo "$as_me:11312: error: The Ada compiler is needed for this package" >&5
++ { { echo "$as_me:11794: error: The Ada compiler is needed for this package" >&5
+ echo "$as_me: error: The Ada compiler is needed for this package" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -11317,25 +11799,27 @@
+ ################################################################################
+
+ # not needed
+-TINFO_ARGS2=
++TINFO_LDFLAGS2=
++
++TINFO_LIBS=
+
+ ### Construct the list of include-directories to be generated
+
+-CPPFLAGS="$CPPFLAGS -I. -I../include"
+-if test "$srcdir" != "."; then
+- CPPFLAGS="$CPPFLAGS -I\${srcdir}/../include"
+-fi
+ if test "$GCC" != yes; then
+- CPPFLAGS="$CPPFLAGS -I\${includedir}"
++ CPPFLAGS="-I\${includedir} $CPPFLAGS"
+ elif test "$includedir" != "/usr/include"; then
+ if test "$includedir" = '${prefix}/include' ; then
+ if test $prefix != /usr ; then
+- CPPFLAGS="$CPPFLAGS -I\${includedir}"
++ CPPFLAGS="-I\${includedir} $CPPFLAGS"
+ fi
+ else
+- CPPFLAGS="$CPPFLAGS -I\${includedir}"
++ CPPFLAGS="-I\${includedir} $CPPFLAGS"
+ fi
+ fi
++if test "$srcdir" != "."; then
++ CPPFLAGS="-I\${srcdir}/../include $CPPFLAGS"
++fi
++CPPFLAGS="-I. -I../include $CPPFLAGS"
+
+ ACPPFLAGS="-I. -I../include -I../../include $ACPPFLAGS"
+ if test "$srcdir" != "."; then
+@@ -11354,7 +11838,7 @@
+ fi
+
+ ### Build up pieces for makefile rules
+-echo "$as_me:11357: checking default library suffix" >&5
++echo "$as_me:11841: checking default library suffix" >&5
+ echo $ECHO_N "checking default library suffix... $ECHO_C" >&6
+
+ case $DFT_LWR_MODEL in
+@@ -11365,10 +11849,10 @@
+ shared) DFT_ARG_SUFFIX='' ;;
+ esac
+ test -n "$LIB_SUFFIX" && DFT_ARG_SUFFIX="${LIB_SUFFIX}${DFT_ARG_SUFFIX}"
+-echo "$as_me:11368: result: $DFT_ARG_SUFFIX" >&5
++echo "$as_me:11852: result: $DFT_ARG_SUFFIX" >&5
+ echo "${ECHO_T}$DFT_ARG_SUFFIX" >&6
+
+-echo "$as_me:11371: checking default library-dependency suffix" >&5
++echo "$as_me:11855: checking default library-dependency suffix" >&5
+ echo $ECHO_N "checking default library-dependency suffix... $ECHO_C" >&6
+
+ case $DFT_LWR_MODEL in #(vi
+@@ -11390,11 +11874,11 @@
+ ;;
+ shared) #(vi
+ case $cf_cv_system_name in
+- aix[56]*) #(vi
++ aix[5-7]*) #(vi
+ DFT_LIB_SUFFIX='.a'
+ DFT_DEP_SUFFIX=$DFT_LIB_SUFFIX
+ ;;
+- cygwin*) #(vi
++ cygwin*|mingw*) #(vi
+ DFT_LIB_SUFFIX='.dll'
+ DFT_DEP_SUFFIX='.dll.a'
+ ;;
+@@ -11421,10 +11905,10 @@
+ esac
+ test -n "$LIB_SUFFIX" && DFT_LIB_SUFFIX="${LIB_SUFFIX}${DFT_LIB_SUFFIX}"
+ test -n "$LIB_SUFFIX" && DFT_DEP_SUFFIX="${LIB_SUFFIX}${DFT_DEP_SUFFIX}"
+-echo "$as_me:11424: result: $DFT_DEP_SUFFIX" >&5
++echo "$as_me:11908: result: $DFT_DEP_SUFFIX" >&5
+ echo "${ECHO_T}$DFT_DEP_SUFFIX" >&6
+
+-echo "$as_me:11427: checking default object directory" >&5
++echo "$as_me:11911: checking default object directory" >&5
+ echo $ECHO_N "checking default object directory... $ECHO_C" >&6
+
+ case $DFT_LWR_MODEL in
+@@ -11440,7 +11924,7 @@
+ DFT_OBJ_SUBDIR='obj_s' ;;
+ esac
+ esac
+-echo "$as_me:11443: result: $DFT_OBJ_SUBDIR" >&5
++echo "$as_me:11927: result: $DFT_OBJ_SUBDIR" >&5
+ echo "${ECHO_T}$DFT_OBJ_SUBDIR" >&6
+
+ ### Set up low-level terminfo dependencies for makefiles.
+@@ -11656,7 +12140,7 @@
+ : ${CONFIG_STATUS=./config.status}
+ ac_clean_files_save=$ac_clean_files
+ ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+-{ echo "$as_me:11659: creating $CONFIG_STATUS" >&5
++{ echo "$as_me:12143: creating $CONFIG_STATUS" >&5
+ echo "$as_me: creating $CONFIG_STATUS" >&6;}
+ cat >$CONFIG_STATUS <<_ACEOF
+ #! $SHELL
+@@ -11788,7 +12272,7 @@
+ cat >>$CONFIG_STATUS <<EOF
+ ac_cs_version="\\
+ config.status
+-configured by $0, generated by GNU Autoconf 2.52.20101002,
++configured by $0, generated by GNU Autoconf 2.52.20121002,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+ Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+@@ -11832,7 +12316,7 @@
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+- { { echo "$as_me:11835: error: ambiguous option: $1
++ { { echo "$as_me:12319: error: ambiguous option: $1
+ Try \`$0 --help' for more information." >&5
+ echo "$as_me: error: ambiguous option: $1
+ Try \`$0 --help' for more information." >&2;}
+@@ -11851,7 +12335,7 @@
+ ac_need_defaults=false;;
+
+ # This is an error.
+- -*) { { echo "$as_me:11854: error: unrecognized option: $1
++ -*) { { echo "$as_me:12338: error: unrecognized option: $1
+ Try \`$0 --help' for more information." >&5
+ echo "$as_me: error: unrecognized option: $1
+ Try \`$0 --help' for more information." >&2;}
+@@ -11870,7 +12354,7 @@
+ ## Running config.status. ##
+ ## ----------------------- ##
+
+-This file was extended by $as_me 2.52.20101002, executed with
++This file was extended by $as_me 2.52.20121002, executed with
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+@@ -11892,8 +12376,8 @@
+ AWK="$AWK"
+ DFT_ARG_SUFFIX="$DFT_ARG_SUFFIX"
+ DFT_LWR_MODEL="$DFT_LWR_MODEL"
+-ECHO_LINK="$ECHO_LINK"
+ LIB_NAME="$LIB_NAME"
++LIB_PREFIX="$LIB_PREFIX"
+ LIB_SUFFIX="$LIB_SUFFIX"
+ LN_S="$LN_S"
+ NCURSES_MAJOR="$NCURSES_MAJOR"
+@@ -11922,7 +12406,7 @@
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
+ "include/ncurses_cfg.h" ) CONFIG_HEADERS="$CONFIG_HEADERS include/ncurses_cfg.h:include/ncurses_cfg.hin" ;;
+- *) { { echo "$as_me:11925: error: invalid argument: $ac_config_target" >&5
++ *) { { echo "$as_me:12409: error: invalid argument: $ac_config_target" >&5
+ echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+@@ -11981,6 +12465,7 @@
+ s,@bindir@,$bindir,;t t
+ s,@sbindir@,$sbindir,;t t
+ s,@libexecdir@,$libexecdir,;t t
++s,@datarootdir@,$datarootdir,;t t
+ s,@datadir@,$datadir,;t t
+ s,@sysconfdir@,$sysconfdir,;t t
+ s,@sharedstatedir@,$sharedstatedir,;t t
+@@ -12024,9 +12509,8 @@
+ s,@ac_ct_CC@,$ac_ct_CC,;t t
+ s,@EXEEXT@,$EXEEXT,;t t
+ s,@OBJEXT@,$OBJEXT,;t t
+-s,@CPP@,$CPP,;t t
+ s,@EXTRA_CPPFLAGS@,$EXTRA_CPPFLAGS,;t t
+-s,@PROG_EXT@,$PROG_EXT,;t t
++s,@CPP@,$CPP,;t t
+ s,@AWK@,$AWK,;t t
+ s,@EGREP@,$EGREP,;t t
+ s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+@@ -12061,6 +12545,7 @@
+ s,@DFT_LWR_MODEL@,$DFT_LWR_MODEL,;t t
+ s,@DFT_UPR_MODEL@,$DFT_UPR_MODEL,;t t
+ s,@NCURSES_CONFIG@,$NCURSES_CONFIG,;t t
++s,@ac_ct_NCURSES_CONFIG@,$ac_ct_NCURSES_CONFIG,;t t
+ s,@NCURSES_MAJOR@,$NCURSES_MAJOR,;t t
+ s,@NCURSES_MINOR@,$NCURSES_MINOR,;t t
+ s,@NCURSES_PATCH@,$NCURSES_PATCH,;t t
+@@ -12083,13 +12568,18 @@
+ s,@LOCAL_LDFLAGS@,$LOCAL_LDFLAGS,;t t
+ s,@LOCAL_LDFLAGS2@,$LOCAL_LDFLAGS2,;t t
+ s,@INSTALL_LIB@,$INSTALL_LIB,;t t
++s,@RPATH_LIST@,$RPATH_LIST,;t t
+ s,@BROKEN_LINKER@,$BROKEN_LINKER,;t t
+ s,@NCURSES_EXT_FUNCS@,$NCURSES_EXT_FUNCS,;t t
+ s,@NCURSES_CONST@,$NCURSES_CONST,;t t
+ s,@PTHREAD@,$PTHREAD,;t t
+ s,@cf_cv_enable_reentrant@,$cf_cv_enable_reentrant,;t t
+ s,@NCURSES_WRAP_PREFIX@,$NCURSES_WRAP_PREFIX,;t t
+-s,@ECHO_LINK@,$ECHO_LINK,;t t
++s,@ECHO_LT@,$ECHO_LT,;t t
++s,@ECHO_LD@,$ECHO_LD,;t t
++s,@RULE_CC@,$RULE_CC,;t t
++s,@SHOW_CC@,$SHOW_CC,;t t
++s,@ECHO_CC@,$ECHO_CC,;t t
+ s,@ADAFLAGS@,$ADAFLAGS,;t t
+ s,@EXTRA_CFLAGS@,$EXTRA_CFLAGS,;t t
+ s,@ADA_TRACE@,$ADA_TRACE,;t t
+@@ -12109,7 +12599,8 @@
+ s,@ADA_OBJECTS@,$ADA_OBJECTS,;t t
+ s,@ADA_SHAREDLIB@,$ADA_SHAREDLIB,;t t
+ s,@MAKE_ADA_SHAREDLIB@,$MAKE_ADA_SHAREDLIB,;t t
+-s,@TINFO_ARGS2@,$TINFO_ARGS2,;t t
++s,@TINFO_LDFLAGS2@,$TINFO_LDFLAGS2,;t t
++s,@TINFO_LIBS@,$TINFO_LIBS,;t t
+ s,@ACPPFLAGS@,$ACPPFLAGS,;t t
+ s,@DFT_ARG_SUFFIX@,$DFT_ARG_SUFFIX,;t t
+ s,@DFT_DEP_SUFFIX@,$DFT_DEP_SUFFIX,;t t
+@@ -12237,7 +12728,7 @@
+ esac
+
+ if test x"$ac_file" != x-; then
+- { echo "$as_me:12240: creating $ac_file" >&5
++ { echo "$as_me:12731: creating $ac_file" >&5
+ echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+@@ -12255,7 +12746,7 @@
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+- test -f "$f" || { { echo "$as_me:12258: error: cannot find input file: $f" >&5
++ test -f "$f" || { { echo "$as_me:12749: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+@@ -12268,13 +12759,45 @@
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+- { { echo "$as_me:12271: error: cannot find input file: $f" >&5
++ { { echo "$as_me:12762: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+ EOF
++cat >>$CONFIG_STATUS <<\EOF
++ ac_warn_datarootdir=no
++ if test x"$ac_file" != x-; then
++ for ac_item in $ac_file_inputs
++ do
++ ac_seen=`grep '@\(datadir\|mandir\|infodir\)@' $ac_item`
++ if test -n "$ac_seen"; then
++ ac_used=`grep '@datarootdir@' $ac_item`
++ if test -z "$ac_used"; then
++ { echo "$as_me:12778: WARNING: datarootdir was used implicitly but not set:
++$ac_seen" >&5
++echo "$as_me: WARNING: datarootdir was used implicitly but not set:
++$ac_seen" >&2;}
++ ac_warn_datarootdir=yes
++ fi
++ fi
++ ac_seen=`grep '${datarootdir}' $ac_item`
++ if test -n "$ac_seen"; then
++ { echo "$as_me:12787: WARNING: datarootdir was used explicitly but not set:
++$ac_seen" >&5
++echo "$as_me: WARNING: datarootdir was used explicitly but not set:
++$ac_seen" >&2;}
++ ac_warn_datarootdir=yes
++ fi
++ done
++ fi
++
++if test "x$ac_warn_datarootdir" = xyes; then
++ ac_sed_cmds="$ac_sed_cmds | sed -e 's,@datarootdir@,\${prefix}/share,g' -e 's,\${datarootdir},\${prefix}/share,g'"
++fi
++
++EOF
+ cat >>$CONFIG_STATUS <<EOF
+ sed "$ac_vpsub
+ $extrasub
+@@ -12289,11 +12812,35 @@
+ " $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+- mv $tmp/out $ac_file
++ cp $tmp/out $ac_file
++
++ for ac_name in prefix exec_prefix datarootdir
++ do
++ ac_seen=`fgrep -n '${'$ac_name'[:=].*}' $ac_file`
++ if test -n "$ac_seen"; then
++ ac_init=`egrep '[ ]*'$ac_name'[ ]*=' $ac_file`
++ if test -z "$ac_init"; then
++ ac_seen=`echo "$ac_seen" |sed -e 's,^,'$ac_file':,'`
++ { echo "$as_me:12824: WARNING: Variable $ac_name is used but was not set:
++$ac_seen" >&5
++echo "$as_me: WARNING: Variable $ac_name is used but was not set:
++$ac_seen" >&2;}
++ fi
++ fi
++ done
++ egrep -n '@[a-z_][a-z_0-9]+@' $ac_file >$tmp/out
++ egrep -n '@[A-Z_][A-Z_0-9]+@' $ac_file >>$tmp/out
++ if test -s $tmp/out; then
++ ac_seen=`sed -e 's,^,'$ac_file':,' < $tmp/out`
++ { echo "$as_me:12835: WARNING: Some variables may not be substituted:
++$ac_seen" >&5
++echo "$as_me: WARNING: Some variables may not be substituted:
++$ac_seen" >&2;}
++ fi
+ else
+ cat $tmp/out
+- rm -f $tmp/out
+ fi
++ rm -f $tmp/out
+
+ done
+ EOF
+@@ -12334,7 +12881,7 @@
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+- test x"$ac_file" != x- && { echo "$as_me:12337: creating $ac_file" >&5
++ test x"$ac_file" != x- && { echo "$as_me:12884: creating $ac_file" >&5
+ echo "$as_me: creating $ac_file" >&6;}
+
+ # First look for the input files in the build tree, otherwise in the
+@@ -12345,7 +12892,7 @@
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+- test -f "$f" || { { echo "$as_me:12348: error: cannot find input file: $f" >&5
++ test -f "$f" || { { echo "$as_me:12895: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+@@ -12358,7 +12905,7 @@
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+- { { echo "$as_me:12361: error: cannot find input file: $f" >&5
++ { { echo "$as_me:12908: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+@@ -12416,7 +12963,7 @@
+ rm -f $tmp/in
+ if test x"$ac_file" != x-; then
+ if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
+- { echo "$as_me:12419: $ac_file is unchanged" >&5
++ { echo "$as_me:12966: $ac_file is unchanged" >&5
+ echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+Index: Ada95/configure.in
+Prereq: 1.30
+--- ncurses-5.9/Ada95/configure.in 2011-03-31 22:49:22.000000000 +0000
++++ ncurses-5.9-20130504/Ada95/configure.in 2013-04-27 19:50:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ dnl***************************************************************************
+-dnl Copyright (c) 2010,2011 Free Software Foundation, Inc. *
++dnl Copyright (c) 2010-2012,2013 Free Software Foundation, Inc. *
+ dnl *
+ dnl Permission is hereby granted, free of charge, to any person obtaining a *
+ dnl copy of this software and associated documentation files (the *
+@@ -28,24 +28,20 @@
+ dnl
+ dnl Author: Thomas E. Dickey
+ dnl
+-dnl $Id: configure.in,v 1.30 2011/03/31 22:49:22 tom Exp $
++dnl $Id: configure.in,v 1.47 2013/04/27 19:50:17 tom Exp $
+ dnl Process this file with autoconf to produce a configure script.
+ dnl
+ dnl See http://invisible-island.net/autoconf/ for additional information.
+ dnl
+ dnl ---------------------------------------------------------------------------
+-AC_PREREQ(2.13.20020210)
+-AC_REVISION($Revision: 1.30 $)
++AC_PREREQ(2.52.20030208)
++AC_REVISION($Revision: 1.47 $)
+ AC_INIT(gen/gen.c)
+ AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
+
+ CF_TOP_BUILDDIR
+
+-CF_CHECK_CACHE([AC_CANONICAL_SYSTEM])
+-AC_ARG_WITH(system-type,
+-[ --with-system-type=XXX test: override derived host system-type],
+-[AC_MSG_WARN(overriding system type to $withval)
+- cf_cv_system_name=$withval])
++CF_WITH_SYSTYPE
+
+ ### Save the given $CFLAGS to allow user-override.
+ cf_user_CFLAGS="$CFLAGS"
+@@ -54,15 +50,10 @@
+ CF_CFG_DEFAULTS
+
+ ### Checks for programs.
+-AC_PROG_CC
+-CF_GCC_VERSION
+-
++CF_PROG_CC(gnatgcc gcc cc)
+ AC_PROG_CPP
+ AC_PROG_GCC_TRADITIONAL
+ CF_PROG_CC_C_O(CC)
+-AC_ISC_POSIX
+-CF_ANSI_CC_REQD
+-CF_PROG_EXT
+
+ AC_ARG_PROGRAM
+
+@@ -75,28 +66,8 @@
+
+ # if we find pkg-config, check if we should install the ".pc" files.
+ CF_PKG_CONFIG
+-
+-if test "$PKG_CONFIG" != none ; then
+- AC_MSG_CHECKING(if we should install .pc files for $PKG_CONFIG)
+-
+- # Leave this as something that can be overridden in the environment.
+- if test -z "$PKG_CONFIG_LIBDIR" ; then
+- PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG" | sed -e 's,/[[^/]]*/[[^/]]*$,,'`/lib/pkgconfig
+- fi
+- PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG_LIBDIR" | sed -e 's/^://' -e 's/:.*//'`
+- if test -n "$PKG_CONFIG_LIBDIR" && test -d "$PKG_CONFIG_LIBDIR" ; then
+- AC_ARG_ENABLE(pc-files,
+- [ --enable-pc-files generate and install .pc files for pkg-config],
+- [enable_pc_files=$enableval],
+- [enable_pc_files=no])
+- AC_MSG_RESULT($enable_pc_files)
+- else
+- AC_MSG_RESULT(no)
+- AC_MSG_WARN(did not find library $PKG_CONFIG_LIBDIR)
+- enable_pc_files=no
+- fi
+-fi
+-AC_SUBST(PKG_CONFIG_LIBDIR)
++CF_WITH_PKG_CONFIG_LIBDIR
++CF_ENABLE_PC_FILES
+
+ AC_MSG_CHECKING(if you want to build test-programs)
+ AC_ARG_WITH(tests,
+@@ -130,6 +101,7 @@
+ AC_CHECK_TOOL(LD, ld, ld)
+ AC_CHECK_TOOL(AR, ar, ar)
+ CF_AR_FLAGS
++CF_PATHSEP
+
+ dnl Special option for use by system-builders: the install-prefix is used to
+ dnl adjust the location into which the actual install is done, so that an
+@@ -186,9 +158,7 @@
+
+ CF_NCURSES_ADDON
+
+-CF_LIB_PREFIX(cf_prefix)
+-LIB_PREFIX=$cf_prefix
+-AC_SUBST(LIB_PREFIX)
++CF_WITH_LIB_PREFIX(cf_prefix)
+
+ LIB_SUFFIX=
+ AC_SUBST(LIB_SUFFIX)
+@@ -235,8 +205,6 @@
+ ###############################################################################
+ CF_HELP_MESSAGE(Fine-Tuning Your Configuration:)
+
+-CF_PATHSEP
+-
+ ### use option --enable-broken-linker to force on use of broken-linker support
+ AC_MSG_CHECKING(if you want broken-linker support code)
+ AC_ARG_ENABLE(broken_linker,
+@@ -272,7 +240,7 @@
+ [with_rcs_ids=$withval],
+ [with_rcs_ids=no])
+ AC_MSG_RESULT($with_rcs_ids)
+-test "$with_rcs_ids" = yes && AC_DEFINE(USE_RCS_IDS)
++test "$with_rcs_ids" = yes && AC_DEFINE(USE_RCS_IDS,1,[Define to 1 if RCS identifiers should be compiled-in)])
+
+ ###############################################################################
+ CF_HELP_MESSAGE(Extensions:)
+@@ -286,8 +254,8 @@
+ AC_MSG_RESULT($with_ext_funcs)
+ if test "$with_ext_funcs" = yes ; then
+ NCURSES_EXT_FUNCS=1
+- AC_DEFINE(HAVE_USE_DEFAULT_COLORS)
+- AC_DEFINE(NCURSES_EXT_FUNCS)
++ AC_DEFINE(HAVE_USE_DEFAULT_COLORS,1,[Define to 1 if we have use_default_colors function])
++ AC_DEFINE(NCURSES_EXT_FUNCS,1,[Define to 1 if we have ncurses extended functions])
+ else
+ NCURSES_EXT_FUNCS=0
+ fi
+@@ -337,12 +305,12 @@
+ fi
+
+ if test $cf_cv_weak_symbols = yes ; then
+- AC_DEFINE(USE_WEAK_SYMBOLS)
++ AC_DEFINE(USE_WEAK_SYMBOLS,1,[Define to 1 to enable weak-symbols for pthreads])
+ fi
+
+ PTHREAD=
+ if test "$with_pthread" = "yes" ; then
+- AC_DEFINE(USE_PTHREADS)
++ AC_DEFINE(USE_PTHREADS,1,[Define to 1 to use the pthreads library])
+ enable_reentrant=yes
+ if test $cf_cv_weak_symbols = yes ; then
+ PTHREAD=-lpthread
+@@ -370,7 +338,7 @@
+ elif test "$assume_reentrant" = no ; then
+ LIB_SUFFIX="t${LIB_SUFFIX}"
+ fi
+- AC_DEFINE(USE_REENTRANT)
++ AC_DEFINE(USE_REENTRANT,1,[Define to 1 to compile with experimental reentrant code])
+ else
+ cf_cv_enable_reentrant=0
+ fi
+@@ -388,24 +356,13 @@
+ NCURSES_WRAP_PREFIX=_nc_
+ fi
+ AC_SUBST(NCURSES_WRAP_PREFIX)
+-AC_DEFINE_UNQUOTED(NCURSES_WRAP_PREFIX,"$NCURSES_WRAP_PREFIX")
++AC_DEFINE_UNQUOTED(NCURSES_WRAP_PREFIX,"$NCURSES_WRAP_PREFIX",[Define to override _nc_ ncurses internal prefix])
+
+ ###############################################################################
+ CF_HELP_MESSAGE(Testing/development Options:)
+
+ ### use option --disable-echo to suppress full display compiling commands
+-AC_MSG_CHECKING(if you want to display full commands during build)
+-AC_ARG_ENABLE(echo,
+- [ --enable-echo build: display "compiling" commands (default)],
+- [with_echo=$enableval],
+- [with_echo=yes])
+-if test "$with_echo" = yes; then
+- ECHO_LINK=
+-else
+- ECHO_LINK='@ echo linking $@ ... ;'
+-fi
+-AC_MSG_RESULT($with_echo)
+-AC_SUBST(ECHO_LINK)
++CF_DISABLE_ECHO
+
+ ### use option --enable-warnings to turn on all gcc warnings
+ AC_MSG_CHECKING(if you want to see compiler warnings)
+@@ -431,7 +388,6 @@
+ then
+ if test "$with_assertions" = no
+ then
+- AC_DEFINE(NDEBUG)
+ CPPFLAGS="$CPPFLAGS -DNDEBUG"
+ else
+ CF_ADD_ADAFLAGS(-gnata)
+@@ -439,17 +395,17 @@
+ fi
+
+ ### use option --disable-leaks to suppress "permanent" leaks, for testing
+-AC_DEFINE(HAVE_NC_ALLOC_H)
++AC_DEFINE(HAVE_NC_ALLOC_H,1,[Define to 1 if we have nc_alloc.h header])
+
+ ### use option --enable-expanded to generate certain macros as functions
+ AC_ARG_ENABLE(expanded,
+ [ --enable-expanded test: generate functions for certain macros],
+- [test "$enableval" = yes && AC_DEFINE(NCURSES_EXPANDED)])
++ [test "$enableval" = yes && AC_DEFINE(NCURSES_EXPANDED,1,[Define to 1 if ncurses macros should be expanded as functions])])
+
+ ### use option --disable-macros to suppress macros in favor of functions
+ AC_ARG_ENABLE(macros,
+ [ --disable-macros test: use functions rather than macros],
+- [test "$enableval" = no && AC_DEFINE(NCURSES_NOMACROS)])
++ [test "$enableval" = no && AC_DEFINE(NCURSES_NOMACROS,1,[Define to 1 if ncurses macros should be expanded as functions])])
+
+ # Normally we only add trace() to the debug-library. Allow this to be
+ # extended to all models of the ncurses library:
+@@ -485,7 +441,7 @@
+ AC_DEFINE(HAVE_GETTIMEOFDAY),[
+
+ AC_CHECK_LIB(bsd, gettimeofday,
+- AC_DEFINE(HAVE_GETTIMEOFDAY)
++ AC_DEFINE(HAVE_GETTIMEOFDAY,1,[Define to 1 if we have gettimeofday])
+ LIBS="$LIBS -lbsd")])dnl CLIX: bzero, select, gettimeofday
+ ;;
+ esac
+@@ -505,8 +461,6 @@
+ ### Checks for library functions.
+ CF_MKSTEMP
+
+-AC_TYPE_SIGNAL
+-
+ dnl We'll do our own -g libraries, unless the user's overridden via $CFLAGS
+ if test -z "$cf_user_CFLAGS" && test "$with_no_leaks" = no ; then
+ CF_STRIP_G_OPT(CFLAGS)
+@@ -514,24 +468,13 @@
+ fi
+
+ CF_HELP_MESSAGE(Ada95 Binding Options:)
+-
++cf_with_ada=yes
+ dnl Check for availability of GNU Ada Translator (GNAT).
+ dnl At the moment we support no other Ada95 compiler.
+ if test "$cf_with_ada" != "no" ; then
+ CF_PROG_GNAT
+ if test "$cf_cv_prog_gnat_correct" = yes; then
+-
+- # make ADAFLAGS consistent with CFLAGS
+- case "$CFLAGS" in
+- *-g*)
+- CF_ADD_ADAFLAGS(-g)
+- ;;
+- esac
+- case "$CFLAGS" in
+- *-O*)
+- CF_ADD_ADAFLAGS(-O3)
+- ;;
+- esac
++ CF_FIXUP_ADAFLAGS
+
+ CF_GNAT_GENERICS
+ CF_GNAT_SIGINT
+@@ -556,8 +499,10 @@
+ ################################################################################
+
+ # not needed
+-TINFO_ARGS2=
+-AC_SUBST(TINFO_ARGS2)
++TINFO_LDFLAGS2=
++AC_SUBST(TINFO_LDFLAGS2)
++TINFO_LIBS=
++AC_SUBST(TINFO_LIBS)
+
+ ### Construct the list of include-directories to be generated
+ CF_INCLUDE_DIRS
+@@ -594,7 +539,7 @@
+
+ SUB_MAKEFILES="gen/adacurses${DFT_ARG_SUFFIX}-config:gen/adacurses-config.in"
+
+-AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATH_SEPARATOR')
++AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATH_SEPARATOR',[Define to override ':' as the library path-separator])
+
+ ### Now that we're done running tests, add the compiler-warnings, if any
+ CF_ADD_CFLAGS($EXTRA_CFLAGS)
+@@ -656,8 +601,8 @@
+ AWK="$AWK"
+ DFT_ARG_SUFFIX="$DFT_ARG_SUFFIX"
+ DFT_LWR_MODEL="$DFT_LWR_MODEL"
+-ECHO_LINK="$ECHO_LINK"
+ LIB_NAME="$LIB_NAME"
++LIB_PREFIX="$LIB_PREFIX"
+ LIB_SUFFIX="$LIB_SUFFIX"
+ LN_S="$LN_S"
+ NCURSES_MAJOR="$NCURSES_MAJOR"
+Index: Ada95/doc/Makefile.in
+Prereq: 1.2
+--- ncurses-5.9/Ada95/doc/Makefile.in 2011-03-26 19:26:17.000000000 +0000
++++ ncurses-5.9-20130504/Ada95/doc/Makefile.in 2012-08-11 21:31:56.000000000 +0000
+@@ -1,4 +1,4 @@
+-# $Id: Makefile.in,v 1.2 2011/03/26 19:26:17 tom Exp $
++# $Id: Makefile.in,v 1.3 2012/08/11 21:31:56 tom Exp $
+ ##############################################################################
+ # Copyright (c) 2011 Free Software Foundation, Inc. #
+ # #
+@@ -38,6 +38,7 @@
+ srcdir = @srcdir@
+ prefix = @prefix@
+ exec_prefix = @exec_prefix@
++datarootdir = @datarootdir@
+ datadir = @datadir@
+ mandir = @mandir@
+
+Index: Ada95/gen/Makefile.in
+Prereq: 1.74
+--- ncurses-5.9/Ada95/gen/Makefile.in 2011-03-26 23:36:30.000000000 +0000
++++ ncurses-5.9-20130504/Ada95/gen/Makefile.in 2012-10-06 18:58:48.000000000 +0000
+@@ -1,5 +1,5 @@
+ ##############################################################################
+-# Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -28,7 +28,7 @@
+ #
+ # Author: Juergen Pfeifer, 1996
+ #
+-# $Id: Makefile.in,v 1.74 2011/03/26 23:36:30 tom Exp $
++# $Id: Makefile.in,v 1.77 2012/10/06 18:58:48 tom Exp $
+ #
+ .SUFFIXES:
+
+@@ -36,7 +36,7 @@
+ VPATH = @srcdir@
+ THIS = Makefile
+
+-x = @PROG_EXT@
++x = @EXEEXT@
+
+ top_srcdir = @top_srcdir@
+ DESTDIR = @DESTDIR@
+@@ -73,7 +73,7 @@
+ LOCAL_LIBDIR = @top_builddir@/lib
+
+ LINK = $(HOST_CC)
+-LD_FLAGS = @LD_MODEL@ $(LOCAL_LIBS) @LDFLAGS@ @LIBS@ @LOCAL_LDFLAGS2@ $(LDFLAGS) @TINFO_ARGS2@
++LD_FLAGS = @LD_MODEL@ $(LOCAL_LIBS) @TINFO_LDFLAGS2@ @LDFLAGS@ @LIBS@ @LOCAL_LDFLAGS2@ $(LDFLAGS) @TINFO_LIBS@
+
+ RANLIB = @RANLIB@
+
+@@ -179,7 +179,7 @@
+ -rm -f $(DESTDIR)$(bindir)/$(ADACURSES_CONFIG)
+
+ $(PROG_GENERATE): gen.o
+- @ECHO_LINK@ $(LINK) $(CFLAGS_NORMAL) gen.o $(LD_FLAGS) -o $@
++ @ECHO_LD@ $(LINK) $(CFLAGS_NORMAL) gen.o $(LD_FLAGS) -o $@
+
+ gen.o: $(srcdir)/gen.c
+ $(HOST_CC) $(CFLAGS_NORMAL) -c -o $@ $(srcdir)/gen.c
+@@ -411,7 +411,7 @@
+ @mkdir -p $(HTML_DIR)
+ cp -p ../src/*.ad[sb] . && chmod +w *.ad[sb]
+ @USE_OLD_MAKERULES@ ln -sf ../src/*.ali .
+-@USE_GNAT_PROJECTS@ ln -sf ../static-ali/*.ali .
++@USE_GNAT_PROJECTS@ ln -sf ../static-ali/*.ali .
+ @echo "Filtering generated files"
+ @for f in $(GEN_SRC); do \
+ h=`basename $$f` ;\
+Index: Ada95/gen/gen.c
+Prereq: 1.59
+--- ncurses-5.9/Ada95/gen/gen.c 2011-03-31 23:50:24.000000000 +0000
++++ ncurses-5.9-20130504/Ada95/gen/gen.c 2011-04-30 19:47:19.000000000 +0000
+@@ -32,7 +32,7 @@
+
+ /*
+ Version Control
+- $Id: gen.c,v 1.59 2011/03/31 23:50:24 tom Exp $
++ $Id: gen.c,v 1.60 2011/04/30 19:47:19 Nicolas.Boulenguez Exp $
+ --------------------------------------------------------------------------*/
+ /*
+ This program generates various record structures and constants from the
+@@ -124,19 +124,15 @@
+ int len, /* size of the record in bytes */
+ int bias)
+ {
+- const char *unused_name = "Unused";
+- int long_bits = (8 * (int)sizeof(unsigned long));
+- int len_bits = (8 * len);
+- int i, j, n, l, cnt = 0, low, high;
++ const int len_bits = (8 * len);
++ int i, l, low, high;
+ int width = strlen(RES_NAME) + 3;
+ unsigned long a;
+- unsigned long mask = 0;
+
+ assert(nap != NULL);
+
+ for (i = 0; nap[i].name != (char *)0; i++)
+ {
+- cnt++;
+ l = (int)strlen(nap[i].name);
+ if (l > width)
+ width = l;
+@@ -147,32 +143,8 @@
+ printf(" record\n");
+ for (i = 0; nap[i].name != (char *)0; i++)
+ {
+- mask |= nap[i].attr;
+ printf(" %-*s : Boolean;\n", width, nap[i].name);
+ }
+-
+- /*
+- * Compute a mask for the unused bits in this target.
+- */
+- mask = ~mask;
+- /*
+- * Bits in the biased area are unused by the target.
+- */
+- for (j = 0; j < bias; ++j)
+- {
+- mask &= (unsigned long)(~(1L << j));
+- }
+- /*
+- * Bits past the target's size are really unused.
+- */
+- for (j = len_bits + bias; j < long_bits; ++j)
+- {
+- mask &= (unsigned long)(~(1L << j));
+- }
+- if (mask != 0)
+- {
+- printf(" %-*s : Boolean;\n", width, unused_name);
+- }
+ printf(" end record;\n");
+ printf(" pragma Convention (C, %s);\n\n", name);
+
+@@ -187,17 +159,10 @@
+ printf(" %-*s at 0 range %2d .. %2d;\n", width, nap[i].name,
+ low - bias, high - bias);
+ }
+- if (mask != 0)
+- {
+- l = find_pos((char *)&mask, sizeof(mask), &low, &high);
+- if (l >= 0)
+- printf(" %-*s at 0 range %2d .. %2d;\n", width, unused_name,
+- low - bias, high - bias);
+- }
+- i = 1;
+- n = cnt;
+ printf(" end record;\n");
++ printf(" pragma Warnings (Off);");
+ printf(" for %s'Size use %d;\n", name, len_bits);
++ printf(" pragma Warnings (On);\n");
+ printf(" -- Please note: this rep. clause is generated and may be\n");
+ printf(" -- different on your system.");
+ }
+Index: Ada95/include/ncurses_defs
+Prereq: 1.41
+--- ncurses-5.9/Ada95/include/ncurses_defs 2008-11-16 00:19:59.000000000 +0000
++++ ncurses-5.9-20130504/Ada95/include/ncurses_defs 2013-04-27 19:50:17.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: ncurses_defs,v 1.41 2008/11/16 00:19:59 juergen Exp $
++# $Id: ncurses_defs,v 1.44 2013/04/27 19:50:17 tom Exp $
+ ##############################################################################
+-# Copyright (c) 2000-2007,2008 Free Software Foundation, Inc. #
++# Copyright (c) 2000-2012,2013 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -33,7 +33,6 @@
+
+ BROKEN_LINKER
+ BSD_TPUTS
+-CC_HAS_PROTOS
+ CPP_HAS_PARAM_INIT
+ CURSES_ACS_ARRAY acs_map
+ CURSES_WACS_ARRAY _nc_wacs
+@@ -120,7 +119,6 @@
+ HAVE_SIZECHANGE
+ HAVE_SLK_COLOR
+ HAVE_SLK_INIT 1
+-HAVE_STRDUP
+ HAVE_STRSTR
+ HAVE_SYMLINK
+ HAVE_SYS_BSDTYPES_H
+@@ -174,7 +172,6 @@
+ NEED_PTEM_H
+ NO_LEAKS
+ PURE_TERMINFO
+-RETSIGTYPE
+ STDC_HEADERS
+ SVR4_ACTION
+ SVR4_TERMIO
+Index: Ada95/samples/Makefile.in
+Prereq: 1.46
+--- ncurses-5.9/Ada95/samples/Makefile.in 2011-03-28 23:45:08.000000000 +0000
++++ ncurses-5.9-20130504/Ada95/samples/Makefile.in 2012-10-06 19:00:42.000000000 +0000
+@@ -1,5 +1,5 @@
+ ##############################################################################
+-# Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -28,7 +28,7 @@
+ #
+ # Author: Juergen Pfeifer, 1996
+ #
+-# $Id: Makefile.in,v 1.46 2011/03/28 23:45:08 tom Exp $
++# $Id: Makefile.in,v 1.48 2012/10/06 19:00:42 tom Exp $
+ #
+ .SUFFIXES:
+
+@@ -36,12 +36,13 @@
+ VPATH = @srcdir@
+ THIS = Makefile
+
+-x = @PROG_EXT@
++x = @EXEEXT@
+
+ srcdir = @srcdir@
+ prefix = @prefix@
+ exec_prefix = @exec_prefix@
+ bindir = @bindir@
++datarootdir = @datarootdir@
+ datadir = @datadir@
+ libdir = @libdir@
+ includedir = @includedir@
+Index: Ada95/src/Makefile.in
+Prereq: 1.60
+--- ncurses-5.9/Ada95/src/Makefile.in 2011-03-31 09:46:16.000000000 +0000
++++ ncurses-5.9-20130504/Ada95/src/Makefile.in 2011-04-30 22:24:45.000000000 +0000
+@@ -28,7 +28,7 @@
+ #
+ # Author: Juergen Pfeifer, 1996
+ #
+-# $Id: Makefile.in,v 1.60 2011/03/31 09:46:16 tom Exp $
++# $Id: Makefile.in,v 1.62 2011/04/30 22:24:45 tom Exp $
+ #
+ .SUFFIXES:
+
+@@ -218,7 +218,9 @@
+ $(ADAPREP) -DADA_TRACE=@ADA_TRACE@ -DPRAGMA_UNREF=@PRAGMA_UNREF@ $(srcdir)/$(ABASE)-trace.adb_p $@
+
+ ###############################################################################
+-C_OBJS = c_varargs_to_ada.o ncurses_compat.o
++# Use these definitions when building a shared library.
++SHARED_C_OBJS = c_varargs_to_ada.o ncurses_compat.o
++SHARED_OBJS = $(SHARED_C_OBJS) @USE_OLD_MAKERULES@$(LIBOBJS) @cf_generic_objects@
+
+ c_varargs_to_ada.o : $(srcdir)/c_varargs_to_ada.c
+ $(CC) $(CFLAGS_DEFAULT) -c -o $@ $(srcdir)/c_varargs_to_ada.c
+@@ -227,13 +229,22 @@
+ $(CC) $(CFLAGS_DEFAULT) -c -o $@ $(srcdir)/ncurses_compat.c
+
+ ###############################################################################
++# Use these definitions when building a static library.
++STATIC_C_OBJS = static_c_varargs_to_ada.o static_ncurses_compat.o
++STATIC_OBJS = $(STATIC_C_OBJS) @USE_OLD_MAKERULES@$(LIBOBJS) @cf_generic_objects@
+
+-MIXED_OBJS = $(C_OBJS) @USE_OLD_MAKERULES@$(LIBOBJS) @cf_generic_objects@
++static_c_varargs_to_ada.o : $(srcdir)/c_varargs_to_ada.c
++ $(CC) $(CFLAGS_NORMAL) -c -o $@ $(srcdir)/c_varargs_to_ada.c
++
++static_ncurses_compat.o : $(srcdir)/ncurses_compat.c
++ $(CC) $(CFLAGS_NORMAL) -c -o $@ $(srcdir)/ncurses_compat.c
++
++###############################################################################
+
+ @USE_OLD_MAKERULES@$(BUILD_DIR_LIB)/$(STATIC_LIBNAME) :: \
+ @USE_OLD_MAKERULES@ $(BUILD_DIR_LIB) \
+-@USE_OLD_MAKERULES@ $(MIXED_OBJS)
+-@USE_OLD_MAKERULES@ $(AR) $(ARFLAGS) $@ $(MIXED_OBJS)
++@USE_OLD_MAKERULES@ $(STATIC_OBJS)
++@USE_OLD_MAKERULES@ $(AR) $(ARFLAGS) $@ $(STATIC_OBJS)
+
+ $(BUILD_DIR)/static-ali : ; mkdir -p $@
+ $(BUILD_DIR)/static-obj : ; mkdir -p $@
+@@ -245,10 +256,10 @@
+
+ @USE_GNAT_PROJECTS@$(BUILD_DIR_LIB)/$(STATIC_LIBNAME) :: \
+ @USE_GNAT_PROJECTS@ $(ABASE)-trace.adb \
+-@USE_GNAT_PROJECTS@ $(C_OBJS) \
++@USE_GNAT_PROJECTS@ $(STATIC_C_OBJS) \
+ @USE_GNAT_PROJECTS@ $(STATIC_DIRS)
+ @USE_GNAT_PROJECTS@ $(ADAMAKE) $(ADAMAKEFLAGS) -XLIB_KIND=static
+-@USE_GNAT_PROJECTS@ $(AR) $(ARFLAGS) $@ $(C_OBJS)
++@USE_GNAT_PROJECTS@ $(AR) $(ARFLAGS) $@ $(STATIC_C_OBJS)
+ @USE_GNAT_PROJECTS@
+ @USE_GNAT_LIBRARIES@install \
+ @USE_GNAT_LIBRARIES@install.libs :: \
+@@ -274,8 +285,11 @@
+ $(BUILD_DIR)/dynamic-obj
+
+ @MAKE_ADA_SHAREDLIB@all :: $(BUILD_DIR_LIB)/$(SHARED_LIBNAME)
+-@MAKE_ADA_SHAREDLIB@$(BUILD_DIR_LIB)/$(SHARED_LIBNAME) :: $(ABASE)-trace.adb $(SHARED_DIRS)
+-@MAKE_ADA_SHAREDLIB@ cp $(MIXED_OBJS) $(BUILD_DIR)/dynamic-obj/
++@MAKE_ADA_SHAREDLIB@$(BUILD_DIR_LIB)/$(SHARED_LIBNAME) :: \
++@MAKE_ADA_SHAREDLIB@ $(ABASE)-trace.adb \
++@MAKE_ADA_SHAREDLIB@ $(SHARED_DIRS) \
++@MAKE_ADA_SHAREDLIB@ $(SHARED_OBJS)
++@MAKE_ADA_SHAREDLIB@ cp $(SHARED_OBJS) $(BUILD_DIR)/dynamic-obj/
+ @MAKE_ADA_SHAREDLIB@ $(ADAMAKE) $(ADAMAKEFLAGS) -XLIB_KIND=dynamic
+
+ install \
+Index: INSTALL
+Prereq: 1.155
+--- ncurses-5.9/INSTALL 2011-03-31 08:27:24.000000000 +0000
++++ ncurses-5.9-20130504/INSTALL 2013-03-09 21:22:04.000000000 +0000
+@@ -1,5 +1,5 @@
+ -------------------------------------------------------------------------------
+--- Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. --
++-- Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. --
+ -- --
+ -- Permission is hereby granted, free of charge, to any person obtaining a --
+ -- copy of this software and associated documentation files (the --
+@@ -25,7 +25,7 @@
+ -- sale, use or other dealings in this Software without prior written --
+ -- authorization. --
+ -------------------------------------------------------------------------------
+--- $Id: INSTALL,v 1.155 2011/03/31 08:27:24 tom Exp $
++-- $Id: INSTALL,v 1.167 2013/03/09 21:22:04 tom Exp $
+ ---------------------------------------------------------------------
+ How to install Ncurses/Terminfo on your system
+ ---------------------------------------------------------------------
+@@ -407,13 +407,14 @@
+
+ --disable-tic-depends
+ When building shared libraries, normally the tic library is linked to
+- depend upon the ncurses library (and in turn, on the term-library if
+- the --with-termlib option was given). The tic- and term-libraries
+- ABI does not depend on the --enable-widec option. Some packagers have
+- used this to reduce the number of library files which are packaged
+- by using only one copy of those libraries. To make this work properly,
++ depend upon the ncurses library (or equivalently, on the tinfo-library
++ if the --with-termlib option was given). The tic- and tinfo-library
++ ABIs do not depend on the --enable-widec option. Some packagers have
++ used this to reduce the number of library files which are packaged by
++ using only one copy of those libraries. To make this work properly,
+ the tic library must be built without an explicit dependency on the
+- ncurses (or ncursesw) library. Use this configure option to do that.
++ underlying library (ncurses vs ncursesw, tinfo vs tinfow). Use this
++ configure option to do that.
+ For example
+ configure --with-ticlib --with-shared --disable-tic-depends
+
+@@ -555,6 +556,9 @@
+ library by reducing global and static variables. This option is also
+ set if --with-pthread is used.
+
++ Enabling this option adds a "t" to the library names, except for the
++ special case when --enable-weak-symbols is also used.
++
+ --enable-rpath
+ Use rpath option when generating shared libraries, and (with some
+ restrictions) when linking the corresponding programs. This originally
+@@ -595,6 +599,14 @@
+ reducing the need for juggling the global SP value with set_term() and
+ delscreen().
+
++ --enable-string-hacks
++ Controls whether strlcat and strlcpy may be used. The same issue
++ applies to OpenBSD's warnings about snprintf, noting that this function
++ is weakly standardized.
++
++ Aside from stifling these warnings, there is no functional improvement
++ in ncurses.
++
+ --enable-symlinks
+ If your system supports symbolic links, make tic use symbolic links
+ rather than hard links to save diskspace when writing aliases in the
+@@ -616,6 +628,12 @@
+ match is found in the terminfo database. See also the --enable-getcap
+ and --enable-getcap-cache options.
+
++ Termcap support requires run-time parsing rather than loading
++ predigested data. If you have specified --with-ticlib, then you
++ cannot have termcap support since run-time parsing is done in the
++ tic library, which is intentionally not part of normal linkage
++ dependencies.
++
+ --enable-warnings
+ Turn on GCC compiler warnings. There should be only a few.
+
+@@ -740,6 +758,12 @@
+ executables, e.g., by setting "--with-chtype=long" (the configure
+ script supplies "unsigned").
+
++ --with-cxx-shared
++ When --with-shared is set, build libncurses++ as a shared library.
++ This implicitly relies upon building with gcc/g++, since other
++ compiler suites may have differences in the way shared libraries are
++ built. libtool by the way has similar limitations.
++
+ --with-database=XXX
+ Specify the terminfo source file to install. Usually you will wish
+ to install ncurses' default (misc/terminfo.src). Certain systems
+@@ -824,7 +848,17 @@
+ NOTE: a few systems build shared libraries with fixed pathnames; this
+ option probably will not work for those configurations.
+
+- --with-libtool[=XXX]
++ --with-lib-prefix=XXX
++ OS/2 EMX used a different naming convention from most Unix-like
++ platforms. It required that the "lib" part of a library name was
++ omitted. Newer EMX as part of eComStation does not follow that
++ convention. Use this option to override the configure script's
++ assumptions about the library-prefix. If this option is omitted, it
++ uses the original OS/2 EMX convention for that platform. Use
++ "--with-lib-prefix=lib" for the newer EMX in eComStation. Use
++ "--without-lib-prefix" to suppress it for other odd platforms.
++
++ --with-libtool[=XXX]
+ Generate libraries with libtool. If this option is selected, then it
+ overrides all other library model specifications. Note that libtool
+ must already be installed, uses makefile rules dependent on GNU make,
+@@ -904,6 +938,10 @@
+ --with-pkg-config=[DIR]
+ Check for pkg-config, optionally specifying its path.
+
++ --with-pkg-config-libdir=[DIR]
++ If pkg-config was found, override the automatic check for its library
++ path.
++
+ --with-profile
+ Generate profile-libraries These are named by adding "_p" to the root,
+ e.g., libncurses_p.a
+@@ -996,10 +1034,27 @@
+ library dependencies for tic and other programs built with the tic
+ library.
+
++ --with-tparm-arg[=XXX]
++ Override the type used for tparm() arguments, which normally is a
++ "long". However the function must assume that its arguments can hold a
++ pointer to char's which is not always workable for 64-bit platforms. A
++ better choice would be intptr_t, which was not available at the time
++ tparm's interface was defined.
++
++ If the option is not given, this defaults to "long".
++
+ --with-trace
+ Configure the trace() function as part of the all models of the ncurses
+ library. Normally it is part of the debug (libncurses_g) library only.
+
++ --with-xterm-kbs=XXX
++ Configure xterm's terminfo entries to use either BS (^H, i.e., ASCII
++ backspace) or DEL (^?, or 127). XXX can be BS (or bs, 8) or DEL
++ (or del, 127).
++
++ During installation, the makefile and scripts modifies the "xterm+kbs"
++ terminfo entry to use this setting.
++
+ --with-valgrind
+ For testing, compile with debug option.
+ This also sets the --disable-leaks option.
+@@ -1024,6 +1079,8 @@
+ install as "ncurses.h" and modify the installed headers and manpages
+ accordingly.
+
++ Likewise, do not install an alias "curses" for the ncurses manpage.
++
+ --without-cxx
+ XSI curses declares "bool" as part of the interface. C++ also declares
+ "bool". Neither specifies the size and type of booleans, but both
+@@ -1726,20 +1783,37 @@
+ By default, there are no entries on the fallback list. After you have
+ built the ncurses suite for the first time, you can change the list
+ (the process needs infocmp(1)). To do so, use the script
+- ncurses/tinfo/MKfallback.sh. A configure script option
++ ncurses/tinfo/MKfallback.sh. The configure script option
+ --with-fallbacks does this (it accepts a comma-separated list of the
+ names you wish, and does not require a rebuild).
+
+ If you wanted (say) to have linux, vt100, and xterm fallbacks, you
+- would use the commands
++ might use the commands
+
+ cd ncurses;
+- tinfo/MKfallback.sh linux vt100 xterm >fallback.c
++ tinfo/MKfallback.sh \
++ $TERMINFO \
++ ../misc/terminfo.src \
++ `which tic` \
++ linux vt100 xterm >fallback.c
++
++ The first three parameters of the script are normally supplied by
++ the configured makefiles via the "--with-fallbacks" option. They
++ are
++
++ 1) the location of the terminfo database
++ 2) the source for the terminfo entries
++ 3) the location of the tic program, used to create a terminfo
++ database.
+
+ Then just rebuild and reinstall the library as you would normally.
+ You can restore the default empty fallback list with
+
+- tinfo/MKfallback.sh >fallback.c
++ tinfo/MKfallback.sh \
++ $TERMINFO \
++ ../misc/terminfo.src \
++ `which tic` \
++ >fallback.c
+
+ The overhead for an empty fallback list is one trivial stub function.
+ Any non-empty fallback list is const-ed and therefore lives in sharable
+Index: MANIFEST
+--- ncurses-5.9/MANIFEST 2011-03-28 00:29:04.000000000 +0000
++++ ncurses-5.9-20130504/MANIFEST 2013-01-26 22:19:36.000000000 +0000
+@@ -545,6 +545,8 @@
+ ./include/nc_alloc.h
+ ./include/nc_mingw.h
+ ./include/nc_panel.h
++./include/nc_string.h
++./include/nc_termios.h
+ ./include/nc_tparm.h
+ ./include/ncurses_cfg.hin
+ ./include/ncurses_defs
+@@ -764,7 +766,6 @@
+ ./mk-0th.awk
+ ./mk-1st.awk
+ ./mk-2nd.awk
+-./mk-dlls.sh.in
+ ./mk-hdr.awk
+ ./ncurses/Makefile.in
+ ./ncurses/README
+@@ -850,7 +851,6 @@
+ ./ncurses/base/lib_wattron.c
+ ./ncurses/base/lib_winch.c
+ ./ncurses/base/lib_window.c
+-./ncurses/base/memmove.c
+ ./ncurses/base/nc_panel.c
+ ./ncurses/base/resizeterm.c
+ ./ncurses/base/safe_sprintf.c
+@@ -867,6 +867,12 @@
+ ./ncurses/llib-lncursest
+ ./ncurses/llib-lncursestw
+ ./ncurses/llib-lncursesw
++./ncurses/llib-ltic
++./ncurses/llib-ltictw
++./ncurses/llib-lticw
++./ncurses/llib-ltinfo
++./ncurses/llib-ltinfotw
++./ncurses/llib-ltinfow
+ ./ncurses/modules
+ ./ncurses/tinfo/MKcaptab.awk
+ ./ncurses/tinfo/MKcaptab.sh
+@@ -915,10 +921,10 @@
+ ./ncurses/tinfo/make_hash.c
+ ./ncurses/tinfo/make_keys.c
+ ./ncurses/tinfo/name_match.c
++./ncurses/tinfo/obsolete.c
+ ./ncurses/tinfo/parse_entry.c
+ ./ncurses/tinfo/read_entry.c
+ ./ncurses/tinfo/read_termcap.c
+-./ncurses/tinfo/setbuf.c
+ ./ncurses/tinfo/strings.c
+ ./ncurses/tinfo/tinfo_driver.c
+ ./ncurses/tinfo/trim_sgr0.c
+@@ -943,8 +949,6 @@
+ ./ncurses/tty/lib_tstp.c
+ ./ncurses/tty/lib_twait.c
+ ./ncurses/tty/lib_vidattr.c
+-./ncurses/tty/tty_display.h
+-./ncurses/tty/tty_input.h
+ ./ncurses/tty/tty_update.c
+ ./ncurses/wcwidth.h
+ ./ncurses/widechar/charable.c
+@@ -967,9 +971,18 @@
+ ./ncurses/widechar/lib_vline_set.c
+ ./ncurses/widechar/lib_wacs.c
+ ./ncurses/widechar/lib_wunctrl.c
++./ncurses/widechar/widechars.c
+ ./ncurses/win32con/gettimeofday.c
+ ./ncurses/win32con/wcwidth.c
+ ./ncurses/win32con/win_driver.c
++./package/debian/changelog
++./package/debian/compat
++./package/debian/control
++./package/debian/copyright
++./package/debian/rules
++./package/debian/source/format
++./package/debian/watch
++./package/ncurses.spec
+ ./panel/Makefile.in
+ ./panel/headers
+ ./panel/llib-lpanel
+@@ -1022,6 +1035,7 @@
+ ./test/cardfile.dat
+ ./test/chgat.c
+ ./test/clip_printw.c
++./test/color_name.h
+ ./test/color_set.c
+ ./test/configure
+ ./test/configure.in
+@@ -1092,12 +1106,15 @@
+ ./test/test_instr.c
+ ./test/test_inwstr.c
+ ./test/test_opaque.c
++./test/test_vid_puts.c
++./test/test_vidputs.c
+ ./test/testaddch.c
+ ./test/testcurs.c
+ ./test/testscanw.c
+ ./test/tracemunch
+ ./test/view.c
+ ./test/widechars-utf8.txt
++./test/widechars.h
+ ./test/worm.c
+ ./test/xmas.c
+ ./test/xterm-16color.dat
+Index: Makefile.in
+Prereq: 1.30
+--- ncurses-5.9/Makefile.in 2010-11-27 21:45:27.000000000 +0000
++++ ncurses-5.9-20130504/Makefile.in 2012-10-06 17:31:01.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: Makefile.in,v 1.30 2010/11/27 21:45:27 tom Exp $
++# $Id: Makefile.in,v 1.35 2012/10/06 17:31:01 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -35,7 +35,8 @@
+ VPATH = @srcdir@
+
+ DESTDIR=@DESTDIR@
+-CF_MFLAGS = @cf_cv_makeflags@ DESTDIR="$(DESTDIR)"
++RPATH_LIST=@RPATH_LIST@
++TOP_MFLAGS = @cf_cv_makeflags@ DESTDIR="$(DESTDIR)" RPATH_LIST="$(RPATH_LIST)"
+
+ @SET_MAKE@
+
+@@ -48,6 +49,7 @@
+
+ prefix = @prefix@
+ exec_prefix = @exec_prefix@
++datarootdir = @datarootdir@
+
+ bindir = @bindir@
+ ticdir = @TERMINFO@
+@@ -87,12 +89,9 @@
+ fgrep NCURSES_VERSION $(includedir)/curses.h >/dev/null || \
+ echo '** Will overwrite non-ncurses curses.h'
+
+-dlls: libs
+- $(SHELL) $(srcdir)/mk-dlls.sh
+-
+ distclean \
+ realclean ::
+- -rm -f mk-dlls.sh mingw_arch
++
+
+ # Put the common rules here so that we can easily construct the list of
+ # directories to visit.
+Index: NEWS
+Prereq: 1.1682
+--- ncurses-5.9/NEWS 2011-04-04 00:02:42.000000000 +0000
++++ ncurses-5.9-20130504/NEWS 2013-05-04 23:03:37.000000000 +0000
+@@ -1,5 +1,5 @@
+ -------------------------------------------------------------------------------
+--- Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. --
++-- Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. --
+ -- --
+ -- Permission is hereby granted, free of charge, to any person obtaining a --
+ -- copy of this software and associated documentation files (the --
+@@ -25,7 +25,7 @@
+ -- sale, use or other dealings in this Software without prior written --
+ -- authorization. --
+ -------------------------------------------------------------------------------
+--- $Id: NEWS,v 1.1682 2011/04/04 00:02:42 tom Exp $
++-- $Id: NEWS,v 1.2053 2013/05/04 23:03:37 tom Exp $
+ -------------------------------------------------------------------------------
+
+ This is a log of changes that ncurses has gone through since Zeyd started
+@@ -45,6 +45,1074 @@
+ Changes through 1.9.9e did not credit all contributions;
+ it is not possible to add this information.
+
++20130504
++ + fixes for issues found by Coverity:
++ + correct FNKEY() macro in progs/dump_entry.c, allowing kf11-kf63 to
++ display when infocmp's -R option is used for HP or AIX subsets.
++ + fix dead-code issue with test/movewindow.c
++ + improve limited-checking in _nc_read_termtype().
++
++20130427
++ + fix clang 3.2 warning in progs/dump_entry.c
++ + drop AC_TYPE_SIGNAL check; ncurses relies on c89 and later.
++
++20130413
++ + add MinGW to cases where ncurses installs by default into /usr
++ (prompted by discussion with Daniel Silva Ferreira).
++ + add -D option to infocmp's usage-message (patch by Miroslav Lichvar).
++ + add a missing 'int' type for main function in configure check for
++ type of bool variable, to work with clang 3.2 (report by Dmitri
++ Gribenko).
++ + improve configure check for static_cast, to work with clang 3.2
++ (report by Dmitri Gribenko).
++ + re-order rule for demo.o and macros defining header dependencies in
++ c++/Makefile.in to accommodate gmake (report by Dmitri Gribenko).
++
++20130406
++ + improve parameter checking in copywin().
++ + modify configure script to work around OS X's "libtool" program, to
++ choose glibtool instead. At the same time, chance the autoconf macro
++ to look for a "tool" rather than a "prog", to help with potential use
++ in cross-compiling.
++ + separate the rpath usage for c++ library from demo program
++ (Redhat #911540)
++ + update/correct header-dependencies in c++ makefile (report by Werner
++ Fink).
++ + add --with-cxx-shared to dpkg-script, as done for rpm-script.
++
++20130324
++ + build-fix for libtool configuration (reports by Daniel Silva Ferreira
++ and Roumen Petrov).
++
++20130323
++ + build-fix for OS X, to handle changes for --with-cxx-shared feature
++ (report by Christian Ebert).
++ + change initialization for vt220, similar entries for consistency
++ with cursor-key strings (NetBSD #47674) -TD
++ + further improvements to linux-16color (Benjamin Sittler)
++
++20130316
++ + additional fix for tic.c, to allocate missing buffer space.
++ + eliminate configure-script warnings for gen-pkgconfig.in
++ + correct typo in sgr string for sun-color,
++ add bold for consistency with sgr,
++ change smso for consistency with sgr -TD
++ + correct typo in sgr string for terminator -TD
++ + add blink to the attributes masked by ncv in linux-16color (report
++ by Benjamin Sittler)
++ + improve warning message from post-load checking for missing "%?"
++ operator by tic/infocmp by showing the entry name and capability.
++ + minor formatting improvement to tic/infocmp -f option to ensure
++ line split after "%;".
++ + amend scripting for --with-cxx-shared option to handle the debug
++ library "libncurses++_g.a" (report by Sven Joachim).
++
++20130309
++ + amend change to toe.c for reading from /dev/zero, to ensure that
++ there is a buffer for the temporary filename (cf: 20120324).
++ + regenerated html manpages.
++ + fix typo in terminfo.head (report by Sven Joachim, cf: 20130302).
++ + updated some autoconf macros:
++ + CF_ACVERSION_CHECK, from byacc 1.9 20130304
++ + CF_INTEL_COMPILER, CF_XOPEN_SOURCE from luit 2.0-20130217
++ + add configure option --with-cxx-shared to permit building
++ libncurses++ as a shared library when using g++, e.g., the same
++ limitations as libtool but better integrated with the usual build
++ configuration (Redhat #911540).
++ + modify MKkey_defs.sh to filter out build-path which was unnecessarily
++ shown in curses.h (Debian #689131).
++
++20130302
++ + add section to terminfo manpage discussing user-defined capabilities.
++ + update manpage description of NCURSES_NO_SETBUF, explaining why it
++ is obsolete.
++ + add a check in waddch_nosync() to ensure that tab characters are
++ treated as control characters; some broken locales claim they are
++ printable.
++ + add some traces to the Windows console driver.
++ + initialize a temporary array in _nc_mbtowc, needed for some cases
++ of raw input in MinGW port.
++
++20130218
++ + correct ifdef on change to lib_twait.c (report by Werner Fink).
++ + update config.guess, config.sub
++
++20130216
++ + modify test/testcurs.c to work with mouse for ncurses as it does for
++ pdcurses.
++ + modify test/knight.c to work with mouse for pdcurses as it does for
++ ncurses.
++ + modify internal recursion in wgetch() which handles cooked mode to
++ check if the call to wgetnstr() returned an error. This can happen
++ when both nocbreak() and nodelay() are set, for instance (report by
++ Nils Christopher Brause) (cf: 960418).
++ + fixes for issues found by Coverity:
++ + add a check for valid position in ClearToEOS()
++ + fix in lib_twait.c when --enable-wgetch-events is used, pointer
++ use after free.
++ + improve a limit-check in make_hash.c
++ + fix a memory leak in hashed_db.c
++
++20130209
++ + modify test/configure script to make it simpler to override names
++ of curses-related libraries, to help with linking with pdcurses in
++ mingw environment.
++ + if the --with-terminfo-dirs configure option is not used, there is
++ no corresponding compiled-in value for that. Fill in "no default
++ value" for that part of the manpage substitution.
++
++20130202
++ + correct initialization in knight.c which let it occasionally make
++ an incorrect move (cf: 20001028).
++ + improve documentation of the terminfo/termcap search path.
++
++20130126
++ + further fixes to mvcur to pass callback function (cf: 20130112),
++ needed to make test/dots_mvcur work.
++ + reduce calls to SetConsoleActiveScreenBuffer in win_driver.c, to
++ help reduce flicker.
++ + modify configure script to omit "+b" from linker options for very
++ old HP-UX systems (report by Dennis Grevenstein)
++ + add HP-UX workaround for missing EILSEQ on old HP-UX systems (patch
++ by Dennis Grevenstein).
++ + restore memmove/strdup support for antique systems (request by
++ Dennis Grevenstein).
++ + change %l behavior in tparm to push the string length onto the stack
++ rather than saving the formatted length into the output buffer
++ (report by Roy Marples, cf: 980620).
++
++20130119
++ + fixes for issues found by Coverity:
++ + fix memory leak in safe_sprintf.c
++ + add check for return-value in tty_update.c
++ + correct initialization for -s option in test/view.c
++ + add check for numeric overflow in lib_instr.c
++ + improve error-checking in copywin
++ + add advice in infocmp manpage for termcap users (Debian #698469).
++ + add "-y" option to test/demo_termcap and test/demo_terminfo to
++ demonstrate behavior with/without extended capabilities.
++ + updated termcap manpage to document legacy termcap behavior for
++ matching capability names.
++ + modify name-comparison for tgetstr, etc., to accommodate legacy
++ applications as well as to improve compatbility with BSD 4.2
++ termcap implementations (Debian #698299) (cf: 980725).
++
++20130112
++ + correct prototype in manpage for vid_puts.
++ + drop ncurses/tty/tty_display.h, ncurses/tty/tty_input.h, since they
++ are unused in the current driver model.
++ + modify mvcur to use stdout except when called within the ncurses
++ library.
++ + modify vidattr and vid_attr to use stdout as documented in manpage.
++ + amend changes made to buffering in 20120825 so that the low-level
++ putp() call uses stdout rather than ncurses' internal buffering.
++ The putp_sp() call does the same, for consistency (Redhat #892674).
++
++20130105
++ + add "-s" option to test/view.c to allow it to start in single-step
++ mode, reducing size of trace files when it is used for debugging
++ MinGW changes.
++ + revert part of 20121222 change to tinfo_driver.c
++ + add experimental logic in win_driver.c to improve optimization of
++ screen updates. This does not yet work with double-width characters,
++ so it is ifdef'd out for the moment (prompted by report by Erwin
++ Waterlander regarding screen flicker).
++
++20121229
++ + fix coverity warnings regarding copying into fixed-size buffers.
++ + add throw-declarations in the c++ binding per Coverity warning.
++ + minor changes to new-items for consistent reference to bug-report
++ numbers.
++
++20121222
++ + add *.dSYM directories to clean-rule in ncurses directory makefile,
++ for Mac OS builds.
++ + add a configure check for gcc option -no-cpp-precomp, which is not
++ available in all Mac OS X configurations (report by Andras Salamon,
++ cf: 20011208).
++ + improve 20021221 workaround for broken acs, handling a case where
++ that ACS_xxx character is not in the acsc string but there is a known
++ wide-character which can be used.
++
++20121215
++ + fix several warnings from clang 3.1 --analyze, includes correcting
++ a null-pointer check in _nc_mvcur_resume.
++ + correct display of double-width characters with MinGW port (report
++ by Erwin Waterlander).
++ + replace MinGW's wcrtomb(), fixing a problem with _nc_viscbuf
++ > fixes based on Coverity report:
++ + correct coloring in test/bs.c
++ + correct check for 8-bit value in _nc_insert_ch().
++ + remove dead code in progs/tset.c, test/linedata.h
++ + add null-pointer checks in lib_tracemse.c, panel.priv.h, and some
++ test-programs.
++
++20121208
++ + modify test/knight.c to show the number of choices possible for
++ each position in automove option, e.g., to allow user to follow
++ Warnsdorff's rule to solve the puzzle.
++ + modify test/hanoi.c to show the minimum number of moves possible for
++ the given number of tiles (prompted by patch by Lucas Gioia).
++ > fixes based on Coverity report:
++ + remove a few redundant checks.
++ + correct logic in test/bs.c, when randomly placing a specific type of
++ ship.
++ + check return value from remove/unlink in tic.
++ + check return value from sscanf in test/ncurses.c
++ + fix a null dereference in c++/cursesw.cc
++ + fix two instances of uninitialized variables when configuring for the
++ terminal driver.
++ + correct scope of variable used in SetSafeOutcWrapper macro.
++ + set umask when calling mkstemp in tic.
++ + initialize wbkgrndset() temporary variable when extended-colors are
++ used.
++
++20121201
++ + also replace MinGW's wctomb(), fixing a problem with setcchar().
++ + modify test/view.c to load UTF-8 when built with MinGW by using
++ regular win32 API because the MinGW functions mblen() and mbtowc()
++ do not work.
++
++20121124
++ + correct order of color initialization versus display in some of the
++ test-programs, e.g., test_addstr.c
++ > fixes based on Coverity report:
++ + delete windows on exit from some of the test-programs.
++
++20121117
++ > fixes based on Coverity report:
++ + add missing braces around FreeAndNull in two places.
++ + various fixes in test/ncurses.c
++ + improve limit-checks in tinfo/make_hash.c, tinfo/read_entry.c
++ + correct malloc size in progs/infocmp.c
++ + guard against negative array indices in test/knight.c
++ + fix off-by-one limit check in test/color_name.h
++ + add null-pointer check in progs/tabs.c, test/bs.c, test/demo_forms.c,
++ test/inchs.c
++ + fix memory-leak in tinfo/lib_setup.c, progs/toe.c,
++ test/clip_printw.c, test/demo_menus.c
++ + delete unused windows in test/chgat.c, test/clip_printw.c,
++ test/insdelln.c, test/newdemo.c on error-return.
++
++20121110
++ + modify configure macro CF_INCLUDE_DIRS to put $CPPFLAGS after the
++ local -I include options in case someone has set conflicting -I
++ options in $CPPFLAGS (prompted by patch for ncurses/Makefile.in by
++ Vassili Courzakis).
++ + modify the ncurses*-config scripts to eliminate relative paths from
++ the RPATH_LIST variable, e.g., "../lib" as used in installing shared
++ libraries or executables.
++
++20121102
++ + realign these related pages:
++ curs_add_wchstr.3x
++ curs_addchstr.3x
++ curs_addstr.3x
++ curs_addwstr.3x
++ and fix a long-ago error in curs_addstr.3x which said that a -1
++ length parameter would only write as much as fit onto one line
++ (report by Reuben Thomas).
++ + remove obsolete fallback _nc_memmove() for memmove()/bcopy().
++ + remove obsolete fallback _nc_strdup() for strdup().
++ + cancel any debug-rpm in package/ncurses.spec
++ + reviewed vte-2012, reverted most of the change since it was incorrect
++ based on testing with tack -TD
++ + un-cancel the initc in vte-256color, since this was implemented
++ starting with version 0.20 in 2009 -TD
++
++20121026
++ + improve malloc/realloc checking (prompted by discussion in Redhat
++ #866989).
++ + add ncurses test-program as "ncurses6" to the rpm- and dpkg-scripts.
++ + updated configure macros CF_GCC_VERSION and CF_WITH_PATHLIST. The
++ first corrects pattern used for Mac OS X's customization of gcc.
++
++20121017
++ + fix change to _nc_scroll_optimize(), which incorrectly freed memory
++ (Redhat #866989).
++
++20121013
++ + add vte-2012, gnome-2012, making these the defaults for vte/gnome
++ (patch by Christian Persch).
++
++20121006
++ + improve CF_GCC_VERSION to work around Debian's customization of gcc
++ --version message.
++ + improve configure macros as done in byacc:
++ + drop 2.13 compatibility; use 2.52.xxxx version only since EMX port
++ has used that for a while.
++ + add 3rd parameter to AC_DEFINE's to allow autoheader to run, i.e.,
++ for experimental use.
++ + remove unused configure macros.
++ + modify configure script and makefiles to quiet new autoconf warning
++ for LIBS_TO_MAKE variable.
++ + modify configure script to show $PATH_SEPARATOR variable.
++ + update config.guess, config.sub
++
++20120922
++ + modify setupterm to set its copy of TERM to "unknown" if configured
++ for the terminal driver and TERM was null or empty.
++ + modify treatment of TERM variable for MinGW port to allow explicit
++ use of the windows console driver by checking if $TERM is set to
++ "#win32con" or an abbreviation of that.
++ + undo recent change to fallback definition of vsscanf() to build with
++ older Solaris compilers (cf: 20120728).
++
++20120908
++ + add test-screens to test/ncurses to show 256-characters at a time,
++ to help with MinGW port.
++
++20120903
++ + simplify varargs logic in lib_printw.c; va_copy is no longer needed
++ there.
++ + modifications for MinGW port to make wide-character display usable.
++
++20120902
++ + regenerate configure script (report by Sven Joachim, cf: 20120901).
++
++20120901
++ + add a null-pointer check in _nc_flush (cf: 20120825).
++ + fix a case in _nc_scroll_optimize() where the _oldnums_list array
++ might not be allocated.
++ + improve comparisons in configure.in for unset shell variables.
++
++20120826
++ + increase size of ncurses' output-buffer, in case of very small
++ initial screen-sizes.
++ + fix evaluation of TERMINFO and TERMINFO_DIRS default values as needed
++ after changes to use --datarootdir (reports by Gabriele Balducci,
++ Roumen Petrov).
++
++20120825
++ + change output buffering scheme, using buffer maintained by ncurses
++ rather than stdio, to avoid problems with SIGTSTP handling (report
++ by Brian Bloniarz).
++
++20120811
++ + update autoconf patch to 2.52.20120811, adding --datarootdir
++ (prompted by discussion with Erwin Waterlander).
++ + improve description of --enable-reentrant option in README and the
++ INSTALL file.
++ + add nsterm-256color, make this the default nsterm -TD
++ + remove bw from nsterm-bce, per testing with tack -TD
++
++20120804
++ + update test/configure, adding check for tinfo library.
++ + improve limit-checks for the getch fifo (report by Werner Fink).
++ + fix a remaining mismatch between $with_echo and the symbols updated
++ for CF_DISABLE_ECHO affecting parameters for mk-2nd.awk (report by
++ Sven Joachim, cf: 20120317).
++ + modify followup check for pkg-config's library directory in the
++ --enable-pc-files option to validate syntax (report by Sven Joachim,
++ cf: 20110716).
++
++20120728
++ + correct path for ncurses_mingw.h in include/headers, in case build
++ is done outside source-tree (patch by Roumen Petrov).
++ + modify some older xterm entries to align with xterm source -TD
++ + separate "xterm-old" alias from "xterm-r6" -TD
++ + add E3 extended capability to xterm-basic and putty -TD
++ + parenthesize parameters of other macros in curses.h -TD
++ + parenthesize parameter of COLOR_PAIR and PAIR_NUMBER in curses.h
++ in case it happens to be a comma-expression, etc. (patch by Nick
++ Black).
++
++20120721
++ + improved form_request_by_name() and menu_request_by_name().
++ + eliminate two fixed-size buffers in toe.c
++ + extend use_tioctl() to have expected behavior when use_env(FALSE) and
++ use_tioctl(TRUE) are called.
++ + modify ncurses test-program, adding -E and -T options to demonstrate
++ use_env() versus use_tioctl().
++
++20120714
++ + add use_tioctl() function (adapted from patch by Werner Fink,
++ Novell #769788):
++
++20120707
++ + add ncurses_mingw.h to installed headers (prompted by patch by
++ Juergen Pfeifer).
++ + clarify return-codes from wgetch() in response to SIGWINCH (prompted
++ by Novell #769788).
++ + modify resizeterm() to always push a KEY_RESIZE onto the fifo, even
++ if screensize is unchanged. Modify _nc_update_screensize() to push a
++ KEY_RESIZE if there was a SIGWINCH, even if it does not call
++ resizeterm(). These changes eliminate the case where a SIGWINCH is
++ received, but ERR returned from wgetch or wgetnstr because the screen
++ dimensions did not change (Novell #769788).
++
++20120630
++ + add --enable-interop to sample package scripts (suggested by Juergen
++ Pfeifer).
++ + update CF_PATH_SYNTAX macro, from mawk changes.
++ + modify mk-0th.awk to allow for generating llib-ltic, etc., though
++ some work is needed on cproto to work with lib_gen.c to update
++ llib-lncurses.
++ + remove redundant getenv() cal in database-iterator leftover from
++ cleanup in 20120622 changes (report by Sven Joachim).
++
++20120622
++ + add -d, -e and -q options to test/demo_terminfo and test/demo_termcap
++ + fix caching of environment variables in database-iterator (patch by
++ Philippe Troin, Redhat #831366).
++
++20120616
++ + add configure check to distinguish clang from gcc to eliminate
++ warnings about unused command-line parameters when compiler warnings
++ are enabled.
++ + improve behavior when updating terminfo entries which are hardlinked
++ by allowing for the possibility that an alias has been repurposed to
++ a new primary name.
++ + fix some strict compiler warnings based on package scripts.
++ + further fixes for configure check for working poll (Debian #676461).
++
++20120608
++ + fix an uninitialized variable in -c/-n logic for infocmp changes
++ (cf: 20120526).
++ + corrected fix for building c++ binding with clang 3.0 (report/patch
++ by Richard Yao, Gentoo #417613, cf: 20110409)
++ + correct configure check for working poll, fixing the case where stdin
++ is redirected, e.g., in rpm/dpkg builds (Debian #676461).
++ + add rpm- and dpkg-scripts, to test those build-environments.
++ The resulting packages are used only for testing.
++
++20120602
++ + add kdch1 aka "Remove" to vt220 and vt220-8 entries -TD
++ + add kdch1, etc., to qvt108 -TD
++ + add dl1/il1 to some entries based on dl/il values -TD
++ + add dl to simpleterm -TD
++ + add consistency-checks in tic for insert-line vs delete-line
++ controls, and insert/delete-char keys
++ + correct no-leaks logic in infocmp when doing comparisons, fixing
++ duplicate free of entries given via the command-line, and freeing
++ entries loaded from the last-but-one of files specified on the
++ command-line.
++ + add kdch1 to wsvt25 entry from NetBSD CVS (reported by David Lord,
++ analysis by Martin Husemann).
++ + add cnorm/civis to wsvt25 entry from NetBSD CVS (report/analysis by
++ Onno van der Linden).
++
++20120526
++ + extend -c and -n options of infocmp to allow comparing more than two
++ entries.
++ + correct check in infocmp for number of terminal names when more than
++ two are given.
++ + correct typo in curs_threads.3x (report by Yanhui Shen on
++ freebsd-hackers mailing list).
++
++20120512
++ + corrected 'op' for bterm (report by Samuel Thibault) -TD
++ + modify test/background.c to demonstrate a background character
++ holding a colored ACS_HLINE. The behavior differs from SVr4 due to
++ the thick- and double-line extension (cf: 20091003).
++ + modify handling of acs characters in PutAttrChar to avoid mapping an
++ unmapped character to a space with A_ALTCHARSET set.
++ + rewrite vt520 entry based on vt420 -TD
++
++20120505
++ + remove p6 (bold) from opus3n1+ for consistency -TD
++ + remove acs stuff from env230 per clues in Ingres termcap -TD
++ + modify env230 sgr/sgr0 to match other capabilities -TD
++ + modify smacs/rmacs in bq300-8 to match sgr/sgr0 -TD
++ + make sgr for dku7202 agree with other caps -TD
++ + make sgr for ibmpc agree with other caps -TD
++ + make sgr for tek4107 agree with other caps -TD
++ + make sgr for ndr9500 agree with other caps -TD
++ + make sgr for sco-ansi agree with other caps -TD
++ + make sgr for d410 agree with other caps -TD
++ + make sgr for d210 agree with other caps -TD
++ + make sgr for d470c, d470c-7b agree with other caps -TD
++ + remove redundant AC_DEFINE for NDEBUG versus Makefile definition.
++ + fix a back-link in _nc_delink_entry(), which is needed if ncurses is
++ configured with --enable-termcap and --disable-getcap.
++
++20120428
++ + fix some inconsistencies between vt320/vt420, e.g., cnorm/civis -TD
++ + add eslok flag to dec+sl -TD
++ + dec+sl applies to vt320 and up -TD
++ + drop wsl width from xterm+sl -TD
++ + reuse xterm+sl in putty and nsca-m -TD
++ + add ansi+tabs to vt520 -TD
++ + add ansi+enq to vt220-vt520 -TD
++ + fix a compiler warning in example in ncurses-intro.doc (Paul Waring).
++ + added paragraph in keyname manpage telling how extended capabilities
++ are interpreted as key definitions.
++ + modify tic's check of conflicting key definitions to include extended
++ capability strings in addition to the existing check on predefined
++ keys.
++
++20120421
++ + improve cleanup of temporary files in tic using atexit().
++ + add msgr to vt420, similar DEC vtXXX entries -TD
++ + add several missing vt420 capabilities from vt220 -TD
++ + factor out ansi+pp from several entries -TD
++ + change xterm+sl and xterm+sl-twm to include only the status-line
++ capabilities and not "use=xterm", making them more generally useful
++ as building-blocks -TD
++ + add dec+sl building block, as example -TD
++
++20120414
++ + add XT to some terminfo entries to improve usefulness for other
++ applications than screen, which would like to pretend that xterm's
++ title is a status-line. -TD
++ + change use-clauses in ansi-mtabs, hp2626, and hp2622 based on review
++ of ordering and overrides -TD
++ + add consistency check in tic for screen's "XT" capability.
++ + add section in terminfo.src summarizing the user-defined capabilities
++ used in that file -TD
++
++20120407
++ + fix an inconsistency between tic/infocmp "-x" option; tic omits all
++ non-standard capabilities, while infocmp was ignoring only the user
++ definable capabilities.
++ + improve special case in tic parsing of description to allow it to be
++ followed by terminfo capabilities. Previously the description had to
++ be the last field on an input line to allow tic to distinguish
++ between termcap and terminfo format while still allowing commas to be
++ embedded in the description.
++ + correct variable name in gen_edit.sh which broke configurability of
++ the --with-xterm-kbs option.
++ + revert 2011-07-16 change to "linux" alias, return to "linux2.2" -TD
++ + further amend 20110910 change, providing for configure-script
++ override of the "linux" terminfo entry to install and changing the
++ default for that to "linux2.2" (Debian #665959).
++
++20120331
++ + update Ada95/configure to use CF_DISABLE_ECHO (cf: 20120317).
++ + correct order of use-clauses in st-256color -TD
++ + modify configure script to look for gnatgcc if the Ada95 binding
++ is built, in preference to the default gcc/cc (suggested by
++ Nicolas Boulenguez).
++ + modify configure script to ensure that the same -On option used for
++ the C compiler in CFLAGS is used for ADAFLAGS rather than simply
++ using "-O3" (suggested by Nicolas Boulenguez)
++
++20120324
++ + amend an old fix so that next_char() exits properly for empty files,
++ e.g., from reading /dev/null (cf: 20080804).
++ + modify tic so that it can read from the standard input, or from
++ a character device. Because tic uses seek's, this requires writing
++ the data to a temporary file first (prompted by remark by Sven
++ Joachim) (cf: 20000923).
++
++20120317
++ + correct a check made in lib_napms.c, so that terminfo applications
++ can again use napms() (cf: 20110604).
++ + add a note in tic.h regarding required casts for ABSENT_BOOLEAN
++ (cf: 20040327).
++ + correct scripting for --disable-echo option in test/configure.
++ + amend check for missing c++ compiler to work when no error is
++ reported, and no variables set (cf: 20021206).
++ + add/use configure macro CF_DISABLE_ECHO.
++
++20120310
++ + fix some strict compiler warnings for abi6 and 64-bits.
++ + use begin_va_copy/end_va_copy macros in lib_printw.c (cf: 20120303).
++ + improve a limit-check in infocmp.c (Werner Fink):
++
++20120303
++ + minor tidying of terminfo.tail, clarify reason for limitation
++ regarding mapping of \0 to \200
++ + minor improvement to _nc_copy_termtype(), using memcpy to replace
++ loops.
++ + fix no-leaks checking in test/demo_termcap.c to account for multiple
++ calls to setupterm().
++ + modified the libgpm change to show previous load as a problem in the
++ debug-trace.
++ > merge some patches from OpenSUSE rpm (Werner Fink):
++ + ncurses-5.7-printw.dif, fixes for varargs handling in lib_printw.c
++ + ncurses-5.7-gpm.dif, do not dlopen libgpm if already loaded by
++ runtime linker
++ + ncurses-5.6-fallback.dif, do not free arrays and strings from static
++ fallback entries
++
++20120228
++ + fix breakage in tic/infocmp from 20120225 (report by Werner Fink).
++
++20120225
++ + modify configure script to allow creating dll's for MinGW when
++ cross-compiling.
++ + add --enable-string-hacks option to control whether strlcat and
++ strlcpy may be used. The same issue applies to OpenBSD's warnings
++ about snprintf, noting that this function is weakly standardized.
++ + add configure checks for strlcat, strlcpy and snprintf, to help
++ reduce bogus warnings with OpenBSD builds.
++ + build-fix for OpenBSD 4.9 to supply consistent intptr_t declaration
++ (cf:20111231)
++ + update config.guess, config.sub
++
++20120218
++ + correct CF_ETIP_DEFINES configure macro, making it exit properly on
++ the first success (patch by Pierre Labastie).
++ + improve configure macro CF_MKSTEMP by moving existence-check for
++ mkstemp out of the AC_TRY_RUN, to help with cross-compiles.
++ + improve configure macro CF_FUNC_POLL from luit changes to detect
++ broken implementations, e.g., with Mac OS X.
++ + add configure option --with-tparm-arg
++ + build-fix for MinGW cross-compiling, so that make_hash does not
++ depend on TTY definition (cf: 20111008).
++
++20120211
++ + make sgr for xterm-pcolor agree with other caps -TD
++ + make sgr for att5425 agree with other caps -TD
++ + make sgr for att630 agree with other caps -TD
++ + make sgr for linux entries agree with other caps -TD
++ + make sgr for tvi9065 agree with other caps -TD
++ + make sgr for ncr260vt200an agree with other caps -TD
++ + make sgr for ncr160vt100pp agree with other caps -TD
++ + make sgr for ncr260vt300an agree with other caps -TD
++ + make sgr for aaa-60-dec-rv, aaa+dec agree with other caps -TD
++ + make sgr for cygwin, cygwinDBG agree with other caps -TD
++ + add configure option --with-xterm-kbs to simplify configuration for
++ Linux versus most other systems.
++
++20120204
++ + improved tic -D option, avoid making target directory and provide
++ better diagnostics.
++
++20120128
++ + add mach-gnu (Debian #614316, patch by Samuel Thibault)
++ + add mach-gnu-color, tweaks to mach-gnu terminfo -TD
++ + make sgr for sun-color agree with smso -TD
++ + make sgr for prism9 agree with other caps -TD
++ + make sgr for icl6404 agree with other caps -TD
++ + make sgr for ofcons agree with other caps -TD
++ + make sgr for att5410v1, att4415, att620 agree with other caps -TD
++ + make sgr for aaa-unk, aaa-rv agree with other caps -TD
++ + make sgr for avt-ns agree with other caps -TD
++ + amend fix intended to separate fixups for acsc to allow "tic -cv" to
++ give verbose warnings (cf: 20110730).
++ + modify misc/gen-edit.sh to make the location of the tabset directory
++ consistent with misc/Makefile.in, i.e., using ${datadir}/tabset
++ (Debian #653435, patch by Sven Joachim).
++
++20120121
++ + add --with-lib-prefix option to allow configuring for old/new flavors
++ of OS/2 EMX.
++ + modify check for gnat version to allow for year, as used in FreeBSD
++ port.
++ + modify check_existence() in db_iterator.c to simply check if the
++ path is a directory or file, according to the need. Checking for
++ directory size also gives no usable result with OS/2 (cf: 20120107).
++ + support OS/2 kLIBC (patch by KO Myung-Han).
++
++20120114
++ + several improvements to test/movewindow.c (prompted by discussion on
++ Linux Mint forum):
++ + modify movement commands to make them continuous
++ + rewrote the test for mvderwin
++ + rewrote the test for recursive mvwin
++ + split-out reusable CF_WITH_NCURSES_ETC macro in test/configure.in
++ + updated configure macro CF_XOPEN_SOURCE, build-fixes for Mac OS X
++ and OpenBSD.
++ + regenerated html manpages.
++
++20120107
++ + various improvments for MinGW (Juergen Pfeifer):
++ + modify stat() calls to ignore the st_size member
++ + drop mk-dlls.sh script.
++ + change recommended regular expression library.
++ + modify rain.c to allow for threaded configuraton.
++ + modify tset.c to allow for case when size-change logic is not used.
++
++20111231
++ + modify toe's report when -a and -s options are combined, to add
++ a column showing which entries belong to a given database.
++ + add -s option to toe, to sort its output.
++ + modify progs/toe.c, simplifying use of db-iterator results to use
++ caching improvements from 20111001 and 20111126.
++ + correct generation of pc-files when ticlib or termlib options are
++ given to rename the corresponding tic- or tinfo-libraries (report
++ by Sven Joachim).
++
++20111224
++ + document a portability issue with tput, i.e., that scripts which work
++ with ncurses may fail in other implementations that do no parameter
++ analysis.
++ + add putty-sco entry -TD
++
++20111217
++ + review/fix places in manpages where --program-prefix configure option
++ was not being used.
++ + add -D option to infocmp, to show the database locations that it
++ could use.
++ + fix build for the special case where term-driver, ticlib and termlib
++ are all enabled. The terminal driver depends on a few features in
++ the base ncurses library, so tic's dependencies include both ncurses
++ and termlib.
++ + fix build work for term-driver when --enable-wgetch-events option is
++ enabled.
++ + use <stdint.h> types to fix some questionable casts to void*.
++
++20111210
++ + modify configure script to check if thread library provides
++ pthread_mutexattr_settype(), e.g., not provided by Solaris 2.6
++ + modify configure script to suppress check to define _XOPEN_SOURCE
++ for IRIX64, since its header files have a conflict versus
++ _SGI_SOURCE.
++ + modify configure script to add ".pc" files for tic- and
++ tinfo-libraries, which were omitted in recent change (cf: 20111126).
++ + fix inconsistent checks on $PKG_CONFIG variable in configure script.
++
++20111203
++ + modify configure-check for etip.h dependencies, supplying a temporary
++ copy of ncurses_dll.h since it is a generated file (prompted by
++ Debian #646977).
++ + modify CF_CPP_PARAM_INIT "main" function to work with current C++.
++
++20111126
++ + correct database iterator's check for duplicate entries
++ (cf: 20111001).
++ + modify database iterator to ignore $TERMCAP when it is not an
++ absolute pathname.
++ + add -D option to tic, to show the database locations that it could
++ use.
++ + improve description of database locations in tic manpage.
++ + modify the configure script to generate a list of the ".pc" files to
++ generate, rather than deriving the list from the libraries which have
++ been built (patch by Mike Frysinger).
++ + use AC_CHECK_TOOLS in preference to AC_PATH_PROGS when searching for
++ ncurses*-config, e.g., in Ada95/configure and test/configure (adapted
++ from patch by Mike Frysinger).
++
++20111119
++ + remove obsolete/conflicting fallback definition for _POSIX_SOURCE
++ from curses.priv.h, fixing a regression with IRIX64 and Tru64
++ (cf: 20110416)
++ + modify _nc_tic_dir() to ensure that its return-value is nonnull,
++ i.e., the database iterator was not initialized. This case is needed
++ to when tic is translating to termcap, rather than loading the
++ database (cf: 20111001).
++
++20111112
++ + add pccon entries for OpenBSD console (Alexei Malinin).
++ + build-fix for OpenBSD 4.9 with gcc 4.2.1, setting _XOPEN_SOURCE to
++ 600 to work around inconsistent ifdef'ing of wcstof between C and
++ C++ header files.
++ + modify capconvert script to accept more than exact match on "xterm",
++ e.g., the "xterm-*" variants, to exclude from the conversion (patch
++ by Robert Millan).
++ + add -lc_r as alternative for -lpthread, allows build of threaded code
++ in older FreeBSD machines.
++ + build-fix for MirBSD, which fails when either _XOPEN_SOURCE or
++ _POSIX_SOURCE are defined.
++ + fix a typo misc/Makefile.in, used in uninstalling pc-files.
++
++20111030
++ + modify make_db_path() to allow creating "terminfo.db" in the same
++ directory as an existing "terminfo" directory. This fixes a case
++ where switching between hashed/filesystem databases would cause the
++ new hashed database to be installed in the next best location -
++ root's home directory.
++ + add variable cf_cv_prog_gnat_correct to those passed to
++ config.status, fixing a problem with Ada95 builds (cf: 20111022).
++ + change feature test from _XPG5 to _XOPEN_SOURCE in two places, to
++ accommodate broken implementations for _XPG6.
++ + eliminate usage of NULL symbol from etip.h, to reduce header
++ interdependencies.
++ + add configure check to decide when to add _XOPEN_SOURCE define to
++ compiler options, i.e., for Solaris 10 and later (cf: 20100403).
++ This is a workaround for gcc 4.6, which fails to build the c++
++ binding if that symbol is defined by the application, due to
++ incorrectly combining the corresponding feature test macros
++ (report by Peter Kruse).
++
++20111022
++ + correct logic for discarding mouse events, retaining the partial
++ events used to build up click, double-click, etc, until needed
++ (cf: 20110917).
++ + fix configure script to avoid creating unused Ada95 makefile when
++ gnat does not work.
++ + cleanup width-related gcc 3.4.3 warnings for 64-bit platform, for the
++ internal functions of libncurses. The external interface of courses
++ uses bool, which still produces these warnings.
++
++20111015
++ + improve description of --disable-tic-depends option to make it
++ clear that it may be useful whether or not the --with-termlib
++ option is also given (report by Sven Joachim).
++ + amend termcap equivalent for set_pglen_inch to use the X/Open
++ "YI" rather than the obsolete Solaris 2.5 "sL" (cf: 990109).
++ + improve manpage for tgetent differences from termcap library.
++
++20111008
++ + moved static data from db_iterator.c to lib_data.c
++ + modify db_iterator.c for memory-leak checking, fix one leak.
++ + modify misc/gen-pkgconfig.in to use Requires.private for the parts
++ of ncurses rather than Requires, as well as Libs.private for the
++ other library dependencies (prompted by Debian #644728).
++
++20111001
++ + modify tic "-K" option to only set the strict-flag rather than force
++ source-output. That allows the same flag to control the parser for
++ input and output of termcap source.
++ + modify _nc_getent() to ignore backslash at the end of a comment line,
++ making it consistent with ncurses' parser.
++ + restore a special-case check for directory needed to make termcap
++ text files load as if they were databases (cf: 20110924).
++ + modify tic's resolution/collision checking to attempt to remove the
++ conflicting alias from the second entry in the pair, which is
++ normally following in the source file. Also improved the warning
++ message to make it simpler to see which alias is the problem.
++ + improve performance of the database iterator by caching search-list.
++
++20110925
++ + add a missing "else" in changes to _nc_read_tic_entry().
++
++20110924
++ + modify _nc_read_tic_entry() so that hashed-database is checked before
++ filesystem.
++ + updated CF_CURSES_LIBS check in test/configure script.
++ + modify configure script and makefiles to split TIC_ARGS and
++ TINFO_ARGS into pieces corresponding to LDFLAGS and LIBS variables,
++ to help separate searches for tic- and tinfo-libraries (patch by Nick
++ Alcock aka "Nix").
++ + build-fix for lib_mouse.c changes (cf: 20110917).
++
++20110917
++ + fix compiler warning for clang 2.9
++ + improve merging of mouse events (integrated patch by Damien
++ Guibouret).
++ + correct mask-check used in lib_mouse for wheel mouse buttons 4/5
++ (patch by Damien Guibouret).
++
++20110910
++ + modify misc/gen_edit.sh to select a "linux" entry which works with
++ the current kernel rather than assuming it is always "linux3.0"
++ (cf: 20110716).
++ + revert a change to getmouse() which had the undesirable side-effect
++ of suppressing button-release events (report by Damien Guibouret,
++ cf: 20100102).
++ + add xterm+kbs fragment from xterm #272 -TD
++ + add configure option --with-pkg-config-libdir to provide control over
++ the actual directory into which pc-files are installed, do not use
++ the pkg-config environment variables (discussion with Frederic L W
++ Meunier).
++ + add link to mailing-list archive in announce.html.in, as done in
++ FAQ (prompted by question by Andrius Bentkus).
++ + improve manpage install by adjusting the "#include" examples to
++ show the ncurses-subdirectory used when --disable-overwrite option
++ is used.
++ + install an alias for "curses" to the ncurses manpage, tied to the
++ --with-curses-h configure option (suggested by Reuben Thomas).
++
++20110903
++ + propagate error-returns from wresize, i.e., the internal
++ increase_size and decrease_size functions through resize_term (report
++ by Tim van der Molen, cf: 20020713).
++ + fix typo in tset manpage (patch by Sven Joachim).
++
++20110820
++ + add a check to ensure that termcap files which might have "^?" do
++ not use the terminfo interpretation as "\177".
++ + minor cleanup of X-terminal emulator section of terminfo.src -TD
++ + add terminator entry -TD
++ + add simpleterm entry -TD
++ + improve wattr_get macros by ensuring that if the window pointer is
++ null, then the attribute and color values returned will be zero
++ (cf: 20110528).
++
++20110813
++ + add substitution for $RPATH_LIST to misc/ncurses-config.in
++ + improve performance of tic with hashed-database by caching the
++ database connection, using atexit() to cleanup.
++ + modify treatment of 2-character aliases at the beginning of termcap
++ entries so they are not counted in use-resolution, since these are
++ guaranteed to be unique. Also ignore these aliases when reporting
++ the primary name of the entry (cf: 20040501)
++ + double-check gn (generic) flag in terminal descriptions to
++ accommodate old/buggy termcap databases which misused that feature.
++ + minor fixes to _nc_tgetent(), ensure buffer is initialized even on
++ error-return.
++
++20110807
++ + improve rpath fix from 20110730 by ensuring that the new $RPATH_LIST
++ variable is defined in the makefiles which use it.
++ + build-fix for DragonFlyBSD's pkgsrc in test/configure script.
++ + build-fixes for NetBSD 5.1 with termcap support enabled.
++ + corrected k9 in dg460-ansi, add other features based on manuals -TD
++ + improve trimming of whitespace at the end of terminfo/termcap output
++ from tic/infocmp.
++ + when writing termcap source, ensure that colons in the description
++ field are translated to a non-delimiter, i.e., "=".
++ + add "-0" option to tic/infocmp, to make the termcap/terminfo source
++ use a single line.
++ + add a null-pointer check when handling the $CC variable.
++
++20110730
++ + modify configure script and makefiles in c++ and progs to allow the
++ directory used for rpath option to be overridden, e.g., to work
++ around updates to the variables used by tic during an install.
++ + add -K option to tic/infocmp, to provide stricter BSD-compatibility
++ for termcap output.
++ + add _nc_strict_bsd variable in tic library which controls the
++ "strict" BSD termcap compatibility from 20110723, plus these
++ features:
++ + allow escapes such as "\8" and "\9" when reading termcap
++ + disallow "\a", "\e", "\l", "\s" and "\:" escapes when reading
++ termcap files, passing through "a", "e", etc.
++ + expand "\:" as "\072" on output.
++ + modify _nc_get_token() to reset the token's string value in case
++ there is a string-typed token lacking the "=" marker.
++ + fix a few memory leaks in _nc_tgetent.
++ + fix a few places where reading from a termcap file could refer to
++ freed memory.
++ + add an overflow check when converting terminfo/termcap numeric
++ values, since terminfo stores those in a short, and they must be
++ positive.
++ + correct internal variables used for translating to termcap "%>"
++ feature, and translating from termcap %B to terminfo, needed by
++ tctest (cf: 19991211).
++ + amend a minor fix to acsc when loading a termcap file to separate it
++ from warnings needed for tic (cf: 20040710)
++ + modify logic in _nc_read_entry() and _nc_read_tic_entry() to allow
++ a termcap file to be handled via TERMINFO_DIRS.
++ + modify _nc_infotocap() to include non-mandatory padding when
++ translating to termcap.
++ + modify _nc_read_termcap_entry(), passing a flag in the case where
++ getcap is used, to reduce interactive warning messages.
++
++20110723
++ + add a check in start_color() to limit color-pairs to 256 when
++ extended colors are not supported (patch by David Benjamin).
++ + modify setcchar to omit no-longer-needed OR'ing of color pair in
++ the SetAttr() macro (patch by David Benjamin).
++ + add kich1 to sun terminfo entry (Yuri Pankov)
++ + use bold rather than reverse for smso in sun-color terminfo entry
++ (Yuri Pankov).
++ + improve generation of termcap using tic/infocmp -C option, e.g.,
++ to correspond with 4.2BSD (prompted by discussion with Yuri Pankov
++ regarding Schilling's test program):
++ + translate %02 and %03 to %2 and %3 respectively.
++ + suppress string capabilities which use %s, not supported by tgoto
++ + use \040 rather than \s
++ + expand null characters as \200 rather than \0
++ + modify configure script to support shared libraries for DragonFlyBSD.
++
++20110716
++ + replace an assert() in _nc_Free_Argument() with a regular null
++ pointer check (report/analysis by Franjo Ivancic).
++ + modify configure --enable-pc-files option to take into account the
++ PKG_CONFIG_PATH variable (report by Frederic L W Meunier).
++ + add/use xterm+tmux chunk from xterm #271 -TD
++ + resync xterm-new entry from xterm #271 -TD
++ + add E3 extended capability to linux-basic (Miroslav Lichvar)
++ + add linux2.2, linux2.6, linux3.0 entries to give context for E3 -TD
++ + add SI/SO change to linux2.6 entry (Debian #515609) -TD
++ + fix inconsistent tabset path in pcmw (Todd C. Miller).
++ + remove a backslash which continued comment, obscuring altos3
++ definition with OpenBSD toolset (Nicholas Marriott).
++
++20110702
++ + add workaround from xterm #271 changes to ensure that compiler flags
++ are not used in the $CC variable.
++ + improve support for shared libraries, tested with AIX 5.3, 6.1 and
++ 7.1 with both gcc 4.2.4 and cc.
++ + modify configure checks for AIX to include release 7.x
++ + add loader flags/libraries to libtool options so that dynamic loading
++ works properly, adapted from ncurses-5.7-ldflags-with-libtool.patch
++ at gentoo prefix repository (patch by Michael Haubenwallner).
++
++20110626
++ + move include of nc_termios.h out of term_entry.h, since the latter
++ is installed, e.g., for tack while the former is not (report by
++ Sven Joachim).
++
++20110625
++ + improve cleanup() function in lib_tstp.c, using _exit() rather than
++ exit() and checking for SIGTERM rather than SIGQUIT (prompted by
++ comments forwarded by Nicholas Marriott).
++ + reduce name pollution from term.h, moving fallback #define's for
++ tcgetattr(), etc., to new private header nc_termios.h (report by
++ Sergio NNX).
++ + two minor fixes for tracing (patch by Vassili Courzakis).
++ + improve trace initialization by starting it in use_env() and
++ ripoffline().
++ + review old email, add details for some changelog entries.
++
++20110611
++ + update minix entry to minix 3.2 (Thomas Cort).
++ + fix a strict compiler warning in change to wattr_get (cf: 20110528).
++
++20110604
++ + fixes for MirBSD port:
++ + set default prefix to /usr.
++ + add support for shared libraries in configure script.
++ + use S_ISREG and S_ISDIR consistently, with fallback definitions.
++ + add a few more checks based on ncurses/link_test.
++ + modify MKlib_gen.sh to handle sp-funcs renaming of NCURSES_OUTC type.
++
++20110528
++ + add case to CF_SHARED_OPTS for Interix (patch by Markus Duft).
++ + used ncurses/link_test to check for behavior when the terminal has
++ not been initialized and when an application passes null pointers
++ to the library. Added checks to cover this (prompted by Redhat
++ #707344).
++ + modify MKlib_gen.sh to make its main() function call each function
++ with zero parameters, to help find inconsistent checking for null
++ pointers, etc.
++
++20110521
++ + fix warnings from clang 2.7 "--analyze"
++
++20110514
++ + compiler-warning fixes in panel and progs.
++ + modify CF_PKG_CONFIG macro, from changes to tin -TD
++ + modify CF_CURSES_FUNCS configure macro, used in test directory
++ configure script:
++ + work around (non-optimizer) bug in gcc 4.2.1 which caused
++ test-expression to be omitted from executable.
++ + force the linker to see a link-time expression of a symbol, to
++ help work around weak-symbol issues.
++
++20110507
++ + update discussion of MKfallback.sh script in INSTALL; normally the
++ script is used automatically via the configured makefiles. However
++ there are still occasions when it might be used directly by packagers
++ (report by Gunter Schaffler).
++ + modify misc/ncurses-config.in to omit the "-L" option from the
++ "--libs" output if the library directory is /usr/lib.
++ + change order of tests for curses.h versus ncurses.h headers in the
++ configure scripts for Ada95 and test-directories, to look for
++ ncurses.h, from fixes to tin -TD
++ + modify ncurses/tinfo/access.c to account for Tandem's root uid
++ (report by Joachim Schmitz).
++
++20110430
++ + modify rules in Ada95/src/Makefile.in to ensure that the PIC option
++ is not used when building a static library (report by Nicolas
++ Boulenguez):
++ + Ada95 build-fix for big-endian architectures such as sparc. This
++ undoes one of the fixes from 20110319, which added an "Unused" member
++ to representation clauses, replacing that with pragmas to suppress
++ warnings about unused bits (patch by Nicolas Boulenguez):
++
++20110423
++ + add check in test/configure for use_window, use_screen.
++ + add configure-checks for getopt's variables, which may be declared
++ as different types on some Unix systems.
++ + add check in test/configure for some legacy curses types of the
++ function pointer passed to tputs().
++ + modify init_pair() to accept -1's for color value after
++ assume_default_colors() has been called (Debian #337095).
++ + modify test/background.c, adding commmand-line options to demonstrate
++ assume_default_colors() and use_default_colors().
++
++20110416
++ + modify configure script/source-code to only define _POSIX_SOURCE if
++ the checks for sigaction and/or termios fail, and if _POSIX_C_SOURCE
++ and _XOPEN_SOURCE are undefined (report by Valentin Ochs).
++ + update config.guess, config.sub
++
++20110409
++ + fixes to build c++ binding with clang 3.0 (patch by Alexander
++ Kolesen).
++ + add check for unctrl.h in test/configure, to work around breakage in
++ some ncurses packages.
++ + add "--disable-widec" option to test/configure script.
++ + add "--with-curses-colr" and "--with-curses-5lib" options to the
++ test/configure script to address testing with very old machines.
++
+ 20110404 5.9 release for upload to ftp.gnu.org
+
+ 20110402
+@@ -100,7 +1168,7 @@
+ + modify configure script to provide value for HTML_DIR in
+ Ada95/gen/Makefile.in, which depends on whether the Ada95 binding is
+ distributed separately (report by Nicolas Boulenguez).
+- + modify configure script to add -g and/or -O3 to ADAFLAGS if the
++ + modify configure script to add "-g" and/or "-O3" to ADAFLAGS if the
+ CFLAGS for the build has these options.
+ + amend change from 20070324, to not add 1 to the result of getmaxx
+ and getmaxy in the Ada binding (report by Nicolas Boulenguez for
+@@ -155,7 +1223,7 @@
+ 20110212
+ + regenerated html manpages.
+ + use _tracef() in show_where() function of tic, to work correctly with
+- special case of trace configuration.
++ special case of trace configuration.
+
+ 20110205
+ + add xterm-utf8 entry as a demo of the U8 feature -TD
+@@ -219,7 +1287,7 @@
+ version which works with termcap.
+ + remove obsolete emacs "Local Variables" section from documentation
+ (request by Sven Joachim).
+- + update doc/html/index.html to include NCURSES-Programming-HOWTO.html
++ + update doc/html/index.html to include NCURSES-Programming-HOWTO.html
+ (report by Sven Joachim).
+
+ 20101128
+@@ -294,8 +1362,8 @@
+ Sven Joachim).
+ + add parameterized cursor-controls to linux-basic (report by Dae) -TD
+ > patch by Juergen Pfeifer:
+- + document how to build 32-bit libraries in README.MinGW
+- + fixes to filename computation in mk-dlls.sh.in
++ + document how to build 32-bit libraries in README.MinGW
++ + fixes to filename computation in mk-dlls.sh.in
+ + use POSIX locale in mk-dlls.sh.in rather than en_US (report by Sven
+ Joachim).
+ + add a check in mk-dlls.sh.in to obtain the size of a pointer to
+@@ -478,7 +1546,7 @@
+ 20100417
+ + modify _nc_capcmp() to work with cancelled strings.
+ + correct translation of "^" in _nc_infotocap(), used to transform
+- terminfo to termcap strings
++ terminfo to termcap strings
+ + add configure --disable-rpath-hack, to allow disabling the feature
+ which adds rpath options for libraries in unusual places.
+ + improve CF_RPATH_HACK_2 by checking if the rpath option for a given
+@@ -1533,8 +2601,8 @@
+ that library.
+ + add/modify null-pointer checks in several functions for SP and/or
+ the WINDOW* parameter (report by Thorben Krueger).
+- + fixes for field_buffer() in formw library (see Redhat Bugzilla
+- #310071, patches by Miroslav Lichvar).
++ + fixes for field_buffer() in formw library (see Redhat #310071,
++ patches by Miroslav Lichvar).
+ + improve performance of NCURSES_CHAR_EQ code (patch by Miroslav
+ Lichvar).
+ + update/improve mlterm and rxvt terminfo entries, e.g., for
+@@ -1645,7 +2713,7 @@
+ + modify configure script to quiet c++ build with libtool when the
+ --disable-echo option is used.
+ + modify configure script to disable ada95 if libtool is selected,
+- writing a warning message (addresses FreeBSD ports/114493).
++ writing a warning message (addresses FreeBSD #114493).
+ + update config.guess, config.sub
+
+ 20070707
+@@ -2130,8 +3198,7 @@
+ + workaround for 20050806 ifdef's change to allow visbuf.c to compile
+ when using --with-termlib --with-trace options.
+ + improve tgetstr() by making the return value point into the user's
+- buffer, if provided (patch by Miroslav Lichvar (see Redhat Bugzilla
+- #202480)).
++ buffer, if provided (patch by Miroslav Lichvar (see Redhat #202480)).
+ + correct libraries needed for foldkeys (report by Stanislav Ievlev)
+
+ 20060826
+@@ -2144,10 +3211,10 @@
+ source output (Debian #378783).
+ + modify configure script to ensure that if the C compiler is used
+ rather than the loader in making shared libraries, the $(CFLAGS)
+- variable is also used (Redhat Bugzilla #199369).
++ variable is also used (Redhat #199369).
+ + port hashed-db code to db2 and db3.
+ + fix a bug in tgetent() from 20060625 and 20060715 changes
+- (patch/analysis by Miroslav Lichvar (see Redhat Bugzilla #202480)).
++ (patch/analysis by Miroslav Lichvar (see Redhat #202480)).
+
+ 20060805
+ + updated xterm function-keys terminfo to match xterm #216 -TD
+@@ -2939,7 +4006,7 @@
+ of cur_term if the same output was selected. This now reuses it only
+ when setupterm() is called from tgetent(), which has no notion of
+ separate SCREENs. Note that tgetent() must be called after initscr()
+- or newterm() to use this feature (Redhat Bugzilla #140326).
++ or newterm() to use this feature (Redhat #140326).
+ + add a check in CF_BUILD_CC macro to ensure that developer has given
+ the --with-build-cc option when cross-compiling (report by Alexandre
+ Campo).
+@@ -3032,7 +4099,7 @@
+ entries, e.g., so it can analyze the xterm-8bit entry.
+ + add morphos terminfo entry, improve amiga-8bit entry (Pavel Fedin).
+ + correct translation of "%%" in terminfo format to termcap, e.g.,
+- using "tic -C" (Redhat Bugzilla #130921).
++ using "tic -C" (Redhat #130921).
+ + modified configure script CF_XOPEN_SOURCE macro to ensure that if
+ it defines _POSIX_C_SOURCE, that it defines it to a specific value
+ (comp.os.stratus newsgroup comment).
+@@ -3043,9 +4110,9 @@
+ However that did find a coding error in Assume_Default_Colors().
+ + modify several terminfo entries to ensure xterm mouse and cursor
+ visibility are reset in rs2 string: hurd, putty, gnome,
+- konsole-base, mlterm, Eterm, screen (Debian #265784, #55637). The
+- xterm entries are left alone - old ones for compatibility, and the
+- new ones do not require this change. -TD
++ konsole-base, mlterm, Eterm, screen (Debian #265784, Debian #55637).
++ The xterm entries are left alone - old ones for compatibility, and
++ the new ones do not require this change. -TD
+
+ 20040814
+ + fake a SIGWINCH in newterm() to accommodate buggy terminal emulators
+@@ -3076,8 +4143,8 @@
+ + modify "tic -cv" to ignore delays when comparing strings. Also
+ modify it to ignore a canceled sgr string, e.g., for terminals which
+ cannot properly combine attributes in one control sequence.
+- + corrections for gnome and konsole entries (Redhat Bugzilla #122815,
+- patch by Hans de Goede)
++ + corrections for gnome and konsole entries (Redhat #122815, patch by
++ Hans de Goede)
+ > terminfo updates -TD
+ + make ncsa-m rmacs/smacs consistent with sgr
+ + add sgr, rc/sc and ech to syscons entries
+@@ -3090,7 +4157,7 @@
+ > terminfo updates -TD
+ + add xterm-pc-fkeys
+ + review/update gnome and gnome-rh90 entries (prompted by Redhat
+- Bugzilla #122815).
++ #122815).
+ + review/update konsole entries
+ + add sgr, correct sgr0 for kterm and mlterm
+ + correct tsl string in kterm
+@@ -4204,7 +5271,7 @@
+ + add a check in kgetch() for cooked characters in the fifo to avoid
+ calling fifo_push() when a KEY_RESIZE is available (report/analysis
+ by Sam Varshavchik <mrsam@courier-mta.com>).
+- + fix an overlooked case for bugzilla #68199 (Philippe Blain).
++ + fix an overlooked case for Redhat #68199 (Philippe Blain).
+ + ensure clearerr() is called before using ferror() e.g., in
+ lib_screen.c (report by Philippe Blain).
+
+@@ -4212,7 +5279,7 @@
+ + modify lib_screen.c and lib_newwin.c to maintain the SCREEN-specific
+ pointers for curscr/stdscr/newscr when scr_save() and scr_restore()
+ modify the global curscr/stdscr/newscr variables. Fixes Redhat
+- bugzilla #68199 dated 2002-07-07.
++ #68199.
+ + add checks for null pointer in calls to tparm() and tgoto() based on
+ FreeBSD bug report. If ncurses were built with termcap support, and
+ the first call to tgoto() were a zero-length string, the result would
+@@ -4245,7 +5312,7 @@
+ Olaf Buddenhagen <olafBuddenhagen@web.de>).
+ + modified wresize() to ensure that a failed realloc will not corrupt
+ the window structure, and to make subwindows fit within the resized
+- window (completes Debian #87678, #101699)
++ window (completes Debian #87678, Debian #101699)
+
+ 20020803
+ + fix an off-by-one in lib_pad.c check for limits of pad (patch by
+@@ -4940,9 +6007,9 @@
+ which may be in libutf8.
+ + remove some unnecessary text from curs_extend.3x and
+ default_colors.3x which caused man-db to make incorrect symbolic
+- links (Debian bug report #99550).
++ links (Debian #99550).
+ + add configure check if cast for _IO_va_list is needed to compile
+- C++ vscan code (Debian bug report #97945).
++ C++ vscan code (Debian #97945).
+ > several patches from Sven Verdoolaege:
+ + correct code that used non-standard auto-initialization of a struct,
+ which gcc allows (report by Larry Virden).
+@@ -5077,7 +6144,7 @@
+ + add some examples of customizing screen's terminfo:
+ screen.xterm-xfree86, screen.xterm-r6, screen.teraterm -TD
+ + modify screen's terminfo entry to match the khome/kend in screen
+- 3.09.08 (Debian bug report #92215).
++ 3.09.08 (Debian #92215).
+ + correct a memory leak in forms library (report by Stefan Vogtner
+ <stefan@vogtner.de>) (patch by Juergen Pfeifer).
+
+@@ -5091,12 +6158,12 @@
+ + add .cc.ii rule to c++ makefile, to get preprocessor output for
+ debugging.
+ + correct configure script handling of @keyword@ substitutions when the
+- --with-manpage-renames option is given (cf: 20000715, fixes Debian
+- bug #89939).
++ --with-manpage-renames option is given (cf: 20000715, fixes Debian
++ #89939).
+ + report stack underflow/overflow in tparm() when tic -cv option is
+ given.
+ + remove spurious "%|" operator from xterm-xfree86 terminfo entry,
+- (reported by Adam Costello <amc@cs.berkeley.edu>, Debian bug #89222).
++ (reported by Adam Costello <amc@cs.berkeley.edu>, Debian #89222).
+
+ 20010310
+ + cleanup of newdemo.c, fixing some ambiguous expressions noted by gcc
+@@ -5800,7 +6867,7 @@
+ + correct spelling error in terminfo entry name: bq300-rv was given as
+ bg300-rv in esr's version.
+ + modify redrawwin() macro so its parameter is fully parenthesized
+- (fixes Debian bug report #61088).
++ (fixes Debian #61088).
+ + correct formatting error in dump_entry() which set incorrect column
+ value when no newline trimming was needed at the end of an entry,
+ before appending "use=" clauses (cf: 960406).
+@@ -6530,7 +7597,7 @@
+ handling in lynx (reported by Kim DeVaughn).
+
+ 990306 pre-release
+- + add -G option to tic and infocmp, to reverse the -g option.
++ + add -G option to tic and infocmp, to reverse the "-g" option.
+ + recode functions in name_match.c to avoid use of strncpy, which
+ caused a 4-fold slowdown in tic (cf: 980530).
+ + correct a few warnings about sign-extension in recent changes.
+@@ -6901,7 +7968,7 @@
+ since that is a little more efficient.
+ + minor correction to infocmp to avoid displaying "difference" between
+ two capabilities that are rendered in equivalent forms.
+- + add -g option to tic/infocmp to force character constants to be
++ + add "-g" option to tic/infocmp to force character constants to be
+ displayed in quoted form. Otherwise their decimal values are shown.
+ + modify setupterm so that cancelled strings are treated the same as
+ absent strings, cancelled and absent booleans false (does not affect
+@@ -8979,15 +10046,18 @@
+ + correction to #317.
+ > patch 317 (ESR):
+ + re-add _nc_hash_map
+- + modify EmitRange to maintain position as per original design.
+- + add hashtest.c, program to time the hashmap optimization.
++ + modify EmitRange to maintain position as per original design
++ (patch by A. Lukyanov).
++ + modify test/ncurses.c and tputs, etc., to allow trace counting
++ output characters.
++ + add hashtest.c program to time the hashmap optimization.
+ > patch 316 (ESR):
+ + add logic to deal with magic-cookie (how was this tested?)
+ (lib_doupdate.c).
+ + add ncurses.c driver for magic-cookie, some fixes to ncurses.c
+ > patch 315 (ESR):
+- + merged Alexander V Lukyanov's patch to use ech and rep - untested
+- (lib_doupdate.c).
++ + merge changes to lib_doupdate.c to use ech and rep - untested
++ (patch by Alexander V Lukyanov).
+ + modified handling of interrupted system calls - untested
+ (lib_getch.c, lib_twait.c).
+ + new function _nc_mvcur_resume()
+@@ -9059,12 +10129,12 @@
+ + corrected typo in dtterm description.
+ > patch 313 (ESR):
+ + add dtterm description
+- + clarify ncurses 'i' test (drop vscanf subtest)
++ + clarify ncurses 'i' test (drop mvwscanw subtest)
+
+ 960810 - snapshot
+ + correct nl()/nonl() to work as per SVr4 & XSI.
+ + minor fixes to ncurses.c (use 'noraw()', mvscanw return-code)
+- + refine configure-test for -g option (Tim Mooney).
++ + refine configure-test for "-g" option (Tim Mooney).
+ + correct interaction between O_BLANK and NEW_LINE request in form
+ library (Juergen Pfeifer)
+
+@@ -9073,7 +10143,8 @@
+ > patch 312 (ESR):
+ correct terminfo.src corrupted by #310
+ > patch 311 (ESR):
+- + fix idlok() and idcok() and the default of the idlok switch.
++ + fix idlok() and idcok() and the default of the idlok switch (report
++ by Ville Sulko).
+
+ 960803 - snapshot
+ + corrected tparm to handle capability strings without explicit pop
+@@ -9083,7 +10154,7 @@
+ > patch 310 (ESR):
+ + documentation and prototyping errors for has_color, immedok and idcok
+ (reported by William P Setzer <wsetzer@pams.ncsu.edu>)
+- + updated qnx terminfo entry (by Michael Hunter)
++ + updated qnx terminfo entry (patch by Michael Hunter)
+
+ 960730
+ + eliminate quoted includes in ncurses subdirectory, ensure config.h
+@@ -9095,7 +10166,7 @@
+ + call cbreak() in initscr(), as per XSI & SVr4.
+ + turn off hardware echo in initscr() as per XSI & SVr4
+ > patch 309 (ESR):
+- + terminfo changes (9.3.10), from BRL
++ + terminfo changes (9.3.9), from BRL
+ + add more checks to terminfo parser.
+ + add more symbols to infocmp.
+
+@@ -9114,6 +10185,7 @@
+ > patch 308 (ESR):
+ + terminfo changes (9.3.8)
+ + modified logic of error-reporting in terminfo parser
++ + fix option-processing bug in toe.
+
+ 960713 - snapshot
+ + always check for <sys/bsdtypes.h> since ISC needs it to declare
+@@ -9122,9 +10194,19 @@
+ by Juergen Pfeifer, Mike Long)
+ + add LOCAL_LDFLAGS2 symbol (Juergen Pfeifer)
+ + corrected prototype for delay_output() -- bump ABI to 3.2
+- + terminfo patches #306/307 (ESR).
++ + patch 307 (ESR):
++ + enable more translations of nonstandard caps, and document them.
++ + misc/terminfo.src update to 9.13.8
++ + patch 306 (ESR):
+ + moved logic that filters out rmul and rmso from setupterm to newterm
+ where it is less likely to interfere with termcap applications.
++ + cosmetic fixes to test/ncurses.c
++ + modify open() call in ncurses/read_entry.c to use O_RDONLY symbol
++ rather than constant (report by mib).
++ + misc/terminfo.src sgr0 and acsc changes (report by Philippe De
++ Muyter).
++ + modify ncurses/comp_parse.c so that entries containing a "+" can
++ have missing rmcup vs smcup.
+
+ 960707
+ + rollback ESR's #305 change to terminfo.src (it breaks existing
+@@ -9139,7 +10221,6 @@
+ + make lib_vidattr.c more readable using macros.
+ + filter out rmul, rmso that conflict with sgr0 when reading terminal
+ descriptions.
+- + added sanity-checking of various paired string attributes (ESR).
+ + work around autoconf bug, force $INSTALL to absolute path
+ (reported by Zeyd).
+ + modify man-page install for BSDI to install preformatted .0 files
+@@ -9152,6 +10233,12 @@
+ + disable scrollok during the ncurses 'p' test; if it is enabled the
+ stdscr will scroll when putting the box-corners in the lower-right
+ of the screen.
++ > patch 305 (ESR):
++ + added sanity-checking of various paired string attributes.
++ + misc/terminfo.src update to 9.13.7 (report by A. Lukyanov).
++ + modify man/Makefile.in to make terminfo.5 during normal build.
++ > patch 304 (ESR):
++ + corrected allocation-length for $HOME/.terminfo path.
+
+ 960629 - snapshot
+ + check return code of _nc_mvcur_scrolln() in _nc_scroll_optimize() for
+@@ -9234,6 +10321,7 @@
+ + better fix for nvi refresh-bug (Rick Marshall)
+ + fix for bug in handling of interrupted keystroke waits,
+ (Werner Fleck).
++ + misc/ncurses-intro.html syntax fix (Kajiyama Tamito).
+
+ 960601 - snapshot
+ + auto-configure man-page compression-format and renames for Debian.
+@@ -9248,7 +10336,7 @@
+ + enhancement to the control over the new PC-style soft key format.
+ allow caller now to select whether or not one wants to have
+ the index-line; see curs_slk.3x for documentation (Juergen Pfeifer).
+- + typos, don't use inline with -g (Philippe De Muyter)
++ + typos, don't use inline with "-g" (Philippe De Muyter)
+ + fixes for menus & wattr-, slk-functions (Juergen Pfeifer)
+
+ 960526 - snapshot
+@@ -9263,6 +10351,9 @@
+ + include sys/types.h in case stdlib.h does not declare size_t.
+ + fixes for makefile (Tim Mooney)
+ + fixes for menus & forms (Juergen Pfeifer)
++ > patch 302 (ESR):
++ + improve hash function (suggested by Alexander V Lukyanov).
++ + 9.13.4 update for terminfo.src
+
+ 960518 - snapshot
+ + revised ncurses.c panner test, let pad abut all 4 sides of screen.
+@@ -9275,6 +10366,8 @@
+ confusion, and made this check for the /usr/lib/terminfo pre-existing
+ directory.
+ > patches 299-301 (ESR):
++ + html fixes (Phillippe de Muyter).
++ + fix typo in ncurses-intro.html (report by Fabrizio Polacco).
+ + added hashmap.c
+ + mods to tracing, especially for ACS chars.
+ + corrected off-by-one in IDCtransform.
+@@ -9294,13 +10387,21 @@
+ > patches 297, 298 (ESR):
+ + implement TERMINFO_DIRS, and -o option of tic
+ + added TRACE_IEVENT
+- + removed boolean version of 'getm'
+- + added lib_print.c (for Rick Marshall)
+- + added has_key()
++ + fix REQ_TOGGLE_ITEM in menu/menu_driver.c; it could select but not
++ deselect.
++ + added lib_print.c (request by Rick Marshall).
++ + added has_key() (request by Juergen Pfeifer).
++ + do not issue clrtoeol or clrtobot if the relevant portion of the line
++ is already blank (analysis by Keith Bostic).
++ + add parentheses for parameters of COLOR_PAIR and PAIR_NUMBER macros
++ (analysis by Jurgen Eidt).
++ + update screen's notion of cursor position in endwin() (analysis by
++ Alexander Lukyanov).
+ + added 't' to ncurses.c test.
+ + moved delay_output() to lib_tputs.c
+ + removed tparam() (was added in 1.9.9, but conflicts with emacs and
+ is not part of X/Open Curses).
++ + removed boolean version of 'getm'.
+ + misc cursor & optimization fixes.
+
+ 960504 - snapshot
+@@ -9326,11 +10427,20 @@
+ + make TIOCGWINSZ configure test less stringent, in case user
+ configures via terminal that cannot get screen size.
+ > patches 295, 296 (ESR):
+- + new "-e" option of tic.
+- + fix for "infocmp -e".
+- + restore working-directory in read_termcap.c
+ + split lib_kernel.c, lib_setup.c and names.c in order to reduce
+ overhead for programs that use only termcap features.
++ + new "-e" and "-h" options of tic (request by Tony Nugent).
++ + fix bug in mandatory-delay logic in lib_tputs.c (report by Sven
++ Verdoolaege).
++ + fix for "infocmp -e" to emit correct initializers (reported by Manual
++ J Novoa III).
++ + restore working-directory in read_termcap.c (report by Kayvan
++ Sylvan).
++ + use "-h" option on Solaris when generating shared libraries on
++ Solaris 2.5 to record the library name in the file, for assisting
++ the loader (patch by Scott Kramer).
++ + undo patch #294 changes to form and menu libraries (request by
++ Juergen Pfeifer).
+
+ 960418 - snapshot
+ + use autoconf 2.9
+@@ -9338,10 +10448,22 @@
+ definitions via <termios.h>, modified macros in lib_raw.c to avoid
+ K&R-style substitution)
+ > patches 293, 294 (ESR):
+- + mods to wgetch() in cooked mode
+- + corrected askuser() logic in tset
+- + correct interaction of endwin() with mouse processing
++ + rewrite wsyncup(), wsyncdown(), as well as small fixes to form and
++ menu libraries to fix echo-breakage introduced by 1.8.9, 1.9.9e
++ changes (patches by Juergen Pfeifer).
++ + fix compile under QNX 4.2 by defining ONLCR in lib_raw.c when
++ __QNX__ is defined (patch by Michael Hunter).
++ + modify setupterm() to match documentation for its return value, fix
++ newterm to work with this change (report by Emmet Lazich).
++ + add checks in getch() for error, return ERR as appropriate (report by
++ Emmet Lazich).
++ + mods to wgetch() in cooked mode (report by Pete Seebach).
++ + corrected askuser() logic in tset (patch by Remco Treffkorn).
++ + correct interaction of endwin() with mouse processing (report by
++ Michael Elkins).
+ + added trace support for TTY flags
++ + update terminfo.src to 9.13.1
++ + FreeBSD console entries (patch by Andrew Chernov).
+
+ 960406
+ + fixes for NeXT, ISC and HPUX auto-configure
+Index: README
+Prereq: 1.23
+--- ncurses-5.9/README 2006-04-22 22:19:37.000000000 +0000
++++ ncurses-5.9-20130504/README 2012-08-11 20:11:26.000000000 +0000
+@@ -1,5 +1,5 @@
+ -------------------------------------------------------------------------------
+--- Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. --
++-- Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. --
+ -- --
+ -- Permission is hereby granted, free of charge, to any person obtaining a --
+ -- copy of this software and associated documentation files (the --
+@@ -25,7 +25,7 @@
+ -- sale, use or other dealings in this Software without prior written --
+ -- authorization. --
+ -------------------------------------------------------------------------------
+--- $Id: README,v 1.23 2006/04/22 22:19:37 tom Exp $
++-- $Id: README,v 1.25 2012/08/11 20:11:26 tom Exp $
+ -------------------------------------------------------------------------------
+ README file for the ncurses package
+
+@@ -78,6 +78,10 @@
+ library interfaces are not binary-compatible with the non-wide-character
+ version.
+
++If you configure using the --enable-reentrant option, a "t" is appended to the
++library names (e.g., libncursest.a) and the resulting libraries have a
++different binary interface which makes the ncurses interface more "opaque".
++
+ The ncurses libraries implement the curses API. The panel, menu and forms
+ libraries implement clones of the SVr4 panel, menu and forms APIs. The source
+ code for these lives in the `ncurses', `panel', `menu', and `form' directories
+@@ -122,8 +126,9 @@
+ tic -- terminfo source to binary compiler
+ infocmp -- terminfo binary to source decompiler/comparator
+ clear -- emits clear-screen for current terminal
++ tabs -- set tabs on a terminal
+ tput -- shell-script access to terminal capabilities.
+- toe -- table of entries utility
++ toe -- table of entries utility
+ tset -- terminal-initialization utility
+
+ The first two (tic and infocmp) are used for manipulating terminfo
+@@ -153,8 +158,10 @@
+ configuration scripts, porting, mods to adhere to XSI Curses in the
+ areas of background color, terminal modes. Also memory leak testing,
+ the wresize, default colors and key definition extensions and numerous
+- bug fixes (more than half of those enumerated in NEWS beginning with
+- the internal release 1.8.9).
++ bug fixes -- more than half of those enumerated in NEWS beginning with
++ the internal release 1.8.9, see
++
++ http://invisible-island.net/personal/changelogs.html
+
+ Florian La Roche (official maintainer for FSF's ncurses 4.2)
+ Beginning with release 4.2, ncurses is distributed under an MIT-style
+Index: README.MinGW
+Prereq: 1.5
+--- ncurses-5.9/README.MinGW 2011-02-26 16:57:17.000000000 +0000
++++ ncurses-5.9-20130504/README.MinGW 2012-09-22 17:46:04.000000000 +0000
+@@ -1,5 +1,5 @@
+ -------------------------------------------------------------------------------
+--- Copyright (c) 2008-2010,2011 Free Software Foundation, Inc. --
++-- Copyright (c) 2008-2011,2012 Free Software Foundation, Inc. --
+ -- --
+ -- Permission is hereby granted, free of charge, to any person obtaining a --
+ -- copy of this software and associated documentation files (the --
+@@ -25,7 +25,7 @@
+ -- sale, use or other dealings in this Software without prior written --
+ -- authorization. --
+ -------------------------------------------------------------------------------
+--- $Id: README.MinGW,v 1.5 2011/02/26 16:57:17 tom Exp $
++-- $Id: README.MinGW,v 1.9 2012/09/22 17:46:04 tom Exp $
+ -- Author: Juergen Pfeifer
+ -------------------------------------------------------------------------------
+
+@@ -39,7 +39,7 @@
+ To build ncurses for native Windows, you need the MinGW toolchain. The
+ original MinGW toolchain from the above site is only for 32-Bit Windows. As
+ Windows Server - and also regular workstations - are moving to 64-Bit, it
+-seems to be reasonable to have a toolchain that supports both architectures.
++seems to be reasonable to have a toolchain that supports both architectures.
+ I recommend to use the TDM gcc toolchain which you can find at
+ http://tdm-gcc.tdragon.net/download. Go to the download section and select
+ the bundle installer for tdm64 (MinGW-w64). This installs a multilib version
+@@ -47,7 +47,7 @@
+ versions. It also comes with a working pthread implementation.
+
+ The latest config and build scripts we use for MinGW have only been tested
+-for the gcc-4.4 compiler toolchain (or better).
++for the gcc-4.6.1 compiler toolchain (or better).
+
+ Using MinGW is a pragmatic decision, it's the easiest way to port this
+ heavily UNIX based sourcebase to native Windows. The goal is of course
+@@ -55,22 +55,13 @@
+ common traditional development environments on Windows, mainly with
+ Microsoft Visual Studio.
+
+-If you start a bash from the MSYS environment, please make sure that the
+-Microsoft Development tools are in your PATH right after the MinGW
+-tools. The LIB.EXE tool is the only one needed. You need this only if
+-you want to build DLLs that work with native Windows programs. If you
+-don't have any Microsoft Development tools on your machine, consider
+-at least to get the free "Visual C++ 2010 Express Edition".
+-It contains the LIB.EXE tool. You may also use this compiler to test
+-writing native Windows programs using the ncurses DLLs without using
+-MinGW then for writing apps.
+-
+-It is necessary to unset the TERM environment variable, to activate the
+-Windows console-driver.
++The TERM environment variable must be set specially to active the Windows
++console-driver. The driver checks if TERM is set to "#win32con" (explicit
++use) or if TERM is unset or empty (implicit).
+
+ Please also make sure that MSYS links to the correct directory containing
+ your MinGW toolchain. For TDM this is usually C:\MinGW64. In your Windows
+-CMD.EXE command shell go to the MSYS root directory (most probably
++CMD.EXE command shell go to the MSYS root directory (most probably
+ C:\MSYS or C:\MSYS\1.0) and verify, that there is a junction point mingw
+ that points to the MinGW toolchain directory. If not, delete the mingw
+ directory and use the mklink command (or the linkd.exe utility on older
+@@ -79,62 +70,60 @@
+ This code requires WindowsNT 5.1 or better, which means on the client
+ Windows XP or better, on the server Windows Server 2003 or better.
+
+-In order to build ncurses for the planned interop layer with .NET, we
+-recommend to use these options with configure
++I recommend using libtool to build ncurses on MinGW, because libtool
++knows exactly how to build dll's on Windows for use with MinGW.
++
++To build a modern but still small footprint ncurses that provides
++hooks for interop, I recommend using these options:
+
++ --with-libtool
+ --disable-home-terminfo
+- --enable-reentrant
++ --enable-database
++ --disable-termcap
+ --enable-sp-funcs
+ --enable-term-driver
+ --enable-interop
+- --with-pthread (if using TDM toolchain as recommended)
+
+-This is the configuration commandline as I'm using it at the moment:
++This is the configuration commandline as I'm using it at the moment (assuming
++environment variable MINGW_ROOT to hold the root directory name of your MinGW
++build):
+
+ ./configure \
+- --prefix=/mingw \
+- --without-cxx-binding \
++ --prefix=$MINGW_ROOT \
++ --with-cxx \
+ --without-ada \
+ --enable-warnings \
+ --enable-assertions \
+- --enable-reentrant \
+- --with-debug \
+- --with-normal \
+ --disable-home-terminfo \
++ --enable-database \
+ --enable-sp-funcs \
+ --enable-term-driver \
+ --enable-interop \
+- --with-pthread
++ --disable-termcap \
++ --with-progs \
++ --with-libtool \
++ --enable-pc-files \
++ --mandir=$MINGW_ROOT/share/man
+
+-If you are on a 64-Bit Windows system and want to build a 32-Bit version
+-of ncurses, you may use this commandline for configuration (when using
+-the TDM toolchain):
+-
+-CC="gcc -m32" LD="ld -m32" ./configure \
+- --prefix=/mingw \
+- --without-cxx-binding \
+- --without-ada \
+- --enable-warnings \
+- --enable-assertions \
+- --enable-reentrant \
+- --with-debug \
+- --with-normal \
+- --disable-home-terminfo \
+- --enable-sp-funcs \
+- --enable-term-driver \
+- --enable-interop \
+- --with-pthread
++Please note that it is also necessary to set this environment variable:
+
+-All the options above are - like the whole Windows support -
+-experimental.
++export PATH_SEPARATOR=";"
++
++in order to parse the terminfo paths correctly. Terminfo paths should
++always be separated by a seeeemicolon,even when running under MSYS.
+
+-In order to build the DLLs, after your regular make you must call
++To support regular expressions properly, ncurses under MinGW should be
++linked against the gnurx regex library, which must be built separately
++under MinGW. See
+
+- make dlls
++ ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/libgnurx-src-2.5.zip
++
++All the options above are - like the whole Windows support -
++experimental.
+
+ A lot is still TODO, e.g.:
+
+- - Wide Character support
++ - Wide Character support (display is workable, but input untested)
+ The Win32Con driver should actually only use Unicode in the
+ future.
+ - Thread support (locking). If using TDM toolchain this is done by
+@@ -145,5 +134,5 @@
+ - Workarounds for MinGW's filesystem access are necessary to make infocmp
+ work (though tic works).
+
+-To support terminfo, we need to have an ioctl() simulation for the
+-serial and networked Terminals.
++To support terminfo, we would need to have an ioctl() simulation for the
++serial and networked terminals.
+Index: aclocal.m4
+Prereq: 1.553
+--- ncurses-5.9/aclocal.m4 2011-03-31 23:35:38.000000000 +0000
++++ ncurses-5.9-20130504/aclocal.m4 2013-04-13 22:59:35.000000000 +0000
+@@ -1,5 +1,5 @@
+ dnl***************************************************************************
+-dnl Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++dnl Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ dnl *
+ dnl Permission is hereby granted, free of charge, to any person obtaining a *
+ dnl copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ dnl
+ dnl Author: Thomas E. Dickey 1995-on
+ dnl
+-dnl $Id: aclocal.m4,v 1.553 2011/03/31 23:35:38 tom Exp $
++dnl $Id: aclocal.m4,v 1.666 2013/04/13 22:59:35 tom Exp $
+ dnl Macros used in NCURSES auto-configuration script.
+ dnl
+ dnl These macros are maintained separately from NCURSES. The copyright on
+@@ -62,6 +62,32 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_ACVERSION_CHECK version: 4 updated: 2013/03/04 19:52:56
++dnl ------------------
++dnl Conditionally generate script according to whether we're using a given autoconf.
++dnl
++dnl $1 = version to compare against
++dnl $2 = code to use if AC_ACVERSION is at least as high as $1.
++dnl $3 = code to use if AC_ACVERSION is older than $1.
++define([CF_ACVERSION_CHECK],
++[
++ifdef([AC_ACVERSION], ,[m4_copy([m4_PACKAGE_VERSION],[AC_ACVERSION])])dnl
++ifdef([m4_version_compare],
++[m4_if(m4_version_compare(m4_defn([AC_ACVERSION]), [$1]), -1, [$3], [$2])],
++[CF_ACVERSION_COMPARE(
++AC_PREREQ_CANON(AC_PREREQ_SPLIT([$1])),
++AC_PREREQ_CANON(AC_PREREQ_SPLIT(AC_ACVERSION)), AC_ACVERSION, [$2], [$3])])])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_ACVERSION_COMPARE version: 3 updated: 2012/10/03 18:39:53
++dnl --------------------
++dnl CF_ACVERSION_COMPARE(MAJOR1, MINOR1, TERNARY1,
++dnl MAJOR2, MINOR2, TERNARY2,
++dnl PRINTABLE2, not FOUND, FOUND)
++define([CF_ACVERSION_COMPARE],
++[ifelse(builtin([eval], [$2 < $5]), 1,
++[ifelse([$8], , ,[$8])],
++[ifelse([$9], , ,[$9])])])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_ADA_INCLUDE_DIRS version: 6 updated: 2010/02/26 19:52:07
+ dnl -------------------
+ dnl Construct the list of include-options for the C programs in the Ada95
+@@ -313,76 +339,6 @@
+ }
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_ANSI_CC_CHECK version: 10 updated: 2010/10/23 15:52:32
+-dnl ----------------
+-dnl This is adapted from the macros 'fp_PROG_CC_STDC' and 'fp_C_PROTOTYPES'
+-dnl in the sharutils 4.2 distribution.
+-AC_DEFUN([CF_ANSI_CC_CHECK],
+-[
+-AC_CACHE_CHECK(for ${CC:-cc} option to accept ANSI C, cf_cv_ansi_cc,[
+-cf_cv_ansi_cc=no
+-cf_save_CFLAGS="$CFLAGS"
+-cf_save_CPPFLAGS="$CPPFLAGS"
+-# Don't try gcc -ansi; that turns off useful extensions and
+-# breaks some systems' header files.
+-# AIX -qlanglvl=ansi
+-# Ultrix and OSF/1 -std1
+-# HP-UX -Aa -D_HPUX_SOURCE
+-# SVR4 -Xc
+-# UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes)
+-for cf_arg in "-DCC_HAS_PROTOS" \
+- "" \
+- -qlanglvl=ansi \
+- -std1 \
+- -Ae \
+- "-Aa -D_HPUX_SOURCE" \
+- -Xc
+-do
+- CF_ADD_CFLAGS($cf_arg)
+- AC_TRY_COMPILE(
+-[
+-#ifndef CC_HAS_PROTOS
+-#if !defined(__STDC__) || (__STDC__ != 1)
+-choke me
+-#endif
+-#endif
+-],[
+- int test (int i, double x);
+- struct s1 {int (*f) (int a);};
+- struct s2 {int (*f) (double a);};],
+- [cf_cv_ansi_cc="$cf_arg"; break])
+-done
+-CFLAGS="$cf_save_CFLAGS"
+-CPPFLAGS="$cf_save_CPPFLAGS"
+-])
+-
+-if test "$cf_cv_ansi_cc" != "no"; then
+-if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then
+- CF_ADD_CFLAGS($cf_cv_ansi_cc)
+-else
+- AC_DEFINE(CC_HAS_PROTOS)
+-fi
+-fi
+-])dnl
+-dnl ---------------------------------------------------------------------------
+-dnl CF_ANSI_CC_REQD version: 4 updated: 2008/03/23 14:48:54
+-dnl ---------------
+-dnl For programs that must use an ANSI compiler, obtain compiler options that
+-dnl will make it recognize prototypes. We'll do preprocessor checks in other
+-dnl macros, since tools such as unproto can fake prototypes, but only part of
+-dnl the preprocessor.
+-AC_DEFUN([CF_ANSI_CC_REQD],
+-[AC_REQUIRE([CF_ANSI_CC_CHECK])
+-if test "$cf_cv_ansi_cc" = "no"; then
+- AC_MSG_ERROR(
+-[Your compiler does not appear to recognize prototypes.
+-You have the following choices:
+- a. adjust your compiler options
+- b. get an up-to-date compiler
+- c. use a wrapper such as unproto])
+-fi
+-])dnl
+-dnl ---------------------------------------------------------------------------
+ dnl CF_ARG_DISABLE version: 3 updated: 1999/03/30 17:24:31
+ dnl --------------
+ dnl Allow user to disable a normally-on option.
+@@ -465,7 +421,7 @@
+ AC_SUBST(ARFLAGS)
+ ])
+ dnl ---------------------------------------------------------------------------
+-dnl CF_AWK_BIG_PRINTF version: 3 updated: 2008/12/27 12:30:03
++dnl CF_AWK_BIG_PRINTF version: 4 updated: 2011/10/30 17:09:50
+ dnl -----------------
+ dnl Check if awk can handle big strings using printf. Some older versions of
+ dnl awk choke on large strings passed via "%s".
+@@ -479,8 +435,8 @@
+ eval $2=no
+ ;;
+ *) #(vi
+- if ( ${AWK} 'BEGIN { xx = "x"; while (length(xx) < $1) { xx = xx "x"; }; printf("%s\n", xx); }' \
+- | $AWK '{ printf "%d\n", length([$]0); }' | $AWK 'BEGIN { eqls=0; recs=0; } { recs++; if ([$]0 == 12000) eqls++; } END { if (recs != 1 || eqls != 1) exit 1; }' 2>/dev/null >/dev/null ) ; then
++ if ( ${AWK} 'BEGIN { xx = "x"; while (length(xx) < $1) { xx = xx "x"; }; printf("%s\n", xx); }' 2>/dev/null \
++ | $AWK '{ printf "%d\n", length([$]0); }' 2>/dev/null | $AWK 'BEGIN { eqls=0; recs=0; } { recs++; if ([$]0 == 12000) eqls++; } END { if (recs != 1 || eqls != 1) exit 1; }' 2>/dev/null >/dev/null ) ; then
+ eval $2=yes
+ else
+ eval $2=no
+@@ -536,7 +492,7 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_BOOL_SIZE version: 12 updated: 2006/12/16 12:33:30
++dnl CF_BOOL_SIZE version: 13 updated: 2013/04/13 18:03:21
+ dnl ------------
+ dnl Test for the size of 'bool' in the configured C++ compiler (e.g., a type).
+ dnl Don't bother looking for bool.h, since it's been deprecated.
+@@ -570,7 +526,7 @@
+
+ #endif
+
+-main()
++int main()
+ {
+ FILE *fp = fopen("cf_test.out", "w");
+ if (fp != 0) {
+@@ -604,7 +560,7 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_BUILD_CC version: 6 updated: 2006/10/14 15:23:15
++dnl CF_BUILD_CC version: 7 updated: 2012/10/06 15:31:55
+ dnl -----------
+ dnl If we're cross-compiling, allow the user to override the tools and their
+ dnl options. The configure script is oriented toward identifying the host
+@@ -614,7 +570,8 @@
+ dnl $1 = default for $CPPFLAGS
+ dnl $2 = default for $LIBS
+ AC_DEFUN([CF_BUILD_CC],[
+-AC_REQUIRE([CF_PROG_EXT])
++CF_ACVERSION_CHECK(2.52,,
++ [AC_REQUIRE([CF_PROG_EXT])])
+ if test "$cross_compiling" = yes ; then
+
+ # defaults that we might want to override
+@@ -695,7 +652,33 @@
+ AC_SUBST(BUILD_OBJEXT)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CFG_DEFAULTS version: 7 updated: 2005/09/24 16:15:00
++dnl CF_CC_ENV_FLAGS version: 1 updated: 2012/10/03 05:25:49
++dnl ---------------
++dnl Check for user's environment-breakage by stuffing CFLAGS/CPPFLAGS content
++dnl into CC. This will not help with broken scripts that wrap the compiler with
++dnl options, but eliminates a more common category of user confusion.
++AC_DEFUN([CF_CC_ENV_FLAGS],
++[
++# This should have been defined by AC_PROG_CC
++: ${CC:=cc}
++
++AC_MSG_CHECKING(\$CC variable)
++case "$CC" in #(vi
++*[[\ \ ]]-[[IUD]]*)
++ AC_MSG_RESULT(broken)
++ AC_MSG_WARN(your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options)
++ # humor him...
++ cf_flags=`echo "$CC" | sed -e 's/^[[^ ]]*[[ ]]//'`
++ CC=`echo "$CC" | sed -e 's/[[ ]].*//'`
++ CF_ADD_CFLAGS($cf_flags)
++ ;;
++*)
++ AC_MSG_RESULT(ok)
++ ;;
++esac
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_CFG_DEFAULTS version: 9 updated: 2013/04/13 18:58:32
+ dnl ---------------
+ dnl Determine the default configuration into which we'll install ncurses. This
+ dnl can be overridden by the user's command-line options. There's two items to
+@@ -713,7 +696,7 @@
+ if test "x$prefix" = "xNONE" ; then
+ case "$cf_cv_system_name" in
+ # non-vendor systems don't have a conflict
+- openbsd*|freebsd*|linux*|cygwin*|k*bsd*-gnu)
++ openbsd*|freebsd*|mirbsd*|linux*|cygwin*|k*bsd*-gnu|mingw*)
+ prefix=/usr
+ ;;
+ *) prefix=$ac_default_prefix
+@@ -749,30 +732,51 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CGETENT version: 3 updated: 2000/08/12 23:18:52
++dnl CF_CGETENT version: 5 updated: 2012/10/06 17:56:13
+ dnl ----------
+ dnl Check if the terminal-capability database functions are available. If not,
+ dnl ncurses has a much-reduced version.
+ AC_DEFUN([CF_CGETENT],[
+-AC_MSG_CHECKING(for terminal-capability database functions)
+-AC_CACHE_VAL(cf_cv_cgetent,[
++AC_CACHE_CHECK(for terminal-capability database functions,cf_cv_cgetent,[
+ AC_TRY_LINK([
+ #include <stdlib.h>],[
+ char temp[128];
+ char *buf = temp;
+ char *db_array = temp;
+- cgetent(&buf, /* int *, */ &db_array, "vt100");
++ cgetent(&buf, &db_array, "vt100");
+ cgetcap(buf, "tc", '=');
+ cgetmatch(buf, "tc");
+ ],
+ [cf_cv_cgetent=yes],
+ [cf_cv_cgetent=no])
+ ])
+-AC_MSG_RESULT($cf_cv_cgetent)
+-test "$cf_cv_cgetent" = yes && AC_DEFINE(HAVE_BSD_CGETENT)
++
++if test "$cf_cv_cgetent" = yes
++then
++ AC_DEFINE(HAVE_BSD_CGETENT,1,[Define to 1 if we have BSD cgetent])
++AC_CACHE_CHECK(if cgetent uses const parameter,cf_cv_cgetent_const,[
++AC_TRY_LINK([
++#include <stdlib.h>],[
++ char temp[128];
++ char *buf = temp;
++#ifndef _NETBSD_SOURCE /* given, since April 2004 in stdlib.h */
++ const char *db_array = temp;
++ cgetent(&buf, &db_array, "vt100");
++#endif
++ cgetcap(buf, "tc", '=');
++ cgetmatch(buf, "tc");
++ ],
++ [cf_cv_cgetent_const=yes],
++ [cf_cv_cgetent_const=no])
++])
++ if test "$cf_cv_cgetent_const" = yes
++ then
++ AC_DEFINE_UNQUOTED(CGETENT_CONST,const,[Define to const if needed for some BSD cgetent variations])
++ fi
++fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CHECK_CACHE version: 11 updated: 2008/03/23 14:45:59
++dnl CF_CHECK_CACHE version: 12 updated: 2012/10/02 20:55:03
+ dnl --------------
+ dnl Check if we're accidentally using a cache from a different machine.
+ dnl Derive the system name, as a check for reusing the autoconf cache.
+@@ -795,7 +799,7 @@
+ system_name="`(hostname) 2>/dev/null`"
+ fi
+ fi
+-test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name")
++test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name",[Define to the system name.])
+ AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])
+
+ test -z "$system_name" && system_name="$cf_cv_system_name"
+@@ -908,7 +912,82 @@
+ fi
+ ])])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CPP_PARAM_INIT version: 4 updated: 2001/04/07 22:31:18
++dnl CF_CHECK_LIBTOOL_VERSION version: 1 updated: 2013/04/06 18:03:09
++dnl ------------------------
++dnl Show the version of libtool
++dnl
++dnl Save the version in a cache variable - this is not entirely a good thing,
++dnl but the version string from libtool is very ugly, and for bug reports it
++dnl might be useful to have the original string.
++AC_DEFUN([CF_CHECK_LIBTOOL_VERSION],[
++if test -n "$LIBTOOL" && test "$LIBTOOL" != none
++then
++ AC_MSG_CHECKING(version of $LIBTOOL)
++ CF_LIBTOOL_VERSION
++ AC_MSG_RESULT($cf_cv_libtool_version)
++ if test -z "$cf_cv_libtool_version" ; then
++ AC_MSG_ERROR(This is not GNU libtool)
++ fi
++else
++ AC_MSG_ERROR(GNU libtool has not been found)
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_CHECK_WCHAR_H version: 1 updated: 2011/10/29 15:01:05
++dnl ----------------
++dnl Check if wchar.h can be used, i.e., without defining _XOPEN_SOURCE_EXTENDED
++AC_DEFUN([CF_CHECK_WCHAR_H],[
++AC_CACHE_CHECK(if wchar.h can be used as is,cf_cv_wchar_h_okay,[
++AC_TRY_COMPILE(
++[
++#include <stdlib.h>
++#include <wchar.h>
++],[
++ wint_t foo = 0;
++ int bar = iswpunct(foo)],
++ [cf_cv_wchar_h_okay=yes],
++ [cf_cv_wchar_h_okay=no])])
++
++if test $cf_cv_wchar_h_okay = no
++then
++ CF_PREDEFINE(_XOPEN_SOURCE_EXTENDED)
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_CLANG_COMPILER version: 1 updated: 2012/06/16 14:55:39
++dnl -----------------
++dnl Check if the given compiler is really clang. clang's C driver defines
++dnl __GNUC__ (fooling the configure script into setting $GCC to yes) but does
++dnl not ignore some gcc options.
++dnl
++dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to
++dnl ensure that it is not mistaken for gcc/g++. It is normally invoked from
++dnl the wrappers for gcc and g++ warnings.
++dnl
++dnl $1 = GCC (default) or GXX
++dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS
++dnl $3 = CFLAGS (default) or CXXFLAGS
++AC_DEFUN([CF_CLANG_COMPILER],[
++ifelse([$2],,CLANG_COMPILER,[$2])=no
++
++if test "$ifelse([$1],,[$1],GCC)" = yes ; then
++ AC_MSG_CHECKING(if this is really Clang ifelse([$1],GXX,C++,C) compiler)
++ cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])"
++ ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -Qunused-arguments"
++ AC_TRY_COMPILE([],[
++#ifdef __clang__
++#else
++make an error
++#endif
++],[ifelse([$2],,CLANG_COMPILER,[$2])=yes
++cf_save_CFLAGS="$cf_save_CFLAGS -Qunused-arguments"
++],[])
++ ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS"
++ AC_MSG_RESULT($ifelse([$2],,CLANG_COMPILER,[$2]))
++fi
++])
++dnl ---------------------------------------------------------------------------
++dnl CF_CPP_PARAM_INIT version: 6 updated: 2012/10/06 17:56:13
+ dnl -----------------
+ dnl Check if the C++ compiler accepts duplicate parameter initialization. This
+ dnl is a late feature for the standard and is not in some recent compilers
+@@ -932,7 +1011,7 @@
+ {
+ value = x;
+ }
+-void main() { }
++int main() { }
+ ],
+ [cf_cv_cpp_param_init=yes],
+ [cf_cv_cpp_param_init=no],
+@@ -940,10 +1019,10 @@
+ AC_LANG_RESTORE
+ ])
+ fi
+-test "$cf_cv_cpp_param_init" = yes && AC_DEFINE(CPP_HAS_PARAM_INIT)
++test "$cf_cv_cpp_param_init" = yes && AC_DEFINE(CPP_HAS_PARAM_INIT,1,[Define to 1 if C++ has parameter initialization])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CPP_STATIC_CAST version: 1 updated: 2005/07/23 16:52:43
++dnl CF_CPP_STATIC_CAST version: 3 updated: 2013/04/13 18:03:21
+ dnl ------------------
+ dnl Check if the C++ compiler accepts static_cast in generics. This appears to
+ dnl not be supported in g++ before 3.0
+@@ -965,7 +1044,7 @@
+ int begin_x = 0)
+ {
+ }
+-
++ NCursesPanel();
+ ~NCursesPanel();
+ };
+
+@@ -996,10 +1075,58 @@
+
+ fi
+
+-test "$cf_cv_cpp_static_cast" = yes && AC_DEFINE(CPP_HAS_STATIC_CAST)
++test "$cf_cv_cpp_static_cast" = yes && AC_DEFINE(CPP_HAS_STATIC_CAST,1,[Define to 1 if C++ has static_cast])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_C_INLINE version: 3 updated: 2010/05/01 15:14:41
++dnl CF_CXX_AR_FLAGS version: 1 updated: 2011/10/29 08:35:34
++dnl ---------------
++dnl Setup special archiver flags for given compilers.
++AC_DEFUN([CF_CXX_AR_FLAGS],[
++ CXX_AR='$(AR)'
++ CXX_ARFLAGS='$(ARFLAGS)'
++ case $cf_cv_system_name in #(vi
++ irix*) #(vi
++ if test "$GXX" != yes ; then
++ CXX_AR='$(CXX)'
++ CXX_ARFLAGS='-ar -o'
++ fi
++ ;;
++ sco3.2v5*) #(vi
++ CXXLDFLAGS="-u main"
++ ;;
++ solaris2*)
++ if test "$GXX" != yes ; then
++ CXX_AR='$(CXX)'
++ CXX_ARFLAGS='-xar -o'
++ fi
++ ;;
++ esac
++ AC_SUBST(CXXLDFLAGS)
++ AC_SUBST(CXX_AR)
++ AC_SUBST(CXX_ARFLAGS)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_CXX_IOSTREAM_NAMESPACE version: 2 updated: 2012/10/06 17:56:13
++dnl -------------------------
++dnl For c++, check if iostream uses "std::" namespace.
++AC_DEFUN([CF_CXX_IOSTREAM_NAMESPACE],[
++AC_CHECK_HEADERS(iostream)
++if test x"$ac_cv_header_iostream" = xyes ; then
++ AC_MSG_CHECKING(if iostream uses std-namespace)
++ AC_TRY_COMPILE([
++#include <iostream>
++using std::endl;
++using std::cerr;],[
++cerr << "testing" << endl;
++],[cf_iostream_namespace=yes],[cf_iostream_namespace=no])
++ AC_MSG_RESULT($cf_iostream_namespace)
++ if test "$cf_iostream_namespace" = yes ; then
++ AC_DEFINE(IOSTREAM_NAMESPACE,1,[Define to 1 if C++ has namespace iostream])
++ fi
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_C_INLINE version: 4 updated: 2012/06/16 14:55:39
+ dnl -----------
+ dnl Check if the C compiler supports "inline".
+ dnl $1 is the name of a shell variable to set if inline is supported
+@@ -1012,6 +1139,9 @@
+ if test "$INTEL_COMPILER" = yes
+ then
+ :
++ elif test "$CLANG_COMPILER" = yes
++ then
++ :
+ elif test "$GCC" = yes
+ then
+ AC_CACHE_CHECK(if $CC supports options to tune inlining,cf_cv_gcc_inline,[
+@@ -1057,7 +1187,44 @@
+ AC_SUBST(DIRS_TO_MAKE)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_DISABLE_LEAKS version: 6 updated: 2010/07/23 04:14:32
++dnl CF_DISABLE_ECHO version: 12 updated: 2012/10/06 16:30:28
++dnl ---------------
++dnl You can always use "make -n" to see the actual options, but it's hard to
++dnl pick out/analyze warning messages when the compile-line is long.
++dnl
++dnl Sets:
++dnl ECHO_LT - symbol to control if libtool is verbose
++dnl ECHO_LD - symbol to prefix "cc -o" lines
++dnl RULE_CC - symbol to put before implicit "cc -c" lines (e.g., .c.o)
++dnl SHOW_CC - symbol to put before explicit "cc -c" lines
++dnl ECHO_CC - symbol to put before any "cc" line
++dnl
++AC_DEFUN([CF_DISABLE_ECHO],[
++AC_MSG_CHECKING(if you want to see long compiling messages)
++CF_ARG_DISABLE(echo,
++ [ --disable-echo do not display "compiling" commands],
++ [
++ ECHO_LT='--silent'
++ ECHO_LD='@echo linking [$]@;'
++ RULE_CC='@echo compiling [$]<'
++ SHOW_CC='@echo compiling [$]@'
++ ECHO_CC='@'
++],[
++ ECHO_LT=''
++ ECHO_LD=''
++ RULE_CC=''
++ SHOW_CC=''
++ ECHO_CC=''
++])
++AC_MSG_RESULT($enableval)
++AC_SUBST(ECHO_LT)
++AC_SUBST(ECHO_LD)
++AC_SUBST(RULE_CC)
++AC_SUBST(SHOW_CC)
++AC_SUBST(ECHO_CC)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_DISABLE_LEAKS version: 7 updated: 2012/10/02 20:55:03
+ dnl ----------------
+ dnl Combine no-leak checks with the libraries or tools that are used for the
+ dnl checks.
+@@ -1075,8 +1242,8 @@
+ AC_MSG_RESULT($with_no_leaks)
+
+ if test "$with_no_leaks" = yes ; then
+- AC_DEFINE(NO_LEAKS)
+- AC_DEFINE(YY_NO_LEAKS)
++ AC_DEFINE(NO_LEAKS,1,[Define to 1 if you want to perform memory-leak testing.])
++ AC_DEFINE(YY_NO_LEAKS,1,[Define to 1 if you want to perform memory-leak testing.])
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+@@ -1123,6 +1290,30 @@
+ fi
+ ])
+ dnl ---------------------------------------------------------------------------
++dnl CF_ENABLE_PC_FILES version: 9 updated: 2012/08/04 13:59:54
++dnl ------------------
++dnl This is the "--enable-pc-files" option, which is available if there is a
++dnl pkg-config configuration on the local machine.
++AC_DEFUN([CF_ENABLE_PC_FILES],[
++AC_REQUIRE([CF_PKG_CONFIG])
++AC_REQUIRE([CF_WITH_PKG_CONFIG_LIBDIR])
++
++if test "$PKG_CONFIG" != none ; then
++ AC_MSG_CHECKING(if we should install .pc files for $PKG_CONFIG)
++ AC_ARG_ENABLE(pc-files,
++ [ --enable-pc-files generate and install .pc files for pkg-config],
++ [enable_pc_files=$enableval],
++ [enable_pc_files=no])
++ AC_MSG_RESULT($enable_pc_files)
++ if test "$enable_pc_files" != no
++ then
++ CF_PATH_SYNTAX(PKG_CONFIG_LIBDIR)
++ fi
++else
++ enable_pc_files=no
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_ENABLE_RPATH version: 2 updated: 2010/03/27 18:39:42
+ dnl ---------------
+ dnl Check if the rpath option should be used, setting cache variable
+@@ -1137,6 +1328,37 @@
+ AC_MSG_RESULT($cf_cv_enable_rpath)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_ENABLE_STRING_HACKS version: 3 updated: 2013/01/26 16:26:12
++dnl ----------------------
++dnl On a few platforms, the compiler and/or loader nags with untruthful
++dnl comments stating that "most" uses of strcat/strcpy/sprintf are incorrect,
++dnl and implying that most uses of the recommended alternatives are correct.
++dnl
++dnl Factually speaking, no one has actually counted the number of uses of these
++dnl functions versus the total of incorrect uses. Samples of a few thousand
++dnl instances are meaningless compared to the hundreds of millions of lines of
++dnl existing C code.
++dnl
++dnl strlcat/strlcpy are (as of 2012) non-standard, and are available on some
++dnl platforms, in implementations of varying quality. Likewise, snprintf is
++dnl standard - but evolved through phases, and older implementations are likely
++dnl to yield surprising results, as documented in manpages on various systems.
++AC_DEFUN([CF_ENABLE_STRING_HACKS],
++[
++AC_MSG_CHECKING(if you want to work around bogus compiler/loader warnings)
++AC_ARG_ENABLE(string-hacks,
++ [ --enable-string-hacks work around bogus compiler/loader warnings],
++ [with_string_hacks=$enableval],
++ [with_string_hacks=no])
++AC_MSG_RESULT($with_string_hacks)
++
++if test "x$with_string_hacks" = "xyes"; then
++ AC_DEFINE(USE_STRING_HACKS,1,[Define to 1 to work around bogus compiler/loader warnings])
++ AC_MSG_WARN(enabling string-hacks to work around bogus compiler/loader warnings)
++ AC_CHECK_FUNCS( strlcat strlcpy snprintf )
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_ERRNO version: 5 updated: 1997/11/30 12:44:39
+ dnl --------
+ dnl Check if 'errno' is declared in <errno.h>
+@@ -1145,7 +1367,7 @@
+ CF_CHECK_ERRNO(errno)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_ETIP_DEFINES version: 3 updated: 2003/03/22 19:13:43
++dnl CF_ETIP_DEFINES version: 5 updated: 2012/02/18 17:51:07
+ dnl ---------------
+ dnl Test for conflicting definitions of exception in gcc 2.8.0, etc., between
+ dnl math.h and builtin.h, only for ncurses
+@@ -1154,11 +1376,17 @@
+ AC_MSG_CHECKING(for special defines needed for etip.h)
+ cf_save_CXXFLAGS="$CXXFLAGS"
+ cf_result="none"
++
++# etip.h includes ncurses.h which includes ncurses_dll.h
++# But ncurses_dll.h is generated - fix here.
++test -d include || mkdir include
++test -f include/ncurses_dll.h || sed -e 's/@NCURSES_WRAP_PREFIX@/'$NCURSES_WRAP_PREFIX'/g' ${srcdir}/include/ncurses_dll.h.in >include/ncurses_dll.h
++
+ for cf_math in "" MATH_H
+ do
+ for cf_excp in "" MATH_EXCEPTION
+ do
+- CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu -I${srcdir}/include"
++ CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu -Iinclude -I${srcdir}/include"
+ test -n "$cf_math" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_math}"
+ test -n "$cf_excp" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_excp}"
+ AC_TRY_COMPILE([
+@@ -1167,7 +1395,7 @@
+ test -n "$cf_math" && AC_DEFINE_UNQUOTED(ETIP_NEEDS_${cf_math})
+ test -n "$cf_excp" && AC_DEFINE_UNQUOTED(ETIP_NEEDS_${cf_excp})
+ cf_result="$cf_math $cf_excp"
+- break
++ break 2
+ ],[])
+ done
+ done
+@@ -1305,7 +1533,35 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_FUNC_DLSYM version: 2 updated: 2010/05/29 16:31:02
++dnl CF_FIXUP_ADAFLAGS version: 1 updated: 2012/03/31 18:48:10
++dnl -----------------
++dnl make ADAFLAGS consistent with CFLAGS
++AC_DEFUN([CF_FIXUP_ADAFLAGS],[
++ AC_MSG_CHECKING(optimization options for ADAFLAGS)
++ case "$CFLAGS" in
++ *-g*)
++ CF_ADD_ADAFLAGS(-g)
++ ;;
++ esac
++ case "$CFLAGS" in
++ *-O*)
++ cf_O_flag=`echo "$CFLAGS" |sed -e 's/^.*-O/-O/' -e 's/[[ ]].*//'`
++ CF_ADD_ADAFLAGS($cf_O_flag)
++ ;;
++ esac
++ AC_MSG_RESULT($ADAFLAGS)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_FORGET_TOOL version: 1 updated: 2013/04/06 18:03:09
++dnl --------------
++dnl Forget that we saw the given tool.
++AC_DEFUN([CF_FORGET_TOOL],[
++unset ac_cv_prog_ac_ct_$1
++unset ac_ct_$1
++unset $1
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_FUNC_DLSYM version: 3 updated: 2012/10/06 11:17:15
+ dnl -------------
+ dnl Test for dlsym() and related functions, as well as libdl.
+ dnl
+@@ -1332,7 +1588,7 @@
+ dlclose(obj);
+ }
+ }],[
+- AC_DEFINE(HAVE_LIBDL)],[
++ AC_DEFINE(HAVE_LIBDL,1,[Define to 1 if we have dl library])],[
+ AC_MSG_ERROR(Cannot link test program for libdl)])
+ AC_MSG_RESULT(ok)
+ else
+@@ -1340,7 +1596,7 @@
+ fi
+ ])
+ dnl ---------------------------------------------------------------------------
+-dnl CF_FUNC_MEMMOVE version: 7 updated: 2006/12/16 12:33:30
++dnl CF_FUNC_MEMMOVE version: 8 updated: 2012/10/04 20:12:20
+ dnl ---------------
+ dnl Check for memmove, or a bcopy that can handle overlapping copy. If neither
+ dnl is found, add our own version of memmove to the list of objects.
+@@ -1365,13 +1621,13 @@
+ ])
+ ],[cf_cv_good_bcopy=no])
+ if test "$cf_cv_good_bcopy" = yes ; then
+- AC_DEFINE(USE_OK_BCOPY)
++ AC_DEFINE(USE_OK_BCOPY,1,[Define to 1 to use bcopy when memmove is unavailable])
+ else
+- AC_DEFINE(USE_MY_MEMMOVE)
++ AC_DEFINE(USE_MY_MEMMOVE,1,[Define to 1 to use replacement function when memmove is unavailable])
+ fi
+ ])])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_FUNC_NANOSLEEP version: 3 updated: 2006/12/16 12:33:30
++dnl CF_FUNC_NANOSLEEP version: 4 updated: 2012/10/06 17:56:13
+ dnl -----------------
+ dnl Check for existence of workable nanosleep() function. Some systems, e.g.,
+ dnl AIX 4.x, provide a non-working version.
+@@ -1402,7 +1658,7 @@
+ [cf_cv_func_nanosleep=no],
+ [cf_cv_func_nanosleep=unknown])])
+
+-test "$cf_cv_func_nanosleep" = "yes" && AC_DEFINE(HAVE_NANOSLEEP)
++test "$cf_cv_func_nanosleep" = "yes" && AC_DEFINE(HAVE_NANOSLEEP,1,[Define to 1 if we have nanosleep()])
+ ])
+ dnl ---------------------------------------------------------------------------
+ dnl CF_FUNC_OPENPTY version: 3 updated: 2010/05/29 16:31:02
+@@ -1433,14 +1689,17 @@
+ ])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_FUNC_POLL version: 4 updated: 2006/12/16 12:33:30
++dnl CF_FUNC_POLL version: 8 updated: 2012/10/04 05:24:07
+ dnl ------------
+ dnl See if the poll function really works. Some platforms have poll(), but
+ dnl it does not work for terminals or files.
+ AC_DEFUN([CF_FUNC_POLL],[
+ AC_CACHE_CHECK(if poll really works,cf_cv_working_poll,[
+ AC_TRY_RUN([
++#include <stdlib.h>
+ #include <stdio.h>
++#include <unistd.h>
++#include <fcntl.h>
+ #ifdef HAVE_POLL_H
+ #include <poll.h>
+ #else
+@@ -1450,19 +1709,42 @@
+ struct pollfd myfds;
+ int ret;
+
+- myfds.fd = 0;
++ /* check for Darwin bug with respect to "devices" */
++ myfds.fd = open("/dev/null", 1); /* O_WRONLY */
++ if (myfds.fd < 0)
++ myfds.fd = 0;
+ myfds.events = POLLIN;
++ myfds.revents = 0;
+
+ ret = poll(&myfds, 1, 100);
+- ${cf_cv_main_return:-return}(ret != 0);
++
++ if (ret < 0 || (myfds.revents & POLLNVAL)) {
++ ret = -1;
++ } else {
++ int fd = 0;
++ if (!isatty(fd)) {
++ fd = open("/dev/tty", 2); /* O_RDWR */
++ }
++
++ if (fd >= 0) {
++ /* also check with standard input */
++ myfds.fd = fd;
++ myfds.events = POLLIN;
++ myfds.revents = 0;
++ ret = poll(&myfds, 1, 100);
++ } else {
++ ret = -1;
++ }
++ }
++ ${cf_cv_main_return:-return}(ret < 0);
+ }],
+ [cf_cv_working_poll=yes],
+ [cf_cv_working_poll=no],
+ [cf_cv_working_poll=unknown])])
+-test "$cf_cv_working_poll" = "yes" && AC_DEFINE(HAVE_WORKING_POLL)
++test "$cf_cv_working_poll" = "yes" && AC_DEFINE(HAVE_WORKING_POLL,1,[Define to 1 if the poll function seems to work])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_FUNC_TERMIOS version: 2 updated: 2000/07/22 23:37:24
++dnl CF_FUNC_TERMIOS version: 3 updated: 2012/10/06 17:56:13
+ dnl ---------------
+ dnl Some old/broken variations define tcgetattr() only as a macro in
+ dnl termio(s).h
+@@ -1488,10 +1770,10 @@
+ tcgetattr(1, &foo);],
+ [cf_cv_have_tcgetattr=yes],
+ [cf_cv_have_tcgetattr=no])])
+-test "$cf_cv_have_tcgetattr" = yes && AC_DEFINE(HAVE_TCGETATTR)
++test "$cf_cv_have_tcgetattr" = yes && AC_DEFINE(HAVE_TCGETATTR,1,[Define to 1 if we have tcgetattr])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_FUNC_VSSCANF version: 3 updated: 2001/12/19 00:50:10
++dnl CF_FUNC_VSSCANF version: 4 updated: 2012/10/06 17:56:13
+ dnl ---------------
+ dnl Check for vsscanf() function, which is in c9x but generally not in earlier
+ dnl versions of C. It is in the GNU C library, and can often be simulated by
+@@ -1529,14 +1811,14 @@
+ cf_cv_func_vsscanf=no])])])])
+
+ case $cf_cv_func_vsscanf in #(vi
+-vsscanf) AC_DEFINE(HAVE_VSSCANF);; #(vi
+-vfscanf) AC_DEFINE(HAVE_VFSCANF);; #(vi
+-_doscan) AC_DEFINE(HAVE__DOSCAN);;
++vsscanf) AC_DEFINE(HAVE_VSSCANF,1,[Define to 1 if we have vsscanf]);; #(vi
++vfscanf) AC_DEFINE(HAVE_VFSCANF,1,[Define to 1 if we have vfscanf]);; #(vi
++_doscan) AC_DEFINE(HAVE__DOSCAN,1,[Define to 1 if we have _doscan]);;
+ esac
+
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_GCC_ATTRIBUTES version: 14 updated: 2010/10/23 15:52:32
++dnl CF_GCC_ATTRIBUTES version: 16 updated: 2012/10/02 20:55:03
+ dnl -----------------
+ dnl Test for availability of useful gcc __attribute__ directives to quiet
+ dnl compiler warnings. Though useful, not all are supported -- and contrary
+@@ -1614,27 +1896,27 @@
+ test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute)
+ cat conftest.h >>confdefs.h
+ case $cf_attribute in #(vi
++ noreturn) #(vi
++ AC_DEFINE_UNQUOTED(GCC_NORETURN,$cf_directive,[Define to noreturn-attribute for gcc])
++ ;;
+ printf) #(vi
+- if test "$cf_printf_attribute" = no ; then
+- cat >>confdefs.h <<EOF
+-#define GCC_PRINTFLIKE(fmt,var) /* nothing */
+-EOF
+- else
+- cat >>confdefs.h <<EOF
+-#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
+-EOF
++ cf_value='/* nothing */'
++ if test "$cf_printf_attribute" != no ; then
++ cf_value='__attribute__((format(printf,fmt,var)))'
++ AC_DEFINE(GCC_PRINTF,1,[Define to 1 if the compiler supports gcc-like printf attribute.])
+ fi
++ AC_DEFINE_UNQUOTED(GCC_PRINTFLIKE(fmt,var),$cf_value,[Define to printf-attribute for gcc])
+ ;;
+ scanf) #(vi
+- if test "$cf_scanf_attribute" = no ; then
+- cat >>confdefs.h <<EOF
+-#define GCC_SCANFLIKE(fmt,var) /* nothing */
+-EOF
+- else
+- cat >>confdefs.h <<EOF
+-#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
+-EOF
++ cf_value='/* nothing */'
++ if test "$cf_scanf_attribute" != no ; then
++ cf_value='__attribute__((format(scanf,fmt,var)))'
++ AC_DEFINE(GCC_SCANF,1,[Define to 1 if the compiler supports gcc-like scanf attribute.])
+ fi
++ AC_DEFINE_UNQUOTED(GCC_SCANFLIKE(fmt,var),$cf_value,[Define to sscanf-attribute for gcc])
++ ;;
++ unused) #(vi
++ AC_DEFINE_UNQUOTED(GCC_UNUSED,$cf_directive,[Define to unused-attribute for gcc])
+ ;;
+ esac
+ fi
+@@ -1646,7 +1928,7 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_GCC_VERSION version: 5 updated: 2010/04/24 11:02:31
++dnl CF_GCC_VERSION version: 7 updated: 2012/10/18 06:46:33
+ dnl --------------
+ dnl Find version of gcc
+ AC_DEFUN([CF_GCC_VERSION],[
+@@ -1654,13 +1936,13 @@
+ GCC_VERSION=none
+ if test "$GCC" = yes ; then
+ AC_MSG_CHECKING(version of $CC)
+- GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
++ GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC[[^)]]*) //' -e 's/^.*(Debian[[^)]]*) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
+ test -z "$GCC_VERSION" && GCC_VERSION=unknown
+ AC_MSG_RESULT($GCC_VERSION)
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_GCC_WARNINGS version: 27 updated: 2010/10/23 15:52:32
++dnl CF_GCC_WARNINGS version: 29 updated: 2012/06/16 14:55:39
+ dnl ---------------
+ dnl Check if the compiler supports useful warning options. There's a few that
+ dnl we don't use, simply because they're too noisy:
+@@ -1683,6 +1965,7 @@
+ [
+ AC_REQUIRE([CF_GCC_VERSION])
+ CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS)
++CF_CLANG_COMPILER(GCC,CLANG_COMPILER,CFLAGS)
+
+ cat > conftest.$ac_ext <<EOF
+ #line __oline__ "${as_me:-configure}"
+@@ -1758,6 +2041,13 @@
+ continue;;
+ esac
+ ;;
++ Wpointer-arith) #(vi
++ case $GCC_VERSION in
++ [[12]].*)
++ CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
++ continue;;
++ esac
++ ;;
+ esac
+ EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
+ fi
+@@ -1769,6 +2059,29 @@
+ AC_SUBST(EXTRA_CFLAGS)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_GETOPT_HEADER version: 5 updated: 2012/10/06 16:39:58
++dnl ----------------
++dnl Check for getopt's variables which are commonly defined in stdlib.h,
++dnl unistd.h or (nonstandard) in getopt.h
++AC_DEFUN([CF_GETOPT_HEADER],
++[
++AC_HAVE_HEADERS(unistd.h getopt.h)
++AC_CACHE_CHECK(for header declaring getopt variables,cf_cv_getopt_header,[
++cf_cv_getopt_header=none
++for cf_header in stdio.h stdlib.h unistd.h getopt.h
++do
++AC_TRY_COMPILE([
++#include <$cf_header>],
++[int x = optind; char *y = optarg],
++[cf_cv_getopt_header=$cf_header
++ break])
++done
++])
++if test $cf_cv_getopt_header != none ; then
++ AC_DEFINE(HAVE_GETOPT_HEADER,1,[Define to 1 if we need to include getopt.h])
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_GNAT_GENERICS version: 2 updated: 2011/03/23 20:24:41
+ dnl ----------------
+ AC_DEFUN([CF_GNAT_GENERICS],
+@@ -2040,7 +2353,7 @@
+ rm -rf conftest* *~conftest*
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_GNAT_VERSION version: 17 updated: 2011/03/23 20:24:41
++dnl CF_GNAT_VERSION version: 18 updated: 2012/01/21 19:28:10
+ dnl ---------------
+ dnl Verify version of GNAT.
+ AC_DEFUN([CF_GNAT_VERSION],
+@@ -2052,7 +2365,7 @@
+ AC_MSG_RESULT($cf_gnat_version)
+
+ case $cf_gnat_version in #(vi
+-3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*) #(vi
++3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*|20[[0-9]][[0-9]]) #(vi
+ cf_cv_prog_gnat_correct=yes
+ ;;
+ *)
+@@ -2092,7 +2405,7 @@
+ test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_GPP_LIBRARY version: 10 updated: 2010/05/29 16:31:02
++dnl CF_GPP_LIBRARY version: 11 updated: 2012/10/06 17:56:13
+ dnl --------------
+ dnl If we're trying to use g++, test if libg++ is installed (a rather common
+ dnl problem :-). If we have the compiler but no library, we'll be able to
+@@ -2119,9 +2432,9 @@
+ [cf_cxx_library=yes
+ CF_ADD_LIB($cf_gpp_libname,CXXLIBS)
+ if test "$cf_gpp_libname" = cpp ; then
+- AC_DEFINE(HAVE_GPP_BUILTIN_H)
++ AC_DEFINE(HAVE_GPP_BUILTIN_H,1,[Define to 1 if we have gpp builtin.h])
+ else
+- AC_DEFINE(HAVE_GXX_BUILTIN_H)
++ AC_DEFINE(HAVE_GXX_BUILTIN_H,1,[Define to 1 if we have g++ builtin.h])
+ fi],
+ [AC_TRY_LINK([
+ #include <builtin.h>
+@@ -2129,28 +2442,28 @@
+ [two_arg_error_handler_t foo2 = lib_error_handler],
+ [cf_cxx_library=yes
+ CF_ADD_LIB($cf_gpp_libname,CXXLIBS)
+- AC_DEFINE(HAVE_BUILTIN_H)],
++ AC_DEFINE(HAVE_BUILTIN_H,1,[Define to 1 if we have builtin.h])],
+ [cf_cxx_library=no])])
+ LIBS="$cf_save"
+ AC_MSG_RESULT($cf_cxx_library)
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_GXX_VERSION version: 6 updated: 2010/10/23 15:44:18
++dnl CF_GXX_VERSION version: 7 updated: 2012/06/16 14:55:39
+ dnl --------------
+ dnl Check for version of g++
+ AC_DEFUN([CF_GXX_VERSION],[
+ AC_REQUIRE([AC_PROG_CPP])
+ GXX_VERSION=none
+ if test "$GXX" = yes; then
+- AC_MSG_CHECKING(version of g++)
++ AC_MSG_CHECKING(version of ${CXX:-g++})
+ GXX_VERSION="`${CXX:-g++} --version| sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
+ test -z "$GXX_VERSION" && GXX_VERSION=unknown
+ AC_MSG_RESULT($GXX_VERSION)
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_GXX_WARNINGS version: 6 updated: 2010/08/14 18:25:37
++dnl CF_GXX_WARNINGS version: 7 updated: 2012/06/16 14:55:39
+ dnl ---------------
+ dnl Check if the compiler supports useful warning options.
+ dnl
+@@ -2173,6 +2486,7 @@
+ [
+
+ CF_INTEL_COMPILER(GXX,INTEL_CPLUSPLUS,CXXFLAGS)
++CF_CLANG_COMPILER(GXX,CLANG_CPLUSPLUS,CXXFLAGS)
+
+ AC_REQUIRE([CF_GXX_VERSION])
+
+@@ -2464,7 +2778,7 @@
+ [AC_DIVERT_HELP([$1])dnl
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_INCLUDE_DIRS version: 6 updated: 2009/01/06 19:37:40
++dnl CF_INCLUDE_DIRS version: 7 updated: 2012/11/10 19:15:05
+ dnl ---------------
+ dnl Construct the list of include-options according to whether we're building
+ dnl in the source directory or using '--srcdir=DIR' option. If we're building
+@@ -2472,25 +2786,25 @@
+ dnl since that usually breaks gcc's shadow-includes.
+ AC_DEFUN([CF_INCLUDE_DIRS],
+ [
+-CPPFLAGS="$CPPFLAGS -I. -I../include"
+-if test "$srcdir" != "."; then
+- CPPFLAGS="$CPPFLAGS -I\${srcdir}/../include"
+-fi
+ if test "$GCC" != yes; then
+- CPPFLAGS="$CPPFLAGS -I\${includedir}"
++ CPPFLAGS="-I\${includedir} $CPPFLAGS"
+ elif test "$includedir" != "/usr/include"; then
+ if test "$includedir" = '${prefix}/include' ; then
+ if test $prefix != /usr ; then
+- CPPFLAGS="$CPPFLAGS -I\${includedir}"
++ CPPFLAGS="-I\${includedir} $CPPFLAGS"
+ fi
+ else
+- CPPFLAGS="$CPPFLAGS -I\${includedir}"
++ CPPFLAGS="-I\${includedir} $CPPFLAGS"
+ fi
+ fi
++if test "$srcdir" != "."; then
++ CPPFLAGS="-I\${srcdir}/../include $CPPFLAGS"
++fi
++CPPFLAGS="-I. -I../include $CPPFLAGS"
+ AC_SUBST(CPPFLAGS)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_INTEL_COMPILER version: 4 updated: 2010/05/26 05:38:42
++dnl CF_INTEL_COMPILER version: 5 updated: 2013/02/10 10:41:05
+ dnl -----------------
+ dnl Check if the given compiler is really the Intel compiler for Linux. It
+ dnl tries to imitate gcc, but does not return an error when it finds a mismatch
+@@ -2504,6 +2818,7 @@
+ dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS
+ dnl $3 = CFLAGS (default) or CXXFLAGS
+ AC_DEFUN([CF_INTEL_COMPILER],[
++AC_REQUIRE([AC_CANONICAL_HOST])
+ ifelse([$2],,INTEL_COMPILER,[$2])=no
+
+ if test "$ifelse([$1],,[$1],GCC)" = yes ; then
+@@ -2527,7 +2842,7 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_ISASCII version: 3 updated: 2000/08/12 23:18:52
++dnl CF_ISASCII version: 4 updated: 2012/10/06 17:56:13
+ dnl ----------
+ dnl Check if we have either a function or macro for 'isascii()'.
+ AC_DEFUN([CF_ISASCII],
+@@ -2539,10 +2854,10 @@
+ [cf_cv_have_isascii=no])
+ ])dnl
+ AC_MSG_RESULT($cf_cv_have_isascii)
+-test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII)
++test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII,1,[Define to 1 if we have isascii()])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_LARGEFILE version: 7 updated: 2007/06/02 11:58:50
++dnl CF_LARGEFILE version: 8 updated: 2012/10/06 08:57:51
+ dnl ------------
+ dnl Add checks for large file support.
+ AC_DEFUN([CF_LARGEFILE],[
+@@ -2576,12 +2891,12 @@
+ [cf_cv_struct_dirent64=yes],
+ [cf_cv_struct_dirent64=no])
+ ])
+- test "$cf_cv_struct_dirent64" = yes && AC_DEFINE(HAVE_STRUCT_DIRENT64)
++ test "$cf_cv_struct_dirent64" = yes && AC_DEFINE(HAVE_STRUCT_DIRENT64,1,[Define to 1 if we have struct dirent64])
+ fi
+ ])
+ ])
+ dnl ---------------------------------------------------------------------------
+-dnl CF_LDFLAGS_STATIC version: 8 updated: 2010/10/23 14:39:56
++dnl CF_LDFLAGS_STATIC version: 10 updated: 2011/09/24 12:51:48
+ dnl -----------------
+ dnl Check for compiler/linker flags used to temporarily force usage of static
+ dnl libraries. This depends on the compiler and platform. Use this to help
+@@ -2602,7 +2917,7 @@
+ esac
+ else
+ case $cf_cv_system_name in #(
+- aix[[456]]*) #( from ld manpage
++ aix[[4-7]]*) #( from ld manpage
+ LDFLAGS_STATIC=-bstatic
+ LDFLAGS_SHARED=-bdynamic
+ ;;
+@@ -2652,7 +2967,17 @@
+ int cf_ldflags_static(FILE *fp);
+ ],[
+ return cf_ldflags_static(stdin);
+-],[cf_ldflags_static=yes],[cf_ldflags_static=no])
++],[
++ # some linkers simply ignore the -dynamic
++ case x`file conftest$ac_exeext 2>/dev/null` in #(vi
++ *static*) # (vi
++ cf_ldflags_static=no
++ ;;
++ *)
++ cf_ldflags_static=yes
++ ;;
++ esac
++],[cf_ldflags_static=no])
+
+ rm -f libconftest.*
+ LIBS="$cf_save_LIBS"
+@@ -2673,7 +2998,7 @@
+ AC_SUBST(LDFLAGS_SHARED)
+ ])
+ dnl ---------------------------------------------------------------------------
+-dnl CF_LD_RPATH_OPT version: 3 updated: 2010/06/02 05:03:05
++dnl CF_LD_RPATH_OPT version: 5 updated: 2011/07/17 14:48:41
+ dnl ---------------
+ dnl For the given system and compiler, find the compiler flags to pass to the
+ dnl loader to use the "rpath" feature.
+@@ -2694,10 +3019,10 @@
+ linux*|gnu*|k*bsd*-gnu) #(vi
+ LD_RPATH_OPT="-Wl,-rpath,"
+ ;;
+-openbsd[[2-9]].*) #(vi
++openbsd[[2-9]].*|mirbsd*) #(vi
+ LD_RPATH_OPT="-Wl,-rpath,"
+ ;;
+-freebsd*) #(vi
++dragonfly*|freebsd*) #(vi
+ LD_RPATH_OPT="-rpath "
+ ;;
+ netbsd*) #(vi
+@@ -2756,11 +3081,23 @@
+ $1="$cf_library_path_list [$]$1"
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_LIB_PREFIX version: 8 updated: 2008/09/13 11:34:16
++dnl CF_LIBTOOL_VERSION version: 1 updated: 2013/04/06 18:03:09
++dnl ------------------
++AC_DEFUN([CF_LIBTOOL_VERSION],[
++if test -n "$LIBTOOL" && test "$LIBTOOL" != none
++then
++ cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '/^$/d' |sed -e '2,$d' -e 's/([[^)]]*)//g' -e 's/^[[^1-9]]*//' -e 's/[[^0-9.]].*//'`
++else
++ cf_cv_libtool_version=
++fi
++test -z "$cf_cv_libtool_version" && unset cf_cv_libtool_version
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_LIB_PREFIX version: 9 updated: 2012/01/21 19:28:10
+ dnl -------------
+ dnl Compute the library-prefix for the given host system
+ dnl $1 = variable to set
+-AC_DEFUN([CF_LIB_PREFIX],
++define([CF_LIB_PREFIX],
+ [
+ case $cf_cv_system_name in #(vi
+ OS/2*|os2*) #(vi
+@@ -2773,11 +3110,11 @@
+ AC_SUBST(LIB_PREFIX)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_LIB_RULES version: 61 updated: 2010/10/23 16:10:30
++dnl CF_LIB_RULES version: 72 updated: 2013/03/24 17:10:41
+ dnl ------------
+ dnl Append definitions and rules for the given models to the subdirectory
+ dnl Makefiles, and the recursion rule for the top-level Makefile. If the
+-dnl subdirectory is a library-source directory, modify the LIBS_TO_MAKE list in
++dnl subdirectory is a library-source directory, modify the Libs_To_Make list in
+ dnl the corresponding makefile to list the models that we'll generate.
+ dnl
+ dnl For shared libraries, make a list of symbolic links to construct when
+@@ -2786,15 +3123,19 @@
+ dnl lib<name>.so ->
+ dnl lib<name>.so.<major> ->
+ dnl lib<name>.so.<maj>.<minor>
++dnl
++dnl Note: Libs_To_Make is mixed case, since it is not a pure autoconf variable.
+ AC_DEFUN([CF_LIB_RULES],
+ [
+-CF_LIB_PREFIX(cf_prefix)
++cf_prefix=$LIB_PREFIX
+ AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
+
+-if test $cf_cv_shlib_version = cygdll ; then
++case $cf_cv_shlib_version in #(vi
++cygdll|mingw)
+ TINFO_NAME=$TINFO_ARG_SUFFIX
+ TINFO_SUFFIX=.dll
+-fi
++ ;;
++esac
+
+ if test -n "$TINFO_SUFFIX" ; then
+ case $TINFO_SUFFIX in
+@@ -2820,79 +3161,73 @@
+ elif test -f $srcdir/$cf_dir/modules; then
+
+ SHARED_LIB=
+- LIBS_TO_MAKE=
++ Libs_To_Make=
+ for cf_item in $cf_LIST_MODELS
+ do
+ CF_LIB_SUFFIX($cf_item,cf_suffix,cf_depsuf)
++ cf_libname=$cf_dir
++ test "$cf_dir" = c++ && cf_libname=ncurses++
+ if test $cf_item = shared ; then
+- if test "$cf_cv_do_symlinks" = yes ; then
+- case "$cf_cv_shlib_version" in #(vi
+- rel) #(vi
+- case "$cf_cv_system_name" in #(vi
+- darwin*)
+- case .${LIB_SUFFIX} in
+- .tw*)
+- cf_suffix=`echo $cf_suffix | sed 's/^tw//'`
+- cf_suffix=tw'.${REL_VERSION}'"$cf_suffix"
+- ;;
+- .t*)
+- cf_suffix=`echo $cf_suffix | sed 's/^t//'`
+- cf_suffix=t'.${REL_VERSION}'"$cf_suffix"
+- ;;
+- .w*)
+- cf_suffix=`echo $cf_suffix | sed 's/^w//'`
+- cf_suffix=w'.${REL_VERSION}'"$cf_suffix"
++ if test -n "${LIB_SUFFIX}"
++ then
++ cf_shared_suffix=`echo "$cf_suffix" | sed 's/^'"${LIB_SUFFIX}"'//'`
++ else
++ cf_shared_suffix="$cf_suffix"
++ fi
++ if test "$cf_cv_do_symlinks" = yes ; then
++ cf_version_name=
++
++ case "$cf_cv_shlib_version" in #(vi
++ rel) #(vi
++ cf_version_name=REL_VERSION
+ ;;
+- *)
+- cf_suffix='.${REL_VERSION}'"$cf_suffix"
++ abi)
++ cf_version_name=ABI_VERSION
+ ;;
+ esac
+- ;; #(vi
+- *) cf_suffix="$cf_suffix"'.${REL_VERSION}' ;;
+- esac
++
++ if test -n "$cf_version_name"
++ then
++ case "$cf_cv_system_name" in #(vi
++ darwin*)
++ # "w", etc?
++ cf_suffix="${LIB_SUFFIX}"'.${'$cf_version_name'}'"$cf_shared_suffix"
++ ;; #(vi
++ *)
++ cf_suffix="$cf_suffix"'.${'$cf_version_name'}'
++ ;;
++ esac
++ fi
++ if test -n "${LIB_SUFFIX}"
++ then
++ cf_shared_suffix=`echo "$cf_suffix" | sed 's/^'"${LIB_SUFFIX}"'//'`
++ else
++ cf_shared_suffix="$cf_suffix"
++ fi
++ fi
++ # cygwin needs import library, and has unique naming convention
++ # use autodetected ${cf_prefix} for import lib and static lib, but
++ # use 'cyg' prefix for shared lib.
++ case $cf_cv_shlib_version in #(vi
++ cygdll) #(vi
++ cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'`
++ Libs_To_Make="$Libs_To_Make ../lib/cyg${cf_libname}${cf_cygsuf}"
++ continue
+ ;;
+- abi)
+- case "$cf_cv_system_name" in #(vi
+- darwin*)
+- case .${LIB_SUFFIX} in
+- .tw*)
+- cf_suffix=`echo $cf_suffix | sed 's/^tw//'`
+- cf_suffix=tw'.${ABI_VERSION}'"$cf_suffix"
+- ;;
+- .t*)
+- cf_suffix=`echo $cf_suffix | sed 's/^t//'`
+- cf_suffix=t'.${ABI_VERSION}'"$cf_suffix"
+- ;;
+- .w*)
+- cf_suffix=`echo $cf_suffix | sed 's/^w//'`
+- cf_suffix=w'.${ABI_VERSION}'"$cf_suffix"
+- ;;
+- *)
+- cf_suffix='.${ABI_VERSION}'"$cf_suffix"
+- ;;
+- esac
+- ;; #(vi
+- *) cf_suffix="$cf_suffix"'.${ABI_VERSION}' ;;
+- esac
++ mingw)
++ cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'`
++ Libs_To_Make="$Libs_To_Make ../lib/lib${cf_libname}${cf_cygsuf}"
++ continue
+ ;;
+ esac
+ fi
+- # cygwin needs import library, and has unique naming convention
+- # use autodetected ${cf_prefix} for import lib and static lib, but
+- # use 'cyg' prefix for shared lib.
+- if test $cf_cv_shlib_version = cygdll ; then
+- cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'`
+- LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/cyg${cf_dir}${cf_cygsuf}"
+- continue
+- fi
+- fi
+- LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/${cf_prefix}${cf_dir}${cf_suffix}"
++ Libs_To_Make="$Libs_To_Make ../lib/${cf_prefix}${cf_libname}${cf_suffix}"
+ done
+
+ if test $cf_dir = ncurses ; then
+ cf_subsets="$LIB_SUBSETS"
+ cf_r_parts="$cf_subsets"
+- cf_liblist="$LIBS_TO_MAKE"
++ cf_liblist="$Libs_To_Make"
+
+ while test -n "$cf_r_parts"
+ do
+@@ -2912,7 +3247,7 @@
+ ;;
+ esac
+ if test -n "$cf_item"; then
+- LIBS_TO_MAKE="$cf_item $LIBS_TO_MAKE"
++ Libs_To_Make="$cf_item $Libs_To_Make"
+ fi
+ else
+ break
+@@ -2922,13 +3257,40 @@
+ cf_subsets=`echo "$LIB_SUBSETS" | sed -e 's/^termlib.* //'`
+ fi
+
+- sed -e "s%@LIBS_TO_MAKE@%$LIBS_TO_MAKE%" \
++ if test $cf_dir = c++; then
++ if test "x$with_shared_cxx" != xyes && test -n "$cf_shared_suffix"; then
++ cf_list=
++ for cf_item in $Libs_To_Make
++ do
++ case $cf_item in
++ *.a)
++ ;;
++ *)
++ cf_item=`echo "$cf_item" | sed -e "s,"$cf_shared_suffix",.a,"`
++ ;;
++ esac
++ for cf_test in $cf_list
++ do
++ if test "$cf_test" = "$cf_item"
++ then
++ cf_LIST_MODELS=`echo "$cf_LIST_MODELS" | sed -e 's/normal//'`
++ cf_item=
++ break
++ fi
++ done
++ test -n "$cf_item" && cf_list="$cf_list $cf_item"
++ done
++ Libs_To_Make="$cf_list"
++ fi
++ fi
++
++ sed -e "s%@Libs_To_Make@%$Libs_To_Make%" \
+ -e "s%@SHARED_LIB@%$SHARED_LIB%" \
+ $cf_dir/Makefile >$cf_dir/Makefile.out
+ mv $cf_dir/Makefile.out $cf_dir/Makefile
+
+ $AWK -f $srcdir/mk-0th.awk \
+- libname="${cf_dir}${LIB_SUFFIX}" subsets="$LIB_SUBSETS" \
++ libname="${cf_dir}${LIB_SUFFIX}" subsets="$LIB_SUBSETS" ticlib="$TICS_LIB_SUFFIX" termlib="$TINFO_LIB_SUFFIX" \
+ $srcdir/$cf_dir/modules >>$cf_dir/Makefile
+
+ for cf_subset in $cf_subsets
+@@ -2936,8 +3298,23 @@
+ cf_subdirs=
+ for cf_item in $cf_LIST_MODELS
+ do
++
+ echo "Appending rules for ${cf_item} model (${cf_dir}: ${cf_subset})"
+ CF_UPPER(cf_ITEM,$cf_item)
++
++ CXX_MODEL=$cf_ITEM
++ if test "$CXX_MODEL" = SHARED; then
++ case $cf_cv_shlib_version in #(vi
++ cygdll|mingw) #(vi
++ test "x$with_shared_cxx" = xno && CF_VERBOSE(overriding CXX_MODEL to SHARED)
++ with_shared_cxx=yes
++ ;;
++ *)
++ test "x$with_shared_cxx" = xno && CXX_MODEL=NORMAL
++ ;;
++ esac
++ fi
++
+ CF_LIB_SUFFIX($cf_item,cf_suffix,cf_depsuf)
+ CF_OBJ_SUBDIR($cf_item,cf_subdir)
+
+@@ -2955,6 +3332,8 @@
+ cf_libname=$TICS_LIB_SUFFIX
+ ;;
+ esac
++ elif test $cf_dir = c++ ; then
++ cf_libname=ncurses++$LIB_SUFFIX
+ else
+ cf_libname=${cf_libname}$LIB_SUFFIX
+ fi
+@@ -3006,10 +3385,12 @@
+ name=${cf_libname}${cf_dir_suffix} \
+ traces=$LIB_TRACING \
+ MODEL=$cf_ITEM \
++ CXX_MODEL=$CXX_MODEL \
+ model=$cf_subdir \
+ prefix=$cf_prefix \
+ suffix=$cf_suffix \
+ subset=$cf_subset \
++ driver=$cf_cv_term_driver \
+ SymLink="$LN_S" \
+ TermlibRoot=$TINFO_NAME \
+ TermlibSuffix=$TINFO_SUFFIX \
+@@ -3048,7 +3429,7 @@
+ done
+ fi
+
+- echo ' cd '$cf_dir' && ${MAKE} ${CF_MFLAGS} [$]@' >>Makefile
++ echo ' cd '$cf_dir' && ${MAKE} ${TOP_MFLAGS} [$]@' >>Makefile
+ done
+
+ for cf_dir in $SRC_SUBDIRS
+@@ -3063,7 +3444,7 @@
+ echo 'libs \' >> Makefile
+ echo 'install.libs \' >> Makefile
+ echo 'uninstall.libs ::' >> Makefile
+- echo ' cd '$cf_dir' && ${MAKE} ${CF_MFLAGS} [$]@' >> Makefile
++ echo ' cd '$cf_dir' && ${MAKE} ${TOP_MFLAGS} [$]@' >> Makefile
+ ;;
+ esac
+ fi
+@@ -3086,7 +3467,7 @@
+ uninstall.libs \\
+ install.$cf_dir \\
+ uninstall.$cf_dir ::
+- cd $cf_dir && \${MAKE} \${CF_MFLAGS} \[$]@
++ cd $cf_dir && \${MAKE} \${TOP_MFLAGS} \[$]@
+ CF_EOF
+ elif test -f $srcdir/$cf_dir/headers; then
+ cat >> Makefile <<CF_EOF
+@@ -3096,7 +3477,7 @@
+ uninstall.libs \\
+ install.includes \\
+ uninstall.includes ::
+- cd $cf_dir && \${MAKE} \${CF_MFLAGS} \[$]@
++ cd $cf_dir && \${MAKE} \${TOP_MFLAGS} \[$]@
+ CF_EOF
+ fi
+ done
+@@ -3105,7 +3486,7 @@
+
+ install.libs uninstall.libs \\
+ install.data uninstall.data ::
+-$MAKE_TERMINFO cd misc && \${MAKE} \${CF_MFLAGS} \[$]@
++$MAKE_TERMINFO cd misc && \${MAKE} \${TOP_MFLAGS} \[$]@
+ CF_EOF
+
+ if test "x$cf_with_manpages" = xyes; then
+@@ -3113,7 +3494,7 @@
+
+ install.man \\
+ uninstall.man ::
+- cd man && \${MAKE} \${CF_MFLAGS} \[$]@
++ cd man && \${MAKE} \${TOP_MFLAGS} \[$]@
+ CF_EOF
+ fi
+
+@@ -3134,7 +3515,7 @@
+
+ install.man \\
+ uninstall.man ::
+- cd tack && \${MAKE} \${CF_MFLAGS} \[$]@
++ cd tack && \${MAKE} \${TOP_MFLAGS} \[$]@
+ CF_EOF
+ fi
+ fi
+@@ -3252,7 +3633,7 @@
+ fi
+ fi
+ done
+-AC_SUBST(LIBS_TO_MAKE)
++AC_SUBST(Libs_To_Make)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+ dnl CF_LIB_SONAME version: 5 updated: 2010/08/14 18:25:37
+@@ -3292,7 +3673,7 @@
+ ])
+ ])
+ dnl ---------------------------------------------------------------------------
+-dnl CF_LIB_SUFFIX version: 16 updated: 2008/12/27 12:30:03
++dnl CF_LIB_SUFFIX version: 18 updated: 2012/02/25 15:20:07
+ dnl -------------
+ dnl Compute the library file-suffix from the given model name
+ dnl $1 = model name
+@@ -3321,11 +3702,11 @@
+ ;;
+ shared) #(vi
+ case $cf_cv_system_name in
+- aix[[56]]*) #(vi
++ aix[[5-7]]*) #(vi
+ $2='.a'
+ $3=[$]$2
+ ;;
+- cygwin*) #(vi
++ cygwin*|mingw*) #(vi
+ $2='.dll'
+ $3='.dll.a'
+ ;;
+@@ -3372,7 +3753,7 @@
+ test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_LINK_DATAONLY version: 9 updated: 2009/01/01 20:21:38
++dnl CF_LINK_DATAONLY version: 10 updated: 2012/10/06 17:41:51
+ dnl ----------------
+ dnl Some systems have a non-ANSI linker that doesn't pull in modules that have
+ dnl only data (i.e., no functions), for example NeXT. On those systems we'll
+@@ -3429,13 +3810,13 @@
+ AC_MSG_RESULT($cf_cv_link_dataonly)
+
+ if test "$cf_cv_link_dataonly" = no ; then
+- AC_DEFINE(BROKEN_LINKER)
++ AC_DEFINE(BROKEN_LINKER,1,[if data-only library module does not link])
+ BROKEN_LINKER=1
+ fi
+
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_LINK_FUNCS version: 7 updated: 2006/12/16 12:33:30
++dnl CF_LINK_FUNCS version: 8 updated: 2012/10/06 17:56:13
+ dnl -------------
+ dnl Most Unix systems have both link and symlink, a few don't have symlink.
+ dnl A few non-Unix systems implement symlink, but not link.
+@@ -3487,23 +3868,11 @@
+ done
+ test -z "$cf_cv_link_funcs" && cf_cv_link_funcs=no
+ ])
+- test "$ac_cv_func_link" = yes && AC_DEFINE(HAVE_LINK)
+- test "$ac_cv_func_symlink" = yes && AC_DEFINE(HAVE_SYMLINK)
++ test "$ac_cv_func_link" = yes && AC_DEFINE(HAVE_LINK,1,[Define to 1 if we have link() function])
++ test "$ac_cv_func_symlink" = yes && AC_DEFINE(HAVE_SYMLINK,1,[Define to 1 if we have symlink() function])
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_MAIN_RETURN version: 1 updated: 2006/12/10 09:51:54
+-dnl --------------
+-dnl Check if a return from main to the shell actually returns the same exit
+-dnl code. This is true for almost any POSIX environment.
+-dnl
+-dnl Some very old environments did not flush stdout, etc., on an exit. That
+-dnl would be a useful case to test for also.
+-AC_DEFUN([CF_MAIN_RETURN],
+-[
+-cf_cv_main_return=return
+-])dnl
+-dnl ---------------------------------------------------------------------------
+ dnl CF_MAKEFLAGS version: 14 updated: 2011/03/31 19:29:46
+ dnl ------------
+ dnl Some 'make' programs support ${MAKEFLAGS}, some ${MFLAGS}, to pass 'make'
+@@ -3799,7 +4168,7 @@
+ AC_MSG_RESULT($MANPAGE_TBL)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_MAN_PAGES version: 39 updated: 2010/10/23 15:44:18
++dnl CF_MAN_PAGES version: 43 updated: 2013/02/09 12:53:45
+ dnl ------------
+ dnl Try to determine if the man-pages on the system are compressed, and if
+ dnl so, what format is used. Use this information to construct a script that
+@@ -3856,6 +4225,7 @@
+ # this script is generated by the configure-script CF_MAN_PAGES macro.
+
+ prefix="$cf_prefix"
++datarootdir="$datarootdir"
+ datadir="$datadir"
+
+ NCURSES_MAJOR="$NCURSES_MAJOR"
+@@ -3916,11 +4286,12 @@
+ if test ! -f $cf_man_alias ; then
+ cat >>$cf_man_alias <<-CF_EOF2
+ s,@DATADIR@,\$datadir,g
+- s,@TERMINFO@,\$TERMINFO,g
+- s,@NCURSES_MAJOR@,\$NCURSES_MAJOR,g
+- s,@NCURSES_MINOR@,\$NCURSES_MINOR,g
+- s,@NCURSES_PATCH@,\$NCURSES_PATCH,g
+- s,@NCURSES_OSPEED@,\$NCURSES_OSPEED,g
++ s,@TERMINFO@,\${TERMINFO:="no default value"},g
++ s,@TERMINFO_DIRS@,\${TERMINFO_DIRS:="no default value"},g
++ s,@NCURSES_MAJOR@,\${NCURSES_MAJOR:="no default value"},g
++ s,@NCURSES_MINOR@,\${NCURSES_MINOR:="no default value"},g
++ s,@NCURSES_PATCH@,\${NCURSES_PATCH:="no default value"},g
++ s,@NCURSES_OSPEED@,\${NCURSES_OSPEED:="no default value"},g
+ CF_EOF
+ ifelse($1,,,[
+ for cf_name in $1
+@@ -3949,7 +4320,9 @@
+
+ if test "$MANPAGE_ALIASES" != no ; then
+ cat >>$cf_edit_man <<CF_EOF
+- aliases=\`sed -f \$top_srcdir/man/manlinks.sed \$inalias |sed -f $cf_man_alias | sort -u\`
++ nCurses=ignore.3x
++ test $with_curses_h = yes && nCurses=ncurses.3x
++ aliases=\`sed -f \$top_srcdir/man/manlinks.sed \$inalias |sed -f $cf_man_alias | sort -u; test \$inalias = \$nCurses && echo curses\`
+ CF_EOF
+ fi
+
+@@ -3995,6 +4368,13 @@
+ fi
+ CF_EOF
+
++if test $with_overwrite != yes ; then
++cat >>$cf_edit_man <<CF_EOF
++ sed -e "/\#[ ]*include/s,<curses.h,<ncurses$LIB_SUFFIX/curses.h," < \$TMP >\$TMP.out
++ mv \$TMP.out \$TMP
++CF_EOF
++fi
++
+ if test $with_curses_h != yes ; then
+ cat >>$cf_edit_man <<CF_EOF
+ sed -e "/\#[ ]*include/s,curses.h,ncurses.h," < \$TMP >\$TMP.out
+@@ -4154,7 +4534,7 @@
+ fi
+ ])
+ dnl ---------------------------------------------------------------------------
+-dnl CF_MIXEDCASE_FILENAMES version: 3 updated: 2003/09/20 17:07:55
++dnl CF_MIXEDCASE_FILENAMES version: 4 updated: 2012/10/02 20:55:03
+ dnl ----------------------
+ dnl Check if the file-system supports mixed-case filenames. If we're able to
+ dnl create a lowercase name and see it as uppercase, it doesn't support that.
+@@ -4181,10 +4561,10 @@
+ rm -f conftest CONFTEST
+ fi
+ ])
+-test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES)
++test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES,1,[Define to 1 if filesystem supports mixed-case filenames.])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_MKSTEMP version: 7 updated: 2010/08/14 18:25:37
++dnl CF_MKSTEMP version: 9 updated: 2012/10/03 04:34:49
+ dnl ----------
+ dnl Check for a working mkstemp. This creates two files, checks that they are
+ dnl successfully created and distinct (AmigaOS apparently fails on the last).
+@@ -4226,11 +4606,13 @@
+ }
+ ],[cf_cv_func_mkstemp=yes
+ ],[cf_cv_func_mkstemp=no
+-],[AC_CHECK_FUNC(mkstemp)
+-])
++],[cf_cv_func_mkstemp=maybe])
+ ])
++if test "x$cf_cv_func_mkstemp" = xmaybe ; then
++ AC_CHECK_FUNC(mkstemp)
++fi
+ if test "x$cf_cv_func_mkstemp" = xyes || test "x$ac_cv_func_mkstemp" = xyes ; then
+- AC_DEFINE(HAVE_MKSTEMP)
++ AC_DEFINE(HAVE_MKSTEMP,1,[Define to 1 if mkstemp() is available and working.])
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+@@ -4258,14 +4640,14 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_NO_LEAKS_OPTION version: 4 updated: 2006/12/16 14:24:05
++dnl CF_NO_LEAKS_OPTION version: 5 updated: 2012/10/02 20:55:03
+ dnl ------------------
+ dnl see CF_WITH_NO_LEAKS
+ AC_DEFUN([CF_NO_LEAKS_OPTION],[
+ AC_MSG_CHECKING(if you want to use $1 for testing)
+ AC_ARG_WITH($1,
+ [$2],
+- [AC_DEFINE($3)ifelse([$4],,[
++ [AC_DEFINE_UNQUOTED($3,1,"Define to 1 if you want to use $1 for testing.")ifelse([$4],,[
+ $4
+ ])
+ : ${with_cflags:=-g}
+@@ -4326,20 +4708,23 @@
+ esac
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_PATHSEP version: 5 updated: 2010/05/26 05:38:42
++dnl CF_PATHSEP version: 6 updated: 2012/09/29 18:38:12
+ dnl ----------
+-dnl Provide a value for the $PATH and similar separator
++dnl Provide a value for the $PATH and similar separator (or amend the value
++dnl as provided in autoconf 2.5x).
+ AC_DEFUN([CF_PATHSEP],
+ [
++ AC_MSG_CHECKING(for PATH separator)
+ case $cf_cv_system_name in
+ os2*) PATH_SEPARATOR=';' ;;
+- *) PATH_SEPARATOR=':' ;;
++ *) ${PATH_SEPARATOR:=':'} ;;
+ esac
+ ifelse([$1],,,[$1=$PATH_SEPARATOR])
+ AC_SUBST(PATH_SEPARATOR)
++ AC_MSG_RESULT($PATH_SEPARATOR)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_PATH_SYNTAX version: 13 updated: 2010/05/26 05:38:42
++dnl CF_PATH_SYNTAX version: 14 updated: 2012/06/19 20:58:54
+ dnl --------------
+ dnl Check the argument to see that it looks like a pathname. Rewrite it if it
+ dnl begins with one of the prefix/exec_prefix variables, and then again if the
+@@ -4359,7 +4744,7 @@
+ ;;
+ .[[a-zA-Z]]:[[\\/]]*) #(vi OS/2 EMX
+ ;;
+-.\[$]{*prefix}*) #(vi
++.\[$]{*prefix}*|.\[$]{*dir}*) #(vi
+ eval $1="[$]$1"
+ case ".[$]$1" in #(vi
+ .NONE/*)
+@@ -4376,7 +4761,7 @@
+ esac
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_PKG_CONFIG version: 4 updated: 2011/02/18 20:26:24
++dnl CF_PKG_CONFIG version: 7 updated: 2011/04/29 04:53:22
+ dnl -------------
+ dnl Check for the package-config program, unless disabled by command-line.
+ AC_DEFUN([CF_PKG_CONFIG],
+@@ -4393,7 +4778,9 @@
+ PKG_CONFIG=none
+ ;;
+ yes) #(vi
+- AC_PATH_TOOL(PKG_CONFIG, pkg-config, none)
++ CF_ACVERSION_CHECK(2.52,
++ [AC_PATH_TOOL(PKG_CONFIG, pkg-config, none)],
++ [AC_PATH_PROG(PKG_CONFIG, pkg-config, none)])
+ ;;
+ *)
+ PKG_CONFIG=$withval
+@@ -4554,6 +4941,19 @@
+ test -z "$AWK" && AC_MSG_ERROR(No awk program found)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_PROG_CC version: 3 updated: 2012/10/06 15:31:55
++dnl ----------
++dnl standard check for CC, plus followup sanity checks
++dnl $1 = optional parameter to pass to AC_PROG_CC to specify compiler name
++AC_DEFUN([CF_PROG_CC],[
++ifelse($1,,[AC_PROG_CC],[AC_PROG_CC($1)])
++CF_GCC_VERSION
++CF_ACVERSION_CHECK(2.52,
++ [AC_PROG_CC_STDC],
++ [CF_ANSI_CC_REQD])
++CF_CC_ENV_FLAGS
++])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_PROG_CC_C_O version: 3 updated: 2010/08/14 18:25:37
+ dnl --------------
+ dnl Analogous to AC_PROG_CC_C_O, but more useful: tests only $CC, ensures that
+@@ -4593,31 +4993,6 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_PROG_CC_U_D version: 1 updated: 2005/07/14 16:59:30
+-dnl --------------
+-dnl Check if C (preprocessor) -U and -D options are processed in the order
+-dnl given rather than by type of option. Some compilers insist on apply all
+-dnl of the -U options after all of the -D options. Others allow mixing them,
+-dnl and may predefine symbols that conflict with those we define.
+-AC_DEFUN([CF_PROG_CC_U_D],
+-[
+-AC_CACHE_CHECK(if $CC -U and -D options work together,cf_cv_cc_u_d_options,[
+- cf_save_CPPFLAGS="$CPPFLAGS"
+- CPPFLAGS="-UU_D_OPTIONS -DU_D_OPTIONS -DD_U_OPTIONS -UD_U_OPTIONS"
+- AC_TRY_COMPILE([],[
+-#ifndef U_D_OPTIONS
+-make an undefined-error
+-#endif
+-#ifdef D_U_OPTIONS
+-make a defined-error
+-#endif
+- ],[
+- cf_cv_cc_u_d_options=yes],[
+- cf_cv_cc_u_d_options=no])
+- CPPFLAGS="$cf_save_CPPFLAGS"
+-])
+-])dnl
+-dnl ---------------------------------------------------------------------------
+ dnl CF_PROG_EGREP version: 1 updated: 2006/09/16 11:40:59
+ dnl -------------
+ dnl AC_PROG_EGREP was introduced in autoconf 2.53.
+@@ -4633,32 +5008,7 @@
+ test -z "$EGREP" && AC_MSG_ERROR(No egrep program found)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_PROG_EXT version: 10 updated: 2004/01/03 19:28:18
+-dnl -----------
+-dnl Compute $PROG_EXT, used for non-Unix ports, such as OS/2 EMX.
+-AC_DEFUN([CF_PROG_EXT],
+-[
+-AC_REQUIRE([CF_CHECK_CACHE])
+-case $cf_cv_system_name in
+-os2*)
+- CFLAGS="$CFLAGS -Zmt"
+- CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__"
+- CXXFLAGS="$CXXFLAGS -Zmt"
+- # autoconf's macro sets -Zexe and suffix both, which conflict:w
+- LDFLAGS="$LDFLAGS -Zmt -Zcrtdll"
+- ac_cv_exeext=.exe
+- ;;
+-esac
+-
+-AC_EXEEXT
+-AC_OBJEXT
+-
+-PROG_EXT="$EXEEXT"
+-AC_SUBST(PROG_EXT)
+-test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT")
+-])dnl
+-dnl ---------------------------------------------------------------------------
+-dnl CF_PROG_GNAT version: 1 updated: 2010/06/19 15:22:18
++dnl CF_PROG_GNAT version: 2 updated: 2011/10/22 14:01:47
+ dnl ------------
+ dnl Check for gnatmake, ensure that it is complete.
+ AC_DEFUN([CF_PROG_GNAT],[
+@@ -4666,6 +5016,7 @@
+ AC_CHECK_PROG(gnat_exists, $cf_ada_make, yes, no)
+ if test "$ac_cv_prog_gnat_exists" = no; then
+ cf_ada_make=
++ cf_cv_prog_gnat_correct=no
+ else
+ CF_GNAT_VERSION
+ AC_CHECK_PROG(M4_exists, m4, yes, no)
+@@ -4709,7 +5060,7 @@
+ esac
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_PROG_LDCONFIG version: 2 updated: 2008/12/13 14:08:40
++dnl CF_PROG_LDCONFIG version: 3 updated: 2011/06/04 20:09:13
+ dnl ----------------
+ dnl Check for ldconfig, needed to fixup shared libraries that would be built
+ dnl and then used in the install.
+@@ -4718,7 +5069,7 @@
+ LDCONFIG=:
+ else
+ case "$cf_cv_system_name" in #(vi
+-dragonfly*|freebsd*) #(vi
++dragonfly*|mirbsd*|freebsd*) #(vi
+ test -z "$LDCONFIG" && LDCONFIG="/sbin/ldconfig -R"
+ ;;
+ *) LDPATH=$PATH:/sbin:/usr/sbin
+@@ -4759,7 +5110,7 @@
+ test "$cf_prog_ln_sf" = yes && LN_S="$LN_S -f"
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_REGEX version: 8 updated: 2010/08/07 14:09:44
++dnl CF_REGEX version: 10 updated: 2012/10/04 20:12:20
+ dnl --------
+ dnl Attempt to determine if we've got one of the flavors of regular-expression
+ dnl code that we can support.
+@@ -4771,7 +5122,7 @@
+ cf_regex_libs="regex re"
+ case $host_os in #(vi
+ mingw*)
+- cf_regex_libs="regex.dll $cf_regex_libs"
++ cf_regex_libs="gnurx $cf_regex_libs"
+ ;;
+ esac
+
+@@ -4833,9 +5184,9 @@
+
+ case $cf_cv_regex_hdrs in #(vi
+ no) AC_MSG_WARN(no regular expression header found) ;; #(vi
+- regex.h) AC_DEFINE(HAVE_REGEX_H_FUNCS) ;; #(vi
+- regexp.h) AC_DEFINE(HAVE_REGEXP_H_FUNCS) ;; #(vi
+- regexpr.h) AC_DEFINE(HAVE_REGEXPR_H_FUNCS) ;;
++ regex.h) AC_DEFINE(HAVE_REGEX_H_FUNCS,1,[Define to 1 to include regex.h for regular expressions]) ;; #(vi
++ regexp.h) AC_DEFINE(HAVE_REGEXP_H_FUNCS,1,[Define to 1 to include regexp.h for regular expressions]) ;; #(vi
++ regexpr.h) AC_DEFINE(HAVE_REGEXPR_H_FUNCS,1,[Define to 1 to include regexpr.h for regular expressions]) ;;
+ esac
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+@@ -4984,7 +5335,7 @@
+ AC_SUBST(EXTRA_LDFLAGS)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_SHARED_OPTS version: 64 updated: 2010/06/05 16:51:16
++dnl CF_SHARED_OPTS version: 72 updated: 2013/01/26 16:26:12
+ dnl --------------
+ dnl --------------
+ dnl Attempt to determine the appropriate CC/LD options for creating a shared
+@@ -5040,6 +5391,7 @@
+ AC_MSG_RESULT($cf_cv_shlib_version)
+
+ cf_cv_rm_so_locs=no
++ cf_try_cflags=
+
+ # Some less-capable ports of gcc support only -fpic
+ CC_SHARED_OPTS=
+@@ -5059,10 +5411,14 @@
+ cf_cv_shlib_version_infix=no
+
+ case $cf_cv_system_name in #(vi
+- aix[[56]]*) #(vi
++ aix4.[3-9]*|aix[[5-7]]*) #(vi
+ if test "$GCC" = yes; then
+ CC_SHARED_OPTS=
+- MK_SHARED_LIB='$(CC) -shared'
++ MK_SHARED_LIB='${CC} -shared -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o [$]@'
++ else
++ # CC_SHARED_OPTS='-qpic=large -G'
++ # perhaps "-bM:SRE -bnoentry -bexpall"
++ MK_SHARED_LIB='${CC} -G -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o [$]@'
+ fi
+ ;;
+ beos*) #(vi
+@@ -5088,7 +5444,7 @@
+ chmod +x mk_shared_lib.sh
+ ;;
+ darwin*) #(vi
+- EXTRA_CFLAGS="-no-cpp-precomp"
++ cf_try_cflags="no-cpp-precomp"
+ CC_SHARED_OPTS="-dynamic"
+ MK_SHARED_LIB='${CC} ${CFLAGS} -dynamiclib -install_name ${libdir}/`basename $[@]` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $[@]'
+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi
+@@ -5102,6 +5458,14 @@
+ LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
+ fi
+ ;;
++ hpux[[7-8]]*) #(vi
++ # HP-UX 8.07 ld lacks "+b" option used for libdir search-list
++ if test "$GCC" != yes; then
++ CC_SHARED_OPTS='+Z'
++ fi
++ MK_SHARED_LIB='${LD} -b -o $[@]'
++ INSTALL_LIB="-m 555"
++ ;;
+ hpux*) #(vi
+ # (tested with gcc 2.7.2 -- I don't have c89)
+ if test "$GCC" = yes; then
+@@ -5115,9 +5479,19 @@
+ # readonly to exploit a quirk in the memory manager.
+ INSTALL_LIB="-m 555"
+ ;;
++ interix*)
++ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
++ if test "$cf_cv_shlib_version" = rel; then
++ cf_shared_soname='`basename $@ .${REL_VERSION}`.${ABI_VERSION}'
++ else
++ cf_shared_soname='`basename $@`'
++ fi
++ CC_SHARED_OPTS=
++ MK_SHARED_LIB='${CC} -shared -Wl,-rpath,${RPATH_LIST} -Wl,-h,'$cf_shared_soname' -o $@'
++ ;;
+ irix*) #(vi
+ if test "$cf_cv_enable_rpath" = yes ; then
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+ # tested with IRIX 5.2 and 'cc'.
+ if test "$GCC" != yes; then
+@@ -5134,18 +5508,39 @@
+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+ fi
+ if test "$cf_cv_enable_rpath" = yes ; then
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+ CF_SHARED_SONAME
+ MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
+ ;;
+- openbsd[[2-9]].*) #(vi
++ mingw*) #(vi
++ cf_cv_shlib_version=mingw
++ cf_cv_shlib_version_infix=mingw
++ CC_SHARED_OPTS=
++ MK_SHARED_LIB='sh ../mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
++ #MK_SHARED_LIB='${CC} ${CFLAGS} -mdll -Wl,-soname,'$cf_cv_shared_soname',-stats -o $[@]'
++ #MK_SHARED_LIB='${DLLTOOL} --export-all-symbols --output-exp --output-lib $[@]'
++ cat >mk_shared_lib.sh <<-CF_EOF
++ #!/bin/sh
++ SHARED_LIB=\[$]1
++ IMPORT_LIB=\`echo "\[$]1" | sed -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
++ shift
++ cat <<-EOF
++ Linking shared library
++ ** SHARED_LIB \[$]SHARED_LIB
++ ** IMPORT_LIB \[$]IMPORT_LIB
++EOF
++ exec \[$]* -shared -Wl,--out-implib=../lib/\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o ../lib/\[$]{SHARED_LIB}
++CF_EOF
++ chmod +x mk_shared_lib.sh
++ ;;
++ openbsd[[2-9]].*|mirbsd*) #(vi
+ if test "$DFT_LWR_MODEL" = "shared" ; then
+ LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+ fi
+ if test "$cf_cv_enable_rpath" = yes ; then
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+ CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
+ CF_SHARED_SONAME
+@@ -5156,12 +5551,12 @@
+ MK_SHARED_LIB='${LD} -Bshareable -o $[@]'
+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
+ ;;
+- freebsd*) #(vi
++ dragonfly*|freebsd*) #(vi
+ CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
+ if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
+ LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
+- LOCAL_LDFLAGS2="${cf_ld_rpath_opt}\${libdir} $LOCAL_LDFLAGS"
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ LOCAL_LDFLAGS2="${cf_ld_rpath_opt}\${RPATH_LIST} $LOCAL_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+ CF_SHARED_SONAME
+ MK_SHARED_LIB='${LD} -shared -Bshareable -soname=`basename $[@]` -o $[@]'
+@@ -5171,7 +5566,7 @@
+ if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
+ LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ if test "$cf_cv_shlib_version" = auto; then
+ if test -f /usr/libexec/ld.elf_so; then
+ cf_cv_shlib_version=abi
+@@ -5276,10 +5671,40 @@
+ ;;
+ esac
+
+- if test -n "$cf_ld_rpath_opt" ; then
+- MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${libdir}"
++ if test -n "$cf_try_cflags"
++ then
++cat > conftest.$ac_ext <<EOF
++#line __oline__ "${as_me:-configure}"
++#include <stdio.h>
++int main(int argc, char *argv[[]])
++{
++ printf("hello\n");
++ return (argv[[argc-1]] == 0) ;
++}
++EOF
++ cf_save_CFLAGS="$CFLAGS"
++ for cf_opt in $cf_try_cflags
++ do
++ CFLAGS="$cf_save_CFLAGS -$cf_opt"
++ AC_MSG_CHECKING(if CFLAGS option -$cf_opt works)
++ if AC_TRY_EVAL(ac_compile); then
++ AC_MSG_RESULT(yes)
++ cf_save_CFLAGS="$CFLAGS"
++ else
++ AC_MSG_RESULT(no)
++ fi
++ done
++ CFLAGS="$cf_save_CFLAGS"
+ fi
+
++
++ # RPATH_LIST is a colon-separated list of directories
++ test -n "$cf_ld_rpath_opt" && MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${RPATH_LIST}"
++ test -z "$RPATH_LIST" && RPATH_LIST="\${libdir}"
++
++ CF_VERBOSE(CC_SHARED_OPTS: $CC_SHARED_OPTS)
++ CF_VERBOSE(MK_SHARED_LIB: $MK_SHARED_LIB)
++
+ AC_SUBST(CC_SHARED_OPTS)
+ AC_SUBST(LD_RPATH_OPT)
+ AC_SUBST(LD_SHARED_OPTS)
+@@ -5290,6 +5715,7 @@
+ AC_SUBST(LOCAL_LDFLAGS)
+ AC_SUBST(LOCAL_LDFLAGS2)
+ AC_SUBST(INSTALL_LIB)
++ AC_SUBST(RPATH_LIST)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+ dnl CF_SHARED_SONAME version: 3 updated: 2008/09/08 18:34:43
+@@ -5369,7 +5795,7 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_SIG_ATOMIC_T version: 2 updated: 2005/09/18 17:27:12
++dnl CF_SIG_ATOMIC_T version: 3 updated: 2012/10/04 20:12:20
+ dnl ---------------
+ dnl signal handler, but there are some gcc depedencies in that recommendation.
+ dnl Try anyway.
+@@ -5401,10 +5827,10 @@
+ done
+ ])
+ AC_MSG_RESULT($cf_cv_sig_atomic_t)
+-test "$cf_cv_sig_atomic_t" != no && AC_DEFINE_UNQUOTED(SIG_ATOMIC_T, $cf_cv_sig_atomic_t)
++test "$cf_cv_sig_atomic_t" != no && AC_DEFINE_UNQUOTED(SIG_ATOMIC_T, $cf_cv_sig_atomic_t,[Define to signal global datatype])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_SIZECHANGE version: 8 updated: 2000/11/04 12:22:16
++dnl CF_SIZECHANGE version: 9 updated: 2012/10/06 11:17:15
+ dnl -------------
+ dnl Check for definitions & structures needed for window size-changing
+ dnl FIXME: check that this works with "snake" (HP-UX 10.x)
+@@ -5465,7 +5891,7 @@
+ done
+ ])
+ if test "$cf_cv_sizechange" != no ; then
+- AC_DEFINE(HAVE_SIZECHANGE)
++ AC_DEFINE(HAVE_SIZECHANGE,1,[Define to 1 if sizechar declarations are provided])
+ case $cf_cv_sizechange in #(vi
+ NEED*)
+ AC_DEFINE_UNQUOTED($cf_cv_sizechange )
+@@ -5474,7 +5900,7 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_SRC_MODULES version: 21 updated: 2010/09/04 17:37:40
++dnl CF_SRC_MODULES version: 26 updated: 2012/01/07 15:08:24
+ dnl --------------
+ dnl For each parameter, test if the source-directory exists, and if it contains
+ dnl a 'modules' file. If so, add to the list $cf_cv_src_modules which we'll
+@@ -5497,6 +5923,7 @@
+ TEST_ARG2="-l${LIB_NAME}${DFT_ARG_SUFFIX} $TEST_ARG2"
+ fi
+
++PC_MODULES_TO_MAKE="ncurses${DFT_ARG_SUFFIX}"
+ cf_cv_src_modules=
+ for cf_dir in $1
+ do
+@@ -5535,6 +5962,7 @@
+ TEST_ARGS="-l${cf_dir}${DFT_ARG_SUFFIX} $TEST_ARGS"
+ TEST_ARG2="-l${cf_dir}${DFT_ARG_SUFFIX} $TEST_ARG2"
+ fi
++ PC_MODULES_TO_MAKE="${PC_MODULES_TO_MAKE} ${cf_dir}${DFT_ARG_SUFFIX}"
+ fi
+ fi
+ done
+@@ -5562,10 +5990,18 @@
+ SRC_SUBDIRS="$SRC_SUBDIRS test"
+ fi
+ test -z "$MAKE_TERMINFO" && SRC_SUBDIRS="$SRC_SUBDIRS misc"
+-test "$cf_with_cxx_binding" != no && SRC_SUBDIRS="$SRC_SUBDIRS c++"
++if test "$cf_with_cxx_binding" != no; then
++ PC_MODULES_TO_MAKE="${PC_MODULES_TO_MAKE} ncurses++${DFT_ARG_SUFFIX}"
++ SRC_SUBDIRS="$SRC_SUBDIRS c++"
++fi
++
++test "x$with_termlib" != xno && PC_MODULES_TO_MAKE="$PC_MODULES_TO_MAKE $TINFO_ARG_SUFFIX"
++test "x$with_ticlib" != xno && PC_MODULES_TO_MAKE="$PC_MODULES_TO_MAKE $TICS_ARG_SUFFIX"
++
++AC_SUBST(PC_MODULES_TO_MAKE)
+
+ ADA_SUBDIRS=
+-if test "$cf_cv_prog_gnat_correct" = yes && test -f $srcdir/Ada95/Makefile.in; then
++if test "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = xyes && test -f $srcdir/Ada95/Makefile.in; then
+ SRC_SUBDIRS="$SRC_SUBDIRS Ada95"
+ ADA_SUBDIRS="gen src"
+ if test "x$cf_with_tests" != "xno" ; then
+@@ -5624,13 +6060,13 @@
+ AC_DEFUN([CF_STRIP_G_OPT],
+ [$1=`echo ${$1} | sed -e 's%-g %%' -e 's%-g$%%'`])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_STRUCT_SIGACTION version: 3 updated: 2000/08/12 23:18:52
++dnl CF_STRUCT_SIGACTION version: 5 updated: 2012/10/06 17:56:13
+ dnl -------------------
+ dnl Check if we need _POSIX_SOURCE defined to use struct sigaction. We'll only
+ dnl do this if we've found the sigaction function.
+-dnl
+-dnl If needed, define SVR4_ACTION.
+ AC_DEFUN([CF_STRUCT_SIGACTION],[
++AC_REQUIRE([CF_XOPEN_SOURCE])
++
+ if test "$ac_cv_func_sigaction" = yes; then
+ AC_MSG_CHECKING(whether sigaction needs _POSIX_SOURCE)
+ AC_TRY_COMPILE([
+@@ -5645,22 +6081,24 @@
+ #include <signal.h>],
+ [struct sigaction act],
+ [sigact_bad=yes
+- AC_DEFINE(SVR4_ACTION)],
++ AC_DEFINE(_POSIX_SOURCE,1,[Define to 1 if we must define _POSIX_SOURCE])],
+ [sigact_bad=unknown])])
+ AC_MSG_RESULT($sigact_bad)
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_STRUCT_TERMIOS version: 5 updated: 2000/11/04 12:22:46
++dnl CF_STRUCT_TERMIOS version: 7 updated: 2012/10/06 17:56:13
+ dnl -----------------
+ dnl Some machines require _POSIX_SOURCE to completely define struct termios.
+-dnl If so, define SVR4_TERMIO
+ AC_DEFUN([CF_STRUCT_TERMIOS],[
++AC_REQUIRE([CF_XOPEN_SOURCE])
++
+ AC_CHECK_HEADERS( \
+ termio.h \
+ termios.h \
+ unistd.h \
+ )
++
+ if test "$ISC" = yes ; then
+ AC_CHECK_HEADERS( sys/termio.h )
+ fi
+@@ -5680,7 +6118,7 @@
+ #include <termios.h>],
+ [struct termios foo; int x = foo.c_iflag],
+ termios_bad=unknown,
+- termios_bad=yes AC_DEFINE(SVR4_TERMIO))
++ termios_bad=yes AC_DEFINE(_POSIX_SOURCE,1,[Define to 1 if we must define _POSIX_SOURCE]))
+ ])
+ AC_MSG_RESULT($termios_bad)
+ fi
+@@ -5704,23 +6142,6 @@
+ CF_ADD_SUBDIR_PATH($1,$2,$3,[$]HOME,$prefix)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_SUBST version: 4 updated: 2006/06/17 12:33:03
+-dnl --------
+-dnl Shorthand macro for substituting things that the user may override
+-dnl with an environment variable.
+-dnl
+-dnl $1 = long/descriptive name
+-dnl $2 = environment variable
+-dnl $3 = default value
+-AC_DEFUN([CF_SUBST],
+-[AC_CACHE_VAL(cf_cv_subst_$2,[
+-AC_MSG_CHECKING(for $1 (symbol $2))
+-CF_SUBST_IF([-z "[$]$2"], [$2], [$3])
+-cf_cv_subst_$2=[$]$2
+-AC_MSG_RESULT([$]$2)
+-])
+-])dnl
+-dnl ---------------------------------------------------------------------------
+ dnl CF_SUBST_IF version: 2 updated: 2006/06/17 12:33:03
+ dnl -----------
+ dnl Shorthand macro for substituting things that the user may override
+@@ -5766,7 +6187,7 @@
+ AC_SUBST(cf_cv_type_of_bool)dnl
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_SYS_TIME_SELECT version: 4 updated: 2000/10/04 09:18:40
++dnl CF_SYS_TIME_SELECT version: 5 updated: 2012/10/04 05:24:07
+ dnl ------------------
+ dnl Check if we can include <sys/time.h> with <sys/select.h>; this breaks on
+ dnl older SCO configurations.
+@@ -5786,7 +6207,7 @@
+ [cf_cv_sys_time_select=no])
+ ])
+ AC_MSG_RESULT($cf_cv_sys_time_select)
+-test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT)
++test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT,1,[Define to 1 if we can include <sys/time.h> with <sys/select.h>])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+ dnl CF_TOP_BUILDDIR version: 1 updated: 2006/10/15 16:33:23
+@@ -5798,7 +6219,46 @@
+ AC_SUBST(top_builddir)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_TYPEOF_CHTYPE version: 8 updated: 2006/12/16 12:33:30
++dnl CF_TRY_XOPEN_SOURCE version: 1 updated: 2011/10/30 17:09:50
++dnl -------------------
++dnl If _XOPEN_SOURCE is not defined in the compile environment, check if we
++dnl can define it successfully.
++AC_DEFUN([CF_TRY_XOPEN_SOURCE],[
++AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
++ AC_TRY_COMPILE([
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++],[
++#ifndef _XOPEN_SOURCE
++make an error
++#endif],
++ [cf_cv_xopen_source=no],
++ [cf_save="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
++ AC_TRY_COMPILE([
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++],[
++#ifdef _XOPEN_SOURCE
++make an error
++#endif],
++ [cf_cv_xopen_source=no],
++ [cf_cv_xopen_source=$cf_XOPEN_SOURCE])
++ CPPFLAGS="$cf_save"
++ ])
++])
++
++if test "$cf_cv_xopen_source" != no ; then
++ CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE)
++ CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE)
++ cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
++ CF_ADD_CFLAGS($cf_temp_xopen_source)
++fi
++])
++dnl ---------------------------------------------------------------------------
++dnl CF_TYPEOF_CHTYPE version: 9 updated: 2012/10/06 17:56:13
+ dnl ----------------
+ dnl Determine the type we should use for chtype (and attr_t, which is treated
+ dnl as the same thing). We want around 32 bits, so on most machines want a
+@@ -5847,10 +6307,10 @@
+ AC_MSG_RESULT($cf_cv_typeof_chtype)
+
+ AC_SUBST(cf_cv_typeof_chtype)
+-AC_DEFINE_UNQUOTED(TYPEOF_CHTYPE,$cf_cv_typeof_chtype)
++AC_DEFINE_UNQUOTED(TYPEOF_CHTYPE,$cf_cv_typeof_chtype,[Define to actual type if needed for chtype])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_TYPE_SIGACTION version: 3 updated: 2000/08/12 23:18:52
++dnl CF_TYPE_SIGACTION version: 4 updated: 2012/10/06 17:56:13
+ dnl -----------------
+ dnl
+ AC_DEFUN([CF_TYPE_SIGACTION],
+@@ -5863,7 +6323,7 @@
+ [cf_cv_type_sigaction=yes],
+ [cf_cv_type_sigaction=no])])
+ AC_MSG_RESULT($cf_cv_type_sigaction)
+-test "$cf_cv_type_sigaction" = yes && AC_DEFINE(HAVE_TYPE_SIGACTION)
++test "$cf_cv_type_sigaction" = yes && AC_DEFINE(HAVE_TYPE_SIGACTION,1,[Define to 1 if we have the sigaction_t type])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+ dnl CF_UNSIGNED_LITERALS version: 2 updated: 1998/02/07 22:10:16
+@@ -5890,7 +6350,7 @@
+ $1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_UTF8_LIB version: 7 updated: 2010/06/20 09:24:28
++dnl CF_UTF8_LIB version: 8 updated: 2012/10/06 08:57:51
+ dnl -----------
+ dnl Check for multibyte support, and if not found, utf8 compatibility library
+ AC_DEFUN([CF_UTF8_LIB],
+@@ -5909,14 +6369,14 @@
+ # HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
+ # ncurses/ncursesw:
+ if test "$cf_cv_utf8_lib" = "add-on" ; then
+- AC_DEFINE(HAVE_LIBUTF8_H)
++ AC_DEFINE(HAVE_LIBUTF8_H,1,[Define to 1 if we should include libutf8.h])
+ CF_ADD_INCDIR($cf_cv_header_path_utf8)
+ CF_ADD_LIBDIR($cf_cv_library_path_utf8)
+ CF_ADD_LIBS($cf_cv_library_file_utf8)
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_VA_COPY version: 2 updated: 2010/03/04 05:37:29
++dnl CF_VA_COPY version: 3 updated: 2012/10/06 11:17:15
+ dnl ----------
+ dnl check for va_copy, part of stdarg.h
+ dnl Also, workaround for glibc's __va_copy, by checking for both.
+@@ -5931,7 +6391,7 @@
+ cf_cv_have_va_copy=yes,
+ cf_cv_have_va_copy=no)])
+
+-test "$cf_cv_have_va_copy" = yes && AC_DEFINE(HAVE_VA_COPY)
++test "$cf_cv_have_va_copy" = yes && AC_DEFINE(HAVE_VA_COPY,1,[Define to 1 if we have va_copy])
+
+ AC_CACHE_CHECK(for __va_copy, cf_cv_have___va_copy,[
+ AC_TRY_LINK([
+@@ -5943,7 +6403,7 @@
+ cf_cv_have___va_copy=yes,
+ cf_cv_have___va_copy=no)])
+
+-test "$cf_cv_have___va_copy" = yes && AC_DEFINE(HAVE___VA_COPY)
++test "$cf_cv_have___va_copy" = yes && AC_DEFINE(HAVE___VA_COPY,1,[Define to 1 if we have __va_copy])
+ ])
+ dnl ---------------------------------------------------------------------------
+ dnl CF_VERBOSE version: 3 updated: 2007/07/29 09:55:12
+@@ -5954,7 +6414,7 @@
+ CF_MSG_LOG([$1])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_WCHAR_TYPE version: 3 updated: 2010/05/26 16:44:57
++dnl CF_WCHAR_TYPE version: 4 updated: 2012/10/06 16:39:58
+ dnl -------------
+ dnl Check if type wide-character type $1 is declared, and if so, which header
+ dnl file is needed. The second parameter is used to set a shell variable when
+@@ -5986,7 +6446,7 @@
+ [cf_cv_$1=unknown])])])
+
+ if test "$cf_cv_$1" = yes ; then
+- AC_DEFINE(NEED_WCHAR_H)
++ AC_DEFINE(NEED_WCHAR_H,1,[Define to 1 if we must include wchar.h])
+ NEED_WCHAR_H=1
+ fi
+
+@@ -6149,7 +6609,7 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_WITH_GPM version: 7 updated: 2008/03/23 14:48:54
++dnl CF_WITH_GPM version: 8 updated: 2012/10/06 17:56:13
+ dnl -----------
+ dnl
+ dnl The option parameter (if neither yes/no) is assumed to be the name of
+@@ -6165,10 +6625,10 @@
+
+ if test "$with_gpm" != no ; then
+ AC_CHECK_HEADER(gpm.h,[
+- AC_DEFINE(HAVE_GPM_H)
++ AC_DEFINE(HAVE_GPM_H,1,[Define to 1 if we have gpm.h header])
+ if test "$with_gpm" != yes && test "$with_gpm" != maybe ; then
+ CF_VERBOSE(assuming we really have GPM library)
+- AC_DEFINE(HAVE_LIBGPM)
++ AC_DEFINE(HAVE_LIBGPM,1,[Define to 1 if we have the gpm library])
+ else
+ AC_CHECK_LIB(gpm,Gpm_Open,[:],[
+ AC_MSG_ERROR(Cannot link with GPM library)
+@@ -6182,7 +6642,7 @@
+ fi
+ ])
+ dnl ---------------------------------------------------------------------------
+-dnl CF_WITH_LIBTOOL version: 26 updated: 2010/10/23 15:55:24
++dnl CF_WITH_LIBTOOL version: 29 updated: 2013/04/06 18:03:09
+ dnl ---------------
+ dnl Provide a configure option to incorporate libtool. Define several useful
+ dnl symbols for the makefile rules.
+@@ -6252,13 +6712,20 @@
+ CF_PATH_SYNTAX(with_libtool)
+ LIBTOOL=$with_libtool
+ else
+- AC_PATH_PROG(LIBTOOL,libtool)
++ AC_CHECK_TOOLS(LIBTOOL,[libtool glibtool],none)
++ CF_LIBTOOL_VERSION
++ if test -z "$cf_cv_libtool_version" && test "$LIBTOOL" = libtool
++ then
++ CF_FORGET_TOOL(LIBTOOL)
++ AC_CHECK_TOOLS(LIBTOOL,[glibtool],none)
++ CF_LIBTOOL_VERSION
++ fi
+ fi
+ if test -z "$LIBTOOL" ; then
+ AC_MSG_ERROR(Cannot find libtool)
+ fi
+ ])dnl
+- LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${DESTDIR}${libdir} ${LIBTOOL_VERSION} `cut -f1 ${srcdir}/VERSION` ${LIBTOOL_OPTS} ${LT_UNDEF} -o'
++ LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${DESTDIR}${libdir} ${LIBTOOL_VERSION} `cut -f1 ${srcdir}/VERSION` ${LIBTOOL_OPTS} ${LT_UNDEF} $(LIBS) -o'
+ LIB_OBJECT='${OBJECTS:.o=.lo}'
+ LIB_SUFFIX=.la
+ LIB_CLEAN='${LIBTOOL} --mode=clean'
+@@ -6268,22 +6735,12 @@
+ LIB_UNINSTALL='${LIBTOOL} --mode=uninstall'
+ LIB_PREP=:
+
+- # Show the version of libtool
+- AC_MSG_CHECKING(version of libtool)
+-
+- # Save the version in a cache variable - this is not entirely a good
+- # thing, but the version string from libtool is very ugly, and for
+- # bug reports it might be useful to have the original string. "("
+- cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '/^$/d' |sed -e '2,$d' -e 's/([[^)]]*)//g' -e 's/^[[^1-9]]*//' -e 's/[[^0-9.]].*//'`
+- AC_MSG_RESULT($cf_cv_libtool_version)
+- if test -z "$cf_cv_libtool_version" ; then
+- AC_MSG_ERROR(This is not GNU libtool)
+- fi
++ CF_CHECK_LIBTOOL_VERSION
+
+ # special hack to add -no-undefined (which libtool should do for itself)
+ LT_UNDEF=
+ case "$cf_cv_system_name" in #(vi
+- cygwin*|mingw32*|uwin*|aix[[456]]) #(vi
++ cygwin*|mingw32*|uwin*|aix[[4-7]]) #(vi
+ LT_UNDEF=-no-undefined
+ ;;
+ esac
+@@ -6323,7 +6780,33 @@
+
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_WITH_PATH version: 10 updated: 2010/10/23 15:44:18
++dnl CF_WITH_LIB_PREFIX version: 1 updated: 2012/01/21 19:28:10
++dnl ------------------
++dnl Allow the library-prefix to be overridden. OS/2 EMX originally had no
++dnl "lib" prefix, e.g., because it used the dll naming convention.
++dnl
++dnl $1 = variable to set
++AC_DEFUN([CF_WITH_LIB_PREFIX],
++[
++AC_MSG_CHECKING(if you want to have a library-prefix)
++AC_ARG_WITH(lib-prefix,
++ [ --with-lib-prefix override library-prefix],
++ [with_lib_prefix=$withval],
++ [with_lib_prefix=auto])
++AC_MSG_RESULT($with_lib_prefix)
++
++if test $with_lib_prefix = auto
++then
++ CF_LIB_PREFIX($1)
++elif test $with_lib_prefix = no
++then
++ LIB_PREFIX=
++else
++ LIB_PREFIX=$with_lib_prefix
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_WITH_PATH version: 11 updated: 2012/09/29 15:04:19
+ dnl ------------
+ dnl Wrapper for AC_ARG_WITH to ensure that user supplies a pathname, not just
+ dnl defaulting to yes/no.
+@@ -6340,11 +6823,11 @@
+ if ifelse([$5],,true,[test -n "$5"]) ; then
+ CF_PATH_SYNTAX(withval)
+ fi
+-$3="$withval"
++eval $3="$withval"
+ AC_SUBST($3)dnl
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_WITH_PATHLIST version: 7 updated: 2010/10/23 16:10:30
++dnl CF_WITH_PATHLIST version: 9 updated: 2012/10/18 05:05:24
+ dnl ----------------
+ dnl Process an option specifying a list of colon-separated paths.
+ dnl
+@@ -6365,7 +6848,7 @@
+ for cf_src_path in $withval
+ do
+ CF_PATH_SYNTAX(cf_src_path)
+- test -n "$cf_dst_path" && cf_dst_path="${cf_dst_path}:"
++ test -n "$cf_dst_path" && cf_dst_path="${cf_dst_path}$PATH_SEPARATOR"
+ cf_dst_path="${cf_dst_path}${cf_src_path}"
+ done
+ IFS="$ac_save_ifs"
+@@ -6381,12 +6864,65 @@
+ cf_dst_path=`echo "$cf_dst_path" | sed -e 's/\\\\/\\\\\\\\/g'`
+ ])
+
+-eval '$3="$cf_dst_path"'
++# This may use the prefix/exec_prefix symbols which will only yield "NONE"
++# so we have to check/work around. We do prefer the result of "eval"...
++eval cf_dst_eval="$cf_dst_path"
++case "x$cf_dst_eval" in #(vi
++xNONE*) #(vi
++ $3=$cf_dst_path
++ ;;
++*)
++ $3="$cf_dst_eval"
++ ;;
++esac
+ AC_SUBST($3)dnl
+
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_WITH_PTHREAD version: 3 updated: 2010/05/29 16:31:02
++dnl CF_WITH_PKG_CONFIG_LIBDIR version: 2 updated: 2011/12/10 18:58:47
++dnl -------------------------
++dnl Allow the choice of the pkg-config library directory to be overridden.
++AC_DEFUN([CF_WITH_PKG_CONFIG_LIBDIR],[
++if test "$PKG_CONFIG" != none ; then
++ AC_MSG_CHECKING(for $PKG_CONFIG library directory)
++ AC_ARG_WITH(pkg-config-libdir,
++ [ --with-pkg-config-libdir=XXX use given directory for installing pc-files],
++ [PKG_CONFIG_LIBDIR=$withval],
++ [PKG_CONFIG_LIBDIR=yes])
++
++ case x$PKG_CONFIG_LIBDIR in #(vi
++ x/*) #(vi
++ ;;
++ xyes) #(vi
++ # look for the library directory using the same prefix as the executable
++ cf_path=`echo "$PKG_CONFIG" | sed -e 's,/[[^/]]*/[[^/]]*$,,'`
++ case x`(arch) 2>/dev/null` in #(vi
++ *64) #(vi
++ for cf_config in $cf_path/share $cf_path/lib64 $cf_path/lib32 $cf_path/lib
++ do
++ if test -d $cf_config/pkgconfig
++ then
++ PKG_CONFIG_LIBDIR=$cf_config/pkgconfig
++ break
++ fi
++ done
++ ;;
++ *)
++ PKG_CONFIG_LIBDIR=$cf_path/lib/pkgconfig
++ ;;
++ esac
++ ;;
++ *)
++ ;;
++ esac
++
++ AC_MSG_RESULT($PKG_CONFIG_LIBDIR)
++fi
++
++AC_SUBST(PKG_CONFIG_LIBDIR)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_WITH_PTHREAD version: 6 updated: 2012/10/06 17:41:51
+ dnl ---------------
+ dnl Check for POSIX thread library.
+ AC_DEFUN([CF_WITH_PTHREAD],
+@@ -6400,25 +6936,30 @@
+
+ if test "$with_pthread" != no ; then
+ AC_CHECK_HEADER(pthread.h,[
+- AC_DEFINE(HAVE_PTHREADS_H)
++ AC_DEFINE(HAVE_PTHREADS_H,1,[Define to 1 if we have pthreads.h header])
+
+- AC_MSG_CHECKING(if we can link with the pthread library)
+- cf_save_LIBS="$LIBS"
+- CF_ADD_LIB(pthread)
+- AC_TRY_LINK([
++ for cf_lib_pthread in pthread c_r
++ do
++ AC_MSG_CHECKING(if we can link with the $cf_lib_pthread library)
++ cf_save_LIBS="$LIBS"
++ CF_ADD_LIB($cf_lib_pthread)
++ AC_TRY_LINK([
+ #include <pthread.h>
+ ],[
+- int rc = pthread_create(0,0,0,0);
++ int rc = pthread_create(0,0,0,0);
++ int r2 = pthread_mutexattr_settype(0, 0);
+ ],[with_pthread=yes],[with_pthread=no])
+- LIBS="$cf_save_LIBS"
+- AC_MSG_RESULT($with_pthread)
++ LIBS="$cf_save_LIBS"
++ AC_MSG_RESULT($with_pthread)
++ test "$with_pthread" = yes && break
++ done
+
+- if test "$with_pthread" = yes ; then
+- CF_ADD_LIB(pthread)
+- AC_DEFINE(HAVE_LIBPTHREADS)
+- else
+- AC_MSG_ERROR(Cannot link with pthread library)
+- fi
++ if test "$with_pthread" = yes ; then
++ CF_ADD_LIB($cf_lib_pthread)
++ AC_DEFINE(HAVE_LIBPTHREADS,1,[Define to 1 if we have pthreads library])
++ else
++ AC_MSG_ERROR(Cannot link with pthread library)
++ fi
+ ])
+ fi
+ ])
+@@ -6448,7 +6989,7 @@
+ ])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_WITH_SYSMOUSE version: 2 updated: 2003/03/22 19:13:43
++dnl CF_WITH_SYSMOUSE version: 3 updated: 2012/10/06 17:56:13
+ dnl ----------------
+ dnl If we can compile with sysmouse, make it available unless it is not wanted.
+ AC_DEFUN([CF_WITH_SYSMOUSE],[
+@@ -6474,10 +7015,30 @@
+ ],[cf_with_sysmouse=yes],[cf_with_sysmouse=no])
+ fi
+ AC_MSG_RESULT($cf_with_sysmouse)
+-test "$cf_with_sysmouse" = yes && AC_DEFINE(USE_SYSMOUSE)
++test "$cf_with_sysmouse" = yes && AC_DEFINE(USE_SYSMOUSE,1,[Define to 1 if we can/should use the sysmouse interface])
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_WITH_SYSTYPE version: 1 updated: 2013/01/26 16:26:12
++dnl ---------------
++dnl For testing, override the derived host system-type which is used to decide
++dnl things such as the linker commands used to build shared libraries. This is
++dnl normally chosen automatically based on the type of system which you are
++dnl building on. We use it for testing the configure script.
++dnl
++dnl This is different from the --host option: it is used only for testing parts
++dnl of the configure script which would not be reachable with --host since that
++dnl relies on the build environment being real, rather than mocked up.
++AC_DEFUN([CF_WITH_SYSTYPE],[
++CF_CHECK_CACHE([AC_CANONICAL_SYSTEM])
++AC_ARG_WITH(system-type,
++ [ --with-system-type=XXX test: override derived host system-type],
++[AC_MSG_WARN(overriding system type to $withval)
++ cf_cv_system_name=$withval
++ host_os=$withval
++])
++])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_WITH_VALGRIND version: 1 updated: 2006/12/14 18:00:21
+ dnl ----------------
+ AC_DEFUN([CF_WITH_VALGRIND],[
+@@ -6486,7 +7047,7 @@
+ [USE_VALGRIND])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_XOPEN_SOURCE version: 35 updated: 2011/02/20 20:37:37
++dnl CF_XOPEN_SOURCE version: 43 updated: 2013/02/10 10:41:05
+ dnl ---------------
+ dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions,
+ dnl or adapt to the vendor's definitions to get equivalent functionality,
+@@ -6496,13 +7057,14 @@
+ dnl $1 is the nominal value for _XOPEN_SOURCE
+ dnl $2 is the nominal value for _POSIX_C_SOURCE
+ AC_DEFUN([CF_XOPEN_SOURCE],[
++AC_REQUIRE([AC_CANONICAL_HOST])
+
+ cf_XOPEN_SOURCE=ifelse([$1],,500,[$1])
+ cf_POSIX_C_SOURCE=ifelse([$2],,199506L,[$2])
+ cf_xopen_source=
+
+ case $host_os in #(vi
+-aix[[456]]*) #(vi
++aix[[4-7]]*) #(vi
+ cf_xopen_source="-D_ALL_SOURCE"
+ ;;
+ cygwin) #(vi
+@@ -6513,6 +7075,7 @@
+ ;;
+ darwin*) #(vi
+ cf_xopen_source="-D_DARWIN_C_SOURCE"
++ cf_XOPEN_SOURCE=
+ ;;
+ freebsd*|dragonfly*) #(vi
+ # 5.x headers associate
+@@ -6530,15 +7093,23 @@
+ ;;
+ irix[[56]].*) #(vi
+ cf_xopen_source="-D_SGI_SOURCE"
++ cf_XOPEN_SOURCE=
+ ;;
+ linux*|gnu*|mint*|k*bsd*-gnu) #(vi
+ CF_GNU_SOURCE
+ ;;
+ mirbsd*) #(vi
+- # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <arpa/inet.h>
++ # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <sys/select.h> and other headers which use u_int / u_short types
++ cf_XOPEN_SOURCE=
++ CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
+ ;;
+ netbsd*) #(vi
+- # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
++ cf_xopen_source="-D_NETBSD_SOURCE" # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
++ ;;
++openbsd[[4-9]]*) #(vi
++ # setting _XOPEN_SOURCE lower than 500 breaks g++ compile with wchar.h, needed for ncursesw
++ cf_xopen_source="-D_BSD_SOURCE"
++ cf_XOPEN_SOURCE=600
+ ;;
+ openbsd*) #(vi
+ # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
+@@ -6552,36 +7123,11 @@
+ sco*) #(vi
+ # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
+ ;;
+-solaris2.1[[0-9]]) #(vi
+- cf_xopen_source="-D__EXTENSIONS__ -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+- ;;
+-solaris2.[[1-9]]) #(vi
++solaris2.*) #(vi
+ cf_xopen_source="-D__EXTENSIONS__"
+ ;;
+ *)
+- AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
+- AC_TRY_COMPILE([#include <sys/types.h>],[
+-#ifndef _XOPEN_SOURCE
+-make an error
+-#endif],
+- [cf_cv_xopen_source=no],
+- [cf_save="$CPPFLAGS"
+- CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+- AC_TRY_COMPILE([#include <sys/types.h>],[
+-#ifdef _XOPEN_SOURCE
+-make an error
+-#endif],
+- [cf_cv_xopen_source=no],
+- [cf_cv_xopen_source=$cf_XOPEN_SOURCE])
+- CPPFLAGS="$cf_save"
+- ])
+-])
+- if test "$cf_cv_xopen_source" != no ; then
+- CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE)
+- CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE)
+- cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
+- CF_ADD_CFLAGS($cf_temp_xopen_source)
+- fi
++ CF_TRY_XOPEN_SOURCE
+ CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
+ ;;
+ esac
+@@ -6589,4 +7135,33 @@
+ if test -n "$cf_xopen_source" ; then
+ CF_ADD_CFLAGS($cf_xopen_source)
+ fi
++
++dnl In anything but the default case, we may have system-specific setting
++dnl which is still not guaranteed to provide all of the entrypoints that
++dnl _XOPEN_SOURCE would yield.
++if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then
++ AC_MSG_CHECKING(if _XOPEN_SOURCE really is set)
++ AC_TRY_COMPILE([#include <stdlib.h>],[
++#ifndef _XOPEN_SOURCE
++make an error
++#endif],
++ [cf_XOPEN_SOURCE_set=yes],
++ [cf_XOPEN_SOURCE_set=no])
++ AC_MSG_RESULT($cf_XOPEN_SOURCE_set)
++ if test $cf_XOPEN_SOURCE_set = yes
++ then
++ AC_TRY_COMPILE([#include <stdlib.h>],[
++#if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE
++make an error
++#endif],
++ [cf_XOPEN_SOURCE_set_ok=yes],
++ [cf_XOPEN_SOURCE_set_ok=no])
++ if test $cf_XOPEN_SOURCE_set_ok = no
++ then
++ AC_MSG_WARN(_XOPEN_SOURCE is lower than requested)
++ fi
++ else
++ CF_TRY_XOPEN_SOURCE
++ fi
++fi
+ ])
+Index: announce.html.in
+Prereq: 1.85
+--- ncurses-5.9/announce.html.in 2011-04-04 00:05:34.000000000 +0000
++++ ncurses-5.9-20130504/announce.html.in 2011-09-10 18:11:12.000000000 +0000
+@@ -1,6 +1,6 @@
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+ <!--
+- $Id: announce.html.in,v 1.85 2011/04/04 00:05:34 tom Exp $
++ $Id: announce.html.in,v 1.86 2011/09/10 18:11:12 tom Exp $
+ ****************************************************************************
+ * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * *
+@@ -77,30 +77,38 @@
+ compatible from ncurses 5.0 through 5.8; very few applications
+ will require recompilation, depending on the platform. These are
+ the highlights from the change-log since ncurses 5.8 release.
+- <p>
+- This is a bug-fix release, correcting a small number of urgent problems
+- in the ncurses library from the 5.8 release.
+- <p>
+- It also improves the Ada95 binding:
++
++ <p>This is a bug-fix release, correcting a small number of urgent
++ problems in the ncurses library from the 5.8 release.</p>
++
++ <p>It also improves the Ada95 binding:</p>
++
+ <ul>
+- <li>fixes a longstanding portability problem with its use of the
+- <a href="http://invisible-island.net/ncurses/man/form_fieldtype.3x">set_field_type</a>
+- function. Because that function uses variable-length argument lists,
+- its interface with gnat does not work with certain platforms.
+- <li>improves configurability and portability, particularly when built
+- separately from the main ncurses tree. The 5.8 release introduced
+- scripts which can be used to construct separate tarballs for the
+- Ada95 and ncurses examples.
+- <p>Those were a proof of concept. For the 5.9 release, those
+- scripts are augmented with rpm- and dpkg-scripts used in test builds
+- against a variety of gnat- and system ncurses versions as old as
+- gnat 3.15 and ncurses 5.4 (see snapshots and systems tested
+- <a href="http://invisible-island.net/ncurses/ncurses-Ada95.html">here</a>.
+- <li>additional improvements were made for portability of the
+- ncurses examples, adding rpm- and dpkg-scripts for test-builds.
+- See
+- <a href="http://invisible-island.net/ncurses/ncurses-examples.html">this page</a>
+- for snapshots and other information.
++ <li>fixes a longstanding portability problem with its use of
++ the <a href=
++ "http://invisible-island.net/ncurses/man/form_fieldtype.3x">set_field_type</a>
++ function. Because that function uses variable-length argument
++ lists, its interface with gnat does not work with certain
++ platforms.</li>
++
++ <li>improves configurability and portability, particularly when
++ built separately from the main ncurses tree. The 5.8 release
++ introduced scripts which can be used to construct separate
++ tarballs for the Ada95 and ncurses examples.
++
++ <p>Those were a proof of concept. For the 5.9 release, those
++ scripts are augmented with rpm- and dpkg-scripts used in test
++ builds against a variety of gnat- and system ncurses versions
++ as old as gnat 3.15 and ncurses 5.4 (see snapshots and
++ systems tested <a href=
++ "http://invisible-island.net/ncurses/ncurses-Ada95.html">here</a>.</p>
++ </li>
++
++ <li>additional improvements were made for portability of the
++ ncurses examples, adding rpm- and dpkg-scripts for test-builds.
++ See <a href=
++ "http://invisible-island.net/ncurses/ncurses-examples.html">this
++ page</a> for snapshots and other information.</li>
+ </ul>
+
+ <h1>Features of Ncurses</h1>The ncurses package is fully
+@@ -364,6 +372,13 @@
+ are made available at <a href=
+ "ftp://invisible-island.net/ncurses/">ftp://invisible-island.net/ncurses/</a>&nbsp;.</p>
+
++ <p>There is an archive of the mailing list here:</p>
++
++ <p><a href=
++ "http://lists.gnu.org/archive/html/bug-ncurses">http://lists.gnu.org/archive/html/bug-ncurses</a>
++ (also <a href=
++ "https://lists.gnu.org/archive/html/bug-ncurses">https</a>)</p>
++
+ <h2>Future Plans</h2>
+
+ <ul>
+Index: c++/Makefile.in
+Prereq: 1.93
+--- ncurses-5.9/c++/Makefile.in 2010-11-27 21:45:27.000000000 +0000
++++ ncurses-5.9-20130504/c++/Makefile.in 2013-04-13 18:24:43.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: Makefile.in,v 1.93 2010/11/27 21:45:27 tom Exp $
++# $Id: Makefile.in,v 1.104 2013/04/13 18:24:43 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -65,6 +65,9 @@
+
+ AR = @AR@
+ ARFLAGS = @ARFLAGS@
++AWK = @AWK@
++LD = @LD@
++LN_S = @LN_S@
+
+ CXX_AR = @CXX_AR@
+ CXX_ARFLAGS = @CXX_ARFLAGS@
+@@ -109,35 +112,41 @@
+ LIBNAME_NORMAL = @LIB_PREFIX@$(LIBROOT)@LIB_SUFFIX@.a
+ LIBNAME = @LIB_PREFIX@$(LIBROOT)@CXX_LIB_SUFFIX@
+
+-MY_LIBRARY = ../lib/$(LIBNAME)
++LIBRARIES = @Libs_To_Make@
+
+ LINK_FLAGS = @EXTRA_LDFLAGS@ -L../lib -l$(LIBROOT)@LIB_SUFFIX@
++RPATH_LIST = @RPATH_LIST@
++MK_SHARED_LIB = @MK_SHARED_LIB@
+
+-LINK_LIBTOOL = @EXTRA_LDFLAGS@ -L../lib $(MY_LIBRARY)
++LINK_LIBTOOL = @EXTRA_LDFLAGS@ -L../lib $(LIBRARIES)
+ LINK_NORMAL = $(LINK_FLAGS)
+ LINK_DEBUG = $(LINK_FLAGS)
+ LINK_PROFILE = $(LINK_FLAGS)
+ LINK_SHARED = $(LINK_FLAGS)
+
++# flags for test-programs
+ TEST_LIBS = @TEST_LIBS@
+ TEST_ARGS = @LDFLAGS_STATIC@ @TEST_ARGS@ @LDFLAGS_SHARED@
+-
+-LDFLAGS = $(TEST_ARGS) @LDFLAGS@ \
++TEST_LDFLAGS = $(TEST_ARGS) @LDFLAGS@ \
+ @LD_MODEL@ $(TEST_LIBS) @LIBS@ @LOCAL_LDFLAGS@ $(CXXLIBS)
+
+-LDFLAGS_LIBTOOL = $(LDFLAGS) $(CFLAGS_LIBTOOL)
+-LDFLAGS_NORMAL = $(LDFLAGS) $(CFLAGS_NORMAL)
+-LDFLAGS_DEBUG = $(LDFLAGS) $(CFLAGS_DEBUG)
+-LDFLAGS_PROFILE = $(LDFLAGS) $(CFLAGS_PROFILE)
+-LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@
++LDFLAGS_LIBTOOL = $(TEST_LDFLAGS) $(CFLAGS_LIBTOOL)
++LDFLAGS_NORMAL = $(TEST_LDFLAGS) $(CFLAGS_NORMAL)
++LDFLAGS_DEBUG = $(TEST_LDFLAGS) $(CFLAGS_DEBUG)
++LDFLAGS_PROFILE = $(TEST_LDFLAGS) $(CFLAGS_PROFILE)
++LDFLAGS_SHARED = $(TEST_LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@
+
+ LDFLAGS_DEFAULT = $(LINK_@DFT_UPR_MODEL@) $(LDFLAGS_@DFT_UPR_MODEL@)
+
++# flags for library built by this makefile
++LDFLAGS = $(TEST_ARGS) @LDFLAGS@ \
++ @LD_MODEL@ $(TEST_LIBS) @LIBS@ $(CXXLIBS)
++
+ AUTO_SRC = \
+ etip.h
+
+ all \
+-libs :: $(AUTO_SRC) $(MY_LIBRARY)
++libs :: $(AUTO_SRC) $(LIBRARIES)
+
+ @MAKE_TESTS@all :: demo$x
+
+@@ -148,61 +157,16 @@
+ tags:
+ $(CTAGS) *.[h] *.cc
+
+-# Build a conventional library for installing, since a shared library would
+-# pull in all of the ncurses libraries (panel, menu, form, ncurses) as direct
+-# dependencies.
+-LIB_OBJS = \
+- $(MODEL)/cursesf$o \
+- $(MODEL)/cursesm$o \
+- $(MODEL)/cursesw$o \
+- $(MODEL)/cursespad$o \
+- $(MODEL)/cursesp$o \
+- $(MODEL)/cursslk$o \
+- $(MODEL)/cursesapp$o \
+- $(MODEL)/cursesmain$o
+-
+-../lib/$(LIBNAME_NORMAL) : $(LIB_OBJS)
+- $(CXX_AR) $(CXX_ARFLAGS) $@ $?
+- $(RANLIB) $@
+-
+-../lib/$(LIBNAME_LIBTOOL) : $(LIB_OBJS)
+- cd ../lib && $(LIBTOOL_LINK) $(CXX) $(CXXFLAGS) \
+- -o $(LIBNAME) $(LIB_OBJS:$o=.lo) \
+- -rpath $(INSTALL_PREFIX)$(libdir) \
+- $(LIBTOOL_VERSION) $(NCURSES_MAJOR):$(NCURSES_MINOR) $(LT_UNDEF) $(SHLIB_LIST)
+-
+-OBJS_DEMO = $(MODEL)/demo$o
+-
+-$(MODEL)/demo$o : $(srcdir)/demo.cc \
+- $(cursesf_h) $(cursesm_h) $(cursesapp_h)
+-
+-demo$x: $(OBJS_DEMO) \
+- $(MY_LIBRARY) \
+- @TEST_DEPS@
+- @ECHO_LINK@ $(LINK) -o $@ $(OBJS_DEMO) $(LDFLAGS_DEFAULT)
+-
+-etip.h: $(srcdir)/etip.h.in $(srcdir)/edit_cfg.sh
+- cp $(srcdir)/etip.h.in $@
+- sh $(srcdir)/edit_cfg.sh ../include/ncurses_cfg.h $@
+-
+ $(DESTDIR)$(libdir) :
+ mkdir -p $@
+
+-install \
+-install.libs:: $(MY_LIBRARY) $(DESTDIR)$(libdir)
+- $(LIBTOOL_INSTALL) $(INSTALL_LIB) $(MY_LIBRARY) $(DESTDIR)$(libdir)/$(LIBNAME)
+-
+-uninstall \
+-uninstall.libs::
+- -$(LIBTOOL_UNINSTALL) rm -f $(DESTDIR)$(libdir)/$(LIBNAME)
+-
+ mostlyclean ::
+ -rm -f core tags TAGS *~ *.bak *.i *.ii *.ln *.atac trace
+
+ clean :: mostlyclean
+ -sh -c "if test -n '$x' ; then $(MAKE) clean x=''; fi"
+ -rm -rf $(MODEL)/SunWS_cache
+- -$(LIBTOOL_CLEAN) rm -f demo$x $(AUTO_SRC) $(MY_LIBRARY) $(LIB_OBJS) $(OBJS_DEMO)
++ -$(LIBTOOL_CLEAN) rm -f demo$x $(AUTO_SRC) $(LIBRARIES) $(OBJS_DEMO)
+ -rm -rf .libs
+
+ distclean :: clean
+@@ -212,8 +176,16 @@
+
+ ###############################################################################
+
++internal_h = $(srcdir)/internal.h \
++ $(INCDIR)/ncurses_cfg.h \
++ $(INCDIR)/nc_mingw.h \
++ $(INCDIR)/nc_string.h
++
++etip_h = etip.h \
++ $(INCDIR)/ncurses_dll.h
++
+ cursesw_h = $(srcdir)/cursesw.h \
+- etip.h \
++ $(etip_h) \
+ $(INCDIR)/curses.h
+
+ cursesp_h = $(srcdir)/cursesp.h \
+@@ -244,5 +216,26 @@
+ cd ../panel && $(MAKE) $@
+
+ ###############################################################################
++
++OBJS_DEMO = $(MODEL)/demo$o
++
++$(MODEL)/demo$o : $(srcdir)/demo.cc \
++ $(internal_h) \
++ $(cursesf_h) \
++ $(cursesm_h) \
++ $(cursesapp_h)
++ @echo 'compiling demo (obj_s)'
++ @$(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_DEFAULT) -c $(srcdir)/demo.cc -o $@
++
++demo$x: $(OBJS_DEMO) \
++ $(LIBRARIES) \
++ @TEST_DEPS@
++ @ECHO_LD@ $(LINK) -o $@ $(OBJS_DEMO) $(LDFLAGS_DEFAULT)
++
++etip.h: $(srcdir)/etip.h.in $(srcdir)/edit_cfg.sh
++ cp $(srcdir)/etip.h.in $@
++ sh $(srcdir)/edit_cfg.sh ../include/ncurses_cfg.h $@
++
++###############################################################################
+ # The remainder of this file is automatically generated during configuration
+ ###############################################################################
+Index: c++/cursesapp.h
+Prereq: 1.11
+--- ncurses-5.9/c++/cursesapp.h 2005-05-28 21:57:44.000000000 +0000
++++ ncurses-5.9-20130504/c++/cursesapp.h 2011-09-17 22:12:10.000000000 +0000
+@@ -1,6 +1,6 @@
+ // * This makes emacs happy -*-Mode: C++;-*-
+ /****************************************************************************
+- * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2005,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -31,7 +31,7 @@
+ * Author: Juergen Pfeifer, 1997 *
+ ****************************************************************************/
+
+-// $Id: cursesapp.h,v 1.11 2005/05/28 21:57:44 tom Exp $
++// $Id: cursesapp.h,v 1.12 2011/09/17 22:12:10 tom Exp $
+
+ #ifndef NCURSES_CURSESAPP_H_incl
+ #define NCURSES_CURSESAPP_H_incl
+@@ -80,6 +80,7 @@
+ // This method is called to initialize the SLKs. Default is nothing.
+ // You may rewrite this in your derived class
+ virtual void init_labels(Soft_Label_Key_Set& S) const {
++ (void) S;
+ }
+
+ // Your derived class must implement this method. The return value must
+@@ -118,6 +119,8 @@
+ // Process the commandline arguments. The default implementation simply
+ // ignores them. Your derived class may rewrite this.
+ virtual void handleArgs(int argc, char* argv[]) {
++ (void) argc;
++ (void) argv;
+ }
+
+ // Does this application use colors?
+@@ -138,37 +141,37 @@
+
+ // Attributes to use for menu and forms foregrounds
+ virtual chtype foregrounds() const {
+- return b_Colors ? COLOR_PAIR(1) : A_BOLD;
++ return b_Colors ? static_cast<chtype>(COLOR_PAIR(1)) : A_BOLD;
+ }
+
+ // Attributes to use for menu and forms backgrounds
+ virtual chtype backgrounds() const {
+- return b_Colors ? COLOR_PAIR(2) : A_NORMAL;
++ return b_Colors ? static_cast<chtype>(COLOR_PAIR(2)) : A_NORMAL;
+ }
+
+ // Attributes to use for inactive (menu) elements
+ virtual chtype inactives() const {
+- return b_Colors ? (COLOR_PAIR(3)|A_DIM) : A_DIM;
++ return b_Colors ? static_cast<chtype>(COLOR_PAIR(3)|A_DIM) : A_DIM;
+ }
+
+ // Attributes to use for (form) labels and SLKs
+ virtual chtype labels() const {
+- return b_Colors ? COLOR_PAIR(4) : A_NORMAL;
++ return b_Colors ? static_cast<chtype>(COLOR_PAIR(4)) : A_NORMAL;
+ }
+
+ // Attributes to use for form backgrounds
+ virtual chtype dialog_backgrounds() const {
+- return b_Colors ? COLOR_PAIR(4) : A_NORMAL;
++ return b_Colors ? static_cast<chtype>(COLOR_PAIR(4)) : A_NORMAL;
+ }
+
+ // Attributes to use as default for (form) window backgrounds
+ virtual chtype window_backgrounds() const {
+- return b_Colors ? COLOR_PAIR(5) : A_NORMAL;
++ return b_Colors ? static_cast<chtype>(COLOR_PAIR(5)) : A_NORMAL;
+ }
+
+ // Attributes to use for the title window
+ virtual chtype screen_titles() const {
+- return b_Colors ? COLOR_PAIR(6) : A_BOLD;
++ return b_Colors ? static_cast<chtype>(COLOR_PAIR(6)) : A_BOLD;
+ }
+
+ };
+Index: c++/cursesf.cc
+Prereq: 1.21
+--- ncurses-5.9/c++/cursesf.cc 2005-08-13 18:09:06.000000000 +0000
++++ ncurses-5.9-20130504/c++/cursesf.cc 2011-09-17 22:12:10.000000000 +0000
+@@ -1,6 +1,6 @@
+ // * this is for making emacs happy: -*-Mode: C++;-*-
+ /****************************************************************************
+- * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2005,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -35,7 +35,7 @@
+ #include "cursesf.h"
+ #include "cursesapp.h"
+
+-MODULE_ID("$Id: cursesf.cc,v 1.21 2005/08/13 18:09:06 tom Exp $")
++MODULE_ID("$Id: cursesf.cc,v 1.22 2011/09/17 22:12:10 tom Exp $")
+
+ NCursesFormField::~NCursesFormField ()
+ {
+@@ -234,11 +234,13 @@
+ void
+ NCursesForm::On_Field_Init(NCursesFormField& field)
+ {
++ (void) field;
+ }
+
+ void
+ NCursesForm::On_Field_Termination(NCursesFormField& field)
+ {
++ (void) field;
+ }
+
+ // call the form driver and do basic error checking.
+@@ -260,16 +262,19 @@
+
+ void NCursesForm::On_Request_Denied(int c) const
+ {
++ (void) c;
+ ::beep();
+ }
+
+ void NCursesForm::On_Invalid_Field(int c) const
+ {
++ (void) c;
+ ::beep();
+ }
+
+ void NCursesForm::On_Unknown_Command(int c) const
+ {
++ (void) c;
+ ::beep();
+ }
+
+@@ -373,6 +378,7 @@
+ //
+ bool _nc_xx_fld_fcheck(FIELD *f, const void *u)
+ {
++ (void) f;
+ NCursesFormField* F = reinterpret_cast<NCursesFormField*>(const_cast<void *>(u));
+ assert(F != 0);
+ UserDefinedFieldType* udf = reinterpret_cast<UserDefinedFieldType*>(F->fieldtype());
+@@ -405,6 +411,7 @@
+
+ bool _nc_xx_next_choice(FIELD *f, const void *u)
+ {
++ (void) f;
+ NCursesFormField* F = reinterpret_cast<NCursesFormField*>(const_cast<void *>(u));
+ assert(F != 0);
+ UserDefinedFieldType_With_Choice* udf =
+@@ -415,6 +422,7 @@
+
+ bool _nc_xx_prev_choice(FIELD *f, const void *u)
+ {
++ (void) f;
+ NCursesFormField* F = reinterpret_cast<NCursesFormField*>(const_cast<void *>(u));
+ assert(F != 0);
+ UserDefinedFieldType_With_Choice* udf =
+Index: c++/cursesf.h
+Prereq: 1.28
+--- ncurses-5.9/c++/cursesf.h 2005-08-13 18:08:24.000000000 +0000
++++ ncurses-5.9-20130504/c++/cursesf.h 2012-12-29 21:49:58.000000000 +0000
+@@ -1,6 +1,6 @@
+ // * This makes emacs happy -*-Mode: C++;-*-
+ /****************************************************************************
+- * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -31,7 +31,7 @@
+ * Author: Juergen Pfeifer, 1997 *
+ ****************************************************************************/
+
+-// $Id: cursesf.h,v 1.28 2005/08/13 18:08:24 tom Exp $
++// $Id: cursesf.h,v 1.31 2012/12/29 21:49:58 tom Exp $
+
+ #ifndef NCURSES_CURSESF_H_incl
+ #define NCURSES_CURSESF_H_incl 1
+@@ -61,7 +61,7 @@
+ protected:
+ FIELDTYPE* fieldtype;
+
+- inline void OnError(int err) const THROWS(NCursesFormException) {
++ inline void OnError(int err) const THROW2(NCursesException const, NCursesFormException) {
+ if (err!=E_OK)
+ THROW(new NCursesFormException (err));
+ }
+@@ -109,7 +109,7 @@
+ NCursesFieldType* ftype; // Associated field type
+
+ // Error handler
+- inline void OnError (int err) const THROWS(NCursesFormException) {
++ inline void OnError (int err) const THROW2(NCursesException const, NCursesFormException) {
+ if (err != E_OK)
+ THROW(new NCursesFormException (err));
+ }
+@@ -391,7 +391,7 @@
+ bool with_frame,
+ bool autoDeleteFields);
+
+- inline void OnError (int err) const THROWS(NCursesFormException) {
++ inline void OnError (int err) const THROW2(NCursesException const, NCursesFormException) {
+ if (err != E_OK)
+ THROW(new NCursesFormException (err));
+ }
+@@ -677,7 +677,7 @@
+ }
+
+ public:
+- NCursesUserForm (NCursesFormField Fields[],
++ NCursesUserForm (NCursesFormField* Fields[],
+ const T* p_UserData = STATIC_CAST(T*)(0),
+ bool with_frame=FALSE,
+ bool autoDelete_Fields=FALSE)
+@@ -686,7 +686,7 @@
+ set_user (const_cast<void *>(p_UserData));
+ };
+
+- NCursesUserForm (NCursesFormField Fields[],
++ NCursesUserForm (NCursesFormField* Fields[],
+ int nlines,
+ int ncols,
+ int begin_y = 0,
+Index: c++/cursesm.cc
+Prereq: 1.22
+--- ncurses-5.9/c++/cursesm.cc 2005-04-02 20:39:05.000000000 +0000
++++ ncurses-5.9-20130504/c++/cursesm.cc 2011-09-17 22:11:32.000000000 +0000
+@@ -1,6 +1,6 @@
+ // * this is for making emacs happy: -*-Mode: C++;-*-
+ /****************************************************************************
+- * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2005,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -35,7 +35,7 @@
+ #include "cursesm.h"
+ #include "cursesapp.h"
+
+-MODULE_ID("$Id: cursesm.cc,v 1.22 2005/04/02 20:39:05 tom Exp $")
++MODULE_ID("$Id: cursesm.cc,v 1.23 2011/09/17 22:11:32 tom Exp $")
+
+ NCursesMenuItem::~NCursesMenuItem()
+ {
+@@ -375,33 +375,39 @@
+ void
+ NCursesMenu::On_Item_Init(NCursesMenuItem& item)
+ {
++ (void) item;
+ }
+
+ void
+ NCursesMenu::On_Item_Termination(NCursesMenuItem& item)
+ {
++ (void) item;
+ }
+
+ void
+ NCursesMenu::On_Request_Denied(int c) const
+ {
++ (void) c;
+ ::beep();
+ }
+
+ void
+ NCursesMenu::On_Not_Selectable(int c) const
+ {
++ (void) c;
+ ::beep();
+ }
+
+ void
+ NCursesMenu::On_No_Match(int c) const
+ {
++ (void) c;
+ ::beep();
+ }
+
+ void
+ NCursesMenu::On_Unknown_Command(int c) const
+ {
++ (void) c;
+ ::beep();
+ }
+Index: c++/cursesm.h
+Prereq: 1.25
+--- ncurses-5.9/c++/cursesm.h 2005-08-13 18:10:36.000000000 +0000
++++ ncurses-5.9-20130504/c++/cursesm.h 2012-12-29 21:48:33.000000000 +0000
+@@ -1,6 +1,6 @@
+ // * This makes emacs happy -*-Mode: C++;-*-
+ /****************************************************************************
+- * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -31,7 +31,7 @@
+ * Author: Juergen Pfeifer, 1997 *
+ ****************************************************************************/
+
+-// $Id: cursesm.h,v 1.25 2005/08/13 18:10:36 tom Exp $
++// $Id: cursesm.h,v 1.29 2012/12/29 21:48:33 tom Exp $
+
+ #ifndef NCURSES_CURSESM_H_incl
+ #define NCURSES_CURSESM_H_incl 1
+@@ -53,7 +53,7 @@
+ protected:
+ ITEM *item;
+
+- inline void OnError (int err) const THROWS(NCursesMenuException) {
++ inline void OnError (int err) const THROW2(NCursesException const, NCursesMenuException) {
+ if (err != E_OK)
+ THROW(new NCursesMenuException (err));
+ }
+@@ -82,6 +82,7 @@
+ NCursesMenuItem(const NCursesMenuItem& rhs)
+ : item(0)
+ {
++ (void) rhs;
+ }
+
+ virtual ~NCursesMenuItem ();
+@@ -252,7 +253,7 @@
+ bool with_frame,
+ bool autoDeleteItems);
+
+- inline void OnError (int err) const THROWS(NCursesMenuException) {
++ inline void OnError (int err) const THROW2(NCursesException const, NCursesMenuException) {
+ if (err != E_OK)
+ THROW(new NCursesMenuException (this, err));
+ }
+@@ -635,7 +636,7 @@
+ }
+
+ public:
+- NCursesUserMenu (NCursesMenuItem Items[],
++ NCursesUserMenu (NCursesMenuItem* Items[],
+ const T* p_UserData = STATIC_CAST(T*)(0),
+ bool with_frame=FALSE,
+ bool autoDelete_Items=FALSE)
+@@ -644,7 +645,7 @@
+ set_user (const_cast<void *>(p_UserData));
+ };
+
+- NCursesUserMenu (NCursesMenuItem Items[],
++ NCursesUserMenu (NCursesMenuItem* Items[],
+ int nlines,
+ int ncols,
+ int begin_y = 0,
+Index: c++/cursesp.h
+Prereq: 1.29
+--- ncurses-5.9/c++/cursesp.h 2008-08-16 17:20:23.000000000 +0000
++++ ncurses-5.9-20130504/c++/cursesp.h 2012-12-29 21:50:55.000000000 +0000
+@@ -1,6 +1,6 @@
+ // * This makes emacs happy -*-Mode: C++;-*-
+ /****************************************************************************
+- * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2008,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -34,7 +34,7 @@
+ #ifndef NCURSES_CURSESP_H_incl
+ #define NCURSES_CURSESP_H_incl 1
+
+-// $Id: cursesp.h,v 1.29 2008/08/16 17:20:23 tom Exp $
++// $Id: cursesp.h,v 1.30 2012/12/29 21:50:55 tom Exp $
+
+ #include <cursesw.h>
+
+@@ -86,7 +86,7 @@
+ return result;
+ }
+
+- void OnError (int err) const THROWS(NCursesPanelException)
++ void OnError (int err) const THROW2(NCursesException const, NCursesPanelException)
+ {
+ if (err==ERR)
+ THROW(new NCursesPanelException (this, err));
+Index: c++/cursespad.cc
+Prereq: 1.13
+--- ncurses-5.9/c++/cursespad.cc 2008-08-04 18:59:22.000000000 +0000
++++ ncurses-5.9-20130504/c++/cursespad.cc 2013-03-30 19:45:36.000000000 +0000
+@@ -1,6 +1,6 @@
+ // * this is for making emacs happy: -*-Mode: C++;-*-
+ /****************************************************************************
+- * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -33,10 +33,9 @@
+
+ #include "internal.h"
+
+-#include <etip.h>
+ #include <cursesw.h>
+
+-MODULE_ID("$Id: cursespad.cc,v 1.13 2008/08/04 18:59:22 tom Exp $")
++MODULE_ID("$Id: cursespad.cc,v 1.17 2013/03/30 19:45:36 tom Exp $")
+
+ NCursesPad::NCursesPad(int nlines, int ncols)
+ : NCursesWindow(),
+@@ -220,6 +219,7 @@
+
+ void NCursesFramedPad::OnOperation(int pad_req)
+ {
++ (void) pad_req;
+ NCursesWindow* W = Win();
+ NCursesWindow* W2 = getWindow();
+
+@@ -228,25 +228,45 @@
+ int Height = W->height();
+ int i, row, col, h_len, v_len;
+
+- h_len = (Width*Width + width() - 1)/width();
+- if (h_len==0)
++ int my_width = width();
++
++ if (my_width != 0) {
++ h_len = (Width*Width + my_width - 1) / my_width;
++ if (h_len==0)
++ h_len = 1;
++ if (h_len > Width)
++ h_len = Width;
++ } else {
+ h_len = 1;
+- if (h_len > Width)
+- h_len = Width;
++ }
+
+- v_len = (Height*Height + height() - 1)/height();
+- if (v_len==0)
++ int my_height = height();
++
++ if (my_height != 0) {
++ v_len = (Height*Height + my_height - 1) / my_height;
++ if (v_len==0)
++ v_len = 1;
++ if (v_len > Height)
++ v_len = Height;
++ } else {
+ v_len = 1;
+- if (v_len > Height)
+- v_len = Height;
++ }
+
+- col = (min_col * Width + width() - 1) / width();
+- if (col + h_len > Width)
+- col = Width - h_len;
+-
+- row = (min_row * Height + height() - 1) / height();
+- if (row + v_len > Height)
+- row = Height - v_len;
++ if (my_width != 0) {
++ col = (min_col * Width + my_width - 1) / my_width;
++ if (col + h_len > Width)
++ col = Width - h_len;
++ } else {
++ col = 0;
++ }
++
++ if (my_height != 0) {
++ row = (min_row * Height + my_height - 1) / my_height;
++ if (row + v_len > Height)
++ row = Height - v_len;
++ } else {
++ row = 0;
++ }
+
+ W2->vline(1,Width+1,Height);
+ W2->attron(A_REVERSE);
+Index: c++/cursesw.cc
+Prereq: 1.51
+--- ncurses-5.9/c++/cursesw.cc 2009-03-28 21:31:37.000000000 +0000
++++ ncurses-5.9-20130504/c++/cursesw.cc 2012-12-08 22:06:41.000000000 +0000
+@@ -1,6 +1,6 @@
+ // * this is for making emacs happy: -*-Mode: C++;-*-
+ /****************************************************************************
+- * Copyright (c) 2007-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 2007-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -42,7 +42,7 @@
+ #include "internal.h"
+ #include "cursesw.h"
+
+-MODULE_ID("$Id: cursesw.cc,v 1.51 2009/03/28 21:31:37 tom Exp $")
++MODULE_ID("$Id: cursesw.cc,v 1.53 2012/12/08 22:06:41 tom Exp $")
+
+ #define COLORS_NEED_INITIALIZATION -1
+ #define COLORS_NOT_INITIALIZED 0
+@@ -192,7 +192,6 @@
+ constructing();
+
+ w = static_cast<WINDOW *>(0);
+- set_keyboard();
+ }
+
+ NCursesWindow::NCursesWindow(int nlines, int ncols, int begin_y, int begin_x)
+@@ -285,12 +284,14 @@
+ NCursesWindow::NCursesWindow(WINDOW *win, int ncols)
+ : w(0), alloced(FALSE), par(0), subwins(0), sib(0)
+ {
++ (void) ncols;
+ initialize();
+ w = win;
+ }
+
+ int _nc_xx_ripoff_init(WINDOW *w, int ncols)
+ {
++ (void) ncols;
+ int res = ERR;
+
+ RIPOFFINIT init = *prip++;
+Index: c++/cursesw.h
+Prereq: 1.48
+--- ncurses-5.9/c++/cursesw.h 2008-01-19 21:09:10.000000000 +0000
++++ ncurses-5.9-20130504/c++/cursesw.h 2011-09-17 22:12:10.000000000 +0000
+@@ -1,7 +1,7 @@
+ // * This makes emacs happy -*-Mode: C++;-*-
+ // vile:cppmode
+ /****************************************************************************
+- * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2008,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -31,7 +31,7 @@
+ #ifndef NCURSES_CURSESW_H_incl
+ #define NCURSES_CURSESW_H_incl 1
+
+-// $Id: cursesw.h,v 1.48 2008/01/19 21:09:10 tom Exp $
++// $Id: cursesw.h,v 1.49 2011/09/17 22:12:10 tom Exp $
+
+ #include <etip.h>
+
+@@ -1438,16 +1438,19 @@
+ // The driver translates the keystroke c into an Pad_Request
+
+ virtual void OnUnknownOperation(int pad_req) {
++ (void) pad_req;
+ ::beep();
+ }
+ // This is called if the driver returns an unknown op-code
+
+ virtual void OnNavigationError(int pad_req) {
++ (void) pad_req;
+ ::beep();
+ }
+ // This is called if a navigation request couldn't be satisfied
+
+ virtual void OnOperation(int pad_req) {
++ (void) pad_req;
+ };
+ // OnOperation is called if a Pad_Operation was executed and just before
+ // the refresh() operation is done.
+@@ -1542,11 +1545,15 @@
+ }
+
+ void setWindow(NCursesWindow& view, int v_grid = 1, int h_grid = 1) {
++ (void) view;
++ (void) v_grid;
++ (void) h_grid;
+ err_handler("Operation not allowed");
+ }
+ // Disable this call; the viewport is already defined
+
+ void setSubWindow(NCursesWindow& sub) {
++ (void) sub;
+ err_handler("Operation not allowed");
+ }
+ // Disable this call; the viewport subwindow is already defined
+Index: c++/cursslk.cc
+Prereq: 1.15
+--- ncurses-5.9/c++/cursslk.cc 2005-08-06 22:12:36.000000000 +0000
++++ ncurses-5.9-20130504/c++/cursslk.cc 2012-02-23 10:41:56.000000000 +0000
+@@ -1,6 +1,6 @@
+ // * this is for making emacs happy: -*-Mode: C++;-*-
+ /****************************************************************************
+- * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2005,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -35,14 +35,15 @@
+ #include "cursslk.h"
+ #include "cursesapp.h"
+
+-MODULE_ID("$Id: cursslk.cc,v 1.15 2005/08/06 22:12:36 tom Exp $")
++MODULE_ID("$Id: cursslk.cc,v 1.16 2012/02/23 10:41:56 tom Exp $")
+
+ Soft_Label_Key_Set::Soft_Label_Key&
+ Soft_Label_Key_Set::Soft_Label_Key::operator=(char *text)
+ {
+ delete[] label;
+- label = new char[1 + ::strlen(text)];
+- (::strcpy)(label,text);
++ size_t need = 1 + ::strlen(text);
++ label = new char[need];
++ ::_nc_STRCPY(label,text,need);
+ return *this;
+ }
+
+Index: c++/demo.cc
+Prereq: 1.39
+--- ncurses-5.9/c++/demo.cc 2008-12-07 02:07:34.000000000 +0000
++++ ncurses-5.9-20130504/c++/demo.cc 2012-02-23 10:41:56.000000000 +0000
+@@ -1,6 +1,6 @@
+ // * This makes emacs happy -*-Mode: C++;-*-
+ /****************************************************************************
+- * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -35,7 +35,7 @@
+ * Demo code for NCursesMenu and NCursesForm written by
+ * Juergen Pfeifer
+ *
+- * $Id: demo.cc,v 1.39 2008/12/07 02:07:34 juergen Exp $
++ * $Id: demo.cc,v 1.41 2012/02/23 10:41:56 tom Exp $
+ */
+
+ #include "internal.h"
+@@ -220,6 +220,7 @@
+ int chk;
+ protected:
+ bool field_check(NCursesFormField& f) {
++ (void) f;
+ return TRUE;
+ }
+ bool char_check(int c) {
+@@ -319,7 +320,7 @@
+ for(int i=1; i <= S->labels(); i++) {
+ char buf[8];
+ assert(i < 100);
+- ::sprintf(buf, "Frm%02d", i);
++ ::_nc_SPRINTF(buf, _nc_SLIMIT(sizeof(buf)) "Frm%02d", i);
+ (*S)[i] = buf; // Text
+ (*S)[i] = Soft_Label_Key_Set::Soft_Label_Key::Left; // Justification
+ }
+@@ -539,7 +540,7 @@
+ for(int i=1; i <= S.labels(); i++) {
+ char buf[8];
+ assert(i < 100);
+- ::sprintf(buf, "Key%02d", i);
++ ::_nc_SPRINTF(buf, _nc_SLIMIT(sizeof(buf)) "Key%02d", i);
+ S[i] = buf; // Text
+ S[i] = Soft_Label_Key_Set::Soft_Label_Key::Left; // Justification
+ }
+Index: c++/etip.h.in
+Prereq: 1.37
+--- ncurses-5.9/c++/etip.h.in 2008-08-30 19:27:32.000000000 +0000
++++ ncurses-5.9-20130504/c++/etip.h.in 2012-12-29 21:50:44.000000000 +0000
+@@ -1,6 +1,6 @@
+ // * This makes emacs happy -*-Mode: C++;-*-
+ /****************************************************************************
+- * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -31,7 +31,7 @@
+ * Author: Juergen Pfeifer, 1997 *
+ ****************************************************************************/
+
+-// $Id: etip.h.in,v 1.37 2008/08/30 19:27:32 tom Exp $
++// $Id: etip.h.in,v 1.39 2012/12/29 21:50:44 tom Exp $
+
+ #ifndef NCURSES_ETIP_H_incl
+ #define NCURSES_ETIP_H_incl 1
+@@ -184,7 +184,7 @@
+
+ NCursesPanelException (const char *msg, int err) :
+ NCursesException (msg, err),
+- p (NULL)
++ p (0)
+ {};
+
+ NCursesPanelException (const NCursesPanel* panel,
+@@ -196,7 +196,7 @@
+
+ NCursesPanelException (int err) :
+ NCursesException ("panel library error", err),
+- p (NULL)
++ p (0)
+ {};
+
+ NCursesPanelException (const NCursesPanel* panel,
+@@ -235,7 +235,7 @@
+
+ NCursesMenuException (const char *msg, int err) :
+ NCursesException (msg, err),
+- m (NULL)
++ m (0)
+ {};
+
+ NCursesMenuException (const NCursesMenu* menu,
+@@ -247,7 +247,7 @@
+
+ NCursesMenuException (int err) :
+ NCursesException ("menu library error", err),
+- m (NULL)
++ m (0)
+ {};
+
+ NCursesMenuException (const NCursesMenu* menu,
+@@ -286,7 +286,7 @@
+
+ NCursesFormException (const char *msg, int err) :
+ NCursesException (msg, err),
+- f (NULL)
++ f (0)
+ {};
+
+ NCursesFormException (const NCursesForm* form,
+@@ -298,7 +298,7 @@
+
+ NCursesFormException (int err) :
+ NCursesException ("form library error", err),
+- f (NULL)
++ f (0)
+ {};
+
+ NCursesFormException (const NCursesForm* form,
+@@ -367,11 +367,13 @@
+ #define NCURSES_CPP_TRY /* nothing */
+ #define NCURSES_CPP_CATCH(e) if (false)
+ #define THROWS(s) /* nothing */
++#define THROW2(s,t) /* nothing */
+ #elif CPP_HAS_TRY_CATCH
+ throw *e;
+ #define NCURSES_CPP_TRY try
+ #define NCURSES_CPP_CATCH(e) catch(e)
+ #define THROWS(s) throw(s)
++#define THROW2(s,t) throw(s,t)
+ #endif
+ }
+
+Index: c++/internal.h
+Prereq: 1.17
+--- ncurses-5.9/c++/internal.h 2008-12-07 02:07:34.000000000 +0000
++++ ncurses-5.9-20130504/c++/internal.h 2012-02-23 10:41:56.000000000 +0000
+@@ -1,6 +1,6 @@
+ // * This makes emacs happy -*-Mode: C++;-*-
+ /****************************************************************************
+- * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2008,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -31,7 +31,7 @@
+ * Author: Juergen Pfeifer, 1997 *
+ ****************************************************************************/
+
+-// $Id: internal.h,v 1.17 2008/12/07 02:07:34 juergen Exp $
++// $Id: internal.h,v 1.18 2012/02/23 10:41:56 tom Exp $
+
+ #ifndef NCURSES_CPLUS_INTERNAL_H
+ #define NCURSES_CPLUS_INTERNAL_H 1
+@@ -62,4 +62,6 @@
+ #define NULL 0
+ #endif
+
++#include <nc_string.h>
++
+ #endif /* NCURSES_CPLUS_INTERNAL_H */
+Index: c++/modules
+Prereq: 1.7
+--- ncurses-5.9/c++/modules 2006-12-24 00:53:08.000000000 +0000
++++ ncurses-5.9-20130504/c++/modules 2013-03-30 19:41:11.000000000 +0000
+@@ -1,7 +1,7 @@
+ # Program modules
+-# $Id: modules,v 1.7 2006/12/24 00:53:08 tom Exp $
++# $Id: modules,v 1.11 2013/03/30 19:41:11 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998,2006 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2006,2013 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -32,14 +32,13 @@
+ #
+
+ @ base
+-cursesf c++ $(srcdir) $(cursesf_h) $(cursesapp_h)
+-cursesm c++ $(srcdir) $(cursesm_h) $(cursesapp_h)
+-cursesp c++ $(srcdir) $(cursesp_h)
+-cursesw c++ $(srcdir) $(cursesw_h)
+-cursespad c++ $(srcdir) $(cursesw_h)
+-cursslk c++ $(srcdir) $(cursslk_h) $(cursesapp_h)
+-cursesapp c++ $(srcdir) $(cursesapp_h)
+-cursesmain c++ $(srcdir) $(cursesapp_h)
+-demo c++ $(srcdir) $(cursesf_h) $(cursesm_h) $(cursesapp_h)
++cursesf c++ $(srcdir) $(internal_h) $(cursesf_h) $(cursesapp_h)
++cursesm c++ $(srcdir) $(internal_h) $(cursesm_h) $(cursesapp_h)
++cursesw c++ $(srcdir) $(internal_h) $(cursesw_h)
++cursespad c++ $(srcdir) $(internal_h) $(cursesw_h)
++cursesp c++ $(srcdir) $(internal_h) $(cursesp_h)
++cursslk c++ $(srcdir) $(internal_h) $(cursesapp_h)
++cursesapp c++ $(srcdir) $(internal_h) $(cursesapp_h)
++cursesmain c++ $(srcdir) $(internal_h) $(cursesapp_h) $(INCDIR)/nc_alloc.h
+
+ # vile:makemode
+Index: config.guess
+--- ncurses-5.9/config.guess 2010-09-28 23:11:39.000000000 +0000
++++ ncurses-5.9-20130504/config.guess 2013-02-10 14:28:37.000000000 +0000
+@@ -1,14 +1,12 @@
+ #! /bin/sh
+ # Attempt to guess a canonical system name.
+-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+-# Free Software Foundation, Inc.
++# Copyright 1992-2013 Free Software Foundation, Inc.
+
+-timestamp='2010-09-24'
++timestamp='2013-02-04'
+
+ # This file is free software; you can redistribute it and/or modify it
+ # under the terms of the GNU General Public License as published by
+-# the Free Software Foundation; either version 2 of the License, or
++# the Free Software Foundation; either version 3 of the License, or
+ # (at your option) any later version.
+ #
+ # This program is distributed in the hope that it will be useful, but
+@@ -17,26 +15,22 @@
+ # General Public License for more details.
+ #
+ # You should have received a copy of the GNU General Public License
+-# along with this program; if not, write to the Free Software
+-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+-# 02110-1301, USA.
++# along with this program; if not, see <http://www.gnu.org/licenses/>.
+ #
+ # As a special exception to the GNU General Public License, if you
+ # distribute this file as part of a program that contains a
+ # configuration script generated by Autoconf, you may include it under
+-# the same distribution terms that you use for the rest of that program.
+-
+-
+-# Originally written by Per Bothner. Please send patches (context
+-# diff format) to <config-patches@gnu.org> and include a ChangeLog
+-# entry.
++# the same distribution terms that you use for the rest of that
++# program. This Exception is an additional permission under section 7
++# of the GNU General Public License, version 3 ("GPLv3").
+ #
+-# This script attempts to guess a canonical system name similar to
+-# config.sub. If it succeeds, it prints the system name on stdout, and
+-# exits with 0. Otherwise, it exits with 1.
++# Originally written by Per Bothner.
+ #
+ # You can get the latest version of this script from:
+ # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
++#
++# Please send patches with a ChangeLog entry to config-patches@gnu.org.
++
+
+ me=`echo "$0" | sed -e 's,.*/,,'`
+
+@@ -56,9 +50,7 @@
+ GNU config.guess ($timestamp)
+
+ Originally written by Per Bothner.
+-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
+-Software Foundation, Inc.
++Copyright 1992-2013 Free Software Foundation, Inc.
+
+ This is free software; see the source for copying conditions. There is NO
+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+@@ -92,7 +84,7 @@
+ exit 1
+ fi
+
+-trap 'exit 1' HUP INT TERM
++trap 'exit 1' 1 2 15
+
+ # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+ # compiler to aid in system detection is discouraged as it requires
+@@ -106,7 +98,7 @@
+
+ set_cc_for_build='
+ trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" HUP INT PIPE TERM ;
++trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+ : ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+@@ -145,7 +137,7 @@
+ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ *:NetBSD:*:*)
+ # NetBSD (nbsd) targets should (where applicable) match one or
+- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
++ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
+ # switched to ELF, *-*-netbsd* would select the old
+ # object file format. This provides both forward
+@@ -202,6 +194,10 @@
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+ echo "${machine}-${os}${release}"
+ exit ;;
++ *:Bitrig:*:*)
++ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
++ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
++ exit ;;
+ *:OpenBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+@@ -220,10 +216,10 @@
+ exit ;;
+ alpha:OSF1:*:*)
+ case $UNAME_RELEASE in
+- *4.0)
++ *4.0)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+ ;;
+- *5.*)
++ *5.*)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ ;;
+ esac
+@@ -270,7 +266,10 @@
+ # A Xn.n version is an unreleased experimental baselevel.
+ # 1.2 uses "1.2" for uname -r.
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+- exit ;;
++ # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
++ exitcode=$?
++ trap '' 0
++ exit $exitcode ;;
+ Alpha\ *:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # Should we change UNAME_MACHINE based on the output of uname instead
+@@ -301,7 +300,7 @@
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+ echo arm-acorn-riscix${UNAME_RELEASE}
+ exit ;;
+- arm:riscos:*:*|arm:RISCOS:*:*)
++ arm*:riscos:*:*|arm*:RISCOS:*:*)
+ echo arm-unknown-riscos
+ exit ;;
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+@@ -326,8 +325,8 @@
+ sparc) echo sparc-icl-nx7; exit ;;
+ esac ;;
+ s390x:SunOS:*:*)
+- echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+- exit ;;
++ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
++ exit ;;
+ sun4H:SunOS:5.*:*)
+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+@@ -495,7 +494,7 @@
+ else
+ echo i586-dg-dgux${UNAME_RELEASE}
+ fi
+- exit ;;
++ exit ;;
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
+ echo m88k-dolphin-sysv3
+ exit ;;
+@@ -597,50 +596,50 @@
+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+ case "${sc_cpu_version}" in
+- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+- 532) # CPU_PA_RISC2_0
+- case "${sc_kernel_bits}" in
+- 32) HP_ARCH="hppa2.0n" ;;
+- 64) HP_ARCH="hppa2.0w" ;;
++ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
++ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
++ 532) # CPU_PA_RISC2_0
++ case "${sc_kernel_bits}" in
++ 32) HP_ARCH="hppa2.0n" ;;
++ 64) HP_ARCH="hppa2.0w" ;;
+ '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
+- esac ;;
+- esac
++ esac ;;
++ esac
+ fi
+ if [ "${HP_ARCH}" = "" ]; then
+ eval $set_cc_for_build
+- sed 's/^ //' << EOF >$dummy.c
++ sed 's/^ //' << EOF >$dummy.c
+
+- #define _HPUX_SOURCE
+- #include <stdlib.h>
+- #include <unistd.h>
+-
+- int main ()
+- {
+- #if defined(_SC_KERNEL_BITS)
+- long bits = sysconf(_SC_KERNEL_BITS);
+- #endif
+- long cpu = sysconf (_SC_CPU_VERSION);
+-
+- switch (cpu)
+- {
+- case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+- case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+- case CPU_PA_RISC2_0:
+- #if defined(_SC_KERNEL_BITS)
+- switch (bits)
+- {
+- case 64: puts ("hppa2.0w"); break;
+- case 32: puts ("hppa2.0n"); break;
+- default: puts ("hppa2.0"); break;
+- } break;
+- #else /* !defined(_SC_KERNEL_BITS) */
+- puts ("hppa2.0"); break;
+- #endif
+- default: puts ("hppa1.0"); break;
+- }
+- exit (0);
+- }
++ #define _HPUX_SOURCE
++ #include <stdlib.h>
++ #include <unistd.h>
++
++ int main ()
++ {
++ #if defined(_SC_KERNEL_BITS)
++ long bits = sysconf(_SC_KERNEL_BITS);
++ #endif
++ long cpu = sysconf (_SC_CPU_VERSION);
++
++ switch (cpu)
++ {
++ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
++ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
++ case CPU_PA_RISC2_0:
++ #if defined(_SC_KERNEL_BITS)
++ switch (bits)
++ {
++ case 64: puts ("hppa2.0w"); break;
++ case 32: puts ("hppa2.0n"); break;
++ default: puts ("hppa2.0"); break;
++ } break;
++ #else /* !defined(_SC_KERNEL_BITS) */
++ puts ("hppa2.0"); break;
++ #endif
++ default: puts ("hppa1.0"); break;
++ }
++ exit (0);
++ }
+ EOF
+ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ test -z "$HP_ARCH" && HP_ARCH=hppa
+@@ -789,21 +788,26 @@
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:FreeBSD:*:*)
+- case ${UNAME_MACHINE} in
+- pc98)
+- echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
++ UNAME_PROCESSOR=`/usr/bin/uname -p`
++ case ${UNAME_PROCESSOR} in
+ amd64)
+ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ *)
+- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
++ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ esac
+ exit ;;
+ i*:CYGWIN*:*)
+ echo ${UNAME_MACHINE}-pc-cygwin
+ exit ;;
++ *:MINGW64*:*)
++ echo ${UNAME_MACHINE}-pc-mingw64
++ exit ;;
+ *:MINGW*:*)
+ echo ${UNAME_MACHINE}-pc-mingw32
+ exit ;;
++ i*:MSYS*:*)
++ echo ${UNAME_MACHINE}-pc-msys
++ exit ;;
+ i*:windows32*:*)
+ # uname -m includes "-pc" on this system.
+ echo ${UNAME_MACHINE}-mingw32
+@@ -820,8 +824,8 @@
+ echo x86_64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ IA64)
+- echo ia64-unknown-interix${UNAME_RELEASE}
+- exit ;;
++ echo ia64-unknown-interix${UNAME_RELEASE}
++ exit ;;
+ esac ;;
+ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+ echo i${UNAME_MACHINE}-pc-mks
+@@ -858,15 +862,22 @@
+ i*86:Minix:*:*)
+ echo ${UNAME_MACHINE}-pc-minix
+ exit ;;
++ aarch64:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
++ exit ;;
++ aarch64_be:Linux:*:*)
++ UNAME_MACHINE=aarch64_be
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
++ exit ;;
+ alpha:Linux:*:*)
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+- EV5) UNAME_MACHINE=alphaev5 ;;
+- EV56) UNAME_MACHINE=alphaev56 ;;
+- PCA56) UNAME_MACHINE=alphapca56 ;;
+- PCA57) UNAME_MACHINE=alphapca56 ;;
+- EV6) UNAME_MACHINE=alphaev6 ;;
+- EV67) UNAME_MACHINE=alphaev67 ;;
+- EV68*) UNAME_MACHINE=alphaev68 ;;
++ EV5) UNAME_MACHINE=alphaev5 ;;
++ EV56) UNAME_MACHINE=alphaev56 ;;
++ PCA56) UNAME_MACHINE=alphapca56 ;;
++ PCA57) UNAME_MACHINE=alphapca56 ;;
++ EV6) UNAME_MACHINE=alphaev6 ;;
++ EV67) UNAME_MACHINE=alphaev67 ;;
++ EV68*) UNAME_MACHINE=alphaev68 ;;
+ esac
+ objdump --private-headers /bin/sh | grep -q ld.so.1
+ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+@@ -874,30 +885,39 @@
+ exit ;;
+ arm*:Linux:*:*)
+ eval $set_cc_for_build
+- if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null | \
+- grep -q __ARM_EABI__
++ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
++ | grep -q __ARM_EABI__
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ else
+- echo ${UNAME_MACHINE}-unknown-linux-gnueabi
++ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
++ | grep -q __ARM_PCS_VFP
++ then
++ echo ${UNAME_MACHINE}-unknown-linux-gnueabi
++ else
++ echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
++ fi
+ fi
+ exit ;;
+ avr32*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ cris:Linux:*:*)
+- echo cris-axis-linux-gnu
++ echo ${UNAME_MACHINE}-axis-linux-gnu
+ exit ;;
+ crisv32:Linux:*:*)
+- echo crisv32-axis-linux-gnu
++ echo ${UNAME_MACHINE}-axis-linux-gnu
+ exit ;;
+ frv:Linux:*:*)
+- echo frv-unknown-linux-gnu
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
++ exit ;;
++ hexagon:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ i*86:Linux:*:*)
+ LIBC=gnu
+ eval $set_cc_for_build
+- sed 's/^ //' << EOF >$dummy.c
++ sed 's/^ //' << EOF >$dummy.c
+ #ifdef __dietlibc__
+ LIBC=dietlibc
+ #endif
+@@ -934,14 +954,14 @@
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+ ;;
+ or32:Linux:*:*)
+- echo or32-unknown-linux-gnu
+- exit ;;
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
++ exit ;;
+ padre:Linux:*:*)
+ echo sparc-unknown-linux-gnu
+ exit ;;
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
+- echo hppa64-unknown-linux-gnu
+- exit ;;
++ echo hppa64-unknown-linux-gnu
++ exit ;;
+ parisc:Linux:*:* | hppa:Linux:*:*)
+ # Look for CPU level
+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+@@ -969,13 +989,13 @@
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ tile*:Linux:*:*)
+- echo ${UNAME_MACHINE}-tilera-linux-gnu
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ vax:Linux:*:*)
+ echo ${UNAME_MACHINE}-dec-linux-gnu
+ exit ;;
+ x86_64:Linux:*:*)
+- echo x86_64-unknown-linux-gnu
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ xtensa*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+@@ -1093,7 +1113,7 @@
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+- && { echo i486-ncr-sysv4; exit; } ;;
++ && { echo i486-ncr-sysv4; exit; } ;;
+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+ OS_REL='.3'
+ test -r /etc/.relid \
+@@ -1136,8 +1156,8 @@
+ echo ns32k-sni-sysv
+ fi
+ exit ;;
+- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+- # says <Richard.M.Bartel@ccMail.Census.GOV>
++ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
++ # says <Richard.M.Bartel@ccMail.Census.GOV>
+ echo i586-unisys-sysv4
+ exit ;;
+ *:UNIX_System_V:4*:FTX*)
+@@ -1165,9 +1185,9 @@
+ exit ;;
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+ if [ -d /usr/nec ]; then
+- echo mips-nec-sysv${UNAME_RELEASE}
++ echo mips-nec-sysv${UNAME_RELEASE}
+ else
+- echo mips-unknown-sysv${UNAME_RELEASE}
++ echo mips-unknown-sysv${UNAME_RELEASE}
+ fi
+ exit ;;
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
+@@ -1182,6 +1202,9 @@
+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
+ echo i586-pc-haiku
+ exit ;;
++ x86_64:Haiku:*:*)
++ echo x86_64-unknown-haiku
++ exit ;;
+ SX-4:SUPER-UX:*:*)
+ echo sx4-nec-superux${UNAME_RELEASE}
+ exit ;;
+@@ -1212,12 +1235,12 @@
+ i386)
+ eval $set_cc_for_build
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+- grep IS_64BIT_ARCH >/dev/null
+- then
+- UNAME_PROCESSOR="x86_64"
+- fi
++ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
++ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
++ grep IS_64BIT_ARCH >/dev/null
++ then
++ UNAME_PROCESSOR="x86_64"
++ fi
+ fi ;;
+ unknown) UNAME_PROCESSOR=powerpc ;;
+ esac
+@@ -1226,8 +1249,8 @@
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
+ UNAME_PROCESSOR=`uname -p`
+ if test "$UNAME_PROCESSOR" = "x86"; then
+- UNAME_PROCESSOR=i386
+- UNAME_MACHINE=pc
++ UNAME_PROCESSOR=i386
++ UNAME_MACHINE=pc
+ fi
+ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+ exit ;;
+@@ -1237,7 +1260,7 @@
+ NEO-?:NONSTOP_KERNEL:*:*)
+ echo neo-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+- NSE-?:NONSTOP_KERNEL:*:*)
++ NSE-*:NONSTOP_KERNEL:*:*)
+ echo nse-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ NSR-?:NONSTOP_KERNEL:*:*)
+@@ -1306,11 +1329,11 @@
+ i*86:AROS:*:*)
+ echo ${UNAME_MACHINE}-pc-aros
+ exit ;;
++ x86_64:VMkernel:*:*)
++ echo ${UNAME_MACHINE}-unknown-esx
++ exit ;;
+ esac
+
+-#echo '(No uname command or uname output not recognized.)' 1>&2
+-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+-
+ eval $set_cc_for_build
+ cat >$dummy.c <<EOF
+ #ifdef _SEQUENT_
+@@ -1328,11 +1351,11 @@
+ #include <sys/param.h>
+ printf ("m68k-sony-newsos%s\n",
+ #ifdef NEWSOS4
+- "4"
++ "4"
+ #else
+- ""
++ ""
+ #endif
+- ); exit (0);
++ ); exit (0);
+ #endif
+ #endif
+
+Index: config.sub
+--- ncurses-5.9/config.sub 2010-09-10 22:25:58.000000000 +0000
++++ ncurses-5.9-20130504/config.sub 2013-02-10 14:28:47.000000000 +0000
+@@ -1,38 +1,31 @@
+ #! /bin/sh
+ # Configuration validation subroutine script.
+-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+-# Free Software Foundation, Inc.
+-
+-timestamp='2010-09-11'
+-
+-# This file is (in principle) common to ALL GNU software.
+-# The presence of a machine in this file suggests that SOME GNU software
+-# can handle that machine. It does not imply ALL GNU software can.
+-#
+-# This file is free software; you can redistribute it and/or modify
+-# it under the terms of the GNU General Public License as published by
+-# the Free Software Foundation; either version 2 of the License, or
++# Copyright 1992-2013 Free Software Foundation, Inc.
++
++timestamp='2013-02-04'
++
++# This file is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 3 of the License, or
+ # (at your option) any later version.
+ #
+-# This program is distributed in the hope that it will be useful,
+-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-# GNU General Public License for more details.
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# General Public License for more details.
+ #
+ # You should have received a copy of the GNU General Public License
+-# along with this program; if not, write to the Free Software
+-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+-# 02110-1301, USA.
++# along with this program; if not, see <http://www.gnu.org/licenses/>.
+ #
+ # As a special exception to the GNU General Public License, if you
+ # distribute this file as part of a program that contains a
+ # configuration script generated by Autoconf, you may include it under
+-# the same distribution terms that you use for the rest of that program.
++# the same distribution terms that you use for the rest of that
++# program. This Exception is an additional permission under section 7
++# of the GNU General Public License, version 3 ("GPLv3").
+
+
+-# Please send patches to <config-patches@gnu.org>. Submit a context
+-# diff and a properly formatted GNU ChangeLog entry.
++# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+ #
+ # Configuration subroutine to validate and canonicalize a configuration type.
+ # Supply the specified configuration type as an argument.
+@@ -75,9 +68,7 @@
+ version="\
+ GNU config.sub ($timestamp)
+
+-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
+-Software Foundation, Inc.
++Copyright 1992-2013 Free Software Foundation, Inc.
+
+ This is free software; see the source for copying conditions. There is NO
+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+@@ -125,13 +116,17 @@
+ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+ case $maybe_os in
+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
+- linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
++ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+ knetbsd*-gnu* | netbsd*-gnu* | \
+ kopensolaris*-gnu* | \
+ storm-chaos* | os2-emx* | rtmk-nova*)
+ os=-$maybe_os
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
++ android-linux)
++ os=-linux-android
++ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
++ ;;
+ *)
+ basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+ if [ $basic_machine != $1 ]
+@@ -154,7 +149,7 @@
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+- -apple | -axis | -knuth | -cray | -microblaze)
++ -apple | -axis | -knuth | -cray | -microblaze*)
+ os=
+ basic_machine=$1
+ ;;
+@@ -175,10 +170,10 @@
+ os=-chorusos
+ basic_machine=$1
+ ;;
+- -chorusrdb)
+- os=-chorusrdb
++ -chorusrdb)
++ os=-chorusrdb
+ basic_machine=$1
+- ;;
++ ;;
+ -hiux*)
+ os=-hiuxwe2
+ ;;
+@@ -223,6 +218,12 @@
+ -isc*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
++ -lynx*178)
++ os=-lynxos178
++ ;;
++ -lynx*5)
++ os=-lynxos5
++ ;;
+ -lynx*)
+ os=-lynxos
+ ;;
+@@ -247,20 +248,27 @@
+ # Some are omitted here because they have special meanings below.
+ 1750a | 580 \
+ | a29k \
++ | aarch64 | aarch64_be \
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+ | am33_2.0 \
+- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
++ | arc \
++ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
++ | avr | avr32 \
++ | be32 | be64 \
+ | bfin \
+ | c4x | clipper \
+ | d10v | d30v | dlx | dsp16xx \
++ | epiphany \
+ | fido | fr30 | frv \
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
++ | hexagon \
+ | i370 | i860 | i960 | ia64 \
+ | ip2k | iq2000 \
++ | le32 | le64 \
+ | lm32 \
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
+- | maxq | mb | microblaze | mcore | mep | metag \
++ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
+ | mips | mipsbe | mipseb | mipsel | mipsle \
+ | mips16 \
+ | mips64 | mips64el \
+@@ -278,30 +286,32 @@
+ | mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64sb1 | mipsisa64sb1el \
+ | mipsisa64sr71k | mipsisa64sr71kel \
++ | mipsr5900 | mipsr5900el \
+ | mipstx39 | mipstx39el \
+ | mn10200 | mn10300 \
+ | moxie \
+ | mt \
+ | msp430 \
+- | nds32 | nds32le | nds32be\
+- | nios | nios2 \
++ | nds32 | nds32le | nds32be \
++ | nios | nios2 | nios2eb | nios2el \
+ | ns16k | ns32k \
++ | open8 \
+ | or32 \
+ | pdp10 | pdp11 | pj | pjl \
+- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
++ | powerpc | powerpc64 | powerpc64le | powerpcle \
+ | pyramid \
+- | rx \
++ | rl78 | rx \
+ | score \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh64 | sh64le \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+- | spu | strongarm \
+- | tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
++ | spu \
++ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
+ | ubicom32 \
+- | v850 | v850e \
++ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+ | we32k \
+- | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
++ | x86 | xc16x | xstormy16 | xtensa \
+ | z8k | z80)
+ basic_machine=$basic_machine-unknown
+ ;;
+@@ -314,8 +324,7 @@
+ c6x)
+ basic_machine=tic6x-unknown
+ ;;
+- m6811 | m68hc11 | m6812 | m68hc12 | picochip)
+- # Motorola 68HC11/12.
++ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+@@ -325,12 +334,27 @@
+ basic_machine=mt-unknown
+ ;;
+
++ strongarm | thumb | xscale)
++ basic_machine=arm-unknown
++ ;;
++ xgate)
++ basic_machine=$basic_machine-unknown
++ os=-none
++ ;;
++ xscaleeb)
++ basic_machine=armeb-unknown
++ ;;
++
++ xscaleel)
++ basic_machine=armel-unknown
++ ;;
++
+ # We use `pc' rather than `unknown'
+ # because (1) that's what they normally are, and
+ # (2) the word "unknown" tends to confuse beginning users.
+ i*86 | x86_64)
+- basic_machine=$basic_machine-pc
+- ;;
++ basic_machine=$basic_machine-pc
++ ;;
+ # Object if more than one company name word.
+ *-*-*)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+@@ -339,11 +363,13 @@
+ # Recognize the basic CPU types with company name.
+ 580-* \
+ | a29k-* \
++ | aarch64-* | aarch64_be-* \
+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
+ | avr-* | avr32-* \
++ | be32-* | be64-* \
+ | bfin-* | bs2000-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* \
+ | clipper-* | craynv-* | cydra-* \
+@@ -352,12 +378,15 @@
+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+ | h8300-* | h8500-* \
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
++ | hexagon-* \
+ | i*86-* | i860-* | i960-* | ia64-* \
+ | ip2k-* | iq2000-* \
++ | le32-* | le64-* \
+ | lm32-* \
+ | m32c-* | m32r-* | m32rle-* \
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
++ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
++ | microblaze-* | microblazeel-* \
+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+ | mips16-* \
+ | mips64-* | mips64el-* \
+@@ -375,31 +404,34 @@
+ | mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64sb1-* | mipsisa64sb1el-* \
+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
++ | mipsr5900-* | mipsr5900el-* \
+ | mipstx39-* | mipstx39el-* \
+ | mmix-* \
+ | mt-* \
+ | msp430-* \
+ | nds32-* | nds32le-* | nds32be-* \
+- | nios-* | nios2-* \
++ | nios-* | nios2-* | nios2eb-* | nios2el-* \
+ | none-* | np1-* | ns16k-* | ns32k-* \
++ | open8-* \
+ | orion-* \
+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
++ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+ | pyramid-* \
+- | romp-* | rs6000-* | rx-* \
++ | rl78-* | romp-* | rs6000-* | rx-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+ | sparclite-* \
+- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
+- | tahoe-* | thumb-* \
++ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
++ | tahoe-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+- | tile-* | tilegx-* \
++ | tile*-* \
+ | tron-* \
+ | ubicom32-* \
+- | v850-* | v850e-* | vax-* \
++ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
++ | vax-* \
+ | we32k-* \
+- | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
++ | x86-* | x86_64-* | xc16x-* | xps100-* \
+ | xstormy16-* | xtensa*-* \
+ | ymp-* \
+ | z8k-* | z80-*)
+@@ -539,7 +571,7 @@
+ basic_machine=craynv-cray
+ os=-unicosmp
+ ;;
+- cr16)
++ cr16 | cr16-*)
+ basic_machine=cr16-unknown
+ os=-elf
+ ;;
+@@ -697,7 +729,6 @@
+ i370-ibm* | ibm*)
+ basic_machine=i370-ibm
+ ;;
+-# I'm not sure what "Sysv32" means. Should this be sysv3.2?
+ i*86v32)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv32
+@@ -755,9 +786,13 @@
+ basic_machine=ns32k-utek
+ os=-sysv
+ ;;
+- microblaze)
++ microblaze*)
+ basic_machine=microblaze-xilinx
+ ;;
++ mingw64)
++ basic_machine=x86_64-pc
++ os=-mingw64
++ ;;
+ mingw32)
+ basic_machine=i386-pc
+ os=-mingw32
+@@ -794,10 +829,18 @@
+ ms1-*)
+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+ ;;
++ msys)
++ basic_machine=i386-pc
++ os=-msys
++ ;;
+ mvs)
+ basic_machine=i370-ibm
+ os=-mvs
+ ;;
++ nacl)
++ basic_machine=le32-unknown
++ os=-nacl
++ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ os=-sysv4
+@@ -950,9 +993,10 @@
+ ;;
+ power) basic_machine=power-ibm
+ ;;
+- ppc) basic_machine=powerpc-unknown
++ ppc | ppcbe) basic_machine=powerpc-unknown
+ ;;
+- ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ppc-* | ppcbe-*)
++ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppcle | powerpclittle | ppc-le | powerpc-little)
+ basic_machine=powerpcle-unknown
+@@ -977,7 +1021,11 @@
+ basic_machine=i586-unknown
+ os=-pw32
+ ;;
+- rdos)
++ rdos | rdos64)
++ basic_machine=x86_64-pc
++ os=-rdos
++ ;;
++ rdos32)
+ basic_machine=i386-pc
+ os=-rdos
+ ;;
+@@ -1046,6 +1094,9 @@
+ basic_machine=i860-stratus
+ os=-sysv4
+ ;;
++ strongarm-* | thumb-*)
++ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ;;
+ sun2)
+ basic_machine=m68000-sun
+ ;;
+@@ -1102,13 +1153,8 @@
+ basic_machine=t90-cray
+ os=-unicos
+ ;;
+- # This must be matched before tile*.
+- tilegx*)
+- basic_machine=tilegx-unknown
+- os=-linux-gnu
+- ;;
+ tile*)
+- basic_machine=tile-unknown
++ basic_machine=$basic_machine-unknown
+ os=-linux-gnu
+ ;;
+ tx39)
+@@ -1178,6 +1224,9 @@
+ xps | xps100)
+ basic_machine=xps100-honeywell
+ ;;
++ xscale-* | xscalee[bl]-*)
++ basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
++ ;;
+ ymp)
+ basic_machine=ymp-cray
+ os=-unicos
+@@ -1303,21 +1352,21 @@
+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
+- | -sym* | -kopensolaris* \
++ | -sym* | -kopensolaris* | -plan9* \
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+ | -aos* | -aros* \
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+- | -openbsd* | -solidbsd* \
++ | -bitrig* | -openbsd* | -solidbsd* \
+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -chorusos* | -chorusrdb* | -cegcc* \
+- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+- | -mingw32* | -linux-gnu* | -linux-android* \
+- | -linux-newlib* | -linux-uclibc* \
++ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
++ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
++ | -linux-newlib* | -linux-musl* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+@@ -1449,9 +1498,6 @@
+ -aros*)
+ os=-aros
+ ;;
+- -kaos*)
+- os=-kaos
+- ;;
+ -zvmoe)
+ os=-zvmoe
+ ;;
+@@ -1500,6 +1546,9 @@
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
++ hexagon-*)
++ os=-elf
++ ;;
+ tic54x-*)
+ os=-coff
+ ;;
+@@ -1527,9 +1576,6 @@
+ ;;
+ m68000-sun)
+ os=-sunos3
+- # This also exists in the configure program, but was not the
+- # default.
+- # os=-sunos4
+ ;;
+ m68*-cisco)
+ os=-aout
+Index: configure
+--- ncurses-5.9/configure 2011-03-31 23:35:51.000000000 +0000
++++ ncurses-5.9-20130504/configure 2013-04-27 19:50:56.000000000 +0000
+@@ -1,7 +1,7 @@
+ #! /bin/sh
+-# From configure.in Revision: 1.520 .
++# From configure.in Revision: 1.565 .
+ # Guess values for system-dependent variables and create Makefiles.
+-# Generated by Autoconf 2.52.20101002.
++# Generated by Autoconf 2.52.20121002.
+ #
+ # Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+ # Free Software Foundation, Inc.
+@@ -171,15 +171,16 @@
+ bindir='${exec_prefix}/bin'
+ sbindir='${exec_prefix}/sbin'
+ libexecdir='${exec_prefix}/libexec'
+-datadir='${prefix}/share'
++datarootdir='${prefix}/share'
++datadir='${datarootdir}'
+ sysconfdir='${prefix}/etc'
+ sharedstatedir='${prefix}/com'
+ localstatedir='${prefix}/var'
+ libdir='${exec_prefix}/lib'
+ includedir='${prefix}/include'
+ oldincludedir='/usr/include'
+-infodir='${prefix}/info'
+-mandir='${prefix}/man'
++infodir='${datarootdir}/info'
++mandir='${datarootdir}/man'
+
+ # Identity of this package.
+ PACKAGE_NAME=
+@@ -230,6 +231,13 @@
+ | --da=*)
+ datadir=$ac_optarg ;;
+
++ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
++ | --dataroo | --dataro | --datar)
++ ac_prev=datarootdir ;;
++ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
++ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
++ datarootdir=$ac_optarg ;;
++
+ -disable-* | --disable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+@@ -505,7 +513,7 @@
+ done
+
+ # Be sure to have absolute paths.
+-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
++for ac_var in bindir sbindir libexecdir datarootdir datadir sysconfdir sharedstatedir \
+ localstatedir libdir includedir oldincludedir infodir mandir
+ do
+ eval ac_val=$`echo $ac_var`
+@@ -654,15 +662,16 @@
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+- --datadir=DIR read-only architecture-independent data [PREFIX/share]
++ --datarootdir=DIR read-only architecture-independent data [PREFIX/share]
++ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+- --infodir=DIR info documentation [PREFIX/info]
+- --mandir=DIR man documentation [PREFIX/man]
++ --infodir=DIR info documentation [DATAROOTDIR/info]
++ --mandir=DIR man documentation [DATAROOTDIR/man]
+ EOF
+
+ cat <<\EOF
+@@ -694,14 +703,15 @@
+ --with-rel-version=XXX override derived release version
+ --with-abi-version=XXX override derived ABI version
+ --with-system-type=XXX test: override derived host system-type
++ --without-ada suppress check for Ada95, don't build demo
+ --without-cxx do not adjust ncurses bool to match C++
+ --without-cxx-binding do not build C++ binding and demo
+- --without-ada suppress check for Ada95, don't build demo
+ --without-manpages suppress install of manpages
+ --without-progs suppress build with programs (e.g., tic)
+ --without-tests suppress build with test-programs
+ --without-curses-h install curses.h as ncurses.h only
+ --with-pkg-config{=path} enable/disable use of pkg-config
++ --with-pkg-config-libdir=XXX use given directory for installing pc-files
+ --enable-pc-files generate and install .pc files for pkg-config
+ --enable-mixed-case tic should assume mixed-case filenames
+ --with-install-prefix prefixes actual install-location ($DESTDIR)
+@@ -719,6 +729,8 @@
+ --with-normal generate normal-libraries (default)
+ --with-debug generate debug-libraries (default)
+ --with-profile generate profile-libraries
++ --with-cxx-shared generate C++ shared-libraries
++ --with-lib-prefix override library-prefix
+ --with-termlib generate separate terminfo library
+ --with-ticlib generate separate tic library
+ --with-gpm use Alessandro Rubini's GPM library
+@@ -735,6 +747,7 @@
+ --with-hashed-db specify hashed-database library
+ --with-fallbacks=XXX specify list of fallback terminal descriptions
+ --without-xterm-new specify if xterm terminfo should be old version
++ --with-xterm-kbs=XXX specify if xterm backspace sends BS or DEL
+ --with-terminfo-dirs=XXX specify list of terminfo directories (default: DATADIR/terminfo)
+ --with-default-terminfo-dir=DIR default terminfo directory (default: DATADIR/terminfo)
+ --disable-big-core assume machine has little memory
+@@ -759,6 +772,7 @@
+ --with-ospeed=TYPE override type of ospeed variable
+ --with-mmask-t=TYPE override type of mmask_t
+ --with-ccharw-max=XXX override size CCHARW_MAX
++ --with-tparm-arg=TYPE override parameter type of tparm
+ --with-rcs-ids compile-in RCS identifiers
+ Options to Specify How Manpages are Installed:
+ --with-manpage-format specify manpage-format: gzip/compress/BSDI/normal and
+@@ -796,8 +810,9 @@
+ --disable-scroll-hints compile without scroll-hints code
+ --enable-wgetch-events compile with experimental wgetch-events code
+ Testing/development Options:
+- --enable-echo build: display "compiling" commands (default)
++ --disable-echo do not display "compiling" commands
+ --enable-warnings build: turn on GCC compiler warnings
++ --enable-string-hacks work around bogus compiler/loader warnings
+ --enable-assertions test: turn on generation of assertion code
+ --with-dmalloc test: use Gray Watson's dmalloc library
+ --with-dbmalloc test: use Conor Cahill's dbmalloc library
+@@ -883,7 +898,7 @@
+ running configure, to aid debugging if configure makes a mistake.
+
+ It was created by $as_me, which was
+-generated by GNU Autoconf 2.52.20101002. Invocation command line was
++generated by GNU Autoconf 2.52.20121002. Invocation command line was
+
+ $ $0 $@
+
+@@ -1007,7 +1022,7 @@
+ fi
+ for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+- { echo "$as_me:1010: loading site script $ac_site_file" >&5
++ { echo "$as_me:1025: loading site script $ac_site_file" >&5
+ echo "$as_me: loading site script $ac_site_file" >&6;}
+ cat "$ac_site_file" >&5
+ . "$ac_site_file"
+@@ -1018,7 +1033,7 @@
+ # Some versions of bash will fail to source /dev/null (special
+ # files actually), so we avoid doing that.
+ if test -f "$cache_file"; then
+- { echo "$as_me:1021: loading cache $cache_file" >&5
++ { echo "$as_me:1036: loading cache $cache_file" >&5
+ echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . $cache_file;;
+@@ -1026,7 +1041,7 @@
+ esac
+ fi
+ else
+- { echo "$as_me:1029: creating cache $cache_file" >&5
++ { echo "$as_me:1044: creating cache $cache_file" >&5
+ echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+ fi
+@@ -1042,21 +1057,21 @@
+ eval ac_new_val="\$ac_env_${ac_var}_value"
+ case $ac_old_set,$ac_new_set in
+ set,)
+- { echo "$as_me:1045: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
++ { echo "$as_me:1060: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+ echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+- { echo "$as_me:1049: error: \`$ac_var' was not set in the previous run" >&5
++ { echo "$as_me:1064: error: \`$ac_var' was not set in the previous run" >&5
+ echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+- { echo "$as_me:1055: error: \`$ac_var' has changed since the previous run:" >&5
++ { echo "$as_me:1070: error: \`$ac_var' has changed since the previous run:" >&5
+ echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+- { echo "$as_me:1057: former value: $ac_old_val" >&5
++ { echo "$as_me:1072: former value: $ac_old_val" >&5
+ echo "$as_me: former value: $ac_old_val" >&2;}
+- { echo "$as_me:1059: current value: $ac_new_val" >&5
++ { echo "$as_me:1074: current value: $ac_new_val" >&5
+ echo "$as_me: current value: $ac_new_val" >&2;}
+ ac_cache_corrupted=:
+ fi;;
+@@ -1075,9 +1090,9 @@
+ fi
+ done
+ if $ac_cache_corrupted; then
+- { echo "$as_me:1078: error: changes in the environment can compromise the build" >&5
++ { echo "$as_me:1093: error: changes in the environment can compromise the build" >&5
+ echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+- { { echo "$as_me:1080: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
++ { { echo "$as_me:1095: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+ echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -1098,10 +1113,10 @@
+ echo "#! $SHELL" >conftest.sh
+ echo "exit 0" >>conftest.sh
+ chmod +x conftest.sh
+-if { (echo "$as_me:1101: PATH=\".;.\"; conftest.sh") >&5
++if { (echo "$as_me:1116: PATH=\".;.\"; conftest.sh") >&5
+ (PATH=".;."; conftest.sh) 2>&5
+ ac_status=$?
+- echo "$as_me:1104: \$? = $ac_status" >&5
++ echo "$as_me:1119: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ ac_path_separator=';'
+ else
+@@ -1114,7 +1129,7 @@
+
+ top_builddir=`pwd`
+
+-echo "$as_me:1117: checking for egrep" >&5
++echo "$as_me:1132: checking for egrep" >&5
+ echo $ECHO_N "checking for egrep... $ECHO_C" >&6
+ if test "${ac_cv_prog_egrep+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1124,11 +1139,11 @@
+ else ac_cv_prog_egrep='egrep'
+ fi
+ fi
+-echo "$as_me:1127: result: $ac_cv_prog_egrep" >&5
++echo "$as_me:1142: result: $ac_cv_prog_egrep" >&5
+ echo "${ECHO_T}$ac_cv_prog_egrep" >&6
+ EGREP=$ac_cv_prog_egrep
+
+-test -z "$EGREP" && { { echo "$as_me:1131: error: No egrep program found" >&5
++test -z "$EGREP" && { { echo "$as_me:1146: error: No egrep program found" >&5
+ echo "$as_me: error: No egrep program found" >&2;}
+ { (exit 1); exit 1; }; }
+
+@@ -1138,7 +1153,7 @@
+ cf_cv_abi_version=${NCURSES_MAJOR}
+ cf_cv_rel_version=${NCURSES_MAJOR}.${NCURSES_MINOR}
+ cf_cv_timestamp=`date`
+-echo "$as_me:1141: result: Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp)" >&5
++echo "$as_me:1156: result: Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp)" >&5
+ echo "${ECHO_T}Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp)" >&6
+
+ test -z "$cf_cv_rel_version" && cf_cv_rel_version=0.0
+@@ -1146,7 +1161,7 @@
+ # Check whether --with-rel-version or --without-rel-version was given.
+ if test "${with_rel_version+set}" = set; then
+ withval="$with_rel_version"
+- { echo "$as_me:1149: WARNING: overriding release version $cf_cv_rel_version to $withval" >&5
++ { echo "$as_me:1164: WARNING: overriding release version $cf_cv_rel_version to $withval" >&5
+ echo "$as_me: WARNING: overriding release version $cf_cv_rel_version to $withval" >&2;}
+ cf_cv_rel_version=$withval
+ fi;
+@@ -1159,13 +1174,13 @@
+ [0-9]*) #(vi
+ ;;
+ *)
+- { { echo "$as_me:1162: error: Release major-version is not a number: $NCURSES_MAJOR" >&5
++ { { echo "$as_me:1177: error: Release major-version is not a number: $NCURSES_MAJOR" >&5
+ echo "$as_me: error: Release major-version is not a number: $NCURSES_MAJOR" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+ esac
+ else
+- { { echo "$as_me:1168: error: Release major-version value is empty" >&5
++ { { echo "$as_me:1183: error: Release major-version value is empty" >&5
+ echo "$as_me: error: Release major-version value is empty" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -1175,13 +1190,13 @@
+ [0-9]*) #(vi
+ ;;
+ *)
+- { { echo "$as_me:1178: error: Release minor-version is not a number: $NCURSES_MINOR" >&5
++ { { echo "$as_me:1193: error: Release minor-version is not a number: $NCURSES_MINOR" >&5
+ echo "$as_me: error: Release minor-version is not a number: $NCURSES_MINOR" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+ esac
+ else
+- { { echo "$as_me:1184: error: Release minor-version value is empty" >&5
++ { { echo "$as_me:1199: error: Release minor-version value is empty" >&5
+ echo "$as_me: error: Release minor-version value is empty" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -1191,7 +1206,7 @@
+ # Check whether --with-abi-version or --without-abi-version was given.
+ if test "${with_abi_version+set}" = set; then
+ withval="$with_abi_version"
+- { echo "$as_me:1194: WARNING: overriding ABI version $cf_cv_abi_version to $withval" >&5
++ { echo "$as_me:1209: WARNING: overriding ABI version $cf_cv_abi_version to $withval" >&5
+ echo "$as_me: WARNING: overriding ABI version $cf_cv_abi_version to $withval" >&2;}
+ cf_cv_abi_version=$withval
+ fi;
+@@ -1201,13 +1216,13 @@
+ [0-9]*) #(vi
+ ;;
+ *)
+- { { echo "$as_me:1204: error: ABI version is not a number: $cf_cv_abi_version" >&5
++ { { echo "$as_me:1219: error: ABI version is not a number: $cf_cv_abi_version" >&5
+ echo "$as_me: error: ABI version is not a number: $cf_cv_abi_version" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+ esac
+ else
+- { { echo "$as_me:1210: error: ABI version value is empty" >&5
++ { { echo "$as_me:1225: error: ABI version value is empty" >&5
+ echo "$as_me: error: ABI version value is empty" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -1229,7 +1244,7 @@
+ fi
+ done
+ if test -z "$ac_aux_dir"; then
+- { { echo "$as_me:1232: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
++ { { echo "$as_me:1247: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
+ echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -1239,11 +1254,11 @@
+
+ # Make sure we can run config.sub.
+ $ac_config_sub sun4 >/dev/null 2>&1 ||
+- { { echo "$as_me:1242: error: cannot run $ac_config_sub" >&5
++ { { echo "$as_me:1257: error: cannot run $ac_config_sub" >&5
+ echo "$as_me: error: cannot run $ac_config_sub" >&2;}
+ { (exit 1); exit 1; }; }
+
+-echo "$as_me:1246: checking build system type" >&5
++echo "$as_me:1261: checking build system type" >&5
+ echo $ECHO_N "checking build system type... $ECHO_C" >&6
+ if test "${ac_cv_build+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1252,23 +1267,23 @@
+ test -z "$ac_cv_build_alias" &&
+ ac_cv_build_alias=`$ac_config_guess`
+ test -z "$ac_cv_build_alias" &&
+- { { echo "$as_me:1255: error: cannot guess build type; you must specify one" >&5
++ { { echo "$as_me:1270: error: cannot guess build type; you must specify one" >&5
+ echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+ { (exit 1); exit 1; }; }
+ ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
+- { { echo "$as_me:1259: error: $ac_config_sub $ac_cv_build_alias failed." >&5
++ { { echo "$as_me:1274: error: $ac_config_sub $ac_cv_build_alias failed." >&5
+ echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed." >&2;}
+ { (exit 1); exit 1; }; }
+
+ fi
+-echo "$as_me:1264: result: $ac_cv_build" >&5
++echo "$as_me:1279: result: $ac_cv_build" >&5
+ echo "${ECHO_T}$ac_cv_build" >&6
+ build=$ac_cv_build
+ build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+ build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+ build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+-echo "$as_me:1271: checking host system type" >&5
++echo "$as_me:1286: checking host system type" >&5
+ echo $ECHO_N "checking host system type... $ECHO_C" >&6
+ if test "${ac_cv_host+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1277,12 +1292,12 @@
+ test -z "$ac_cv_host_alias" &&
+ ac_cv_host_alias=$ac_cv_build_alias
+ ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
+- { { echo "$as_me:1280: error: $ac_config_sub $ac_cv_host_alias failed" >&5
++ { { echo "$as_me:1295: error: $ac_config_sub $ac_cv_host_alias failed" >&5
+ echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+
+ fi
+-echo "$as_me:1285: result: $ac_cv_host" >&5
++echo "$as_me:1300: result: $ac_cv_host" >&5
+ echo "${ECHO_T}$ac_cv_host" >&6
+ host=$ac_cv_host
+ host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+@@ -1290,7 +1305,7 @@
+ host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+ if test -f $srcdir/config.guess || test -f $ac_aux_dir/config.guess ; then
+- echo "$as_me:1293: checking target system type" >&5
++ echo "$as_me:1308: checking target system type" >&5
+ echo $ECHO_N "checking target system type... $ECHO_C" >&6
+ if test "${ac_cv_target+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1299,12 +1314,12 @@
+ test "x$ac_cv_target_alias" = "x" &&
+ ac_cv_target_alias=$ac_cv_host_alias
+ ac_cv_target=`$ac_config_sub $ac_cv_target_alias` ||
+- { { echo "$as_me:1302: error: $ac_config_sub $ac_cv_target_alias failed" >&5
++ { { echo "$as_me:1317: error: $ac_config_sub $ac_cv_target_alias failed" >&5
+ echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+
+ fi
+-echo "$as_me:1307: result: $ac_cv_target" >&5
++echo "$as_me:1322: result: $ac_cv_target" >&5
+ echo "${ECHO_T}$ac_cv_target" >&6
+ target=$ac_cv_target
+ target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+@@ -1324,7 +1339,8 @@
+ system_name="`(hostname) 2>/dev/null`"
+ fi
+ fi
+-test -n "$system_name" && cat >>confdefs.h <<EOF
++test -n "$system_name" &&
++cat >>confdefs.h <<EOF
+ #define SYSTEM_NAME "$system_name"
+ EOF
+
+@@ -1335,13 +1351,13 @@
+ fi
+
+ test -z "$system_name" && system_name="$cf_cv_system_name"
+-test -n "$cf_cv_system_name" && echo "$as_me:1338: result: Configuring for $cf_cv_system_name" >&5
++test -n "$cf_cv_system_name" && echo "$as_me:1354: result: Configuring for $cf_cv_system_name" >&5
+ echo "${ECHO_T}Configuring for $cf_cv_system_name" >&6
+
+ if test ".$system_name" != ".$cf_cv_system_name" ; then
+- echo "$as_me:1342: result: Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&5
++ echo "$as_me:1358: result: Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&5
+ echo "${ECHO_T}Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&6
+- { { echo "$as_me:1344: error: \"Please remove config.cache and try again.\"" >&5
++ { { echo "$as_me:1360: error: \"Please remove config.cache and try again.\"" >&5
+ echo "$as_me: error: \"Please remove config.cache and try again.\"" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -1349,9 +1365,11 @@
+ # Check whether --with-system-type or --without-system-type was given.
+ if test "${with_system_type+set}" = set; then
+ withval="$with_system_type"
+- { echo "$as_me:1352: WARNING: overriding system type to $withval" >&5
++ { echo "$as_me:1368: WARNING: overriding system type to $withval" >&5
+ echo "$as_me: WARNING: overriding system type to $withval" >&2;}
+- cf_cv_system_name=$withval
++ cf_cv_system_name=$withval
++ host_os=$withval
++
+ fi;
+
+ ### Save the given $CFLAGS to allow user-override.
+@@ -1359,23 +1377,23 @@
+
+ ### Default install-location
+
+-echo "$as_me:1362: checking for prefix" >&5
++echo "$as_me:1380: checking for prefix" >&5
+ echo $ECHO_N "checking for prefix... $ECHO_C" >&6
+ if test "x$prefix" = "xNONE" ; then
+ case "$cf_cv_system_name" in
+ # non-vendor systems don't have a conflict
+- openbsd*|freebsd*|linux*|cygwin*|k*bsd*-gnu)
++ openbsd*|freebsd*|mirbsd*|linux*|cygwin*|k*bsd*-gnu|mingw*)
+ prefix=/usr
+ ;;
+ *) prefix=$ac_default_prefix
+ ;;
+ esac
+ fi
+-echo "$as_me:1374: result: $prefix" >&5
++echo "$as_me:1392: result: $prefix" >&5
+ echo "${ECHO_T}$prefix" >&6
+
+ if test "x$prefix" = "xNONE" ; then
+-echo "$as_me:1378: checking for default include-directory" >&5
++echo "$as_me:1396: checking for default include-directory" >&5
+ echo $ECHO_N "checking for default include-directory... $ECHO_C" >&6
+ test -n "$verbose" && echo 1>&6
+ for cf_symbol in \
+@@ -1398,11 +1416,26 @@
+ fi
+ test -n "$verbose" && echo " tested $cf_dir" 1>&6
+ done
+-echo "$as_me:1401: result: $includedir" >&5
++echo "$as_me:1419: result: $includedir" >&5
+ echo "${ECHO_T}$includedir" >&6
+ fi
+
+ ### Checks for programs.
++
++# Check whether --with-ada or --without-ada was given.
++if test "${with_ada+set}" = set; then
++ withval="$with_ada"
++ cf_with_ada=$withval
++else
++ cf_with_ada=yes
++fi;
++if test "x$cf_with_ada" = xyes
++then
++ cf_PROG_CC="gnatgcc gcc cc"
++else
++ cf_PROG_CC="gcc cc"
++fi
++
+ ac_ext=c
+ ac_cpp='$CPP $CPPFLAGS'
+ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+@@ -1410,213 +1443,11 @@
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ ac_main_return=return
+ if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}gcc; ac_word=$2
+-echo "$as_me:1415: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_prog_CC+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- if test -n "$CC"; then
+- ac_cv_prog_CC="$CC" # Let the user override the test.
+-else
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- $as_executable_p "$ac_dir/$ac_word" || continue
+-ac_cv_prog_CC="${ac_tool_prefix}gcc"
+-echo "$as_me:1430: found $ac_dir/$ac_word" >&5
+-break
+-done
+-
+-fi
+-fi
+-CC=$ac_cv_prog_CC
+-if test -n "$CC"; then
+- echo "$as_me:1438: result: $CC" >&5
+-echo "${ECHO_T}$CC" >&6
+-else
+- echo "$as_me:1441: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+-fi
+-if test -z "$ac_cv_prog_CC"; then
+- ac_ct_CC=$CC
+- # Extract the first word of "gcc", so it can be a program name with args.
+-set dummy gcc; ac_word=$2
+-echo "$as_me:1450: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- if test -n "$ac_ct_CC"; then
+- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+-else
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- $as_executable_p "$ac_dir/$ac_word" || continue
+-ac_cv_prog_ac_ct_CC="gcc"
+-echo "$as_me:1465: found $ac_dir/$ac_word" >&5
+-break
+-done
+-
+-fi
+-fi
+-ac_ct_CC=$ac_cv_prog_ac_ct_CC
+-if test -n "$ac_ct_CC"; then
+- echo "$as_me:1473: result: $ac_ct_CC" >&5
+-echo "${ECHO_T}$ac_ct_CC" >&6
+-else
+- echo "$as_me:1476: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+- CC=$ac_ct_CC
+-else
+- CC="$ac_cv_prog_CC"
+-fi
+-
+-if test -z "$CC"; then
+- if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}cc; ac_word=$2
+-echo "$as_me:1489: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_prog_CC+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- if test -n "$CC"; then
+- ac_cv_prog_CC="$CC" # Let the user override the test.
+-else
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- $as_executable_p "$ac_dir/$ac_word" || continue
+-ac_cv_prog_CC="${ac_tool_prefix}cc"
+-echo "$as_me:1504: found $ac_dir/$ac_word" >&5
+-break
+-done
+-
+-fi
+-fi
+-CC=$ac_cv_prog_CC
+-if test -n "$CC"; then
+- echo "$as_me:1512: result: $CC" >&5
+-echo "${ECHO_T}$CC" >&6
+-else
+- echo "$as_me:1515: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+-fi
+-if test -z "$ac_cv_prog_CC"; then
+- ac_ct_CC=$CC
+- # Extract the first word of "cc", so it can be a program name with args.
+-set dummy cc; ac_word=$2
+-echo "$as_me:1524: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- if test -n "$ac_ct_CC"; then
+- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+-else
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- $as_executable_p "$ac_dir/$ac_word" || continue
+-ac_cv_prog_ac_ct_CC="cc"
+-echo "$as_me:1539: found $ac_dir/$ac_word" >&5
+-break
+-done
+-
+-fi
+-fi
+-ac_ct_CC=$ac_cv_prog_ac_ct_CC
+-if test -n "$ac_ct_CC"; then
+- echo "$as_me:1547: result: $ac_ct_CC" >&5
+-echo "${ECHO_T}$ac_ct_CC" >&6
+-else
+- echo "$as_me:1550: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+- CC=$ac_ct_CC
+-else
+- CC="$ac_cv_prog_CC"
+-fi
+-
+-fi
+-if test -z "$CC"; then
+- # Extract the first word of "cc", so it can be a program name with args.
+-set dummy cc; ac_word=$2
+-echo "$as_me:1563: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_prog_CC+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- if test -n "$CC"; then
+- ac_cv_prog_CC="$CC" # Let the user override the test.
+-else
+- ac_prog_rejected=no
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- $as_executable_p "$ac_dir/$ac_word" || continue
+-if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+- ac_prog_rejected=yes
+- continue
+-fi
+-ac_cv_prog_CC="cc"
+-echo "$as_me:1583: found $ac_dir/$ac_word" >&5
+-break
+-done
+-
+-if test $ac_prog_rejected = yes; then
+- # We found a bogon in the path, so make sure we never use it.
+- set dummy $ac_cv_prog_CC
+- shift
+- if test $# != 0; then
+- # We chose a different compiler from the bogus one.
+- # However, it has the same basename, so the bogon will be chosen
+- # first if we set CC to just the basename; use the full file name.
+- shift
+- set dummy "$ac_dir/$ac_word" ${1+"$@"}
+- shift
+- ac_cv_prog_CC="$@"
+- fi
+-fi
+-fi
+-fi
+-CC=$ac_cv_prog_CC
+-if test -n "$CC"; then
+- echo "$as_me:1605: result: $CC" >&5
+-echo "${ECHO_T}$CC" >&6
+-else
+- echo "$as_me:1608: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+-fi
+-if test -z "$CC"; then
+- if test -n "$ac_tool_prefix"; then
+- for ac_prog in cl
++ for ac_prog in $cf_PROG_CC
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+ set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+-echo "$as_me:1619: checking for $ac_word" >&5
++echo "$as_me:1450: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1631,7 +1462,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+-echo "$as_me:1634: found $ac_dir/$ac_word" >&5
++echo "$as_me:1465: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -1639,10 +1470,10 @@
+ fi
+ CC=$ac_cv_prog_CC
+ if test -n "$CC"; then
+- echo "$as_me:1642: result: $CC" >&5
++ echo "$as_me:1473: result: $CC" >&5
+ echo "${ECHO_T}$CC" >&6
+ else
+- echo "$as_me:1645: result: no" >&5
++ echo "$as_me:1476: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -1651,11 +1482,11 @@
+ fi
+ if test -z "$CC"; then
+ ac_ct_CC=$CC
+- for ac_prog in cl
++ for ac_prog in $cf_PROG_CC
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+-echo "$as_me:1658: checking for $ac_word" >&5
++echo "$as_me:1489: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1670,7 +1501,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+-echo "$as_me:1673: found $ac_dir/$ac_word" >&5
++echo "$as_me:1504: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -1678,10 +1509,10 @@
+ fi
+ ac_ct_CC=$ac_cv_prog_ac_ct_CC
+ if test -n "$ac_ct_CC"; then
+- echo "$as_me:1681: result: $ac_ct_CC" >&5
++ echo "$as_me:1512: result: $ac_ct_CC" >&5
+ echo "${ECHO_T}$ac_ct_CC" >&6
+ else
+- echo "$as_me:1684: result: no" >&5
++ echo "$as_me:1515: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -1691,34 +1522,32 @@
+ CC=$ac_ct_CC
+ fi
+
+-fi
+-
+-test -z "$CC" && { { echo "$as_me:1696: error: no acceptable cc found in \$PATH" >&5
++test -z "$CC" && { { echo "$as_me:1525: error: no acceptable cc found in \$PATH" >&5
+ echo "$as_me: error: no acceptable cc found in \$PATH" >&2;}
+ { (exit 1); exit 1; }; }
+
+ # Provide some information about the compiler.
+-echo "$as_me:1701:" \
++echo "$as_me:1530:" \
+ "checking for C compiler version" >&5
+ ac_compiler=`set X $ac_compile; echo $2`
+-{ (eval echo "$as_me:1704: \"$ac_compiler --version </dev/null >&5\"") >&5
++{ (eval echo "$as_me:1533: \"$ac_compiler --version </dev/null >&5\"") >&5
+ (eval $ac_compiler --version </dev/null >&5) 2>&5
+ ac_status=$?
+- echo "$as_me:1707: \$? = $ac_status" >&5
++ echo "$as_me:1536: \$? = $ac_status" >&5
+ (exit $ac_status); }
+-{ (eval echo "$as_me:1709: \"$ac_compiler -v </dev/null >&5\"") >&5
++{ (eval echo "$as_me:1538: \"$ac_compiler -v </dev/null >&5\"") >&5
+ (eval $ac_compiler -v </dev/null >&5) 2>&5
+ ac_status=$?
+- echo "$as_me:1712: \$? = $ac_status" >&5
++ echo "$as_me:1541: \$? = $ac_status" >&5
+ (exit $ac_status); }
+-{ (eval echo "$as_me:1714: \"$ac_compiler -V </dev/null >&5\"") >&5
++{ (eval echo "$as_me:1543: \"$ac_compiler -V </dev/null >&5\"") >&5
+ (eval $ac_compiler -V </dev/null >&5) 2>&5
+ ac_status=$?
+- echo "$as_me:1717: \$? = $ac_status" >&5
++ echo "$as_me:1546: \$? = $ac_status" >&5
+ (exit $ac_status); }
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1721 "configure"
++#line 1550 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -1734,13 +1563,13 @@
+ # Try to create an executable without -o first, disregard a.out.
+ # It will help us diagnose broken compilers, and finding out an intuition
+ # of exeext.
+-echo "$as_me:1737: checking for C compiler default output" >&5
++echo "$as_me:1566: checking for C compiler default output" >&5
+ echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6
+ ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+-if { (eval echo "$as_me:1740: \"$ac_link_default\"") >&5
++if { (eval echo "$as_me:1569: \"$ac_link_default\"") >&5
+ (eval $ac_link_default) 2>&5
+ ac_status=$?
+- echo "$as_me:1743: \$? = $ac_status" >&5
++ echo "$as_me:1572: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # Find the output, starting from the most likely. This scheme is
+ # not robust to junk in `.', hence go to wildcards (a.*) only as a last
+@@ -1763,34 +1592,34 @@
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-{ { echo "$as_me:1766: error: C compiler cannot create executables" >&5
++{ { echo "$as_me:1595: error: C compiler cannot create executables" >&5
+ echo "$as_me: error: C compiler cannot create executables" >&2;}
+ { (exit 77); exit 77; }; }
+ fi
+
+ ac_exeext=$ac_cv_exeext
+-echo "$as_me:1772: result: $ac_file" >&5
++echo "$as_me:1601: result: $ac_file" >&5
+ echo "${ECHO_T}$ac_file" >&6
+
+ # Check the compiler produces executables we can run. If not, either
+ # the compiler is broken, or we cross compile.
+-echo "$as_me:1777: checking whether the C compiler works" >&5
++echo "$as_me:1606: checking whether the C compiler works" >&5
+ echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
+ # FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+ # If not cross compiling, check that we can run a simple program.
+ if test "$cross_compiling" != yes; then
+ if { ac_try='./$ac_file'
+- { (eval echo "$as_me:1783: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1612: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1786: \$? = $ac_status" >&5
++ echo "$as_me:1615: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+- { { echo "$as_me:1793: error: cannot run C compiled programs.
++ { { echo "$as_me:1622: error: cannot run C compiled programs.
+ If you meant to cross compile, use \`--host'." >&5
+ echo "$as_me: error: cannot run C compiled programs.
+ If you meant to cross compile, use \`--host'." >&2;}
+@@ -1798,24 +1627,24 @@
+ fi
+ fi
+ fi
+-echo "$as_me:1801: result: yes" >&5
++echo "$as_me:1630: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+
+ rm -f a.out a.exe conftest$ac_cv_exeext
+ ac_clean_files=$ac_clean_files_save
+ # Check the compiler produces executables we can run. If not, either
+ # the compiler is broken, or we cross compile.
+-echo "$as_me:1808: checking whether we are cross compiling" >&5
++echo "$as_me:1637: checking whether we are cross compiling" >&5
+ echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
+-echo "$as_me:1810: result: $cross_compiling" >&5
++echo "$as_me:1639: result: $cross_compiling" >&5
+ echo "${ECHO_T}$cross_compiling" >&6
+
+-echo "$as_me:1813: checking for executable suffix" >&5
++echo "$as_me:1642: checking for executable suffix" >&5
+ echo $ECHO_N "checking for executable suffix... $ECHO_C" >&6
+-if { (eval echo "$as_me:1815: \"$ac_link\"") >&5
++if { (eval echo "$as_me:1644: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:1818: \$? = $ac_status" >&5
++ echo "$as_me:1647: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
+ # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
+@@ -1831,25 +1660,25 @@
+ esac
+ done
+ else
+- { { echo "$as_me:1834: error: cannot compute EXEEXT: cannot compile and link" >&5
++ { { echo "$as_me:1663: error: cannot compute EXEEXT: cannot compile and link" >&5
+ echo "$as_me: error: cannot compute EXEEXT: cannot compile and link" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ rm -f conftest$ac_cv_exeext
+-echo "$as_me:1840: result: $ac_cv_exeext" >&5
++echo "$as_me:1669: result: $ac_cv_exeext" >&5
+ echo "${ECHO_T}$ac_cv_exeext" >&6
+
+ rm -f conftest.$ac_ext
+ EXEEXT=$ac_cv_exeext
+ ac_exeext=$EXEEXT
+-echo "$as_me:1846: checking for object suffix" >&5
++echo "$as_me:1675: checking for object suffix" >&5
+ echo $ECHO_N "checking for object suffix... $ECHO_C" >&6
+ if test "${ac_cv_objext+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1852 "configure"
++#line 1681 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -1861,10 +1690,10 @@
+ }
+ _ACEOF
+ rm -f conftest.o conftest.obj
+-if { (eval echo "$as_me:1864: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1693: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1867: \$? = $ac_status" >&5
++ echo "$as_me:1696: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+ case $ac_file in
+@@ -1876,24 +1705,24 @@
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-{ { echo "$as_me:1879: error: cannot compute OBJEXT: cannot compile" >&5
++{ { echo "$as_me:1708: error: cannot compute OBJEXT: cannot compile" >&5
+ echo "$as_me: error: cannot compute OBJEXT: cannot compile" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ rm -f conftest.$ac_cv_objext conftest.$ac_ext
+ fi
+-echo "$as_me:1886: result: $ac_cv_objext" >&5
++echo "$as_me:1715: result: $ac_cv_objext" >&5
+ echo "${ECHO_T}$ac_cv_objext" >&6
+ OBJEXT=$ac_cv_objext
+ ac_objext=$OBJEXT
+-echo "$as_me:1890: checking whether we are using the GNU C compiler" >&5
++echo "$as_me:1719: checking whether we are using the GNU C compiler" >&5
+ echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
+ if test "${ac_cv_c_compiler_gnu+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1896 "configure"
++#line 1725 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -1908,16 +1737,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:1911: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1740: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1914: \$? = $ac_status" >&5
++ echo "$as_me:1743: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:1917: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1746: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1920: \$? = $ac_status" >&5
++ echo "$as_me:1749: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_compiler_gnu=yes
+ else
+@@ -1929,19 +1758,19 @@
+ ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+ fi
+-echo "$as_me:1932: result: $ac_cv_c_compiler_gnu" >&5
++echo "$as_me:1761: result: $ac_cv_c_compiler_gnu" >&5
+ echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
+ GCC=`test $ac_compiler_gnu = yes && echo yes`
+ ac_test_CFLAGS=${CFLAGS+set}
+ ac_save_CFLAGS=$CFLAGS
+ CFLAGS="-g"
+-echo "$as_me:1938: checking whether $CC accepts -g" >&5
++echo "$as_me:1767: checking whether $CC accepts -g" >&5
+ echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
+ if test "${ac_cv_prog_cc_g+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1944 "configure"
++#line 1773 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -1953,16 +1782,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:1956: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1785: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1959: \$? = $ac_status" >&5
++ echo "$as_me:1788: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:1962: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1791: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1965: \$? = $ac_status" >&5
++ echo "$as_me:1794: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_prog_cc_g=yes
+ else
+@@ -1972,7 +1801,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:1975: result: $ac_cv_prog_cc_g" >&5
++echo "$as_me:1804: result: $ac_cv_prog_cc_g" >&5
+ echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+@@ -1999,16 +1828,16 @@
+ #endif
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:2002: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1831: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:2005: \$? = $ac_status" >&5
++ echo "$as_me:1834: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:2008: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1837: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2011: \$? = $ac_status" >&5
++ echo "$as_me:1840: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ for ac_declaration in \
+ ''\
+@@ -2020,7 +1849,7 @@
+ 'void exit (int);'
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2023 "configure"
++#line 1852 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ $ac_declaration
+@@ -2033,16 +1862,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:2036: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1865: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:2039: \$? = $ac_status" >&5
++ echo "$as_me:1868: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:2042: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1871: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2045: \$? = $ac_status" >&5
++ echo "$as_me:1874: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -2052,7 +1881,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2055 "configure"
++#line 1884 "configure"
+ #include "confdefs.h"
+ $ac_declaration
+ int
+@@ -2064,16 +1893,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:2067: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1896: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:2070: \$? = $ac_status" >&5
++ echo "$as_me:1899: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:2073: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1902: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2076: \$? = $ac_status" >&5
++ echo "$as_me:1905: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -2103,55 +1932,246 @@
+
+ GCC_VERSION=none
+ if test "$GCC" = yes ; then
+- echo "$as_me:2106: checking version of $CC" >&5
++ echo "$as_me:1935: checking version of $CC" >&5
+ echo $ECHO_N "checking version of $CC... $ECHO_C" >&6
+- GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[^0-9.]*//' -e 's/[^0-9.].*//'`"
++ GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC[^)]*) //' -e 's/^.*(Debian[^)]*) //' -e 's/^[^0-9.]*//' -e 's/[^0-9.].*//'`"
+ test -z "$GCC_VERSION" && GCC_VERSION=unknown
+- echo "$as_me:2110: result: $GCC_VERSION" >&5
++ echo "$as_me:1939: result: $GCC_VERSION" >&5
+ echo "${ECHO_T}$GCC_VERSION" >&6
+ fi
+
+-ac_ext=c
+-ac_cpp='$CPP $CPPFLAGS'
+-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+-ac_main_return=return
+-echo "$as_me:2120: checking how to run the C preprocessor" >&5
+-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
+-# On Suns, sometimes $CPP names a directory.
+-if test -n "$CPP" && test -d "$CPP"; then
+- CPP=
+-fi
+-if test -z "$CPP"; then
+- if test "${ac_cv_prog_CPP+set}" = set; then
++echo "$as_me:1943: checking for $CC option to accept ANSI C" >&5
++echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
++if test "${ac_cv_prog_cc_stdc+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- # Double quotes because CPP needs to be expanded
+- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+- do
+- ac_preproc_ok=false
+-for ac_c_preproc_warn_flag in '' yes
+-do
+- # Use a header file that comes with gcc, so configuring glibc
+- # with a fresh cross-compiler works.
+- # On the NeXT, cc -E runs the code through the compiler's parser,
+- # not just through cpp. "Syntax error" is here to catch this case.
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 2141 "configure"
++ ac_cv_prog_cc_stdc=no
++ac_save_CC=$CC
++cat >conftest.$ac_ext <<_ACEOF
++#line 1951 "configure"
+ #include "confdefs.h"
+-#include <assert.h>
+- Syntax error
++#include <stdarg.h>
++#include <stdio.h>
++#include <sys/types.h>
++#include <sys/stat.h>
++/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
++struct buf { int x; };
++FILE * (*rcsopen) (struct buf *, struct stat *, int);
++static char *e (p, i)
++ char **p;
++ int i;
++{
++ return p[i];
++}
++static char *f (char * (*g) (char **, int), char **p, ...)
++{
++ char *s;
++ va_list v;
++ va_start (v,p);
++ s = g (p, va_arg (v,int));
++ va_end (v);
++ return s;
++}
++int test (int i, double x);
++struct s1 {int (*f) (int a);};
++struct s2 {int (*f) (double a);};
++int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
++int argc;
++char **argv;
++int
++main ()
++{
++return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
++ ;
++ return 0;
++}
+ _ACEOF
+-if { (eval echo "$as_me:2146: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+- ac_status=$?
+- egrep -v '^ *\+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:2152: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
++# Don't try gcc -ansi; that turns off useful extensions and
++# breaks some systems' header files.
++# AIX -qlanglvl=ansi
++# Ultrix and OSF/1 -std1
++# HP-UX 10.20 and later -Ae
++# HP-UX older versions -Aa -D_HPUX_SOURCE
++# SVR4 -Xc -D__EXTENSIONS__
++for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
++do
++ CC="$ac_save_CC $ac_arg"
++ rm -f conftest.$ac_objext
++if { (eval echo "$as_me:2000: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:2003: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:2006: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:2009: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_prog_cc_stdc=$ac_arg
++break
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++fi
++rm -f conftest.$ac_objext
++done
++rm -f conftest.$ac_ext conftest.$ac_objext
++CC=$ac_save_CC
++
++fi
++
++case "x$ac_cv_prog_cc_stdc" in
++ x|xno)
++ echo "$as_me:2026: result: none needed" >&5
++echo "${ECHO_T}none needed" >&6 ;;
++ *)
++ echo "$as_me:2029: result: $ac_cv_prog_cc_stdc" >&5
++echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
++ CC="$CC $ac_cv_prog_cc_stdc" ;;
++esac
++
++# This should have been defined by AC_PROG_CC
++: ${CC:=cc}
++
++echo "$as_me:2037: checking \$CC variable" >&5
++echo $ECHO_N "checking \$CC variable... $ECHO_C" >&6
++case "$CC" in #(vi
++*[\ \ ]-[IUD]*)
++ echo "$as_me:2041: result: broken" >&5
++echo "${ECHO_T}broken" >&6
++ { echo "$as_me:2043: WARNING: your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options" >&5
++echo "$as_me: WARNING: your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options" >&2;}
++ # humor him...
++ cf_flags=`echo "$CC" | sed -e 's/^[^ ]*[ ]//'`
++ CC=`echo "$CC" | sed -e 's/[ ].*//'`
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in $cf_flags
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
++fi
++
++if test -n "$cf_new_cppflags" ; then
++
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
++
++ ;;
++*)
++ echo "$as_me:2129: result: ok" >&5
++echo "${ECHO_T}ok" >&6
++ ;;
++esac
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++ac_main_return=return
++echo "$as_me:2140: checking how to run the C preprocessor" >&5
++echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
++# On Suns, sometimes $CPP names a directory.
++if test -n "$CPP" && test -d "$CPP"; then
++ CPP=
++fi
++if test -z "$CPP"; then
++ if test "${ac_cv_prog_CPP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ # Double quotes because CPP needs to be expanded
++ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
++ do
++ ac_preproc_ok=false
++for ac_c_preproc_warn_flag in '' yes
++do
++ # Use a header file that comes with gcc, so configuring glibc
++ # with a fresh cross-compiler works.
++ # On the NeXT, cc -E runs the code through the compiler's parser,
++ # not just through cpp. "Syntax error" is here to catch this case.
++ cat >conftest.$ac_ext <<_ACEOF
++#line 2161 "configure"
++#include "confdefs.h"
++#include <assert.h>
++ Syntax error
++_ACEOF
++if { (eval echo "$as_me:2166: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ egrep -v '^ *\+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:2172: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+ else
+ ac_cpp_err=
+@@ -2172,17 +2192,17 @@
+ # OK, works on sane cases. Now check whether non-existent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2175 "configure"
++#line 2195 "configure"
+ #include "confdefs.h"
+ #include <ac_nonexistent.h>
+ _ACEOF
+-if { (eval echo "$as_me:2179: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:2199: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:2185: \$? = $ac_status" >&5
++ echo "$as_me:2205: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -2219,7 +2239,7 @@
+ else
+ ac_cv_prog_CPP=$CPP
+ fi
+-echo "$as_me:2222: result: $CPP" >&5
++echo "$as_me:2242: result: $CPP" >&5
+ echo "${ECHO_T}$CPP" >&6
+ ac_preproc_ok=false
+ for ac_c_preproc_warn_flag in '' yes
+@@ -2229,18 +2249,18 @@
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2232 "configure"
++#line 2252 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+ Syntax error
+ _ACEOF
+-if { (eval echo "$as_me:2237: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:2257: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:2243: \$? = $ac_status" >&5
++ echo "$as_me:2263: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -2263,17 +2283,17 @@
+ # OK, works on sane cases. Now check whether non-existent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2266 "configure"
++#line 2286 "configure"
+ #include "confdefs.h"
+ #include <ac_nonexistent.h>
+ _ACEOF
+-if { (eval echo "$as_me:2270: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:2290: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:2276: \$? = $ac_status" >&5
++ echo "$as_me:2296: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -2301,7 +2321,7 @@
+ if $ac_preproc_ok; then
+ :
+ else
+- { { echo "$as_me:2304: error: C preprocessor \"$CPP\" fails sanity check" >&5
++ { { echo "$as_me:2324: error: C preprocessor \"$CPP\" fails sanity check" >&5
+ echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -2314,14 +2334,14 @@
+ ac_main_return=return
+
+ if test $ac_cv_c_compiler_gnu = yes; then
+- echo "$as_me:2317: checking whether $CC needs -traditional" >&5
++ echo "$as_me:2337: checking whether $CC needs -traditional" >&5
+ echo $ECHO_N "checking whether $CC needs -traditional... $ECHO_C" >&6
+ if test "${ac_cv_prog_gcc_traditional+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_pattern="Autoconf.*'x'"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2324 "configure"
++#line 2344 "configure"
+ #include "confdefs.h"
+ #include <sgtty.h>
+ int Autoconf = TIOCGETP;
+@@ -2336,7 +2356,7 @@
+
+ if test $ac_cv_prog_gcc_traditional = no; then
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2339 "configure"
++#line 2359 "configure"
+ #include "confdefs.h"
+ #include <termio.h>
+ int Autoconf = TCGETA;
+@@ -2349,14 +2369,14 @@
+
+ fi
+ fi
+-echo "$as_me:2352: result: $ac_cv_prog_gcc_traditional" >&5
++echo "$as_me:2372: result: $ac_cv_prog_gcc_traditional" >&5
+ echo "${ECHO_T}$ac_cv_prog_gcc_traditional" >&6
+ if test $ac_cv_prog_gcc_traditional = yes; then
+ CC="$CC -traditional"
+ fi
+ fi
+
+-echo "$as_me:2359: checking whether $CC understands -c and -o together" >&5
++echo "$as_me:2379: checking whether $CC understands -c and -o together" >&5
+ echo $ECHO_N "checking whether $CC understands -c and -o together... $ECHO_C" >&6
+ if test "${cf_cv_prog_CC_c_o+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2372,15 +2392,15 @@
+ # We do the test twice because some compilers refuse to overwrite an
+ # existing .o file with -o, though they will create one.
+ ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
+-if { (eval echo "$as_me:2375: \"$ac_try\"") >&5
++if { (eval echo "$as_me:2395: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2378: \$? = $ac_status" >&5
++ echo "$as_me:2398: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- test -f conftest2.$ac_objext && { (eval echo "$as_me:2380: \"$ac_try\"") >&5
++ test -f conftest2.$ac_objext && { (eval echo "$as_me:2400: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2383: \$? = $ac_status" >&5
++ echo "$as_me:2403: \$? = $ac_status" >&5
+ (exit $ac_status); };
+ then
+ eval cf_cv_prog_CC_c_o=yes
+@@ -2391,318 +2411,24 @@
+
+ fi
+ if test $cf_cv_prog_CC_c_o = yes; then
+- echo "$as_me:2394: result: yes" >&5
++ echo "$as_me:2414: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ else
+- echo "$as_me:2397: result: no" >&5
++ echo "$as_me:2417: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+-echo "$as_me:2401: checking for POSIXized ISC" >&5
+-echo $ECHO_N "checking for POSIXized ISC... $ECHO_C" >&6
+-if test -d /etc/conf/kconfig.d &&
+- grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
+-then
+- echo "$as_me:2406: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
+- ISC=yes # If later tests want to check for ISC.
+-
+-cat >>confdefs.h <<\EOF
+-#define _POSIX_SOURCE 1
+-EOF
+-
+- if test "$GCC" = yes; then
+- CC="$CC -posix"
+- else
+- CC="$CC -Xp"
+- fi
+-else
+- echo "$as_me:2420: result: no" >&5
+-echo "${ECHO_T}no" >&6
+- ISC=
+-fi
+-
+-echo "$as_me:2425: checking for ${CC:-cc} option to accept ANSI C" >&5
+-echo $ECHO_N "checking for ${CC:-cc} option to accept ANSI C... $ECHO_C" >&6
+-if test "${cf_cv_ansi_cc+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+-
+-cf_cv_ansi_cc=no
+-cf_save_CFLAGS="$CFLAGS"
+-cf_save_CPPFLAGS="$CPPFLAGS"
+-# Don't try gcc -ansi; that turns off useful extensions and
+-# breaks some systems' header files.
+-# AIX -qlanglvl=ansi
+-# Ultrix and OSF/1 -std1
+-# HP-UX -Aa -D_HPUX_SOURCE
+-# SVR4 -Xc
+-# UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes)
+-for cf_arg in "-DCC_HAS_PROTOS" \
+- "" \
+- -qlanglvl=ansi \
+- -std1 \
+- -Ae \
+- "-Aa -D_HPUX_SOURCE" \
+- -Xc
+-do
+-
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
+-
+-for cf_add_cflags in $cf_arg
+-do
+-case $cf_fix_cppflags in
+-no)
+- case $cf_add_cflags in #(vi
+- -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+- case $cf_add_cflags in
+- -D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
+-
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- *$cf_add_cflags) #(vi
+- ;;
+- *) #(vi
+- case $cf_add_cflags in #(vi
+- -D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+-
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+-
+- ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- *)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+-yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+-
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
+-done
+-
+-if test -n "$cf_new_cflags" ; then
+-
+- CFLAGS="$CFLAGS $cf_new_cflags"
+-fi
+-
+-if test -n "$cf_new_cppflags" ; then
+-
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
+-fi
+-
+-if test -n "$cf_new_extra_cppflags" ; then
+-
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+-fi
+-
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 2529 "configure"
+-#include "confdefs.h"
+-
+-#ifndef CC_HAS_PROTOS
+-#if !defined(__STDC__) || (__STDC__ != 1)
+-choke me
+-#endif
+-#endif
+-
+-int
+-main ()
+-{
+-
+- int test (int i, double x);
+- struct s1 {int (*f) (int a);};
+- struct s2 {int (*f) (double a);};
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:2550: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:2553: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:2556: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:2559: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- cf_cv_ansi_cc="$cf_arg"; break
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-done
+-CFLAGS="$cf_save_CFLAGS"
+-CPPFLAGS="$cf_save_CPPFLAGS"
+-
+-fi
+-echo "$as_me:2572: result: $cf_cv_ansi_cc" >&5
+-echo "${ECHO_T}$cf_cv_ansi_cc" >&6
+-
+-if test "$cf_cv_ansi_cc" != "no"; then
+-if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then
+-
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
+-
+-for cf_add_cflags in $cf_cv_ansi_cc
+-do
+-case $cf_fix_cppflags in
+-no)
+- case $cf_add_cflags in #(vi
+- -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+- case $cf_add_cflags in
+- -D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
+-
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- *$cf_add_cflags) #(vi
+- ;;
+- *) #(vi
+- case $cf_add_cflags in #(vi
+- -D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+-
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+-
+- ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- *)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+-yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+-
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
+-done
+-
+-if test -n "$cf_new_cflags" ; then
+-
+- CFLAGS="$CFLAGS $cf_new_cflags"
+-fi
+-
+-if test -n "$cf_new_cppflags" ; then
+-
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
+-fi
+-
+-if test -n "$cf_new_extra_cppflags" ; then
+-
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+-fi
+-
+-else
+- cat >>confdefs.h <<\EOF
+-#define CC_HAS_PROTOS 1
+-EOF
+-
+-fi
+-fi
+-
+-if test "$cf_cv_ansi_cc" = "no"; then
+- { { echo "$as_me:2665: error: Your compiler does not appear to recognize prototypes.
+-You have the following choices:
+- a. adjust your compiler options
+- b. get an up-to-date compiler
+- c. use a wrapper such as unproto" >&5
+-echo "$as_me: error: Your compiler does not appear to recognize prototypes.
+-You have the following choices:
+- a. adjust your compiler options
+- b. get an up-to-date compiler
+- c. use a wrapper such as unproto" >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+-
+-case $cf_cv_system_name in
+-os2*)
+- CFLAGS="$CFLAGS -Zmt"
+- CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__"
+- CXXFLAGS="$CXXFLAGS -Zmt"
+- # autoconf's macro sets -Zexe and suffix both, which conflict:w
+- LDFLAGS="$LDFLAGS -Zmt -Zcrtdll"
+- ac_cv_exeext=.exe
+- ;;
+-esac
+-
+-PROG_EXT="$EXEEXT"
+-
+-test -n "$PROG_EXT" && cat >>confdefs.h <<EOF
+-#define PROG_EXT "$PROG_EXT"
+-EOF
+-
+ if test "$cross_compiling" = yes ; then
+ LDCONFIG=:
+ else
+ case "$cf_cv_system_name" in #(vi
+-dragonfly*|freebsd*) #(vi
++dragonfly*|mirbsd*|freebsd*) #(vi
+ test -z "$LDCONFIG" && LDCONFIG="/sbin/ldconfig -R"
+ ;;
+ *) LDPATH=$PATH:/sbin:/usr/sbin
+ # Extract the first word of "ldconfig", so it can be a program name with args.
+ set dummy ldconfig; ac_word=$2
+-echo "$as_me:2705: checking for $ac_word" >&5
++echo "$as_me:2431: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_path_LDCONFIG+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2719,7 +2445,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ if $as_executable_p "$ac_dir/$ac_word"; then
+ ac_cv_path_LDCONFIG="$ac_dir/$ac_word"
+- echo "$as_me:2722: found $ac_dir/$ac_word" >&5
++ echo "$as_me:2448: found $ac_dir/$ac_word" >&5
+ break
+ fi
+ done
+@@ -2730,10 +2456,10 @@
+ LDCONFIG=$ac_cv_path_LDCONFIG
+
+ if test -n "$LDCONFIG"; then
+- echo "$as_me:2733: result: $LDCONFIG" >&5
++ echo "$as_me:2459: result: $LDCONFIG" >&5
+ echo "${ECHO_T}$LDCONFIG" >&6
+ else
+- echo "$as_me:2736: result: no" >&5
++ echo "$as_me:2462: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -2741,7 +2467,7 @@
+ esac
+ fi
+
+-echo "$as_me:2744: checking if you want to ensure bool is consistent with C++" >&5
++echo "$as_me:2470: checking if you want to ensure bool is consistent with C++" >&5
+ echo $ECHO_N "checking if you want to ensure bool is consistent with C++... $ECHO_C" >&6
+
+ # Check whether --with-cxx or --without-cxx was given.
+@@ -2751,7 +2477,7 @@
+ else
+ cf_with_cxx=yes
+ fi;
+-echo "$as_me:2754: result: $cf_with_cxx" >&5
++echo "$as_me:2480: result: $cf_with_cxx" >&5
+ echo "${ECHO_T}$cf_with_cxx" >&6
+ if test "X$cf_with_cxx" = Xno ; then
+ CXX=""
+@@ -2769,7 +2495,7 @@
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+ set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+-echo "$as_me:2772: checking for $ac_word" >&5
++echo "$as_me:2498: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_CXX+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2784,7 +2510,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+-echo "$as_me:2787: found $ac_dir/$ac_word" >&5
++echo "$as_me:2513: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -2792,10 +2518,10 @@
+ fi
+ CXX=$ac_cv_prog_CXX
+ if test -n "$CXX"; then
+- echo "$as_me:2795: result: $CXX" >&5
++ echo "$as_me:2521: result: $CXX" >&5
+ echo "${ECHO_T}$CXX" >&6
+ else
+- echo "$as_me:2798: result: no" >&5
++ echo "$as_me:2524: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -2808,7 +2534,7 @@
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+-echo "$as_me:2811: checking for $ac_word" >&5
++echo "$as_me:2537: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2823,7 +2549,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_CXX="$ac_prog"
+-echo "$as_me:2826: found $ac_dir/$ac_word" >&5
++echo "$as_me:2552: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -2831,10 +2557,10 @@
+ fi
+ ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+ if test -n "$ac_ct_CXX"; then
+- echo "$as_me:2834: result: $ac_ct_CXX" >&5
++ echo "$as_me:2560: result: $ac_ct_CXX" >&5
+ echo "${ECHO_T}$ac_ct_CXX" >&6
+ else
+- echo "$as_me:2837: result: no" >&5
++ echo "$as_me:2563: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -2846,32 +2572,32 @@
+ fi
+
+ # Provide some information about the compiler.
+-echo "$as_me:2849:" \
++echo "$as_me:2575:" \
+ "checking for C++ compiler version" >&5
+ ac_compiler=`set X $ac_compile; echo $2`
+-{ (eval echo "$as_me:2852: \"$ac_compiler --version </dev/null >&5\"") >&5
++{ (eval echo "$as_me:2578: \"$ac_compiler --version </dev/null >&5\"") >&5
+ (eval $ac_compiler --version </dev/null >&5) 2>&5
+ ac_status=$?
+- echo "$as_me:2855: \$? = $ac_status" >&5
++ echo "$as_me:2581: \$? = $ac_status" >&5
+ (exit $ac_status); }
+-{ (eval echo "$as_me:2857: \"$ac_compiler -v </dev/null >&5\"") >&5
++{ (eval echo "$as_me:2583: \"$ac_compiler -v </dev/null >&5\"") >&5
+ (eval $ac_compiler -v </dev/null >&5) 2>&5
+ ac_status=$?
+- echo "$as_me:2860: \$? = $ac_status" >&5
++ echo "$as_me:2586: \$? = $ac_status" >&5
+ (exit $ac_status); }
+-{ (eval echo "$as_me:2862: \"$ac_compiler -V </dev/null >&5\"") >&5
++{ (eval echo "$as_me:2588: \"$ac_compiler -V </dev/null >&5\"") >&5
+ (eval $ac_compiler -V </dev/null >&5) 2>&5
+ ac_status=$?
+- echo "$as_me:2865: \$? = $ac_status" >&5
++ echo "$as_me:2591: \$? = $ac_status" >&5
+ (exit $ac_status); }
+
+-echo "$as_me:2868: checking whether we are using the GNU C++ compiler" >&5
++echo "$as_me:2594: checking whether we are using the GNU C++ compiler" >&5
+ echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6
+ if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2874 "configure"
++#line 2600 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -2886,16 +2612,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:2889: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:2615: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:2892: \$? = $ac_status" >&5
++ echo "$as_me:2618: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:2895: \"$ac_try\"") >&5
++ { (eval echo "$as_me:2621: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2898: \$? = $ac_status" >&5
++ echo "$as_me:2624: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_compiler_gnu=yes
+ else
+@@ -2907,19 +2633,19 @@
+ ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+
+ fi
+-echo "$as_me:2910: result: $ac_cv_cxx_compiler_gnu" >&5
++echo "$as_me:2636: result: $ac_cv_cxx_compiler_gnu" >&5
+ echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6
+ GXX=`test $ac_compiler_gnu = yes && echo yes`
+ ac_test_CXXFLAGS=${CXXFLAGS+set}
+ ac_save_CXXFLAGS=$CXXFLAGS
+ CXXFLAGS="-g"
+-echo "$as_me:2916: checking whether $CXX accepts -g" >&5
++echo "$as_me:2642: checking whether $CXX accepts -g" >&5
+ echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6
+ if test "${ac_cv_prog_cxx_g+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2922 "configure"
++#line 2648 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -2931,16 +2657,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:2934: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:2660: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:2937: \$? = $ac_status" >&5
++ echo "$as_me:2663: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:2940: \"$ac_try\"") >&5
++ { (eval echo "$as_me:2666: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2943: \$? = $ac_status" >&5
++ echo "$as_me:2669: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_prog_cxx_g=yes
+ else
+@@ -2950,7 +2676,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:2953: result: $ac_cv_prog_cxx_g" >&5
++echo "$as_me:2679: result: $ac_cv_prog_cxx_g" >&5
+ echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6
+ if test "$ac_test_CXXFLAGS" = set; then
+ CXXFLAGS=$ac_save_CXXFLAGS
+@@ -2977,7 +2703,7 @@
+ 'void exit (int);'
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2980 "configure"
++#line 2706 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ $ac_declaration
+@@ -2990,16 +2716,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:2993: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:2719: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:2996: \$? = $ac_status" >&5
++ echo "$as_me:2722: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:2999: \"$ac_try\"") >&5
++ { (eval echo "$as_me:2725: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3002: \$? = $ac_status" >&5
++ echo "$as_me:2728: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -3009,7 +2735,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 3012 "configure"
++#line 2738 "configure"
+ #include "confdefs.h"
+ $ac_declaration
+ int
+@@ -3021,16 +2747,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:3024: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:2750: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:3027: \$? = $ac_status" >&5
++ echo "$as_me:2753: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:3030: \"$ac_try\"") >&5
++ { (eval echo "$as_me:2756: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3033: \$? = $ac_status" >&5
++ echo "$as_me:2759: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -3053,11 +2779,11 @@
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ ac_main_return=return
+
+- # autoconf 2.5x removed the error - by hardcoding it to g++.
++ # autoconf 2.5x removed the error (hardcoding it to g++, or just blank)
+ if test "$CXX" = "g++" ; then
+ # Extract the first word of "g++", so it can be a program name with args.
+ set dummy g++; ac_word=$2
+-echo "$as_me:3060: checking for $ac_word" >&5
++echo "$as_me:2786: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_path_CXX+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3074,7 +2800,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ if $as_executable_p "$ac_dir/$ac_word"; then
+ ac_cv_path_CXX="$ac_dir/$ac_word"
+- echo "$as_me:3077: found $ac_dir/$ac_word" >&5
++ echo "$as_me:2803: found $ac_dir/$ac_word" >&5
+ break
+ fi
+ done
+@@ -3085,28 +2811,30 @@
+ CXX=$ac_cv_path_CXX
+
+ if test -n "$CXX"; then
+- echo "$as_me:3088: result: $CXX" >&5
++ echo "$as_me:2814: result: $CXX" >&5
+ echo "${ECHO_T}$CXX" >&6
+ else
+- echo "$as_me:3091: result: no" >&5
++ echo "$as_me:2817: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+ fi
+- if test "$CXX" = "g++" ; then
+- { echo "$as_me:3097: WARNING: ignoring hardcoded g++" >&5
+-echo "$as_me: WARNING: ignoring hardcoded g++" >&2;}
++ case "x$CXX" in #(vi
++ x|xg++)
++ { echo "$as_me:2824: WARNING: You don't have any C++ compiler, too bad" >&5
++echo "$as_me: WARNING: You don't have any C++ compiler, too bad" >&2;}
+ cf_with_cxx=no; CXX=""; GXX="";
+- fi
++ ;;
++ esac
+ fi
+
+ GXX_VERSION=none
+ if test "$GXX" = yes; then
+- echo "$as_me:3105: checking version of g++" >&5
+-echo $ECHO_N "checking version of g++... $ECHO_C" >&6
++ echo "$as_me:2833: checking version of ${CXX:-g++}" >&5
++echo $ECHO_N "checking version of ${CXX:-g++}... $ECHO_C" >&6
+ GXX_VERSION="`${CXX:-g++} --version| sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[^0-9.]*//' -e 's/[^0-9.].*//'`"
+ test -z "$GXX_VERSION" && GXX_VERSION=unknown
+- echo "$as_me:3109: result: $GXX_VERSION" >&5
++ echo "$as_me:2837: result: $GXX_VERSION" >&5
+ echo "${ECHO_T}$GXX_VERSION" >&6
+ fi
+
+@@ -3114,12 +2842,12 @@
+ 1*|2.[0-6]*)
+ # GXX=""; CXX=""; ac_cv_prog_gxx=no
+ # cf_cxx_library=no
+- { echo "$as_me:3117: WARNING: templates do not work" >&5
++ { echo "$as_me:2845: WARNING: templates do not work" >&5
+ echo "$as_me: WARNING: templates do not work" >&2;}
+ ;;
+ esac
+
+-echo "$as_me:3122: checking if you want to build C++ binding and demo" >&5
++echo "$as_me:2850: checking if you want to build C++ binding and demo" >&5
+ echo $ECHO_N "checking if you want to build C++ binding and demo... $ECHO_C" >&6
+
+ # Check whether --with-cxx-binding or --without-cxx-binding was given.
+@@ -3129,23 +2857,15 @@
+ else
+ cf_with_cxx_binding=$cf_with_cxx
+ fi;
+-echo "$as_me:3132: result: $cf_with_cxx_binding" >&5
++echo "$as_me:2860: result: $cf_with_cxx_binding" >&5
+ echo "${ECHO_T}$cf_with_cxx_binding" >&6
+
+-echo "$as_me:3135: checking if you want to build with Ada95" >&5
++echo "$as_me:2863: checking if you want to build with Ada95" >&5
+ echo $ECHO_N "checking if you want to build with Ada95... $ECHO_C" >&6
+-
+-# Check whether --with-ada or --without-ada was given.
+-if test "${with_ada+set}" = set; then
+- withval="$with_ada"
+- cf_with_ada=$withval
+-else
+- cf_with_ada=yes
+-fi;
+-echo "$as_me:3145: result: $cf_with_ada" >&5
++echo "$as_me:2865: result: $cf_with_ada" >&5
+ echo "${ECHO_T}$cf_with_ada" >&6
+
+-echo "$as_me:3148: checking if you want to install manpages" >&5
++echo "$as_me:2868: checking if you want to install manpages" >&5
+ echo $ECHO_N "checking if you want to install manpages... $ECHO_C" >&6
+
+ # Check whether --with-manpages or --without-manpages was given.
+@@ -3155,10 +2875,10 @@
+ else
+ cf_with_manpages=yes
+ fi;
+-echo "$as_me:3158: result: $cf_with_manpages" >&5
++echo "$as_me:2878: result: $cf_with_manpages" >&5
+ echo "${ECHO_T}$cf_with_manpages" >&6
+
+-echo "$as_me:3161: checking if you want to build programs such as tic" >&5
++echo "$as_me:2881: checking if you want to build programs such as tic" >&5
+ echo $ECHO_N "checking if you want to build programs such as tic... $ECHO_C" >&6
+
+ # Check whether --with-progs or --without-progs was given.
+@@ -3168,10 +2888,10 @@
+ else
+ cf_with_progs=yes
+ fi;
+-echo "$as_me:3171: result: $cf_with_progs" >&5
++echo "$as_me:2891: result: $cf_with_progs" >&5
+ echo "${ECHO_T}$cf_with_progs" >&6
+
+-echo "$as_me:3174: checking if you want to build test-programs" >&5
++echo "$as_me:2894: checking if you want to build test-programs" >&5
+ echo $ECHO_N "checking if you want to build test-programs... $ECHO_C" >&6
+
+ # Check whether --with-tests or --without-tests was given.
+@@ -3181,10 +2901,10 @@
+ else
+ cf_with_tests=yes
+ fi;
+-echo "$as_me:3184: result: $cf_with_tests" >&5
++echo "$as_me:2904: result: $cf_with_tests" >&5
+ echo "${ECHO_T}$cf_with_tests" >&6
+
+-echo "$as_me:3187: checking if you wish to install curses.h" >&5
++echo "$as_me:2907: checking if you wish to install curses.h" >&5
+ echo $ECHO_N "checking if you wish to install curses.h... $ECHO_C" >&6
+
+ # Check whether --with-curses-h or --without-curses-h was given.
+@@ -3194,7 +2914,7 @@
+ else
+ with_curses_h=yes
+ fi;
+-echo "$as_me:3197: result: $with_curses_h" >&5
++echo "$as_me:2917: result: $with_curses_h" >&5
+ echo "${ECHO_T}$with_curses_h" >&6
+
+ modules_to_build="ncurses"
+@@ -3220,7 +2940,7 @@
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+-echo "$as_me:3223: checking for $ac_word" >&5
++echo "$as_me:2943: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_AWK+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3235,7 +2955,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_AWK="$ac_prog"
+-echo "$as_me:3238: found $ac_dir/$ac_word" >&5
++echo "$as_me:2958: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3243,21 +2963,21 @@
+ fi
+ AWK=$ac_cv_prog_AWK
+ if test -n "$AWK"; then
+- echo "$as_me:3246: result: $AWK" >&5
++ echo "$as_me:2966: result: $AWK" >&5
+ echo "${ECHO_T}$AWK" >&6
+ else
+- echo "$as_me:3249: result: no" >&5
++ echo "$as_me:2969: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+ test -n "$AWK" && break
+ done
+
+-test -z "$AWK" && { { echo "$as_me:3256: error: No awk program found" >&5
++test -z "$AWK" && { { echo "$as_me:2976: error: No awk program found" >&5
+ echo "$as_me: error: No awk program found" >&2;}
+ { (exit 1); exit 1; }; }
+
+-echo "$as_me:3260: checking for egrep" >&5
++echo "$as_me:2980: checking for egrep" >&5
+ echo $ECHO_N "checking for egrep... $ECHO_C" >&6
+ if test "${ac_cv_prog_egrep+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3267,11 +2987,11 @@
+ else ac_cv_prog_egrep='egrep'
+ fi
+ fi
+-echo "$as_me:3270: result: $ac_cv_prog_egrep" >&5
++echo "$as_me:2990: result: $ac_cv_prog_egrep" >&5
+ echo "${ECHO_T}$ac_cv_prog_egrep" >&6
+ EGREP=$ac_cv_prog_egrep
+
+-test -z "$EGREP" && { { echo "$as_me:3274: error: No egrep program found" >&5
++test -z "$EGREP" && { { echo "$as_me:2994: error: No egrep program found" >&5
+ echo "$as_me: error: No egrep program found" >&2;}
+ { (exit 1); exit 1; }; }
+
+@@ -3287,7 +3007,7 @@
+ # AFS /usr/afsws/bin/install, which mishandles nonexistent args
+ # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+ # ./install, which can be erroneously created by make from ./install.sh.
+-echo "$as_me:3290: checking for a BSD compatible install" >&5
++echo "$as_me:3010: checking for a BSD compatible install" >&5
+ echo $ECHO_N "checking for a BSD compatible install... $ECHO_C" >&6
+ if test -z "$INSTALL"; then
+ if test "${ac_cv_path_install+set}" = set; then
+@@ -3336,7 +3056,7 @@
+ INSTALL=$ac_install_sh
+ fi
+ fi
+-echo "$as_me:3339: result: $INSTALL" >&5
++echo "$as_me:3059: result: $INSTALL" >&5
+ echo "${ECHO_T}$INSTALL" >&6
+
+ # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+@@ -3361,7 +3081,7 @@
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+-echo "$as_me:3364: checking for $ac_word" >&5
++echo "$as_me:3084: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_LINT+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3376,7 +3096,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_LINT="$ac_prog"
+-echo "$as_me:3379: found $ac_dir/$ac_word" >&5
++echo "$as_me:3099: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3384,28 +3104,28 @@
+ fi
+ LINT=$ac_cv_prog_LINT
+ if test -n "$LINT"; then
+- echo "$as_me:3387: result: $LINT" >&5
++ echo "$as_me:3107: result: $LINT" >&5
+ echo "${ECHO_T}$LINT" >&6
+ else
+- echo "$as_me:3390: result: no" >&5
++ echo "$as_me:3110: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+ test -n "$LINT" && break
+ done
+
+-echo "$as_me:3397: checking whether ln -s works" >&5
++echo "$as_me:3117: checking whether ln -s works" >&5
+ echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
+ LN_S=$as_ln_s
+ if test "$LN_S" = "ln -s"; then
+- echo "$as_me:3401: result: yes" >&5
++ echo "$as_me:3121: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ else
+- echo "$as_me:3404: result: no, using $LN_S" >&5
++ echo "$as_me:3124: result: no, using $LN_S" >&5
+ echo "${ECHO_T}no, using $LN_S" >&6
+ fi
+
+-echo "$as_me:3408: checking if $LN_S -f options work" >&5
++echo "$as_me:3128: checking if $LN_S -f options work" >&5
+ echo $ECHO_N "checking if $LN_S -f options work... $ECHO_C" >&6
+
+ rm -f conf$$.src conf$$dst
+@@ -3417,12 +3137,12 @@
+ cf_prog_ln_sf=no
+ fi
+ rm -f conf$$.dst conf$$src
+-echo "$as_me:3420: result: $cf_prog_ln_sf" >&5
++echo "$as_me:3140: result: $cf_prog_ln_sf" >&5
+ echo "${ECHO_T}$cf_prog_ln_sf" >&6
+
+ test "$cf_prog_ln_sf" = yes && LN_S="$LN_S -f"
+
+-echo "$as_me:3425: checking for long file names" >&5
++echo "$as_me:3145: checking for long file names" >&5
+ echo $ECHO_N "checking for long file names... $ECHO_C" >&6
+ if test "${ac_cv_sys_long_file_names+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3461,7 +3181,7 @@
+ rm -rf $ac_xdir 2>/dev/null
+ done
+ fi
+-echo "$as_me:3464: result: $ac_cv_sys_long_file_names" >&5
++echo "$as_me:3184: result: $ac_cv_sys_long_file_names" >&5
+ echo "${ECHO_T}$ac_cv_sys_long_file_names" >&6
+ if test $ac_cv_sys_long_file_names = yes; then
+
+@@ -3473,7 +3193,7 @@
+
+ # if we find pkg-config, check if we should install the ".pc" files.
+
+-echo "$as_me:3476: checking if you want to use pkg-config" >&5
++echo "$as_me:3196: checking if you want to use pkg-config" >&5
+ echo $ECHO_N "checking if you want to use pkg-config... $ECHO_C" >&6
+
+ # Check whether --with-pkg-config or --without-pkg-config was given.
+@@ -3483,7 +3203,7 @@
+ else
+ cf_pkg_config=yes
+ fi;
+-echo "$as_me:3486: result: $cf_pkg_config" >&5
++echo "$as_me:3206: result: $cf_pkg_config" >&5
+ echo "${ECHO_T}$cf_pkg_config" >&6
+
+ case $cf_pkg_config in #(vi
+@@ -3491,10 +3211,11 @@
+ PKG_CONFIG=none
+ ;;
+ yes) #(vi
+- if test -n "$ac_tool_prefix"; then
++
++if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+-echo "$as_me:3497: checking for $ac_word" >&5
++echo "$as_me:3218: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3511,7 +3232,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ if $as_executable_p "$ac_dir/$ac_word"; then
+ ac_cv_path_PKG_CONFIG="$ac_dir/$ac_word"
+- echo "$as_me:3514: found $ac_dir/$ac_word" >&5
++ echo "$as_me:3235: found $ac_dir/$ac_word" >&5
+ break
+ fi
+ done
+@@ -3522,10 +3243,10 @@
+ PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+
+ if test -n "$PKG_CONFIG"; then
+- echo "$as_me:3525: result: $PKG_CONFIG" >&5
++ echo "$as_me:3246: result: $PKG_CONFIG" >&5
+ echo "${ECHO_T}$PKG_CONFIG" >&6
+ else
+- echo "$as_me:3528: result: no" >&5
++ echo "$as_me:3249: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3534,7 +3255,7 @@
+ ac_pt_PKG_CONFIG=$PKG_CONFIG
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+ set dummy pkg-config; ac_word=$2
+-echo "$as_me:3537: checking for $ac_word" >&5
++echo "$as_me:3258: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3551,7 +3272,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ if $as_executable_p "$ac_dir/$ac_word"; then
+ ac_cv_path_ac_pt_PKG_CONFIG="$ac_dir/$ac_word"
+- echo "$as_me:3554: found $ac_dir/$ac_word" >&5
++ echo "$as_me:3275: found $ac_dir/$ac_word" >&5
+ break
+ fi
+ done
+@@ -3563,10 +3284,10 @@
+ ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+
+ if test -n "$ac_pt_PKG_CONFIG"; then
+- echo "$as_me:3566: result: $ac_pt_PKG_CONFIG" >&5
++ echo "$as_me:3287: result: $ac_pt_PKG_CONFIG" >&5
+ echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6
+ else
+- echo "$as_me:3569: result: no" >&5
++ echo "$as_me:3290: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3597,7 +3318,7 @@
+ ;;
+ .[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
+ ;;
+-.\${*prefix}*) #(vi
++.\${*prefix}*|.\${*dir}*) #(vi
+ eval PKG_CONFIG="$PKG_CONFIG"
+ case ".$PKG_CONFIG" in #(vi
+ .NONE/*)
+@@ -3609,7 +3330,7 @@
+ PKG_CONFIG=`echo $PKG_CONFIG | sed -e s%NONE%$cf_path_syntax%`
+ ;;
+ *)
+- { { echo "$as_me:3612: error: expected a pathname, not \"$PKG_CONFIG\"" >&5
++ { { echo "$as_me:3333: error: expected a pathname, not \"$PKG_CONFIG\"" >&5
+ echo "$as_me: error: expected a pathname, not \"$PKG_CONFIG\"" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+@@ -3617,16 +3338,51 @@
+
+ fi
+
+-if test "$PKG_CONFIG" != no ; then
+- echo "$as_me:3621: checking if we should install .pc files for $PKG_CONFIG" >&5
+-echo $ECHO_N "checking if we should install .pc files for $PKG_CONFIG... $ECHO_C" >&6
++if test "$PKG_CONFIG" != none ; then
++ echo "$as_me:3342: checking for $PKG_CONFIG library directory" >&5
++echo $ECHO_N "checking for $PKG_CONFIG library directory... $ECHO_C" >&6
+
+- # Leave this as something that can be overridden in the environment.
+- if test -z "$PKG_CONFIG_LIBDIR" ; then
+- PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG" | sed -e 's,/[^/]*/[^/]*$,,'`/lib/pkgconfig
+- fi
+- PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG_LIBDIR" | sed -e 's/^://' -e 's/:.*//'`
+- if test -n "$PKG_CONFIG_LIBDIR" && test -d "$PKG_CONFIG_LIBDIR" ; then
++# Check whether --with-pkg-config-libdir or --without-pkg-config-libdir was given.
++if test "${with_pkg_config_libdir+set}" = set; then
++ withval="$with_pkg_config_libdir"
++ PKG_CONFIG_LIBDIR=$withval
++else
++ PKG_CONFIG_LIBDIR=yes
++fi;
++
++ case x$PKG_CONFIG_LIBDIR in #(vi
++ x/*) #(vi
++ ;;
++ xyes) #(vi
++ # look for the library directory using the same prefix as the executable
++ cf_path=`echo "$PKG_CONFIG" | sed -e 's,/[^/]*/[^/]*$,,'`
++ case x`(arch) 2>/dev/null` in #(vi
++ *64) #(vi
++ for cf_config in $cf_path/share $cf_path/lib64 $cf_path/lib32 $cf_path/lib
++ do
++ if test -d $cf_config/pkgconfig
++ then
++ PKG_CONFIG_LIBDIR=$cf_config/pkgconfig
++ break
++ fi
++ done
++ ;;
++ *)
++ PKG_CONFIG_LIBDIR=$cf_path/lib/pkgconfig
++ ;;
++ esac
++ ;;
++ *)
++ ;;
++ esac
++
++ echo "$as_me:3379: result: $PKG_CONFIG_LIBDIR" >&5
++echo "${ECHO_T}$PKG_CONFIG_LIBDIR" >&6
++fi
++
++if test "$PKG_CONFIG" != none ; then
++ echo "$as_me:3384: checking if we should install .pc files for $PKG_CONFIG" >&5
++echo $ECHO_N "checking if we should install .pc files for $PKG_CONFIG... $ECHO_C" >&6
+
+ # Check whether --enable-pc-files or --disable-pc-files was given.
+ if test "${enable_pc_files+set}" = set; then
+@@ -3635,18 +3391,48 @@
+ else
+ enable_pc_files=no
+ fi;
+- echo "$as_me:3638: result: $enable_pc_files" >&5
++ echo "$as_me:3394: result: $enable_pc_files" >&5
+ echo "${ECHO_T}$enable_pc_files" >&6
+- else
+- echo "$as_me:3641: result: no" >&5
+-echo "${ECHO_T}no" >&6
+- { echo "$as_me:3643: WARNING: did not find library $PKG_CONFIG_LIBDIR" >&5
+-echo "$as_me: WARNING: did not find library $PKG_CONFIG_LIBDIR" >&2;}
+- enable_pc_files=no
++ if test "$enable_pc_files" != no
++ then
++
++if test "x$prefix" != xNONE; then
++ cf_path_syntax="$prefix"
++else
++ cf_path_syntax="$ac_default_prefix"
++fi
++
++case ".$PKG_CONFIG_LIBDIR" in #(vi
++.\$\(*\)*|.\'*\'*) #(vi
++ ;;
++..|./*|.\\*) #(vi
++ ;;
++.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
++ ;;
++.\${*prefix}*|.\${*dir}*) #(vi
++ eval PKG_CONFIG_LIBDIR="$PKG_CONFIG_LIBDIR"
++ case ".$PKG_CONFIG_LIBDIR" in #(vi
++ .NONE/*)
++ PKG_CONFIG_LIBDIR=`echo $PKG_CONFIG_LIBDIR | sed -e s%NONE%$cf_path_syntax%`
++ ;;
++ esac
++ ;; #(vi
++.no|.NONE/*)
++ PKG_CONFIG_LIBDIR=`echo $PKG_CONFIG_LIBDIR | sed -e s%NONE%$cf_path_syntax%`
++ ;;
++*)
++ { { echo "$as_me:3424: error: expected a pathname, not \"$PKG_CONFIG_LIBDIR\"" >&5
++echo "$as_me: error: expected a pathname, not \"$PKG_CONFIG_LIBDIR\"" >&2;}
++ { (exit 1); exit 1; }; }
++ ;;
++esac
++
+ fi
++else
++ enable_pc_files=no
+ fi
+
+-echo "$as_me:3649: checking if we should assume mixed-case filenames" >&5
++echo "$as_me:3435: checking if we should assume mixed-case filenames" >&5
+ echo $ECHO_N "checking if we should assume mixed-case filenames... $ECHO_C" >&6
+
+ # Check whether --enable-mixed-case or --disable-mixed-case was given.
+@@ -3656,11 +3442,11 @@
+ else
+ enable_mixedcase=auto
+ fi;
+-echo "$as_me:3659: result: $enable_mixedcase" >&5
++echo "$as_me:3445: result: $enable_mixedcase" >&5
+ echo "${ECHO_T}$enable_mixedcase" >&6
+ if test "$enable_mixedcase" = "auto" ; then
+
+-echo "$as_me:3663: checking if filesystem supports mixed-case filenames" >&5
++echo "$as_me:3449: checking if filesystem supports mixed-case filenames" >&5
+ echo $ECHO_N "checking if filesystem supports mixed-case filenames... $ECHO_C" >&6
+ if test "${cf_cv_mixedcase+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3687,16 +3473,18 @@
+ fi
+
+ fi
+-echo "$as_me:3690: result: $cf_cv_mixedcase" >&5
++echo "$as_me:3476: result: $cf_cv_mixedcase" >&5
+ echo "${ECHO_T}$cf_cv_mixedcase" >&6
+-test "$cf_cv_mixedcase" = yes && cat >>confdefs.h <<\EOF
++test "$cf_cv_mixedcase" = yes &&
++cat >>confdefs.h <<\EOF
+ #define MIXEDCASE_FILENAMES 1
+ EOF
+
+ else
+ cf_cv_mixedcase=$enable_mixedcase
+- if test "$enable_mixedcase" = "yes" ; then
+- cat >>confdefs.h <<\EOF
++ if test "x$enable_mixedcase" = "xyes" ; then
++
++cat >>confdefs.h <<\EOF
+ #define MIXEDCASE_FILENAMES 1
+ EOF
+
+@@ -3704,7 +3492,7 @@
+ fi
+
+ # do this after mixed-case option (tags/TAGS is not as important as tic).
+-echo "$as_me:3707: checking whether ${MAKE-make} sets \${MAKE}" >&5
++echo "$as_me:3495: checking whether ${MAKE-make} sets \${MAKE}" >&5
+ echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6
+ set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
+ if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+@@ -3724,11 +3512,11 @@
+ rm -f conftest.make
+ fi
+ if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+- echo "$as_me:3727: result: yes" >&5
++ echo "$as_me:3515: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ SET_MAKE=
+ else
+- echo "$as_me:3731: result: no" >&5
++ echo "$as_me:3519: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ SET_MAKE="MAKE=${MAKE-make}"
+ fi
+@@ -3737,7 +3525,7 @@
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+-echo "$as_me:3740: checking for $ac_word" >&5
++echo "$as_me:3528: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_CTAGS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3752,7 +3540,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_CTAGS="$ac_prog"
+-echo "$as_me:3755: found $ac_dir/$ac_word" >&5
++echo "$as_me:3543: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3760,10 +3548,10 @@
+ fi
+ CTAGS=$ac_cv_prog_CTAGS
+ if test -n "$CTAGS"; then
+- echo "$as_me:3763: result: $CTAGS" >&5
++ echo "$as_me:3551: result: $CTAGS" >&5
+ echo "${ECHO_T}$CTAGS" >&6
+ else
+- echo "$as_me:3766: result: no" >&5
++ echo "$as_me:3554: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3774,7 +3562,7 @@
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+-echo "$as_me:3777: checking for $ac_word" >&5
++echo "$as_me:3565: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ETAGS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3789,7 +3577,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ETAGS="$ac_prog"
+-echo "$as_me:3792: found $ac_dir/$ac_word" >&5
++echo "$as_me:3580: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3797,10 +3585,10 @@
+ fi
+ ETAGS=$ac_cv_prog_ETAGS
+ if test -n "$ETAGS"; then
+- echo "$as_me:3800: result: $ETAGS" >&5
++ echo "$as_me:3588: result: $ETAGS" >&5
+ echo "${ECHO_T}$ETAGS" >&6
+ else
+- echo "$as_me:3803: result: no" >&5
++ echo "$as_me:3591: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3809,7 +3597,7 @@
+
+ # Extract the first word of "${CTAGS:-ctags}", so it can be a program name with args.
+ set dummy ${CTAGS:-ctags}; ac_word=$2
+-echo "$as_me:3812: checking for $ac_word" >&5
++echo "$as_me:3600: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_MAKE_LOWER_TAGS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3824,7 +3612,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_MAKE_LOWER_TAGS="yes"
+-echo "$as_me:3827: found $ac_dir/$ac_word" >&5
++echo "$as_me:3615: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3833,17 +3621,17 @@
+ fi
+ MAKE_LOWER_TAGS=$ac_cv_prog_MAKE_LOWER_TAGS
+ if test -n "$MAKE_LOWER_TAGS"; then
+- echo "$as_me:3836: result: $MAKE_LOWER_TAGS" >&5
++ echo "$as_me:3624: result: $MAKE_LOWER_TAGS" >&5
+ echo "${ECHO_T}$MAKE_LOWER_TAGS" >&6
+ else
+- echo "$as_me:3839: result: no" >&5
++ echo "$as_me:3627: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+ if test "$cf_cv_mixedcase" = yes ; then
+ # Extract the first word of "${ETAGS:-etags}", so it can be a program name with args.
+ set dummy ${ETAGS:-etags}; ac_word=$2
+-echo "$as_me:3846: checking for $ac_word" >&5
++echo "$as_me:3634: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_MAKE_UPPER_TAGS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3858,7 +3646,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_MAKE_UPPER_TAGS="yes"
+-echo "$as_me:3861: found $ac_dir/$ac_word" >&5
++echo "$as_me:3649: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3867,10 +3655,10 @@
+ fi
+ MAKE_UPPER_TAGS=$ac_cv_prog_MAKE_UPPER_TAGS
+ if test -n "$MAKE_UPPER_TAGS"; then
+- echo "$as_me:3870: result: $MAKE_UPPER_TAGS" >&5
++ echo "$as_me:3658: result: $MAKE_UPPER_TAGS" >&5
+ echo "${ECHO_T}$MAKE_UPPER_TAGS" >&6
+ else
+- echo "$as_me:3873: result: no" >&5
++ echo "$as_me:3661: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3890,7 +3678,7 @@
+ MAKE_LOWER_TAGS="#"
+ fi
+
+-echo "$as_me:3893: checking for makeflags variable" >&5
++echo "$as_me:3681: checking for makeflags variable" >&5
+ echo $ECHO_N "checking for makeflags variable... $ECHO_C" >&6
+ if test "${cf_cv_makeflags+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3924,13 +3712,13 @@
+ rm -f cf_makeflags.tmp
+
+ fi
+-echo "$as_me:3927: result: $cf_cv_makeflags" >&5
++echo "$as_me:3715: result: $cf_cv_makeflags" >&5
+ echo "${ECHO_T}$cf_cv_makeflags" >&6
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+-echo "$as_me:3933: checking for $ac_word" >&5
++echo "$as_me:3721: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_RANLIB+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3945,7 +3733,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+-echo "$as_me:3948: found $ac_dir/$ac_word" >&5
++echo "$as_me:3736: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3953,10 +3741,10 @@
+ fi
+ RANLIB=$ac_cv_prog_RANLIB
+ if test -n "$RANLIB"; then
+- echo "$as_me:3956: result: $RANLIB" >&5
++ echo "$as_me:3744: result: $RANLIB" >&5
+ echo "${ECHO_T}$RANLIB" >&6
+ else
+- echo "$as_me:3959: result: no" >&5
++ echo "$as_me:3747: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3965,7 +3753,7 @@
+ ac_ct_RANLIB=$RANLIB
+ # Extract the first word of "ranlib", so it can be a program name with args.
+ set dummy ranlib; ac_word=$2
+-echo "$as_me:3968: checking for $ac_word" >&5
++echo "$as_me:3756: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3980,7 +3768,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
+-echo "$as_me:3983: found $ac_dir/$ac_word" >&5
++echo "$as_me:3771: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3989,10 +3777,10 @@
+ fi
+ ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+ if test -n "$ac_ct_RANLIB"; then
+- echo "$as_me:3992: result: $ac_ct_RANLIB" >&5
++ echo "$as_me:3780: result: $ac_ct_RANLIB" >&5
+ echo "${ECHO_T}$ac_ct_RANLIB" >&6
+ else
+- echo "$as_me:3995: result: no" >&5
++ echo "$as_me:3783: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -4004,7 +3792,7 @@
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ld", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}ld; ac_word=$2
+-echo "$as_me:4007: checking for $ac_word" >&5
++echo "$as_me:3795: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_LD+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -4019,7 +3807,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_LD="${ac_tool_prefix}ld"
+-echo "$as_me:4022: found $ac_dir/$ac_word" >&5
++echo "$as_me:3810: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -4027,10 +3815,10 @@
+ fi
+ LD=$ac_cv_prog_LD
+ if test -n "$LD"; then
+- echo "$as_me:4030: result: $LD" >&5
++ echo "$as_me:3818: result: $LD" >&5
+ echo "${ECHO_T}$LD" >&6
+ else
+- echo "$as_me:4033: result: no" >&5
++ echo "$as_me:3821: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -4039,7 +3827,7 @@
+ ac_ct_LD=$LD
+ # Extract the first word of "ld", so it can be a program name with args.
+ set dummy ld; ac_word=$2
+-echo "$as_me:4042: checking for $ac_word" >&5
++echo "$as_me:3830: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ac_ct_LD+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -4054,7 +3842,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_LD="ld"
+-echo "$as_me:4057: found $ac_dir/$ac_word" >&5
++echo "$as_me:3845: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -4063,10 +3851,10 @@
+ fi
+ ac_ct_LD=$ac_cv_prog_ac_ct_LD
+ if test -n "$ac_ct_LD"; then
+- echo "$as_me:4066: result: $ac_ct_LD" >&5
++ echo "$as_me:3854: result: $ac_ct_LD" >&5
+ echo "${ECHO_T}$ac_ct_LD" >&6
+ else
+- echo "$as_me:4069: result: no" >&5
++ echo "$as_me:3857: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -4078,7 +3866,7 @@
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}ar; ac_word=$2
+-echo "$as_me:4081: checking for $ac_word" >&5
++echo "$as_me:3869: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_AR+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -4093,7 +3881,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+-echo "$as_me:4096: found $ac_dir/$ac_word" >&5
++echo "$as_me:3884: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -4101,10 +3889,10 @@
+ fi
+ AR=$ac_cv_prog_AR
+ if test -n "$AR"; then
+- echo "$as_me:4104: result: $AR" >&5
++ echo "$as_me:3892: result: $AR" >&5
+ echo "${ECHO_T}$AR" >&6
+ else
+- echo "$as_me:4107: result: no" >&5
++ echo "$as_me:3895: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -4113,7 +3901,7 @@
+ ac_ct_AR=$AR
+ # Extract the first word of "ar", so it can be a program name with args.
+ set dummy ar; ac_word=$2
+-echo "$as_me:4116: checking for $ac_word" >&5
++echo "$as_me:3904: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -4128,7 +3916,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_AR="ar"
+-echo "$as_me:4131: found $ac_dir/$ac_word" >&5
++echo "$as_me:3919: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -4137,10 +3925,10 @@
+ fi
+ ac_ct_AR=$ac_cv_prog_ac_ct_AR
+ if test -n "$ac_ct_AR"; then
+- echo "$as_me:4140: result: $ac_ct_AR" >&5
++ echo "$as_me:3928: result: $ac_ct_AR" >&5
+ echo "${ECHO_T}$ac_ct_AR" >&6
+ else
+- echo "$as_me:4143: result: no" >&5
++ echo "$as_me:3931: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -4152,7 +3940,7 @@
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}ar; ac_word=$2
+-echo "$as_me:4155: checking for $ac_word" >&5
++echo "$as_me:3943: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_AR+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -4167,7 +3955,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+-echo "$as_me:4170: found $ac_dir/$ac_word" >&5
++echo "$as_me:3958: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -4175,10 +3963,10 @@
+ fi
+ AR=$ac_cv_prog_AR
+ if test -n "$AR"; then
+- echo "$as_me:4178: result: $AR" >&5
++ echo "$as_me:3966: result: $AR" >&5
+ echo "${ECHO_T}$AR" >&6
+ else
+- echo "$as_me:4181: result: no" >&5
++ echo "$as_me:3969: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -4187,7 +3975,7 @@
+ ac_ct_AR=$AR
+ # Extract the first word of "ar", so it can be a program name with args.
+ set dummy ar; ac_word=$2
+-echo "$as_me:4190: checking for $ac_word" >&5
++echo "$as_me:3978: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -4202,7 +3990,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_AR="ar"
+-echo "$as_me:4205: found $ac_dir/$ac_word" >&5
++echo "$as_me:3993: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -4211,10 +3999,10 @@
+ fi
+ ac_ct_AR=$ac_cv_prog_ac_ct_AR
+ if test -n "$ac_ct_AR"; then
+- echo "$as_me:4214: result: $ac_ct_AR" >&5
++ echo "$as_me:4002: result: $ac_ct_AR" >&5
+ echo "${ECHO_T}$ac_ct_AR" >&6
+ else
+- echo "$as_me:4217: result: no" >&5
++ echo "$as_me:4005: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -4223,7 +4011,7 @@
+ AR="$ac_cv_prog_AR"
+ fi
+
+-echo "$as_me:4226: checking for options to update archives" >&5
++echo "$as_me:4014: checking for options to update archives" >&5
+ echo $ECHO_N "checking for options to update archives... $ECHO_C" >&6
+ if test "${cf_cv_ar_flags+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -4246,13 +4034,13 @@
+ rm -f conftest.a
+
+ cat >conftest.$ac_ext <<EOF
+-#line 4249 "configure"
++#line 4037 "configure"
+ int testdata[3] = { 123, 456, 789 };
+ EOF
+- if { (eval echo "$as_me:4252: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:4040: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:4255: \$? = $ac_status" >&5
++ echo "$as_me:4043: \$? = $ac_status" >&5
+ (exit $ac_status); } ; then
+ echo "$AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext" >&5
+ $AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext 2>&5 1>/dev/null
+@@ -4263,7 +4051,7 @@
+ else
+ test -n "$verbose" && echo " cannot compile test-program" 1>&6
+
+-echo "${as_me:-configure}:4266: testing cannot compile test-program ..." 1>&5
++echo "${as_me:-configure}:4054: testing cannot compile test-program ..." 1>&5
+
+ break
+ fi
+@@ -4271,7 +4059,7 @@
+ rm -f conftest.a conftest.$ac_ext conftest.$ac_cv_objext
+
+ fi
+-echo "$as_me:4274: result: $cf_cv_ar_flags" >&5
++echo "$as_me:4062: result: $cf_cv_ar_flags" >&5
+ echo "${ECHO_T}$cf_cv_ar_flags" >&6
+
+ if test -n "$ARFLAGS" ; then
+@@ -4282,20 +4070,20 @@
+ ARFLAGS=$cf_cv_ar_flags
+ fi
+
+-echo "$as_me:4285: checking if you have specified an install-prefix" >&5
++echo "$as_me:4073: checking if you have specified an install-prefix" >&5
+ echo $ECHO_N "checking if you have specified an install-prefix... $ECHO_C" >&6
+
+ # Check whether --with-install-prefix or --without-install-prefix was given.
+ if test "${with_install_prefix+set}" = set; then
+ withval="$with_install_prefix"
+- case "$withval" in #(vi
+- yes|no) #(vi
++ case "x$withval" in #(vi
++ xyes|xno) #(vi
+ ;;
+ *) DESTDIR="$withval"
+ ;;
+ esac
+ fi;
+-echo "$as_me:4298: result: $DESTDIR" >&5
++echo "$as_me:4086: result: $DESTDIR" >&5
+ echo "${ECHO_T}$DESTDIR" >&6
+
+ ###############################################################################
+@@ -4323,7 +4111,7 @@
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+-echo "$as_me:4326: checking for $ac_word" >&5
++echo "$as_me:4114: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_BUILD_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -4338,7 +4126,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_BUILD_CC="$ac_prog"
+-echo "$as_me:4341: found $ac_dir/$ac_word" >&5
++echo "$as_me:4129: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -4346,10 +4134,10 @@
+ fi
+ BUILD_CC=$ac_cv_prog_BUILD_CC
+ if test -n "$BUILD_CC"; then
+- echo "$as_me:4349: result: $BUILD_CC" >&5
++ echo "$as_me:4137: result: $BUILD_CC" >&5
+ echo "${ECHO_T}$BUILD_CC" >&6
+ else
+- echo "$as_me:4352: result: no" >&5
++ echo "$as_me:4140: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -4357,12 +4145,12 @@
+ done
+
+ fi;
+- echo "$as_me:4360: checking for native build C compiler" >&5
++ echo "$as_me:4148: checking for native build C compiler" >&5
+ echo $ECHO_N "checking for native build C compiler... $ECHO_C" >&6
+- echo "$as_me:4362: result: $BUILD_CC" >&5
++ echo "$as_me:4150: result: $BUILD_CC" >&5
+ echo "${ECHO_T}$BUILD_CC" >&6
+
+- echo "$as_me:4365: checking for native build C preprocessor" >&5
++ echo "$as_me:4153: checking for native build C preprocessor" >&5
+ echo $ECHO_N "checking for native build C preprocessor... $ECHO_C" >&6
+
+ # Check whether --with-build-cpp or --without-build-cpp was given.
+@@ -4372,10 +4160,10 @@
+ else
+ BUILD_CPP='${BUILD_CC} -E'
+ fi;
+- echo "$as_me:4375: result: $BUILD_CPP" >&5
++ echo "$as_me:4163: result: $BUILD_CPP" >&5
+ echo "${ECHO_T}$BUILD_CPP" >&6
+
+- echo "$as_me:4378: checking for native build C flags" >&5
++ echo "$as_me:4166: checking for native build C flags" >&5
+ echo $ECHO_N "checking for native build C flags... $ECHO_C" >&6
+
+ # Check whether --with-build-cflags or --without-build-cflags was given.
+@@ -4383,10 +4171,10 @@
+ withval="$with_build_cflags"
+ BUILD_CFLAGS="$withval"
+ fi;
+- echo "$as_me:4386: result: $BUILD_CFLAGS" >&5
++ echo "$as_me:4174: result: $BUILD_CFLAGS" >&5
+ echo "${ECHO_T}$BUILD_CFLAGS" >&6
+
+- echo "$as_me:4389: checking for native build C preprocessor-flags" >&5
++ echo "$as_me:4177: checking for native build C preprocessor-flags" >&5
+ echo $ECHO_N "checking for native build C preprocessor-flags... $ECHO_C" >&6
+
+ # Check whether --with-build-cppflags or --without-build-cppflags was given.
+@@ -4394,10 +4182,10 @@
+ withval="$with_build_cppflags"
+ BUILD_CPPFLAGS="$withval"
+ fi;
+- echo "$as_me:4397: result: $BUILD_CPPFLAGS" >&5
++ echo "$as_me:4185: result: $BUILD_CPPFLAGS" >&5
+ echo "${ECHO_T}$BUILD_CPPFLAGS" >&6
+
+- echo "$as_me:4400: checking for native build linker-flags" >&5
++ echo "$as_me:4188: checking for native build linker-flags" >&5
+ echo $ECHO_N "checking for native build linker-flags... $ECHO_C" >&6
+
+ # Check whether --with-build-ldflags or --without-build-ldflags was given.
+@@ -4405,10 +4193,10 @@
+ withval="$with_build_ldflags"
+ BUILD_LDFLAGS="$withval"
+ fi;
+- echo "$as_me:4408: result: $BUILD_LDFLAGS" >&5
++ echo "$as_me:4196: result: $BUILD_LDFLAGS" >&5
+ echo "${ECHO_T}$BUILD_LDFLAGS" >&6
+
+- echo "$as_me:4411: checking for native build linker-libraries" >&5
++ echo "$as_me:4199: checking for native build linker-libraries" >&5
+ echo $ECHO_N "checking for native build linker-libraries... $ECHO_C" >&6
+
+ # Check whether --with-build-libs or --without-build-libs was given.
+@@ -4416,7 +4204,7 @@
+ withval="$with_build_libs"
+ BUILD_LIBS="$withval"
+ fi;
+- echo "$as_me:4419: result: $BUILD_LIBS" >&5
++ echo "$as_me:4207: result: $BUILD_LIBS" >&5
+ echo "${ECHO_T}$BUILD_LIBS" >&6
+
+ # this assumes we're on Unix.
+@@ -4426,7 +4214,7 @@
+ : ${BUILD_CC:='${CC}'}
+
+ if ( test "$BUILD_CC" = "$CC" || test "$BUILD_CC" = '${CC}' ) ; then
+- { { echo "$as_me:4429: error: Cross-build requires two compilers.
++ { { echo "$as_me:4217: error: Cross-build requires two compilers.
+ Use --with-build-cc to specify the native compiler." >&5
+ echo "$as_me: error: Cross-build requires two compilers.
+ Use --with-build-cc to specify the native compiler." >&2;}
+@@ -4451,7 +4239,7 @@
+ ### shared, for example.
+ cf_list_models=""
+
+-echo "$as_me:4454: checking if libtool -version-number should be used" >&5
++echo "$as_me:4242: checking if libtool -version-number should be used" >&5
+ echo $ECHO_N "checking if libtool -version-number should be used... $ECHO_C" >&6
+
+ # Check whether --enable-libtool-version or --disable-libtool-version was given.
+@@ -4468,7 +4256,7 @@
+ cf_libtool_version=yes
+
+ fi;
+-echo "$as_me:4471: result: $cf_libtool_version" >&5
++echo "$as_me:4259: result: $cf_libtool_version" >&5
+ echo "${ECHO_T}$cf_libtool_version" >&6
+
+ if test "$cf_libtool_version" = yes ; then
+@@ -4493,7 +4281,7 @@
+ LIB_INSTALL=
+ LIB_UNINSTALL=
+
+-echo "$as_me:4496: checking if you want to build libraries with libtool" >&5
++echo "$as_me:4284: checking if you want to build libraries with libtool" >&5
+ echo $ECHO_N "checking if you want to build libraries with libtool... $ECHO_C" >&6
+
+ # Check whether --with-libtool or --without-libtool was given.
+@@ -4503,7 +4291,7 @@
+ else
+ with_libtool=no
+ fi;
+-echo "$as_me:4506: result: $with_libtool" >&5
++echo "$as_me:4294: result: $with_libtool" >&5
+ echo "${ECHO_T}$with_libtool" >&6
+ if test "$with_libtool" != "no"; then
+
+@@ -4522,7 +4310,7 @@
+ ;;
+ .[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
+ ;;
+-.\${*prefix}*) #(vi
++.\${*prefix}*|.\${*dir}*) #(vi
+ eval with_libtool="$with_libtool"
+ case ".$with_libtool" in #(vi
+ .NONE/*)
+@@ -4534,7 +4322,7 @@
+ with_libtool=`echo $with_libtool | sed -e s%NONE%$cf_path_syntax%`
+ ;;
+ *)
+- { { echo "$as_me:4537: error: expected a pathname, not \"$with_libtool\"" >&5
++ { { echo "$as_me:4325: error: expected a pathname, not \"$with_libtool\"" >&5
+ echo "$as_me: error: expected a pathname, not \"$with_libtool\"" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+@@ -4542,50 +4330,199 @@
+
+ LIBTOOL=$with_libtool
+ else
+- # Extract the first word of "libtool", so it can be a program name with args.
+-set dummy libtool; ac_word=$2
+-echo "$as_me:4547: checking for $ac_word" >&5
++ if test -n "$ac_tool_prefix"; then
++ for ac_prog in libtool glibtool
++ do
++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
++echo "$as_me:4338: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_path_LIBTOOL+set}" = set; then
++if test "${ac_cv_prog_LIBTOOL+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- case $LIBTOOL in
+- [\\/]* | ?:[\\/]*)
+- ac_cv_path_LIBTOOL="$LIBTOOL" # Let the user override the test with a path.
+- ;;
+- *)
++ if test -n "$LIBTOOL"; then
++ ac_cv_prog_LIBTOOL="$LIBTOOL" # Let the user override the test.
++else
+ ac_save_IFS=$IFS; IFS=$ac_path_separator
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ IFS=$ac_save_IFS
+ test -z "$ac_dir" && ac_dir=.
+- if $as_executable_p "$ac_dir/$ac_word"; then
+- ac_cv_path_LIBTOOL="$ac_dir/$ac_word"
+- echo "$as_me:4564: found $ac_dir/$ac_word" >&5
+- break
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_LIBTOOL="$ac_tool_prefix$ac_prog"
++echo "$as_me:4353: found $ac_dir/$ac_word" >&5
++break
++done
++
++fi
++fi
++LIBTOOL=$ac_cv_prog_LIBTOOL
++if test -n "$LIBTOOL"; then
++ echo "$as_me:4361: result: $LIBTOOL" >&5
++echo "${ECHO_T}$LIBTOOL" >&6
++else
++ echo "$as_me:4364: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++ test -n "$LIBTOOL" && break
++ done
+ fi
++if test -z "$LIBTOOL"; then
++ ac_ct_LIBTOOL=$LIBTOOL
++ for ac_prog in libtool glibtool
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++echo "$as_me:4377: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_ac_ct_LIBTOOL+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_LIBTOOL"; then
++ ac_cv_prog_ac_ct_LIBTOOL="$ac_ct_LIBTOOL" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_ac_ct_LIBTOOL="$ac_prog"
++echo "$as_me:4392: found $ac_dir/$ac_word" >&5
++break
+ done
+
+- ;;
+-esac
+ fi
+-LIBTOOL=$ac_cv_path_LIBTOOL
++fi
++ac_ct_LIBTOOL=$ac_cv_prog_ac_ct_LIBTOOL
++if test -n "$ac_ct_LIBTOOL"; then
++ echo "$as_me:4400: result: $ac_ct_LIBTOOL" >&5
++echo "${ECHO_T}$ac_ct_LIBTOOL" >&6
++else
++ echo "$as_me:4403: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++ test -n "$ac_ct_LIBTOOL" && break
++done
++test -n "$ac_ct_LIBTOOL" || ac_ct_LIBTOOL="none"
++
++ LIBTOOL=$ac_ct_LIBTOOL
++fi
++
++if test -n "$LIBTOOL" && test "$LIBTOOL" != none
++then
++ cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '/^$/d' |sed -e '2,$d' -e 's/([^)]*)//g' -e 's/^[^1-9]*//' -e 's/[^0-9.].*//'`
++else
++ cf_cv_libtool_version=
++fi
++test -z "$cf_cv_libtool_version" && unset cf_cv_libtool_version
++
++ if test -z "$cf_cv_libtool_version" && test "$LIBTOOL" = libtool
++ then
++
++unset ac_cv_prog_ac_ct_LIBTOOL
++unset ac_ct_LIBTOOL
++unset LIBTOOL
++
++ if test -n "$ac_tool_prefix"; then
++ for ac_prog in glibtool
++ do
++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
++echo "$as_me:4434: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_LIBTOOL+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$LIBTOOL"; then
++ ac_cv_prog_LIBTOOL="$LIBTOOL" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_LIBTOOL="$ac_tool_prefix$ac_prog"
++echo "$as_me:4449: found $ac_dir/$ac_word" >&5
++break
++done
+
++fi
++fi
++LIBTOOL=$ac_cv_prog_LIBTOOL
+ if test -n "$LIBTOOL"; then
+- echo "$as_me:4575: result: $LIBTOOL" >&5
++ echo "$as_me:4457: result: $LIBTOOL" >&5
+ echo "${ECHO_T}$LIBTOOL" >&6
+ else
+- echo "$as_me:4578: result: no" >&5
++ echo "$as_me:4460: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
++ test -n "$LIBTOOL" && break
++ done
++fi
++if test -z "$LIBTOOL"; then
++ ac_ct_LIBTOOL=$LIBTOOL
++ for ac_prog in glibtool
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++echo "$as_me:4473: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_ac_ct_LIBTOOL+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_LIBTOOL"; then
++ ac_cv_prog_ac_ct_LIBTOOL="$ac_ct_LIBTOOL" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_ac_ct_LIBTOOL="$ac_prog"
++echo "$as_me:4488: found $ac_dir/$ac_word" >&5
++break
++done
++
++fi
++fi
++ac_ct_LIBTOOL=$ac_cv_prog_ac_ct_LIBTOOL
++if test -n "$ac_ct_LIBTOOL"; then
++ echo "$as_me:4496: result: $ac_ct_LIBTOOL" >&5
++echo "${ECHO_T}$ac_ct_LIBTOOL" >&6
++else
++ echo "$as_me:4499: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++ test -n "$ac_ct_LIBTOOL" && break
++done
++test -n "$ac_ct_LIBTOOL" || ac_ct_LIBTOOL="none"
++
++ LIBTOOL=$ac_ct_LIBTOOL
++fi
++
++if test -n "$LIBTOOL" && test "$LIBTOOL" != none
++then
++ cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '/^$/d' |sed -e '2,$d' -e 's/([^)]*)//g' -e 's/^[^1-9]*//' -e 's/[^0-9.].*//'`
++else
++ cf_cv_libtool_version=
++fi
++test -z "$cf_cv_libtool_version" && unset cf_cv_libtool_version
++
++ fi
+ fi
+ if test -z "$LIBTOOL" ; then
+- { { echo "$as_me:4584: error: Cannot find libtool" >&5
++ { { echo "$as_me:4521: error: Cannot find libtool" >&5
+ echo "$as_me: error: Cannot find libtool" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+- LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${DESTDIR}${libdir} ${LIBTOOL_VERSION} `cut -f1 ${srcdir}/VERSION` ${LIBTOOL_OPTS} ${LT_UNDEF} -o'
++ LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${DESTDIR}${libdir} ${LIBTOOL_VERSION} `cut -f1 ${srcdir}/VERSION` ${LIBTOOL_OPTS} ${LT_UNDEF} $(LIBS) -o'
+ LIB_OBJECT='${OBJECTS:.o=.lo}'
+ LIB_SUFFIX=.la
+ LIB_CLEAN='${LIBTOOL} --mode=clean'
+@@ -4595,26 +4532,36 @@
+ LIB_UNINSTALL='${LIBTOOL} --mode=uninstall'
+ LIB_PREP=:
+
+- # Show the version of libtool
+- echo "$as_me:4599: checking version of libtool" >&5
+-echo $ECHO_N "checking version of libtool... $ECHO_C" >&6
+-
+- # Save the version in a cache variable - this is not entirely a good
+- # thing, but the version string from libtool is very ugly, and for
+- # bug reports it might be useful to have the original string. "("
++if test -n "$LIBTOOL" && test "$LIBTOOL" != none
++then
++ echo "$as_me:4537: checking version of $LIBTOOL" >&5
++echo $ECHO_N "checking version of $LIBTOOL... $ECHO_C" >&6
++
++if test -n "$LIBTOOL" && test "$LIBTOOL" != none
++then
+ cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '/^$/d' |sed -e '2,$d' -e 's/([^)]*)//g' -e 's/^[^1-9]*//' -e 's/[^0-9.].*//'`
+- echo "$as_me:4606: result: $cf_cv_libtool_version" >&5
++else
++ cf_cv_libtool_version=
++fi
++test -z "$cf_cv_libtool_version" && unset cf_cv_libtool_version
++
++ echo "$as_me:4548: result: $cf_cv_libtool_version" >&5
+ echo "${ECHO_T}$cf_cv_libtool_version" >&6
+ if test -z "$cf_cv_libtool_version" ; then
+- { { echo "$as_me:4609: error: This is not GNU libtool" >&5
++ { { echo "$as_me:4551: error: This is not GNU libtool" >&5
+ echo "$as_me: error: This is not GNU libtool" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
++else
++ { { echo "$as_me:4556: error: GNU libtool has not been found" >&5
++echo "$as_me: error: GNU libtool has not been found" >&2;}
++ { (exit 1); exit 1; }; }
++fi
+
+ # special hack to add -no-undefined (which libtool should do for itself)
+ LT_UNDEF=
+ case "$cf_cv_system_name" in #(vi
+- cygwin*|mingw32*|uwin*|aix[456]) #(vi
++ cygwin*|mingw32*|uwin*|aix[4-7]) #(vi
+ LT_UNDEF=-no-undefined
+ ;;
+ esac
+@@ -4642,7 +4589,7 @@
+
+ else
+
+-echo "$as_me:4645: checking if you want to build shared libraries" >&5
++echo "$as_me:4592: checking if you want to build shared libraries" >&5
+ echo $ECHO_N "checking if you want to build shared libraries... $ECHO_C" >&6
+
+ # Check whether --with-shared or --without-shared was given.
+@@ -4652,11 +4599,11 @@
+ else
+ with_shared=no
+ fi;
+-echo "$as_me:4655: result: $with_shared" >&5
++echo "$as_me:4602: result: $with_shared" >&5
+ echo "${ECHO_T}$with_shared" >&6
+-test "$with_shared" = "yes" && cf_list_models="$cf_list_models shared"
++test "x$with_shared" = "xyes" && cf_list_models="$cf_list_models shared"
+
+-echo "$as_me:4659: checking if you want to build static libraries" >&5
++echo "$as_me:4606: checking if you want to build static libraries" >&5
+ echo $ECHO_N "checking if you want to build static libraries... $ECHO_C" >&6
+
+ # Check whether --with-normal or --without-normal was given.
+@@ -4666,11 +4613,11 @@
+ else
+ with_normal=yes
+ fi;
+-echo "$as_me:4669: result: $with_normal" >&5
++echo "$as_me:4616: result: $with_normal" >&5
+ echo "${ECHO_T}$with_normal" >&6
+-test "$with_normal" = "yes" && cf_list_models="$cf_list_models normal"
++test "x$with_normal" = "xyes" && cf_list_models="$cf_list_models normal"
+
+-echo "$as_me:4673: checking if you want to build debug libraries" >&5
++echo "$as_me:4620: checking if you want to build debug libraries" >&5
+ echo $ECHO_N "checking if you want to build debug libraries... $ECHO_C" >&6
+
+ # Check whether --with-debug or --without-debug was given.
+@@ -4680,11 +4627,11 @@
+ else
+ with_debug=yes
+ fi;
+-echo "$as_me:4683: result: $with_debug" >&5
++echo "$as_me:4630: result: $with_debug" >&5
+ echo "${ECHO_T}$with_debug" >&6
+-test "$with_debug" = "yes" && cf_list_models="$cf_list_models debug"
++test "x$with_debug" = "xyes" && cf_list_models="$cf_list_models debug"
+
+-echo "$as_me:4687: checking if you want to build profiling libraries" >&5
++echo "$as_me:4634: checking if you want to build profiling libraries" >&5
+ echo $ECHO_N "checking if you want to build profiling libraries... $ECHO_C" >&6
+
+ # Check whether --with-profile or --without-profile was given.
+@@ -4694,27 +4641,44 @@
+ else
+ with_profile=no
+ fi;
+-echo "$as_me:4697: result: $with_profile" >&5
++echo "$as_me:4644: result: $with_profile" >&5
+ echo "${ECHO_T}$with_profile" >&6
+-test "$with_profile" = "yes" && cf_list_models="$cf_list_models profile"
++test "x$with_profile" = "xyes" && cf_list_models="$cf_list_models profile"
++
++fi
++
++if test "X$cf_with_cxx_binding" != Xno; then
++if test "x$with_shared" = "xyes"; then
++echo "$as_me:4652: checking if you want to build C++ shared libraries" >&5
++echo $ECHO_N "checking if you want to build C++ shared libraries... $ECHO_C" >&6
+
++# Check whether --with-cxx-shared or --without-cxx-shared was given.
++if test "${with_cxx_shared+set}" = set; then
++ withval="$with_cxx_shared"
++ with_shared_cxx=$withval
++else
++ with_shared_cxx=no
++fi;
++echo "$as_me:4662: result: $with_shared_cxx" >&5
++echo "${ECHO_T}$with_shared_cxx" >&6
++fi
+ fi
+
+ ###############################################################################
+
+-echo "$as_me:4705: checking for specified models" >&5
++echo "$as_me:4669: checking for specified models" >&5
+ echo $ECHO_N "checking for specified models... $ECHO_C" >&6
+ test -z "$cf_list_models" && cf_list_models=normal
+ test "$with_libtool" != "no" && cf_list_models=libtool
+-echo "$as_me:4709: result: $cf_list_models" >&5
++echo "$as_me:4673: result: $cf_list_models" >&5
+ echo "${ECHO_T}$cf_list_models" >&6
+
+ ### Use the first model as the default, and save its suffix for use in building
+ ### up test-applications.
+-echo "$as_me:4714: checking for default model" >&5
++echo "$as_me:4678: checking for default model" >&5
+ echo $ECHO_N "checking for default model... $ECHO_C" >&6
+ DFT_LWR_MODEL=`echo "$cf_list_models" | $AWK '{print $1}'`
+-echo "$as_me:4717: result: $DFT_LWR_MODEL" >&5
++echo "$as_me:4681: result: $DFT_LWR_MODEL" >&5
+ echo "${ECHO_T}$DFT_LWR_MODEL" >&6
+
+ DFT_UPR_MODEL=`echo "$DFT_LWR_MODEL" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+@@ -4728,6 +4692,22 @@
+ LIB_DIR=../lib
+ LIB_2ND=../../lib
+
++echo "$as_me:4695: checking if you want to have a library-prefix" >&5
++echo $ECHO_N "checking if you want to have a library-prefix... $ECHO_C" >&6
++
++# Check whether --with-lib-prefix or --without-lib-prefix was given.
++if test "${with_lib_prefix+set}" = set; then
++ withval="$with_lib_prefix"
++ with_lib_prefix=$withval
++else
++ with_lib_prefix=auto
++fi;
++echo "$as_me:4705: result: $with_lib_prefix" >&5
++echo "${ECHO_T}$with_lib_prefix" >&6
++
++if test $with_lib_prefix = auto
++then
++
+ case $cf_cv_system_name in #(vi
+ OS/2*|os2*) #(vi
+ LIB_PREFIX=''
+@@ -4737,13 +4717,28 @@
+ esac
+ cf_prefix=$LIB_PREFIX
+
+-LIB_PREFIX=$cf_prefix
++elif test $with_lib_prefix = no
++then
++ LIB_PREFIX=
++else
++ LIB_PREFIX=$with_lib_prefix
++fi
+
+ LIB_SUFFIX=
+
++ echo "$as_me:4729: checking for PATH separator" >&5
++echo $ECHO_N "checking for PATH separator... $ECHO_C" >&6
++ case $cf_cv_system_name in
++ os2*) PATH_SEPARATOR=';' ;;
++ *) ${PATH_SEPARATOR:=':'} ;;
++ esac
++
++ echo "$as_me:4736: result: $PATH_SEPARATOR" >&5
++echo "${ECHO_T}$PATH_SEPARATOR" >&6
++
+ ###############################################################################
+
+-echo "$as_me:4746: checking if you want to build a separate terminfo library" >&5
++echo "$as_me:4741: checking if you want to build a separate terminfo library" >&5
+ echo $ECHO_N "checking if you want to build a separate terminfo library... $ECHO_C" >&6
+
+ # Check whether --with-termlib or --without-termlib was given.
+@@ -4753,10 +4748,10 @@
+ else
+ with_termlib=no
+ fi;
+-echo "$as_me:4756: result: $with_termlib" >&5
++echo "$as_me:4751: result: $with_termlib" >&5
+ echo "${ECHO_T}$with_termlib" >&6
+
+-echo "$as_me:4759: checking if you want to build a separate tic library" >&5
++echo "$as_me:4754: checking if you want to build a separate tic library" >&5
+ echo $ECHO_N "checking if you want to build a separate tic library... $ECHO_C" >&6
+
+ # Check whether --with-ticlib or --without-ticlib was given.
+@@ -4766,13 +4761,13 @@
+ else
+ with_ticlib=no
+ fi;
+-echo "$as_me:4769: result: $with_ticlib" >&5
++echo "$as_me:4764: result: $with_ticlib" >&5
+ echo "${ECHO_T}$with_ticlib" >&6
+
+ ### Checks for special libraries, must be done up-front.
+ SHLIB_LIST=""
+
+-echo "$as_me:4775: checking if you want to link with the GPM mouse library" >&5
++echo "$as_me:4770: checking if you want to link with the GPM mouse library" >&5
+ echo $ECHO_N "checking if you want to link with the GPM mouse library... $ECHO_C" >&6
+
+ # Check whether --with-gpm or --without-gpm was given.
+@@ -4782,27 +4777,27 @@
+ else
+ with_gpm=maybe
+ fi;
+-echo "$as_me:4785: result: $with_gpm" >&5
++echo "$as_me:4780: result: $with_gpm" >&5
+ echo "${ECHO_T}$with_gpm" >&6
+
+ if test "$with_gpm" != no ; then
+- echo "$as_me:4789: checking for gpm.h" >&5
++ echo "$as_me:4784: checking for gpm.h" >&5
+ echo $ECHO_N "checking for gpm.h... $ECHO_C" >&6
+ if test "${ac_cv_header_gpm_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4795 "configure"
++#line 4790 "configure"
+ #include "confdefs.h"
+ #include <gpm.h>
+ _ACEOF
+-if { (eval echo "$as_me:4799: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:4794: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:4805: \$? = $ac_status" >&5
++ echo "$as_me:4800: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -4821,25 +4816,25 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:4824: result: $ac_cv_header_gpm_h" >&5
++echo "$as_me:4819: result: $ac_cv_header_gpm_h" >&5
+ echo "${ECHO_T}$ac_cv_header_gpm_h" >&6
+ if test $ac_cv_header_gpm_h = yes; then
+
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define HAVE_GPM_H 1
+ EOF
+
+ if test "$with_gpm" != yes && test "$with_gpm" != maybe ; then
+ test -n "$verbose" && echo " assuming we really have GPM library" 1>&6
+
+-echo "${as_me:-configure}:4835: testing assuming we really have GPM library ..." 1>&5
++echo "${as_me:-configure}:4830: testing assuming we really have GPM library ..." 1>&5
+
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define HAVE_LIBGPM 1
+ EOF
+
+ else
+- echo "$as_me:4842: checking for Gpm_Open in -lgpm" >&5
++ echo "$as_me:4837: checking for Gpm_Open in -lgpm" >&5
+ echo $ECHO_N "checking for Gpm_Open in -lgpm... $ECHO_C" >&6
+ if test "${ac_cv_lib_gpm_Gpm_Open+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -4847,7 +4842,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lgpm $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4850 "configure"
++#line 4845 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -4866,16 +4861,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:4869: \"$ac_link\"") >&5
++if { (eval echo "$as_me:4864: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:4872: \$? = $ac_status" >&5
++ echo "$as_me:4867: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:4875: \"$ac_try\"") >&5
++ { (eval echo "$as_me:4870: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4878: \$? = $ac_status" >&5
++ echo "$as_me:4873: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_gpm_Gpm_Open=yes
+ else
+@@ -4886,13 +4881,13 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:4889: result: $ac_cv_lib_gpm_Gpm_Open" >&5
++echo "$as_me:4884: result: $ac_cv_lib_gpm_Gpm_Open" >&5
+ echo "${ECHO_T}$ac_cv_lib_gpm_Gpm_Open" >&6
+ if test $ac_cv_lib_gpm_Gpm_Open = yes; then
+ :
+ else
+
+- { { echo "$as_me:4895: error: Cannot link with GPM library" >&5
++ { { echo "$as_me:4890: error: Cannot link with GPM library" >&5
+ echo "$as_me: error: Cannot link with GPM library" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -4902,7 +4897,7 @@
+
+ else
+
+- test "$with_gpm" != maybe && { echo "$as_me:4905: WARNING: Cannot find GPM header" >&5
++ test "$with_gpm" != maybe && { echo "$as_me:4900: WARNING: Cannot find GPM header" >&5
+ echo "$as_me: WARNING: Cannot find GPM header" >&2;}
+ with_gpm=no
+
+@@ -4911,7 +4906,7 @@
+ fi
+
+ if test "$with_gpm" != no ; then
+- echo "$as_me:4914: checking if you want to load GPM dynamically" >&5
++ echo "$as_me:4909: checking if you want to load GPM dynamically" >&5
+ echo $ECHO_N "checking if you want to load GPM dynamically... $ECHO_C" >&6
+
+ # Check whether --with-dlsym or --without-dlsym was given.
+@@ -4921,18 +4916,18 @@
+ else
+ with_dlsym=yes
+ fi;
+- echo "$as_me:4924: result: $with_dlsym" >&5
++ echo "$as_me:4919: result: $with_dlsym" >&5
+ echo "${ECHO_T}$with_dlsym" >&6
+- if test "$with_dlsym" = yes ; then
++ if test "x$with_dlsym" = xyes ; then
+
+ cf_have_dlsym=no
+-echo "$as_me:4929: checking for dlsym" >&5
++echo "$as_me:4924: checking for dlsym" >&5
+ echo $ECHO_N "checking for dlsym... $ECHO_C" >&6
+ if test "${ac_cv_func_dlsym+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4935 "configure"
++#line 4930 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char dlsym (); below. */
+@@ -4955,7 +4950,7 @@
+ #if defined (__stub_dlsym) || defined (__stub___dlsym)
+ choke me
+ #else
+-f = dlsym;
++f = dlsym; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -4963,16 +4958,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:4966: \"$ac_link\"") >&5
++if { (eval echo "$as_me:4961: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:4969: \$? = $ac_status" >&5
++ echo "$as_me:4964: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:4972: \"$ac_try\"") >&5
++ { (eval echo "$as_me:4967: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4975: \$? = $ac_status" >&5
++ echo "$as_me:4970: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_dlsym=yes
+ else
+@@ -4982,14 +4977,14 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:4985: result: $ac_cv_func_dlsym" >&5
++echo "$as_me:4980: result: $ac_cv_func_dlsym" >&5
+ echo "${ECHO_T}$ac_cv_func_dlsym" >&6
+ if test $ac_cv_func_dlsym = yes; then
+ cf_have_dlsym=yes
+ else
+
+ cf_have_libdl=no
+-echo "$as_me:4992: checking for dlsym in -ldl" >&5
++echo "$as_me:4987: checking for dlsym in -ldl" >&5
+ echo $ECHO_N "checking for dlsym in -ldl... $ECHO_C" >&6
+ if test "${ac_cv_lib_dl_dlsym+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -4997,7 +4992,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-ldl $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5000 "configure"
++#line 4995 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -5016,16 +5011,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5019: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5014: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5022: \$? = $ac_status" >&5
++ echo "$as_me:5017: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5025: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5020: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5028: \$? = $ac_status" >&5
++ echo "$as_me:5023: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_dl_dlsym=yes
+ else
+@@ -5036,7 +5031,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:5039: result: $ac_cv_lib_dl_dlsym" >&5
++echo "$as_me:5034: result: $ac_cv_lib_dl_dlsym" >&5
+ echo "${ECHO_T}$ac_cv_lib_dl_dlsym" >&6
+ if test $ac_cv_lib_dl_dlsym = yes; then
+
+@@ -5049,10 +5044,10 @@
+ if test "$cf_have_dlsym" = yes ; then
+ test "$cf_have_libdl" = yes && LIBS="-ldl $LIBS"
+
+- echo "$as_me:5052: checking whether able to link to dl*() functions" >&5
++ echo "$as_me:5047: checking whether able to link to dl*() functions" >&5
+ echo $ECHO_N "checking whether able to link to dl*() functions... $ECHO_C" >&6
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5055 "configure"
++#line 5050 "configure"
+ #include "confdefs.h"
+ #include <dlfcn.h>
+ int
+@@ -5070,19 +5065,19 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5073: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5068: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5076: \$? = $ac_status" >&5
++ echo "$as_me:5071: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5079: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5074: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5082: \$? = $ac_status" >&5
++ echo "$as_me:5077: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define HAVE_LIBDL 1
+ EOF
+
+@@ -5090,28 +5085,28 @@
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+
+- { { echo "$as_me:5093: error: Cannot link test program for libdl" >&5
++ { { echo "$as_me:5088: error: Cannot link test program for libdl" >&5
+ echo "$as_me: error: Cannot link test program for libdl" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+- echo "$as_me:5098: result: ok" >&5
++ echo "$as_me:5093: result: ok" >&5
+ echo "${ECHO_T}ok" >&6
+ else
+- { { echo "$as_me:5101: error: Cannot find dlsym function" >&5
++ { { echo "$as_me:5096: error: Cannot find dlsym function" >&5
+ echo "$as_me: error: Cannot find dlsym function" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+- if test "$with_gpm" != yes ; then
++ if test "x$with_gpm" != xyes ; then
+ test -n "$verbose" && echo " assuming soname for gpm is $with_gpm" 1>&6
+
+-echo "${as_me:-configure}:5109: testing assuming soname for gpm is $with_gpm ..." 1>&5
++echo "${as_me:-configure}:5104: testing assuming soname for gpm is $with_gpm ..." 1>&5
+
+ cf_cv_gpm_soname="$with_gpm"
+ else
+
+-echo "$as_me:5114: checking for soname of gpm library" >&5
++echo "$as_me:5109: checking for soname of gpm library" >&5
+ echo $ECHO_N "checking for soname of gpm library... $ECHO_C" >&6
+ if test "${cf_cv_gpm_soname+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -5129,15 +5124,15 @@
+ CF_EOF
+ cf_save_LIBS="$LIBS"
+ LIBS="-lgpm $LIBS"
+- if { (eval echo "$as_me:5132: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:5127: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5135: \$? = $ac_status" >&5
++ echo "$as_me:5130: \$? = $ac_status" >&5
+ (exit $ac_status); } ; then
+- if { (eval echo "$as_me:5137: \"$ac_link\"") >&5
++ if { (eval echo "$as_me:5132: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5140: \$? = $ac_status" >&5
++ echo "$as_me:5135: \$? = $ac_status" >&5
+ (exit $ac_status); } ; then
+ cf_cv_gpm_soname=`ldd conftest$ac_exeext 2>/dev/null | sed -e 's,^.*/,,' -e 's, .*$,,' | fgrep libgpm.`
+ test -z "$cf_cv_gpm_soname" && cf_cv_gpm_soname=unknown
+@@ -5148,11 +5143,12 @@
+ fi
+
+ fi
+-echo "$as_me:5151: result: $cf_cv_gpm_soname" >&5
++echo "$as_me:5146: result: $cf_cv_gpm_soname" >&5
+ echo "${ECHO_T}$cf_cv_gpm_soname" >&6
+
+ fi
+- test "$cf_cv_gpm_soname" != "unknown" && cat >>confdefs.h <<EOF
++ test "$cf_cv_gpm_soname" != "unknown" &&
++cat >>confdefs.h <<EOF
+ #define LIBGPM_SONAME "$cf_cv_gpm_soname"
+ EOF
+
+@@ -5161,11 +5157,12 @@
+ SHLIB_LIST="-lgpm $SHLIB_LIST"
+ TEST_LIBS="-lgpm $TEST_LIBS"
+ fi
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_LIBGPM 1
+ EOF
+
+-echo "$as_me:5168: checking for Gpm_Wgetch in -lgpm" >&5
++echo "$as_me:5165: checking for Gpm_Wgetch in -lgpm" >&5
+ echo $ECHO_N "checking for Gpm_Wgetch in -lgpm... $ECHO_C" >&6
+ if test "${ac_cv_lib_gpm_Gpm_Wgetch+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -5173,7 +5170,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lgpm $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5176 "configure"
++#line 5173 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -5192,16 +5189,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5195: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5192: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5198: \$? = $ac_status" >&5
++ echo "$as_me:5195: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5201: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5198: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5204: \$? = $ac_status" >&5
++ echo "$as_me:5201: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_gpm_Gpm_Wgetch=yes
+ else
+@@ -5212,11 +5209,11 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:5215: result: $ac_cv_lib_gpm_Gpm_Wgetch" >&5
++echo "$as_me:5212: result: $ac_cv_lib_gpm_Gpm_Wgetch" >&5
+ echo "${ECHO_T}$ac_cv_lib_gpm_Gpm_Wgetch" >&6
+ if test $ac_cv_lib_gpm_Gpm_Wgetch = yes; then
+
+-echo "$as_me:5219: checking if GPM is weakly bound to curses library" >&5
++echo "$as_me:5216: checking if GPM is weakly bound to curses library" >&5
+ echo $ECHO_N "checking if GPM is weakly bound to curses library... $ECHO_C" >&6
+ if test "${cf_cv_check_gpm_wgetch+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -5240,15 +5237,15 @@
+ # to rely on the static library, noting that some packagers may not
+ # include it.
+ LIBS="-static -lgpm -dynamic $LIBS"
+- if { (eval echo "$as_me:5243: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:5240: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5246: \$? = $ac_status" >&5
++ echo "$as_me:5243: \$? = $ac_status" >&5
+ (exit $ac_status); } ; then
+- if { (eval echo "$as_me:5248: \"$ac_link\"") >&5
++ if { (eval echo "$as_me:5245: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5251: \$? = $ac_status" >&5
++ echo "$as_me:5248: \$? = $ac_status" >&5
+ (exit $ac_status); } ; then
+ cf_cv_check_gpm_wgetch=`nm conftest$ac_exeext | egrep '\<wgetch\>' | egrep '\<[vVwW]\>'`
+ test -n "$cf_cv_check_gpm_wgetch" && cf_cv_check_gpm_wgetch=yes
+@@ -5260,11 +5257,11 @@
+ fi
+
+ fi
+-echo "$as_me:5263: result: $cf_cv_check_gpm_wgetch" >&5
++echo "$as_me:5260: result: $cf_cv_check_gpm_wgetch" >&5
+ echo "${ECHO_T}$cf_cv_check_gpm_wgetch" >&6
+
+ if test "$cf_cv_check_gpm_wgetch" != yes ; then
+- { echo "$as_me:5267: WARNING: GPM library is already linked with curses - read the FAQ" >&5
++ { echo "$as_me:5264: WARNING: GPM library is already linked with curses - read the FAQ" >&5
+ echo "$as_me: WARNING: GPM library is already linked with curses - read the FAQ" >&2;}
+ fi
+
+@@ -5274,7 +5271,7 @@
+
+ # not everyone has "test -c"
+ if test -c /dev/sysmouse 2>/dev/null ; then
+-echo "$as_me:5277: checking if you want to use sysmouse" >&5
++echo "$as_me:5274: checking if you want to use sysmouse" >&5
+ echo $ECHO_N "checking if you want to use sysmouse... $ECHO_C" >&6
+
+ # Check whether --with-sysmouse or --without-sysmouse was given.
+@@ -5286,7 +5283,7 @@
+ fi;
+ if test "$cf_with_sysmouse" != no ; then
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5289 "configure"
++#line 5286 "configure"
+ #include "confdefs.h"
+
+ #include <osreldate.h>
+@@ -5309,16 +5306,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:5312: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:5309: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5315: \$? = $ac_status" >&5
++ echo "$as_me:5312: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:5318: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5315: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5321: \$? = $ac_status" >&5
++ echo "$as_me:5318: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_with_sysmouse=yes
+ else
+@@ -5328,9 +5325,10 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:5331: result: $cf_with_sysmouse" >&5
++echo "$as_me:5328: result: $cf_with_sysmouse" >&5
+ echo "${ECHO_T}$cf_with_sysmouse" >&6
+-test "$cf_with_sysmouse" = yes && cat >>confdefs.h <<\EOF
++test "$cf_with_sysmouse" = yes &&
++cat >>confdefs.h <<\EOF
+ #define USE_SYSMOUSE 1
+ EOF
+
+@@ -5338,15 +5336,15 @@
+
+ if test X"$CC_G_OPT" = X"" ; then
+ CC_G_OPT='-g'
+- test -n "$GCC" && test "${ac_cv_prog_cc_g}" != yes && CC_G_OPT=''
++ test -n "$GCC" && test "x${ac_cv_prog_cc_g}" != xyes && CC_G_OPT=''
+ fi
+
+ if test X"$CXX_G_OPT" = X"" ; then
+ CXX_G_OPT='-g'
+- test -n "$GXX" && test "${ac_cv_prog_cxx_g}" != yes && CXX_G_OPT=''
++ test -n "$GXX" && test "x${ac_cv_prog_cxx_g}" != xyes && CXX_G_OPT=''
+ fi
+
+-echo "$as_me:5349: checking for default loader flags" >&5
++echo "$as_me:5347: checking for default loader flags" >&5
+ echo $ECHO_N "checking for default loader flags... $ECHO_C" >&6
+ case $DFT_LWR_MODEL in
+ libtool) LD_MODEL='' ;;
+@@ -5355,13 +5353,13 @@
+ profile) LD_MODEL='-pg';;
+ shared) LD_MODEL='' ;;
+ esac
+-echo "$as_me:5358: result: $LD_MODEL" >&5
++echo "$as_me:5356: result: $LD_MODEL" >&5
+ echo "${ECHO_T}$LD_MODEL" >&6
+
+ case $DFT_LWR_MODEL in
+ shared)
+
+-echo "$as_me:5364: checking if rpath option should be used" >&5
++echo "$as_me:5362: checking if rpath option should be used" >&5
+ echo $ECHO_N "checking if rpath option should be used... $ECHO_C" >&6
+
+ # Check whether --enable-rpath or --disable-rpath was given.
+@@ -5371,10 +5369,10 @@
+ else
+ cf_cv_enable_rpath=no
+ fi;
+-echo "$as_me:5374: result: $cf_cv_enable_rpath" >&5
++echo "$as_me:5372: result: $cf_cv_enable_rpath" >&5
+ echo "${ECHO_T}$cf_cv_enable_rpath" >&6
+
+-echo "$as_me:5377: checking if shared libraries should be relinked during install" >&5
++echo "$as_me:5375: checking if shared libraries should be relinked during install" >&5
+ echo $ECHO_N "checking if shared libraries should be relinked during install... $ECHO_C" >&6
+
+ # Check whether --enable-relink or --disable-relink was given.
+@@ -5384,13 +5382,13 @@
+ else
+ cf_cv_do_relink=yes
+ fi;
+-echo "$as_me:5387: result: $cf_cv_do_relink" >&5
++echo "$as_me:5385: result: $cf_cv_do_relink" >&5
+ echo "${ECHO_T}$cf_cv_do_relink" >&6
+ ;;
+ esac
+
+ LD_RPATH_OPT=
+-echo "$as_me:5393: checking for an rpath option" >&5
++echo "$as_me:5391: checking for an rpath option" >&5
+ echo $ECHO_N "checking for an rpath option... $ECHO_C" >&6
+ case $cf_cv_system_name in #(vi
+ irix*) #(vi
+@@ -5403,10 +5401,10 @@
+ linux*|gnu*|k*bsd*-gnu) #(vi
+ LD_RPATH_OPT="-Wl,-rpath,"
+ ;;
+-openbsd[2-9].*) #(vi
++openbsd[2-9].*|mirbsd*) #(vi
+ LD_RPATH_OPT="-Wl,-rpath,"
+ ;;
+-freebsd*) #(vi
++dragonfly*|freebsd*) #(vi
+ LD_RPATH_OPT="-rpath "
+ ;;
+ netbsd*) #(vi
+@@ -5421,17 +5419,17 @@
+ *)
+ ;;
+ esac
+-echo "$as_me:5424: result: $LD_RPATH_OPT" >&5
++echo "$as_me:5422: result: $LD_RPATH_OPT" >&5
+ echo "${ECHO_T}$LD_RPATH_OPT" >&6
+
+ case "x$LD_RPATH_OPT" in #(vi
+ x-R*)
+- echo "$as_me:5429: checking if we need a space after rpath option" >&5
++ echo "$as_me:5427: checking if we need a space after rpath option" >&5
+ echo $ECHO_N "checking if we need a space after rpath option... $ECHO_C" >&6
+ cf_save_LIBS="$LIBS"
+ LIBS="${LD_RPATH_OPT}$libdir $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5434 "configure"
++#line 5432 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -5443,16 +5441,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5446: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5444: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5449: \$? = $ac_status" >&5
++ echo "$as_me:5447: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5452: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5450: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5455: \$? = $ac_status" >&5
++ echo "$as_me:5453: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_rpath_space=no
+ else
+@@ -5462,7 +5460,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS="$cf_save_LIBS"
+- echo "$as_me:5465: result: $cf_rpath_space" >&5
++ echo "$as_me:5463: result: $cf_rpath_space" >&5
+ echo "${ECHO_T}$cf_rpath_space" >&6
+ test "$cf_rpath_space" = yes && LD_RPATH_OPT="$LD_RPATH_OPT "
+ ;;
+@@ -5477,7 +5475,7 @@
+ cf_ld_rpath_opt=
+ test "$cf_cv_enable_rpath" = yes && cf_ld_rpath_opt="$LD_RPATH_OPT"
+
+- echo "$as_me:5480: checking if release/abi version should be used for shared libs" >&5
++ echo "$as_me:5478: checking if release/abi version should be used for shared libs" >&5
+ echo $ECHO_N "checking if release/abi version should be used for shared libs... $ECHO_C" >&6
+
+ # Check whether --with-shlib-version or --without-shlib-version was given.
+@@ -5492,7 +5490,7 @@
+ cf_cv_shlib_version=$withval
+ ;;
+ *)
+- { { echo "$as_me:5495: error: option value must be one of: rel, abi, auto or no" >&5
++ { { echo "$as_me:5493: error: option value must be one of: rel, abi, auto or no" >&5
+ echo "$as_me: error: option value must be one of: rel, abi, auto or no" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+@@ -5501,23 +5499,24 @@
+ else
+ cf_cv_shlib_version=auto
+ fi;
+- echo "$as_me:5504: result: $cf_cv_shlib_version" >&5
++ echo "$as_me:5502: result: $cf_cv_shlib_version" >&5
+ echo "${ECHO_T}$cf_cv_shlib_version" >&6
+
+ cf_cv_rm_so_locs=no
++ cf_try_cflags=
+
+ # Some less-capable ports of gcc support only -fpic
+ CC_SHARED_OPTS=
+ if test "$GCC" = yes
+ then
+- echo "$as_me:5513: checking which $CC option to use" >&5
++ echo "$as_me:5512: checking which $CC option to use" >&5
+ echo $ECHO_N "checking which $CC option to use... $ECHO_C" >&6
+ cf_save_CFLAGS="$CFLAGS"
+ for CC_SHARED_OPTS in -fPIC -fpic ''
+ do
+ CFLAGS="$cf_save_CFLAGS $CC_SHARED_OPTS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5520 "configure"
++#line 5519 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -5529,16 +5528,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:5532: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:5531: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5535: \$? = $ac_status" >&5
++ echo "$as_me:5534: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:5538: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5537: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5541: \$? = $ac_status" >&5
++ echo "$as_me:5540: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -5547,7 +5546,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ done
+- echo "$as_me:5550: result: $CC_SHARED_OPTS" >&5
++ echo "$as_me:5549: result: $CC_SHARED_OPTS" >&5
+ echo "${ECHO_T}$CC_SHARED_OPTS" >&6
+ CFLAGS="$cf_save_CFLAGS"
+ fi
+@@ -5555,10 +5554,14 @@
+ cf_cv_shlib_version_infix=no
+
+ case $cf_cv_system_name in #(vi
+- aix[56]*) #(vi
++ aix4.3-9*|aix[5-7]*) #(vi
+ if test "$GCC" = yes; then
+ CC_SHARED_OPTS=
+- MK_SHARED_LIB='$(CC) -shared'
++ MK_SHARED_LIB='${CC} -shared -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o $@'
++ else
++ # CC_SHARED_OPTS='-qpic=large -G'
++ # perhaps "-bM:SRE -bnoentry -bexpall"
++ MK_SHARED_LIB='${CC} -G -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o $@'
+ fi
+ ;;
+ beos*) #(vi
+@@ -5584,12 +5587,12 @@
+ chmod +x mk_shared_lib.sh
+ ;;
+ darwin*) #(vi
+- EXTRA_CFLAGS="-no-cpp-precomp"
++ cf_try_cflags="no-cpp-precomp"
+ CC_SHARED_OPTS="-dynamic"
+ MK_SHARED_LIB='${CC} ${CFLAGS} -dynamiclib -install_name ${libdir}/`basename $@` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $@'
+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi
+ cf_cv_shlib_version_infix=yes
+- echo "$as_me:5592: checking if ld -search_paths_first works" >&5
++ echo "$as_me:5595: checking if ld -search_paths_first works" >&5
+ echo $ECHO_N "checking if ld -search_paths_first works... $ECHO_C" >&6
+ if test "${cf_cv_ldflags_search_paths_first+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -5598,7 +5601,7 @@
+ cf_save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5601 "configure"
++#line 5604 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -5610,16 +5613,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5613: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5616: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5616: \$? = $ac_status" >&5
++ echo "$as_me:5619: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5619: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5622: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5622: \$? = $ac_status" >&5
++ echo "$as_me:5625: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_ldflags_search_paths_first=yes
+ else
+@@ -5630,12 +5633,20 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS=$cf_save_LDFLAGS
+ fi
+-echo "$as_me:5633: result: $cf_cv_ldflags_search_paths_first" >&5
++echo "$as_me:5636: result: $cf_cv_ldflags_search_paths_first" >&5
+ echo "${ECHO_T}$cf_cv_ldflags_search_paths_first" >&6
+ if test $cf_cv_ldflags_search_paths_first = yes; then
+ LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
+ fi
+ ;;
++ hpux[7-8]*) #(vi
++ # HP-UX 8.07 ld lacks "+b" option used for libdir search-list
++ if test "$GCC" != yes; then
++ CC_SHARED_OPTS='+Z'
++ fi
++ MK_SHARED_LIB='${LD} -b -o $@'
++ INSTALL_LIB="-m 555"
++ ;;
+ hpux*) #(vi
+ # (tested with gcc 2.7.2 -- I don't have c89)
+ if test "$GCC" = yes; then
+@@ -5649,9 +5660,19 @@
+ # readonly to exploit a quirk in the memory manager.
+ INSTALL_LIB="-m 555"
+ ;;
++ interix*)
++ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
++ if test "$cf_cv_shlib_version" = rel; then
++ cf_shared_soname='`basename .${REL_VERSION}`.${ABI_VERSION}'
++ else
++ cf_shared_soname='`basename `'
++ fi
++ CC_SHARED_OPTS=
++ MK_SHARED_LIB='${CC} -shared -Wl,-rpath,${RPATH_LIST} -Wl,-h,'$cf_shared_soname' -o '
++ ;;
+ irix*) #(vi
+ if test "$cf_cv_enable_rpath" = yes ; then
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+ # tested with IRIX 5.2 and 'cc'.
+ if test "$GCC" != yes; then
+@@ -5668,7 +5689,7 @@
+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+ fi
+ if test "$cf_cv_enable_rpath" = yes ; then
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+
+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
+@@ -5680,13 +5701,34 @@
+
+ MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $@'
+ ;;
+- openbsd[2-9].*) #(vi
++ mingw*) #(vi
++ cf_cv_shlib_version=mingw
++ cf_cv_shlib_version_infix=mingw
++ CC_SHARED_OPTS=
++ MK_SHARED_LIB='sh ../mk_shared_lib.sh $@ ${CC} ${CFLAGS}'
++ #MK_SHARED_LIB='${CC} ${CFLAGS} -mdll -Wl,-soname,'$cf_cv_shared_soname',-stats -o $[@]'
++ #MK_SHARED_LIB='${DLLTOOL} --export-all-symbols --output-exp --output-lib $[@]'
++ cat >mk_shared_lib.sh <<-CF_EOF
++ #!/bin/sh
++ SHARED_LIB=\$1
++ IMPORT_LIB=\`echo "\$1" | sed -e 's/[0-9]*\.dll$/.dll.a/'\`
++ shift
++ cat <<-EOF
++ Linking shared library
++ ** SHARED_LIB \$SHARED_LIB
++ ** IMPORT_LIB \$IMPORT_LIB
++EOF
++ exec \$* -shared -Wl,--out-implib=../lib/\${IMPORT_LIB} -Wl,--export-all-symbols -o ../lib/\${SHARED_LIB}
++CF_EOF
++ chmod +x mk_shared_lib.sh
++ ;;
++ openbsd[2-9].*|mirbsd*) #(vi
+ if test "$DFT_LWR_MODEL" = "shared" ; then
+ LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+ fi
+ if test "$cf_cv_enable_rpath" = yes ; then
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+ CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
+
+@@ -5704,12 +5746,12 @@
+ MK_SHARED_LIB='${LD} -Bshareable -o $@'
+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
+ ;;
+- freebsd*) #(vi
++ dragonfly*|freebsd*) #(vi
+ CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
+ if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
+ LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
+- LOCAL_LDFLAGS2="${cf_ld_rpath_opt}\${libdir} $LOCAL_LDFLAGS"
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ LOCAL_LDFLAGS2="${cf_ld_rpath_opt}\${RPATH_LIST} $LOCAL_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+
+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
+@@ -5726,7 +5768,7 @@
+ if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
+ LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ if test "$cf_cv_shlib_version" = auto; then
+ if test -f /usr/libexec/ld.elf_so; then
+ cf_cv_shlib_version=abi
+@@ -5810,7 +5852,7 @@
+ do
+ CFLAGS="$cf_shared_opts $cf_save_CFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5813 "configure"
++#line 5855 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -5822,16 +5864,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:5825: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:5867: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5828: \$? = $ac_status" >&5
++ echo "$as_me:5870: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:5831: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5873: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5834: \$? = $ac_status" >&5
++ echo "$as_me:5876: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -5868,21 +5910,62 @@
+ test "$cf_cv_do_symlinks" = no && cf_cv_do_symlinks=yes
+ ;;
+ *)
+- { echo "$as_me:5871: WARNING: ignored --with-shlib-version" >&5
++ { echo "$as_me:5913: WARNING: ignored --with-shlib-version" >&5
+ echo "$as_me: WARNING: ignored --with-shlib-version" >&2;}
+ ;;
+ esac
+ ;;
+ esac
+
+- if test -n "$cf_ld_rpath_opt" ; then
+- MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${libdir}"
++ if test -n "$cf_try_cflags"
++ then
++cat > conftest.$ac_ext <<EOF
++#line 5923 "${as_me:-configure}"
++#include <stdio.h>
++int main(int argc, char *argv[])
++{
++ printf("hello\n");
++ return (argv[argc-1] == 0) ;
++}
++EOF
++ cf_save_CFLAGS="$CFLAGS"
++ for cf_opt in $cf_try_cflags
++ do
++ CFLAGS="$cf_save_CFLAGS -$cf_opt"
++ echo "$as_me:5935: checking if CFLAGS option -$cf_opt works" >&5
++echo $ECHO_N "checking if CFLAGS option -$cf_opt works... $ECHO_C" >&6
++ if { (eval echo "$as_me:5937: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:5940: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ echo "$as_me:5942: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++ cf_save_CFLAGS="$CFLAGS"
++ else
++ echo "$as_me:5946: result: no" >&5
++echo "${ECHO_T}no" >&6
++ fi
++ done
++ CFLAGS="$cf_save_CFLAGS"
+ fi
+
++ # RPATH_LIST is a colon-separated list of directories
++ test -n "$cf_ld_rpath_opt" && MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${RPATH_LIST}"
++ test -z "$RPATH_LIST" && RPATH_LIST="\${libdir}"
++
++ test -n "$verbose" && echo " CC_SHARED_OPTS: $CC_SHARED_OPTS" 1>&6
++
++echo "${as_me:-configure}:5959: testing CC_SHARED_OPTS: $CC_SHARED_OPTS ..." 1>&5
++
++ test -n "$verbose" && echo " MK_SHARED_LIB: $MK_SHARED_LIB" 1>&6
++
++echo "${as_me:-configure}:5963: testing MK_SHARED_LIB: $MK_SHARED_LIB ..." 1>&5
++
+ if test "$CC_SHARED_OPTS" = "unknown"; then
+ for model in $cf_list_models; do
+ if test "$model" = "shared"; then
+- { { echo "$as_me:5885: error: Shared libraries are not supported in this version" >&5
++ { { echo "$as_me:5968: error: Shared libraries are not supported in this version" >&5
+ echo "$as_me: error: Shared libraries are not supported in this version" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -5892,7 +5975,7 @@
+ ### If we're building with rpath, try to link non-standard libs that way too.
+ if test "$DFT_LWR_MODEL" = "shared"; then
+
+-echo "$as_me:5895: checking if rpath-hack should be disabled" >&5
++echo "$as_me:5978: checking if rpath-hack should be disabled" >&5
+ echo $ECHO_N "checking if rpath-hack should be disabled... $ECHO_C" >&6
+
+ # Check whether --enable-rpath-hack or --disable-rpath-hack was given.
+@@ -5909,21 +5992,21 @@
+ cf_disable_rpath_hack=no
+
+ fi;
+-echo "$as_me:5912: result: $cf_disable_rpath_hack" >&5
++echo "$as_me:5995: result: $cf_disable_rpath_hack" >&5
+ echo "${ECHO_T}$cf_disable_rpath_hack" >&6
+ if test "$cf_disable_rpath_hack" = no ; then
+
+-echo "$as_me:5916: checking for updated LDFLAGS" >&5
++echo "$as_me:5999: checking for updated LDFLAGS" >&5
+ echo $ECHO_N "checking for updated LDFLAGS... $ECHO_C" >&6
+ if test -n "$LD_RPATH_OPT" ; then
+- echo "$as_me:5919: result: maybe" >&5
++ echo "$as_me:6002: result: maybe" >&5
+ echo "${ECHO_T}maybe" >&6
+
+ for ac_prog in ldd
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+-echo "$as_me:5926: checking for $ac_word" >&5
++echo "$as_me:6009: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_cf_ldd_prog+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -5938,7 +6021,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_cf_ldd_prog="$ac_prog"
+-echo "$as_me:5941: found $ac_dir/$ac_word" >&5
++echo "$as_me:6024: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -5946,10 +6029,10 @@
+ fi
+ cf_ldd_prog=$ac_cv_prog_cf_ldd_prog
+ if test -n "$cf_ldd_prog"; then
+- echo "$as_me:5949: result: $cf_ldd_prog" >&5
++ echo "$as_me:6032: result: $cf_ldd_prog" >&5
+ echo "${ECHO_T}$cf_ldd_prog" >&6
+ else
+- echo "$as_me:5952: result: no" >&5
++ echo "$as_me:6035: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -5963,7 +6046,7 @@
+ cf_rpath_oops=
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5966 "configure"
++#line 6049 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -5975,16 +6058,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5978: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6061: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5981: \$? = $ac_status" >&5
++ echo "$as_me:6064: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5984: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6067: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5987: \$? = $ac_status" >&5
++ echo "$as_me:6070: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_rpath_oops=`$cf_ldd_prog conftest$ac_exeext | fgrep ' not found' | sed -e 's% =>.*$%%' |sort -u`
+ cf_rpath_list=`$cf_ldd_prog conftest$ac_exeext | fgrep / | sed -e 's%^.*[ ]/%/%' -e 's%/[^/][^/]*$%%' |sort -u`
+@@ -6012,7 +6095,7 @@
+ then
+ test -n "$verbose" && echo " ...adding -L$cf_rpath_dir/lib to LDFLAGS for $cf_rpath_src" 1>&6
+
+-echo "${as_me:-configure}:6015: testing ...adding -L$cf_rpath_dir/lib to LDFLAGS for $cf_rpath_src ..." 1>&5
++echo "${as_me:-configure}:6098: testing ...adding -L$cf_rpath_dir/lib to LDFLAGS for $cf_rpath_src ..." 1>&5
+
+ LDFLAGS="$LDFLAGS -L$cf_rpath_dir/lib"
+ break
+@@ -6024,11 +6107,11 @@
+
+ test -n "$verbose" && echo " ...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS" 1>&6
+
+-echo "${as_me:-configure}:6027: testing ...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS ..." 1>&5
++echo "${as_me:-configure}:6110: testing ...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS ..." 1>&5
+
+ test -n "$verbose" && echo " ...checking LDFLAGS $LDFLAGS" 1>&6
+
+-echo "${as_me:-configure}:6031: testing ...checking LDFLAGS $LDFLAGS ..." 1>&5
++echo "${as_me:-configure}:6114: testing ...checking LDFLAGS $LDFLAGS ..." 1>&5
+
+ cf_rpath_dst=
+ for cf_rpath_src in $LDFLAGS
+@@ -6065,7 +6148,7 @@
+ then
+ test -n "$verbose" && echo " ...Filter $cf_rpath_src ->$cf_rpath_tmp" 1>&6
+
+-echo "${as_me:-configure}:6068: testing ...Filter $cf_rpath_src ->$cf_rpath_tmp ..." 1>&5
++echo "${as_me:-configure}:6151: testing ...Filter $cf_rpath_src ->$cf_rpath_tmp ..." 1>&5
+
+ EXTRA_LDFLAGS="$cf_rpath_tmp $EXTRA_LDFLAGS"
+ fi
+@@ -6078,11 +6161,11 @@
+
+ test -n "$verbose" && echo " ...checked LDFLAGS $LDFLAGS" 1>&6
+
+-echo "${as_me:-configure}:6081: testing ...checked LDFLAGS $LDFLAGS ..." 1>&5
++echo "${as_me:-configure}:6164: testing ...checked LDFLAGS $LDFLAGS ..." 1>&5
+
+ test -n "$verbose" && echo " ...checking LIBS $LIBS" 1>&6
+
+-echo "${as_me:-configure}:6085: testing ...checking LIBS $LIBS ..." 1>&5
++echo "${as_me:-configure}:6168: testing ...checking LIBS $LIBS ..." 1>&5
+
+ cf_rpath_dst=
+ for cf_rpath_src in $LIBS
+@@ -6119,7 +6202,7 @@
+ then
+ test -n "$verbose" && echo " ...Filter $cf_rpath_src ->$cf_rpath_tmp" 1>&6
+
+-echo "${as_me:-configure}:6122: testing ...Filter $cf_rpath_src ->$cf_rpath_tmp ..." 1>&5
++echo "${as_me:-configure}:6205: testing ...Filter $cf_rpath_src ->$cf_rpath_tmp ..." 1>&5
+
+ EXTRA_LDFLAGS="$cf_rpath_tmp $EXTRA_LDFLAGS"
+ fi
+@@ -6132,11 +6215,11 @@
+
+ test -n "$verbose" && echo " ...checked LIBS $LIBS" 1>&6
+
+-echo "${as_me:-configure}:6135: testing ...checked LIBS $LIBS ..." 1>&5
++echo "${as_me:-configure}:6218: testing ...checked LIBS $LIBS ..." 1>&5
+
+ test -n "$verbose" && echo " ...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS" 1>&6
+
+-echo "${as_me:-configure}:6139: testing ...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS ..." 1>&5
++echo "${as_me:-configure}:6222: testing ...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS ..." 1>&5
+
+ fi
+
+@@ -6147,7 +6230,7 @@
+ ###############################################################################
+
+ ### use option --disable-overwrite to leave out the link to -lcurses
+-echo "$as_me:6150: checking if you wish to install ncurses overwriting curses" >&5
++echo "$as_me:6233: checking if you wish to install ncurses overwriting curses" >&5
+ echo $ECHO_N "checking if you wish to install ncurses overwriting curses... $ECHO_C" >&6
+
+ # Check whether --enable-overwrite or --disable-overwrite was given.
+@@ -6157,10 +6240,10 @@
+ else
+ if test "$prefix" = "/usr" ; then with_overwrite=yes; else with_overwrite=no; fi
+ fi;
+-echo "$as_me:6160: result: $with_overwrite" >&5
++echo "$as_me:6243: result: $with_overwrite" >&5
+ echo "${ECHO_T}$with_overwrite" >&6
+
+-echo "$as_me:6163: checking if external terminfo-database is used" >&5
++echo "$as_me:6246: checking if external terminfo-database is used" >&5
+ echo $ECHO_N "checking if external terminfo-database is used... $ECHO_C" >&6
+
+ # Check whether --enable-database or --disable-database was given.
+@@ -6170,7 +6253,7 @@
+ else
+ use_database=yes
+ fi;
+-echo "$as_me:6173: result: $use_database" >&5
++echo "$as_me:6256: result: $use_database" >&5
+ echo "${ECHO_T}$use_database" >&6
+
+ case $host_os in #(vi
+@@ -6178,21 +6261,17 @@
+ TERMINFO_SRC='${top_srcdir}/misc/emx.src'
+ ;;
+ *) #(vi
+- TERMINFO_SRC='${top_srcdir}/misc/terminfo.src'
+- ;;
+-esac
+-
+- case $cf_cv_system_name in
+- os2*) PATH_SEPARATOR=';' ;;
+- *) PATH_SEPARATOR=':' ;;
+- esac
++ TERMINFO_SRC='${top_srcdir}/misc/terminfo.src'
++ ;;
++esac
+
+ if test "$use_database" != no ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define USE_DATABASE 1
+ EOF
+
+- echo "$as_me:6195: checking which terminfo source-file will be installed" >&5
++ echo "$as_me:6274: checking which terminfo source-file will be installed" >&5
+ echo $ECHO_N "checking which terminfo source-file will be installed... $ECHO_C" >&6
+
+ # Check whether --with-database or --without-database was given.
+@@ -6200,10 +6279,10 @@
+ withval="$with_database"
+ TERMINFO_SRC=$withval
+ fi;
+- echo "$as_me:6203: result: $TERMINFO_SRC" >&5
++ echo "$as_me:6282: result: $TERMINFO_SRC" >&5
+ echo "${ECHO_T}$TERMINFO_SRC" >&6
+
+- echo "$as_me:6206: checking whether to use hashed database instead of directory/tree" >&5
++ echo "$as_me:6285: checking whether to use hashed database instead of directory/tree" >&5
+ echo $ECHO_N "checking whether to use hashed database instead of directory/tree... $ECHO_C" >&6
+
+ # Check whether --with-hashed-db or --without-hashed-db was given.
+@@ -6213,13 +6292,13 @@
+ else
+ with_hashed_db=no
+ fi;
+- echo "$as_me:6216: result: $with_hashed_db" >&5
++ echo "$as_me:6295: result: $with_hashed_db" >&5
+ echo "${ECHO_T}$with_hashed_db" >&6
+ else
+ with_hashed_db=no
+ fi
+
+-echo "$as_me:6222: checking for list of fallback descriptions" >&5
++echo "$as_me:6301: checking for list of fallback descriptions" >&5
+ echo $ECHO_N "checking for list of fallback descriptions... $ECHO_C" >&6
+
+ # Check whether --with-fallbacks or --without-fallbacks was given.
+@@ -6229,11 +6308,11 @@
+ else
+ with_fallback=
+ fi;
+-echo "$as_me:6232: result: $with_fallback" >&5
++echo "$as_me:6311: result: $with_fallback" >&5
+ echo "${ECHO_T}$with_fallback" >&6
+ FALLBACK_LIST=`echo "$with_fallback" | sed -e 's/,/ /g'`
+
+-echo "$as_me:6236: checking if you want modern xterm or antique" >&5
++echo "$as_me:6315: checking if you want modern xterm or antique" >&5
+ echo $ECHO_N "checking if you want modern xterm or antique... $ECHO_C" >&6
+
+ # Check whether --with-xterm-new or --without-xterm-new was given.
+@@ -6247,17 +6326,42 @@
+ no) with_xterm_new=xterm-old;;
+ *) with_xterm_new=xterm-new;;
+ esac
+-echo "$as_me:6250: result: $with_xterm_new" >&5
++echo "$as_me:6329: result: $with_xterm_new" >&5
+ echo "${ECHO_T}$with_xterm_new" >&6
+ WHICH_XTERM=$with_xterm_new
+
++echo "$as_me:6333: checking if xterm backspace sends BS or DEL" >&5
++echo $ECHO_N "checking if xterm backspace sends BS or DEL... $ECHO_C" >&6
++
++# Check whether --with-xterm-kbs or --without-xterm-kbs was given.
++if test "${with_xterm_kbs+set}" = set; then
++ withval="$with_xterm_kbs"
++ with_xterm_kbs=$withval
++else
++ with_xterm_kbs=BS
++fi;
++case x$with_xterm_kbs in
++xyes|xno|xBS|xbs|x8)
++ with_xterm_kbs=BS
++ ;;
++xDEL|xdel|x127)
++ with_xterm_kbs=DEL
++ ;;
++*)
++ with_xterm_kbs=$withval
++ ;;
++esac
++echo "$as_me:6354: result: $with_xterm_kbs" >&5
++echo "${ECHO_T}$with_xterm_kbs" >&6
++XTERM_KBS=$with_xterm_kbs
++
+ MAKE_TERMINFO=
+ if test "$use_database" = no ; then
+ TERMINFO="${datadir}/terminfo"
+ MAKE_TERMINFO="#"
+ else
+
+-echo "$as_me:6260: checking for list of terminfo directories" >&5
++echo "$as_me:6364: checking for list of terminfo directories" >&5
+ echo $ECHO_N "checking for list of terminfo directories... $ECHO_C" >&6
+
+ # Check whether --with-terminfo-dirs or --without-terminfo-dirs was given.
+@@ -6285,7 +6389,7 @@
+ ;;
+ .[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
+ ;;
+-.\${*prefix}*) #(vi
++.\${*prefix}*|.\${*dir}*) #(vi
+ eval cf_src_path="$cf_src_path"
+ case ".$cf_src_path" in #(vi
+ .NONE/*)
+@@ -6297,26 +6401,37 @@
+ cf_src_path=`echo $cf_src_path | sed -e s%NONE%$cf_path_syntax%`
+ ;;
+ *)
+- { { echo "$as_me:6300: error: expected a pathname, not \"$cf_src_path\"" >&5
++ { { echo "$as_me:6404: error: expected a pathname, not \"$cf_src_path\"" >&5
+ echo "$as_me: error: expected a pathname, not \"$cf_src_path\"" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+ esac
+
+- test -n "$cf_dst_path" && cf_dst_path="${cf_dst_path}:"
++ test -n "$cf_dst_path" && cf_dst_path="${cf_dst_path}$PATH_SEPARATOR"
+ cf_dst_path="${cf_dst_path}${cf_src_path}"
+ done
+ IFS="$ac_save_ifs"
+
+-eval 'TERMINFO_DIRS="$cf_dst_path"'
++# This may use the prefix/exec_prefix symbols which will only yield "NONE"
++# so we have to check/work around. We do prefer the result of "eval"...
++eval cf_dst_eval="$cf_dst_path"
++case "x$cf_dst_eval" in #(vi
++xNONE*) #(vi
++ TERMINFO_DIRS=$cf_dst_path
++ ;;
++*)
++ TERMINFO_DIRS="$cf_dst_eval"
++ ;;
++esac
+
+-echo "$as_me:6313: result: $TERMINFO_DIRS" >&5
++echo "$as_me:6427: result: $TERMINFO_DIRS" >&5
+ echo "${ECHO_T}$TERMINFO_DIRS" >&6
+-test -n "$TERMINFO_DIRS" && cat >>confdefs.h <<EOF
++test -n "$TERMINFO_DIRS" &&
++cat >>confdefs.h <<EOF
+ #define TERMINFO_DIRS "$TERMINFO_DIRS"
+ EOF
+
+-echo "$as_me:6319: checking for default terminfo directory" >&5
++echo "$as_me:6434: checking for default terminfo directory" >&5
+ echo $ECHO_N "checking for default terminfo directory... $ECHO_C" >&6
+
+ # Check whether --with-default-terminfo-dir or --without-default-terminfo-dir was given.
+@@ -6340,7 +6455,7 @@
+ ;;
+ .[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
+ ;;
+-.\${*prefix}*) #(vi
++.\${*prefix}*|.\${*dir}*) #(vi
+ eval withval="$withval"
+ case ".$withval" in #(vi
+ .NONE/*)
+@@ -6352,17 +6467,18 @@
+ withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%`
+ ;;
+ *)
+- { { echo "$as_me:6355: error: expected a pathname, not \"$withval\"" >&5
++ { { echo "$as_me:6470: error: expected a pathname, not \"$withval\"" >&5
+ echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+ esac
+
+ fi
+-TERMINFO="$withval"
++eval TERMINFO="$withval"
+
+-echo "$as_me:6364: result: $TERMINFO" >&5
++echo "$as_me:6479: result: $TERMINFO" >&5
+ echo "${ECHO_T}$TERMINFO" >&6
++
+ cat >>confdefs.h <<EOF
+ #define TERMINFO "$TERMINFO"
+ EOF
+@@ -6371,7 +6487,7 @@
+
+ ### use option --disable-big-core to make tic run on small machines
+ ### We need 4Mb, check if we can allocate 50% more than that.
+-echo "$as_me:6374: checking if big-core option selected" >&5
++echo "$as_me:6490: checking if big-core option selected" >&5
+ echo $ECHO_N "checking if big-core option selected... $ECHO_C" >&6
+
+ # Check whether --enable-big-core or --disable-big-core was given.
+@@ -6383,7 +6499,7 @@
+ with_big_core=no
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6386 "configure"
++#line 6502 "configure"
+ #include "confdefs.h"
+
+ #include <stdlib.h>
+@@ -6397,15 +6513,15 @@
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:6400: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6516: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6403: \$? = $ac_status" >&5
++ echo "$as_me:6519: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:6405: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6521: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6408: \$? = $ac_status" >&5
++ echo "$as_me:6524: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ with_big_core=yes
+ else
+@@ -6417,16 +6533,17 @@
+ rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+ fi;
+-echo "$as_me:6420: result: $with_big_core" >&5
++echo "$as_me:6536: result: $with_big_core" >&5
+ echo "${ECHO_T}$with_big_core" >&6
+-test "$with_big_core" = "yes" && cat >>confdefs.h <<\EOF
++test "x$with_big_core" = "xyes" &&
++cat >>confdefs.h <<\EOF
+ #define HAVE_BIG_CORE 1
+ EOF
+
+ ### ISO C only guarantees 512-char strings, we have tables which load faster
+ ### when constructed using "big" strings. More than the C compiler, the awk
+ ### program is a limit on most vendor UNIX systems. Check that we can build.
+-echo "$as_me:6429: checking if big-strings option selected" >&5
++echo "$as_me:6546: checking if big-strings option selected" >&5
+ echo $ECHO_N "checking if big-strings option selected... $ECHO_C" >&6
+
+ # Check whether --enable-big-strings or --disable-big-strings was given.
+@@ -6440,8 +6557,8 @@
+ eval with_big_strings=no
+ ;;
+ *) #(vi
+- if ( ${AWK} 'BEGIN { xx = "x"; while (length(xx) < 12000) { xx = xx "x"; }; printf("%s\n", xx); }' \
+- | $AWK '{ printf "%d\n", length($0); }' | $AWK 'BEGIN { eqls=0; recs=0; } { recs++; if ($0 == 12000) eqls++; } END { if (recs != 1 || eqls != 1) exit 1; }' 2>/dev/null >/dev/null ) ; then
++ if ( ${AWK} 'BEGIN { xx = "x"; while (length(xx) < 12000) { xx = xx "x"; }; printf("%s\n", xx); }' 2>/dev/null \
++ | $AWK '{ printf "%d\n", length($0); }' 2>/dev/null | $AWK 'BEGIN { eqls=0; recs=0; } { recs++; if ($0 == 12000) eqls++; } END { if (recs != 1 || eqls != 1) exit 1; }' 2>/dev/null >/dev/null ) ; then
+ eval with_big_strings=yes
+ else
+ eval with_big_strings=no
+@@ -6450,14 +6567,14 @@
+ esac
+
+ fi;
+-echo "$as_me:6453: result: $with_big_strings" >&5
++echo "$as_me:6570: result: $with_big_strings" >&5
+ echo "${ECHO_T}$with_big_strings" >&6
+
+ USE_BIG_STRINGS=0
+-test "$with_big_strings" = "yes" && USE_BIG_STRINGS=1
++test "x$with_big_strings" = "xyes" && USE_BIG_STRINGS=1
+
+ ### use option --enable-termcap to compile in the termcap fallback support
+-echo "$as_me:6460: checking if you want termcap-fallback support" >&5
++echo "$as_me:6577: checking if you want termcap-fallback support" >&5
+ echo $ECHO_N "checking if you want termcap-fallback support... $ECHO_C" >&6
+
+ # Check whether --enable-termcap or --disable-termcap was given.
+@@ -6467,25 +6584,26 @@
+ else
+ with_termcap=no
+ fi;
+-echo "$as_me:6470: result: $with_termcap" >&5
++echo "$as_me:6587: result: $with_termcap" >&5
+ echo "${ECHO_T}$with_termcap" >&6
+
+-if test "$with_termcap" != "yes" ; then
++if test "x$with_termcap" != "xyes" ; then
+ if test "$use_database" = no ; then
+ if test -z "$with_fallback" ; then
+- { { echo "$as_me:6476: error: You have disabled the database w/o specifying fallbacks" >&5
++ { { echo "$as_me:6593: error: You have disabled the database w/o specifying fallbacks" >&5
+ echo "$as_me: error: You have disabled the database w/o specifying fallbacks" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ fi
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define PURE_TERMINFO 1
+ EOF
+
+ else
+
+ if test "$with_ticlib" != no ; then
+- { { echo "$as_me:6488: error: Options --with-ticlib and --enable-termcap cannot be combined" >&5
++ { { echo "$as_me:6606: error: Options --with-ticlib and --enable-termcap cannot be combined" >&5
+ echo "$as_me: error: Options --with-ticlib and --enable-termcap cannot be combined" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -6494,7 +6612,7 @@
+ #define USE_TERMCAP 1
+ EOF
+
+-echo "$as_me:6497: checking for list of termcap files" >&5
++echo "$as_me:6615: checking for list of termcap files" >&5
+ echo $ECHO_N "checking for list of termcap files... $ECHO_C" >&6
+
+ # Check whether --with-termpath or --without-termpath was given.
+@@ -6522,7 +6640,7 @@
+ ;;
+ .[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
+ ;;
+-.\${*prefix}*) #(vi
++.\${*prefix}*|.\${*dir}*) #(vi
+ eval cf_src_path="$cf_src_path"
+ case ".$cf_src_path" in #(vi
+ .NONE/*)
+@@ -6534,27 +6652,38 @@
+ cf_src_path=`echo $cf_src_path | sed -e s%NONE%$cf_path_syntax%`
+ ;;
+ *)
+- { { echo "$as_me:6537: error: expected a pathname, not \"$cf_src_path\"" >&5
++ { { echo "$as_me:6655: error: expected a pathname, not \"$cf_src_path\"" >&5
+ echo "$as_me: error: expected a pathname, not \"$cf_src_path\"" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+ esac
+
+- test -n "$cf_dst_path" && cf_dst_path="${cf_dst_path}:"
++ test -n "$cf_dst_path" && cf_dst_path="${cf_dst_path}$PATH_SEPARATOR"
+ cf_dst_path="${cf_dst_path}${cf_src_path}"
+ done
+ IFS="$ac_save_ifs"
+
+-eval 'TERMPATH="$cf_dst_path"'
++# This may use the prefix/exec_prefix symbols which will only yield "NONE"
++# so we have to check/work around. We do prefer the result of "eval"...
++eval cf_dst_eval="$cf_dst_path"
++case "x$cf_dst_eval" in #(vi
++xNONE*) #(vi
++ TERMPATH=$cf_dst_path
++ ;;
++*)
++ TERMPATH="$cf_dst_eval"
++ ;;
++esac
+
+-echo "$as_me:6550: result: $TERMPATH" >&5
++echo "$as_me:6678: result: $TERMPATH" >&5
+ echo "${ECHO_T}$TERMPATH" >&6
+-test -n "$TERMPATH" && cat >>confdefs.h <<EOF
++test -n "$TERMPATH" &&
++cat >>confdefs.h <<EOF
+ #define TERMPATH "$TERMPATH"
+ EOF
+
+ ### use option --enable-getcap to use a hacked getcap for reading termcaps
+-echo "$as_me:6557: checking if fast termcap-loader is needed" >&5
++echo "$as_me:6686: checking if fast termcap-loader is needed" >&5
+ echo $ECHO_N "checking if fast termcap-loader is needed... $ECHO_C" >&6
+
+ # Check whether --enable-getcap or --disable-getcap was given.
+@@ -6564,13 +6693,14 @@
+ else
+ with_getcap=no
+ fi;
+-echo "$as_me:6567: result: $with_getcap" >&5
++echo "$as_me:6696: result: $with_getcap" >&5
+ echo "${ECHO_T}$with_getcap" >&6
+-test "$with_getcap" = "yes" && cat >>confdefs.h <<\EOF
++test "x$with_getcap" = "xyes" &&
++cat >>confdefs.h <<\EOF
+ #define USE_GETCAP 1
+ EOF
+
+-echo "$as_me:6573: checking if translated termcaps will be cached in ~/.terminfo" >&5
++echo "$as_me:6703: checking if translated termcaps will be cached in ~/.terminfo" >&5
+ echo $ECHO_N "checking if translated termcaps will be cached in ~/.terminfo... $ECHO_C" >&6
+
+ # Check whether --enable-getcap-cache or --disable-getcap-cache was given.
+@@ -6580,16 +6710,17 @@
+ else
+ with_getcap_cache=no
+ fi;
+-echo "$as_me:6583: result: $with_getcap_cache" >&5
++echo "$as_me:6713: result: $with_getcap_cache" >&5
+ echo "${ECHO_T}$with_getcap_cache" >&6
+-test "$with_getcap_cache" = "yes" && cat >>confdefs.h <<\EOF
++test "x$with_getcap_cache" = "xyes" &&
++cat >>confdefs.h <<\EOF
+ #define USE_GETCAP_CACHE 1
+ EOF
+
+ fi
+
+ ### Use option --disable-home-terminfo to completely remove ~/.terminfo
+-echo "$as_me:6592: checking if ~/.terminfo is wanted" >&5
++echo "$as_me:6723: checking if ~/.terminfo is wanted" >&5
+ echo $ECHO_N "checking if ~/.terminfo is wanted... $ECHO_C" >&6
+
+ # Check whether --enable-home-terminfo or --disable-home-terminfo was given.
+@@ -6599,13 +6730,14 @@
+ else
+ with_home_terminfo=yes
+ fi;
+-echo "$as_me:6602: result: $with_home_terminfo" >&5
++echo "$as_me:6733: result: $with_home_terminfo" >&5
+ echo "${ECHO_T}$with_home_terminfo" >&6
+-test "$with_home_terminfo" = "yes" && cat >>confdefs.h <<\EOF
++test "x$with_home_terminfo" = "xyes" &&
++cat >>confdefs.h <<\EOF
+ #define USE_HOME_TERMINFO 1
+ EOF
+
+-echo "$as_me:6608: checking if you want to use restricted environment when running as root" >&5
++echo "$as_me:6740: checking if you want to use restricted environment when running as root" >&5
+ echo $ECHO_N "checking if you want to use restricted environment when running as root... $ECHO_C" >&6
+
+ # Check whether --enable-root-environ or --disable-root-environ was given.
+@@ -6615,9 +6747,10 @@
+ else
+ with_root_environ=yes
+ fi;
+-echo "$as_me:6618: result: $with_root_environ" >&5
++echo "$as_me:6750: result: $with_root_environ" >&5
+ echo "${ECHO_T}$with_root_environ" >&6
+-test "$with_root_environ" = yes && cat >>confdefs.h <<\EOF
++test "x$with_root_environ" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define USE_ROOT_ENVIRON 1
+ EOF
+
+@@ -6629,13 +6762,13 @@
+ unlink
+ do
+ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+-echo "$as_me:6632: checking for $ac_func" >&5
++echo "$as_me:6765: checking for $ac_func" >&5
+ echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_var+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6638 "configure"
++#line 6771 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below. */
+@@ -6658,7 +6791,7 @@
+ #if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+ choke me
+ #else
+-f = $ac_func;
++f = $ac_func; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -6666,16 +6799,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6669: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6802: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6672: \$? = $ac_status" >&5
++ echo "$as_me:6805: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6675: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6808: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6678: \$? = $ac_status" >&5
++ echo "$as_me:6811: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_var=yes"
+ else
+@@ -6685,7 +6818,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:6688: result: `eval echo '${'$as_ac_var'}'`" >&5
++echo "$as_me:6821: result: `eval echo '${'$as_ac_var'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -6702,13 +6835,13 @@
+ symlink
+ do
+ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+-echo "$as_me:6705: checking for $ac_func" >&5
++echo "$as_me:6838: checking for $ac_func" >&5
+ echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_var+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6711 "configure"
++#line 6844 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below. */
+@@ -6731,7 +6864,7 @@
+ #if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+ choke me
+ #else
+-f = $ac_func;
++f = $ac_func; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -6739,16 +6872,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6742: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6875: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6745: \$? = $ac_status" >&5
++ echo "$as_me:6878: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6748: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6881: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6751: \$? = $ac_status" >&5
++ echo "$as_me:6884: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_var=yes"
+ else
+@@ -6758,7 +6891,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:6761: result: `eval echo '${'$as_ac_var'}'`" >&5
++echo "$as_me:6894: result: `eval echo '${'$as_ac_var'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -6769,7 +6902,7 @@
+ done
+
+ else
+- echo "$as_me:6772: checking if link/symlink functions work" >&5
++ echo "$as_me:6905: checking if link/symlink functions work" >&5
+ echo $ECHO_N "checking if link/symlink functions work... $ECHO_C" >&6
+ if test "${cf_cv_link_funcs+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -6782,7 +6915,7 @@
+ eval 'ac_cv_func_'$cf_func'=error'
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6785 "configure"
++#line 6918 "configure"
+ #include "confdefs.h"
+
+ #include <sys/types.h>
+@@ -6812,15 +6945,15 @@
+
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:6815: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6948: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6818: \$? = $ac_status" >&5
++ echo "$as_me:6951: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:6820: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6953: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6823: \$? = $ac_status" >&5
++ echo "$as_me:6956: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_link_funcs="$cf_cv_link_funcs $cf_func"
+@@ -6838,13 +6971,15 @@
+ test -z "$cf_cv_link_funcs" && cf_cv_link_funcs=no
+
+ fi
+-echo "$as_me:6841: result: $cf_cv_link_funcs" >&5
++echo "$as_me:6974: result: $cf_cv_link_funcs" >&5
+ echo "${ECHO_T}$cf_cv_link_funcs" >&6
+- test "$ac_cv_func_link" = yes && cat >>confdefs.h <<\EOF
++ test "$ac_cv_func_link" = yes &&
++cat >>confdefs.h <<\EOF
+ #define HAVE_LINK 1
+ EOF
+
+- test "$ac_cv_func_symlink" = yes && cat >>confdefs.h <<\EOF
++ test "$ac_cv_func_symlink" = yes &&
++cat >>confdefs.h <<\EOF
+ #define HAVE_SYMLINK 1
+ EOF
+
+@@ -6855,8 +6990,8 @@
+
+ # soft links (symbolic links) are useful for some systems where hard links do
+ # not work, or to make it simpler to copy terminfo trees around.
+-if test "$ac_cv_func_symlink" = yes ; then
+- echo "$as_me:6859: checking if tic should use symbolic links" >&5
++if test "x$ac_cv_func_symlink" = xyes ; then
++ echo "$as_me:6994: checking if tic should use symbolic links" >&5
+ echo $ECHO_N "checking if tic should use symbolic links... $ECHO_C" >&6
+
+ # Check whether --enable-symlinks or --disable-symlinks was given.
+@@ -6866,34 +7001,36 @@
+ else
+ with_symlinks=no
+ fi;
+- echo "$as_me:6869: result: $with_symlinks" >&5
++ echo "$as_me:7004: result: $with_symlinks" >&5
+ echo "${ECHO_T}$with_symlinks" >&6
+ fi
+
+ # If we have hard links and did not choose to use soft links instead, there is
+ # no reason to make this choice optional - use the hard links.
+ if test "$with_symlinks" = no ; then
+- echo "$as_me:6876: checking if tic should use hard links" >&5
++ echo "$as_me:7011: checking if tic should use hard links" >&5
+ echo $ECHO_N "checking if tic should use hard links... $ECHO_C" >&6
+- if test "$ac_cv_func_link" = yes ; then
++ if test "x$ac_cv_func_link" = xyes ; then
+ with_links=yes
+ else
+ with_links=no
+ fi
+- echo "$as_me:6883: result: $with_links" >&5
++ echo "$as_me:7018: result: $with_links" >&5
+ echo "${ECHO_T}$with_links" >&6
+ fi
+
+-test "$with_links" = yes && cat >>confdefs.h <<\EOF
++test "x$with_links" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define USE_LINKS 1
+ EOF
+
+-test "$with_symlinks" = yes && cat >>confdefs.h <<\EOF
++test "x$with_symlinks" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define USE_SYMLINKS 1
+ EOF
+
+ ### use option --enable-broken-linker to force on use of broken-linker support
+-echo "$as_me:6896: checking if you want broken-linker support code" >&5
++echo "$as_me:7033: checking if you want broken-linker support code" >&5
+ echo $ECHO_N "checking if you want broken-linker support code... $ECHO_C" >&6
+
+ # Check whether --enable-broken_linker or --disable-broken_linker was given.
+@@ -6903,12 +7040,13 @@
+ else
+ with_broken_linker=${BROKEN_LINKER:-no}
+ fi;
+-echo "$as_me:6906: result: $with_broken_linker" >&5
++echo "$as_me:7043: result: $with_broken_linker" >&5
+ echo "${ECHO_T}$with_broken_linker" >&6
+
+ BROKEN_LINKER=0
+-if test "$with_broken_linker" = yes ; then
+- cat >>confdefs.h <<\EOF
++if test "x$with_broken_linker" = xyes ; then
++
++cat >>confdefs.h <<\EOF
+ #define BROKEN_LINKER 1
+ EOF
+
+@@ -6916,21 +7054,22 @@
+ elif test "$DFT_LWR_MODEL" = shared ; then
+ case $cf_cv_system_name in #(vi
+ cygwin*)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define BROKEN_LINKER 1
+ EOF
+
+ BROKEN_LINKER=1
+ test -n "$verbose" && echo " cygwin linker is broken anyway" 1>&6
+
+-echo "${as_me:-configure}:6926: testing cygwin linker is broken anyway ..." 1>&5
++echo "${as_me:-configure}:7065: testing cygwin linker is broken anyway ..." 1>&5
+
+ ;;
+ esac
+ fi
+
+ ### use option --enable-bsdpad to have tputs process BSD-style prefix padding
+-echo "$as_me:6933: checking if tputs should process BSD-style prefix padding" >&5
++echo "$as_me:7072: checking if tputs should process BSD-style prefix padding" >&5
+ echo $ECHO_N "checking if tputs should process BSD-style prefix padding... $ECHO_C" >&6
+
+ # Check whether --enable-bsdpad or --disable-bsdpad was given.
+@@ -6940,9 +7079,10 @@
+ else
+ with_bsdpad=no
+ fi;
+-echo "$as_me:6943: result: $with_bsdpad" >&5
++echo "$as_me:7082: result: $with_bsdpad" >&5
+ echo "${ECHO_T}$with_bsdpad" >&6
+-test "$with_bsdpad" = yes && cat >>confdefs.h <<\EOF
++test "x$with_bsdpad" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define BSD_TPUTS 1
+ EOF
+
+@@ -6962,7 +7102,7 @@
+ cf_xopen_source=
+
+ case $host_os in #(vi
+-aix[456]*) #(vi
++aix[4-7]*) #(vi
+ cf_xopen_source="-D_ALL_SOURCE"
+ ;;
+ cygwin) #(vi
+@@ -6973,6 +7113,7 @@
+ ;;
+ darwin*) #(vi
+ cf_xopen_source="-D_DARWIN_C_SOURCE"
++ cf_XOPEN_SOURCE=
+ ;;
+ freebsd*|dragonfly*) #(vi
+ # 5.x headers associate
+@@ -6990,17 +7131,18 @@
+ ;;
+ irix[56].*) #(vi
+ cf_xopen_source="-D_SGI_SOURCE"
++ cf_XOPEN_SOURCE=
+ ;;
+ linux*|gnu*|mint*|k*bsd*-gnu) #(vi
+
+-echo "$as_me:6996: checking if we must define _GNU_SOURCE" >&5
++echo "$as_me:7138: checking if we must define _GNU_SOURCE" >&5
+ echo $ECHO_N "checking if we must define _GNU_SOURCE... $ECHO_C" >&6
+ if test "${cf_cv_gnu_source+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7003 "configure"
++#line 7145 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ int
+@@ -7015,16 +7157,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7018: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7160: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7021: \$? = $ac_status" >&5
++ echo "$as_me:7163: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7024: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7166: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7027: \$? = $ac_status" >&5
++ echo "$as_me:7169: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_gnu_source=no
+ else
+@@ -7033,7 +7175,7 @@
+ cf_save="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7036 "configure"
++#line 7178 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ int
+@@ -7048,16 +7190,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7051: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7193: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7054: \$? = $ac_status" >&5
++ echo "$as_me:7196: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7057: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7199: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7060: \$? = $ac_status" >&5
++ echo "$as_me:7202: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_gnu_source=no
+ else
+@@ -7065,23 +7207,267 @@
+ cat conftest.$ac_ext >&5
+ cf_cv_gnu_source=yes
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+- CPPFLAGS="$cf_save"
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CPPFLAGS="$cf_save"
++
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++
++fi
++echo "$as_me:7217: result: $cf_cv_gnu_source" >&5
++echo "${ECHO_T}$cf_cv_gnu_source" >&6
++test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
++
++ ;;
++mirbsd*) #(vi
++ # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <sys/select.h> and other headers which use u_int / u_short types
++ cf_XOPEN_SOURCE=
++
++cf_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE
++
++cf_save_CFLAGS="$CFLAGS"
++cf_save_CPPFLAGS="$CPPFLAGS"
++
++cf_trim_CFLAGS=`echo "$cf_save_CFLAGS" | \
++ sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'`
++
++cf_trim_CPPFLAGS=`echo "$cf_save_CPPFLAGS" | \
++ sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'`
++
++echo "$as_me:7239: checking if we should define _POSIX_C_SOURCE" >&5
++echo $ECHO_N "checking if we should define _POSIX_C_SOURCE... $ECHO_C" >&6
++if test "${cf_cv_posix_c_source+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++echo "${as_me:-configure}:7245: testing if the symbol is already defined go no further ..." 1>&5
++
++ cat >conftest.$ac_ext <<_ACEOF
++#line 7248 "configure"
++#include "confdefs.h"
++#include <sys/types.h>
++int
++main ()
++{
++
++#ifndef _POSIX_C_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:7263: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:7266: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:7269: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:7272: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_posix_c_source=no
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_want_posix_source=no
++ case .$cf_POSIX_C_SOURCE in #(vi
++ .[12]??*) #(vi
++ cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
++ ;;
++ .2) #(vi
++ cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
++ cf_want_posix_source=yes
++ ;;
++ .*)
++ cf_want_posix_source=yes
++ ;;
++ esac
++ if test "$cf_want_posix_source" = yes ; then
++ cat >conftest.$ac_ext <<_ACEOF
++#line 7293 "configure"
++#include "confdefs.h"
++#include <sys/types.h>
++int
++main ()
++{
++
++#ifdef _POSIX_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:7308: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:7311: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:7314: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:7317: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_posix_c_source="$cf_cv_posix_c_source -D_POSIX_SOURCE"
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ fi
++
++echo "${as_me:-configure}:7328: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5
++
++ CFLAGS="$cf_trim_CFLAGS"
++ CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source"
++
++echo "${as_me:-configure}:7333: testing if the second compile does not leave our definition intact error ..." 1>&5
++
++ cat >conftest.$ac_ext <<_ACEOF
++#line 7336 "configure"
++#include "confdefs.h"
++#include <sys/types.h>
++int
++main ()
++{
++
++#ifndef _POSIX_C_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:7351: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:7354: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:7357: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:7360: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_posix_c_source=no
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CFLAGS="$cf_save_CFLAGS"
++ CPPFLAGS="$cf_save_CPPFLAGS"
++
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++
++fi
++echo "$as_me:7376: result: $cf_cv_posix_c_source" >&5
++echo "${ECHO_T}$cf_cv_posix_c_source" >&6
++
++if test "$cf_cv_posix_c_source" != no ; then
++ CFLAGS="$cf_trim_CFLAGS"
++ CPPFLAGS="$cf_trim_CPPFLAGS"
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in $cf_cv_posix_c_source
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
++fi
++
++if test -n "$cf_new_cppflags" ; then
+
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+-echo "$as_me:7075: result: $cf_cv_gnu_source" >&5
+-echo "${ECHO_T}$cf_cv_gnu_source" >&6
+-test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
+
+- ;;
+-mirbsd*) #(vi
+- # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <arpa/inet.h>
+ ;;
+ netbsd*) #(vi
+- # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
++ cf_xopen_source="-D_NETBSD_SOURCE" # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
++ ;;
++openbsd[4-9]*) #(vi
++ # setting _XOPEN_SOURCE lower than 500 breaks g++ compile with wchar.h, needed for ncursesw
++ cf_xopen_source="-D_BSD_SOURCE"
++ cf_XOPEN_SOURCE=600
+ ;;
+ openbsd*) #(vi
+ # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
+@@ -7095,23 +7481,25 @@
+ sco*) #(vi
+ # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
+ ;;
+-solaris2.1[0-9]) #(vi
+- cf_xopen_source="-D__EXTENSIONS__ -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+- ;;
+-solaris2.[1-9]) #(vi
++solaris2.*) #(vi
+ cf_xopen_source="-D__EXTENSIONS__"
+ ;;
+ *)
+- echo "$as_me:7105: checking if we should define _XOPEN_SOURCE" >&5
++
++echo "$as_me:7489: checking if we should define _XOPEN_SOURCE" >&5
+ echo $ECHO_N "checking if we should define _XOPEN_SOURCE... $ECHO_C" >&6
+ if test "${cf_cv_xopen_source+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7112 "configure"
++#line 7496 "configure"
+ #include "confdefs.h"
++
++#include <stdlib.h>
++#include <string.h>
+ #include <sys/types.h>
++
+ int
+ main ()
+ {
+@@ -7124,16 +7512,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7127: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7515: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7130: \$? = $ac_status" >&5
++ echo "$as_me:7518: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7133: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7521: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7136: \$? = $ac_status" >&5
++ echo "$as_me:7524: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_xopen_source=no
+ else
+@@ -7142,9 +7530,13 @@
+ cf_save="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7145 "configure"
++#line 7533 "configure"
+ #include "confdefs.h"
++
++#include <stdlib.h>
++#include <string.h>
+ #include <sys/types.h>
++
+ int
+ main ()
+ {
+@@ -7157,16 +7549,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7160: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7552: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7163: \$? = $ac_status" >&5
++ echo "$as_me:7555: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7166: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7558: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7169: \$? = $ac_status" >&5
++ echo "$as_me:7561: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_xopen_source=no
+ else
+@@ -7181,9 +7573,10 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+-echo "$as_me:7184: result: $cf_cv_xopen_source" >&5
++echo "$as_me:7576: result: $cf_cv_xopen_source" >&5
+ echo "${ECHO_T}$cf_cv_xopen_source" >&6
+- if test "$cf_cv_xopen_source" != no ; then
++
++if test "$cf_cv_xopen_source" != no ; then
+
+ CFLAGS=`echo "$CFLAGS" | \
+ sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
+@@ -7193,7 +7586,7 @@
+ sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
+ -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'`
+
+- cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
++ cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
+
+ cf_fix_cppflags=no
+ cf_new_cflags=
+@@ -7273,7 +7666,7 @@
+ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+ fi
+
+- fi
++fi
+
+ cf_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE
+
+@@ -7288,16 +7681,16 @@
+ sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
+ -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'`
+
+-echo "$as_me:7291: checking if we should define _POSIX_C_SOURCE" >&5
++echo "$as_me:7684: checking if we should define _POSIX_C_SOURCE" >&5
+ echo $ECHO_N "checking if we should define _POSIX_C_SOURCE... $ECHO_C" >&6
+ if test "${cf_cv_posix_c_source+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+-echo "${as_me:-configure}:7297: testing if the symbol is already defined go no further ..." 1>&5
++echo "${as_me:-configure}:7690: testing if the symbol is already defined go no further ..." 1>&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7300 "configure"
++#line 7693 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ int
+@@ -7312,16 +7705,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7315: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7708: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7318: \$? = $ac_status" >&5
++ echo "$as_me:7711: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7321: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7714: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7324: \$? = $ac_status" >&5
++ echo "$as_me:7717: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_posix_c_source=no
+ else
+@@ -7342,7 +7735,7 @@
+ esac
+ if test "$cf_want_posix_source" = yes ; then
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7345 "configure"
++#line 7738 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ int
+@@ -7357,16 +7750,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7360: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7753: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7363: \$? = $ac_status" >&5
++ echo "$as_me:7756: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7366: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7759: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7369: \$? = $ac_status" >&5
++ echo "$as_me:7762: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -7377,15 +7770,15 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+
+-echo "${as_me:-configure}:7380: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5
++echo "${as_me:-configure}:7773: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5
+
+ CFLAGS="$cf_trim_CFLAGS"
+ CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source"
+
+-echo "${as_me:-configure}:7385: testing if the second compile does not leave our definition intact error ..." 1>&5
++echo "${as_me:-configure}:7778: testing if the second compile does not leave our definition intact error ..." 1>&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7388 "configure"
++#line 7781 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ int
+@@ -7400,16 +7793,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7403: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7796: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7406: \$? = $ac_status" >&5
++ echo "$as_me:7799: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7409: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7802: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7412: \$? = $ac_status" >&5
++ echo "$as_me:7805: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -7425,7 +7818,7 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+-echo "$as_me:7428: result: $cf_cv_posix_c_source" >&5
++echo "$as_me:7821: result: $cf_cv_posix_c_source" >&5
+ echo "${ECHO_T}$cf_cv_posix_c_source" >&6
+
+ if test "$cf_cv_posix_c_source" != no ; then
+@@ -7500,29 +7893,293 @@
+ CFLAGS="$CFLAGS $cf_new_cflags"
+ fi
+
+-if test -n "$cf_new_cppflags" ; then
+-
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++if test -n "$cf_new_cppflags" ; then
++
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
++
++fi
++
++ ;;
++esac
++
++if test -n "$cf_xopen_source" ; then
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in $cf_xopen_source
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
++fi
++
++if test -n "$cf_new_cppflags" ; then
++
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
++
++fi
++
++if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then
++ echo "$as_me:7994: checking if _XOPEN_SOURCE really is set" >&5
++echo $ECHO_N "checking if _XOPEN_SOURCE really is set... $ECHO_C" >&6
++ cat >conftest.$ac_ext <<_ACEOF
++#line 7997 "configure"
++#include "confdefs.h"
++#include <stdlib.h>
++int
++main ()
++{
++
++#ifndef _XOPEN_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:8012: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:8015: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:8018: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:8021: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_XOPEN_SOURCE_set=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_XOPEN_SOURCE_set=no
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ echo "$as_me:8030: result: $cf_XOPEN_SOURCE_set" >&5
++echo "${ECHO_T}$cf_XOPEN_SOURCE_set" >&6
++ if test $cf_XOPEN_SOURCE_set = yes
++ then
++ cat >conftest.$ac_ext <<_ACEOF
++#line 8035 "configure"
++#include "confdefs.h"
++#include <stdlib.h>
++int
++main ()
++{
++
++#if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:8050: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:8053: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:8056: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:8059: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_XOPEN_SOURCE_set_ok=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_XOPEN_SOURCE_set_ok=no
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ if test $cf_XOPEN_SOURCE_set_ok = no
++ then
++ { echo "$as_me:8070: WARNING: _XOPEN_SOURCE is lower than requested" >&5
++echo "$as_me: WARNING: _XOPEN_SOURCE is lower than requested" >&2;}
++ fi
++ else
++
++echo "$as_me:8075: checking if we should define _XOPEN_SOURCE" >&5
++echo $ECHO_N "checking if we should define _XOPEN_SOURCE... $ECHO_C" >&6
++if test "${cf_cv_xopen_source+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++ cat >conftest.$ac_ext <<_ACEOF
++#line 8082 "configure"
++#include "confdefs.h"
++
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++
++int
++main ()
++{
++
++#ifndef _XOPEN_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:8101: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:8104: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:8107: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:8110: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_xopen_source=no
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_save="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 8119 "configure"
++#include "confdefs.h"
++
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++
++int
++main ()
++{
++
++#ifdef _XOPEN_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:8138: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:8141: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:8144: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:8147: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_xopen_source=no
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_xopen_source=$cf_XOPEN_SOURCE
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CPPFLAGS="$cf_save"
++
+ fi
++rm -f conftest.$ac_objext conftest.$ac_ext
+
+-if test -n "$cf_new_extra_cppflags" ; then
+-
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+ fi
++echo "$as_me:8162: result: $cf_cv_xopen_source" >&5
++echo "${ECHO_T}$cf_cv_xopen_source" >&6
+
+-fi
++if test "$cf_cv_xopen_source" != no ; then
+
+- ;;
+-esac
++CFLAGS=`echo "$CFLAGS" | \
++ sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'`
+
+-if test -n "$cf_xopen_source" ; then
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'`
++
++ cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
+
+ cf_fix_cppflags=no
+ cf_new_cflags=
+ cf_new_cppflags=
+ cf_new_extra_cppflags=
+
+-for cf_add_cflags in $cf_xopen_source
++for cf_add_cflags in $cf_temp_xopen_source
+ do
+ case $cf_fix_cppflags in
+ no)
+@@ -7597,16 +8254,19 @@
+
+ fi
+
++ fi
++fi
++
+ # Work around breakage on OS X
+
+-echo "$as_me:7602: checking if SIGWINCH is defined" >&5
++echo "$as_me:8262: checking if SIGWINCH is defined" >&5
+ echo $ECHO_N "checking if SIGWINCH is defined... $ECHO_C" >&6
+ if test "${cf_cv_define_sigwinch+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7609 "configure"
++#line 8269 "configure"
+ #include "confdefs.h"
+
+ #include <sys/types.h>
+@@ -7621,23 +8281,23 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7624: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8284: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7627: \$? = $ac_status" >&5
++ echo "$as_me:8287: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7630: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8290: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7633: \$? = $ac_status" >&5
++ echo "$as_me:8293: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_define_sigwinch=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7640 "configure"
++#line 8300 "configure"
+ #include "confdefs.h"
+
+ #undef _XOPEN_SOURCE
+@@ -7655,16 +8315,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7658: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8318: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7661: \$? = $ac_status" >&5
++ echo "$as_me:8321: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7664: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8324: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7667: \$? = $ac_status" >&5
++ echo "$as_me:8327: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_define_sigwinch=maybe
+ else
+@@ -7678,11 +8338,11 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+-echo "$as_me:7681: result: $cf_cv_define_sigwinch" >&5
++echo "$as_me:8341: result: $cf_cv_define_sigwinch" >&5
+ echo "${ECHO_T}$cf_cv_define_sigwinch" >&6
+
+ if test "$cf_cv_define_sigwinch" = maybe ; then
+-echo "$as_me:7685: checking for actual SIGWINCH definition" >&5
++echo "$as_me:8345: checking for actual SIGWINCH definition" >&5
+ echo $ECHO_N "checking for actual SIGWINCH definition... $ECHO_C" >&6
+ if test "${cf_cv_fixup_sigwinch+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -7693,7 +8353,7 @@
+ while test $cf_sigwinch != 1
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7696 "configure"
++#line 8356 "configure"
+ #include "confdefs.h"
+
+ #undef _XOPEN_SOURCE
+@@ -7715,16 +8375,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7718: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8378: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7721: \$? = $ac_status" >&5
++ echo "$as_me:8381: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7724: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8384: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7727: \$? = $ac_status" >&5
++ echo "$as_me:8387: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_fixup_sigwinch=$cf_sigwinch
+ break
+@@ -7738,7 +8398,7 @@
+ done
+
+ fi
+-echo "$as_me:7741: result: $cf_cv_fixup_sigwinch" >&5
++echo "$as_me:8401: result: $cf_cv_fixup_sigwinch" >&5
+ echo "${ECHO_T}$cf_cv_fixup_sigwinch" >&6
+
+ if test "$cf_cv_fixup_sigwinch" != unknown ; then
+@@ -7748,13 +8408,13 @@
+
+ # Checks for CODESET support.
+
+- echo "$as_me:7751: checking for nl_langinfo and CODESET" >&5
++ echo "$as_me:8411: checking for nl_langinfo and CODESET" >&5
+ echo $ECHO_N "checking for nl_langinfo and CODESET... $ECHO_C" >&6
+ if test "${am_cv_langinfo_codeset+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7757 "configure"
++#line 8417 "configure"
+ #include "confdefs.h"
+ #include <langinfo.h>
+ int
+@@ -7766,16 +8426,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:7769: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8429: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:7772: \$? = $ac_status" >&5
++ echo "$as_me:8432: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:7775: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8435: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7778: \$? = $ac_status" >&5
++ echo "$as_me:8438: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ am_cv_langinfo_codeset=yes
+ else
+@@ -7786,7 +8446,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+ fi
+-echo "$as_me:7789: result: $am_cv_langinfo_codeset" >&5
++echo "$as_me:8449: result: $am_cv_langinfo_codeset" >&5
+ echo "${ECHO_T}$am_cv_langinfo_codeset" >&6
+ if test $am_cv_langinfo_codeset = yes; then
+
+@@ -7800,7 +8460,7 @@
+ NCURSES_OK_WCHAR_T=
+ NCURSES_OK_WINT_T=
+
+-echo "$as_me:7803: checking if you want wide-character code" >&5
++echo "$as_me:8463: checking if you want wide-character code" >&5
+ echo $ECHO_N "checking if you want wide-character code... $ECHO_C" >&6
+
+ # Check whether --enable-widec or --disable-widec was given.
+@@ -7810,23 +8470,72 @@
+ else
+ with_widec=no
+ fi;
+-echo "$as_me:7813: result: $with_widec" >&5
++echo "$as_me:8473: result: $with_widec" >&5
+ echo "${ECHO_T}$with_widec" >&6
+-if test "$with_widec" = yes ; then
++if test "x$with_widec" = xyes ; then
+ LIB_SUFFIX="w${LIB_SUFFIX}"
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define USE_WIDEC_SUPPORT 1
+ EOF
+
+- case "$CFLAGS $CPPFLAGS" in #(vi
+- *-D_XOPEN_SOURCE=500) #(vi
+- ;;
+- *)
++cat >>confdefs.h <<\EOF
++#define NCURSES_WIDECHAR 1
++EOF
++
++echo "$as_me:8486: checking if wchar.h can be used as is" >&5
++echo $ECHO_N "checking if wchar.h can be used as is... $ECHO_C" >&6
++if test "${cf_cv_wchar_h_okay+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++cat >conftest.$ac_ext <<_ACEOF
++#line 8493 "configure"
++#include "confdefs.h"
++
++#include <stdlib.h>
++#include <wchar.h>
++
++int
++main ()
++{
++
++ wint_t foo = 0;
++ int bar = iswpunct(foo)
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:8510: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:8513: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:8516: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:8519: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_wchar_h_okay=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_wchar_h_okay=no
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++fi
++echo "$as_me:8529: result: $cf_cv_wchar_h_okay" >&5
++echo "${ECHO_T}$cf_cv_wchar_h_okay" >&6
+
+-echo "$as_me:7826: checking if we must define _XOPEN_SOURCE_EXTENDED" >&5
++if test $cf_cv_wchar_h_okay = no
++then
++
++echo "$as_me:8535: checking if we must define _XOPEN_SOURCE_EXTENDED" >&5
+ echo $ECHO_N "checking if we must define _XOPEN_SOURCE_EXTENDED... $ECHO_C" >&6
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7829 "configure"
++#line 8538 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+
+@@ -7842,16 +8551,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7845: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8554: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7848: \$? = $ac_status" >&5
++ echo "$as_me:8557: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7851: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8560: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7854: \$? = $ac_status" >&5
++ echo "$as_me:8563: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_result=no
+ else
+@@ -7860,16 +8569,16 @@
+ cf_result=yes
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+-echo "$as_me:7863: result: $cf_result" >&5
++echo "$as_me:8572: result: $cf_result" >&5
+ echo "${ECHO_T}$cf_result" >&6
+
+ if test "$cf_result" = yes ; then
+ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
+ elif test "x" != "x" ; then
+- echo "$as_me:7869: checking checking for compatible value versus " >&5
++ echo "$as_me:8578: checking checking for compatible value versus " >&5
+ echo $ECHO_N "checking checking for compatible value versus ... $ECHO_C" >&6
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7872 "configure"
++#line 8581 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+
+@@ -7885,16 +8594,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7888: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8597: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7891: \$? = $ac_status" >&5
++ echo "$as_me:8600: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7894: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8603: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7897: \$? = $ac_status" >&5
++ echo "$as_me:8606: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_result=yes
+ else
+@@ -7903,7 +8612,7 @@
+ cf_result=no
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+- echo "$as_me:7906: result: $cf_result" >&5
++ echo "$as_me:8615: result: $cf_result" >&5
+ echo "${ECHO_T}$cf_result" >&6
+ if test "$cf_result" = no ; then
+ # perhaps we can override it - try...
+@@ -7911,8 +8620,7 @@
+ fi
+ fi
+
+- ;;
+- esac
++fi
+
+ # with_overwrite=no
+ NCURSES_CH_T=cchar_t
+@@ -7920,13 +8628,13 @@
+ for ac_func in putwc btowc wctob mbtowc wctomb mblen mbrlen mbrtowc wcsrtombs mbsrtowcs wcstombs mbstowcs
+ do
+ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+-echo "$as_me:7923: checking for $ac_func" >&5
++echo "$as_me:8631: checking for $ac_func" >&5
+ echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_var+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7929 "configure"
++#line 8637 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below. */
+@@ -7949,7 +8657,7 @@
+ #if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+ choke me
+ #else
+-f = $ac_func;
++f = $ac_func; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -7957,16 +8665,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:7960: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8668: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:7963: \$? = $ac_status" >&5
++ echo "$as_me:8671: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:7966: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8674: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7969: \$? = $ac_status" >&5
++ echo "$as_me:8677: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_var=yes"
+ else
+@@ -7976,7 +8684,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:7979: result: `eval echo '${'$as_ac_var'}'`" >&5
++echo "$as_me:8687: result: `eval echo '${'$as_ac_var'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -7986,9 +8694,9 @@
+ fi
+ done
+
+- if test "$ac_cv_func_putwc" != yes ; then
++ if test "x$ac_cv_func_putwc" != xyes ; then
+
+-echo "$as_me:7991: checking for multibyte character support" >&5
++echo "$as_me:8699: checking for multibyte character support" >&5
+ echo $ECHO_N "checking for multibyte character support... $ECHO_C" >&6
+ if test "${cf_cv_utf8_lib+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -7996,7 +8704,7 @@
+
+ cf_save_LIBS="$LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7999 "configure"
++#line 8707 "configure"
+ #include "confdefs.h"
+
+ #include <stdlib.h>
+@@ -8009,16 +8717,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:8012: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8720: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8015: \$? = $ac_status" >&5
++ echo "$as_me:8723: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:8018: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8726: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8021: \$? = $ac_status" >&5
++ echo "$as_me:8729: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_utf8_lib=yes
+ else
+@@ -8030,12 +8738,12 @@
+ cf_cv_header_path_utf8=
+ cf_cv_library_path_utf8=
+
+-echo "${as_me:-configure}:8033: testing Starting FIND_LINKAGE(utf8,) ..." 1>&5
++echo "${as_me:-configure}:8741: testing Starting FIND_LINKAGE(utf8,) ..." 1>&5
+
+ cf_save_LIBS="$LIBS"
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8038 "configure"
++#line 8746 "configure"
+ #include "confdefs.h"
+
+ #include <libutf8.h>
+@@ -8048,16 +8756,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:8051: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8759: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8054: \$? = $ac_status" >&5
++ echo "$as_me:8762: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:8057: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8765: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8060: \$? = $ac_status" >&5
++ echo "$as_me:8768: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_find_linkage_utf8=yes
+@@ -8071,7 +8779,7 @@
+ LIBS="-lutf8 $cf_save_LIBS"
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8074 "configure"
++#line 8782 "configure"
+ #include "confdefs.h"
+
+ #include <libutf8.h>
+@@ -8084,16 +8792,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:8087: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8795: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8090: \$? = $ac_status" >&5
++ echo "$as_me:8798: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:8093: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8801: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8096: \$? = $ac_status" >&5
++ echo "$as_me:8804: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_find_linkage_utf8=yes
+@@ -8110,9 +8818,9 @@
+
+ test -n "$verbose" && echo " find linkage for utf8 library" 1>&6
+
+-echo "${as_me:-configure}:8113: testing find linkage for utf8 library ..." 1>&5
++echo "${as_me:-configure}:8821: testing find linkage for utf8 library ..." 1>&5
+
+-echo "${as_me:-configure}:8115: testing Searching for headers in FIND_LINKAGE(utf8,) ..." 1>&5
++echo "${as_me:-configure}:8823: testing Searching for headers in FIND_LINKAGE(utf8,) ..." 1>&5
+
+ cf_save_CPPFLAGS="$CPPFLAGS"
+ cf_test_CPPFLAGS="$CPPFLAGS"
+@@ -8225,11 +8933,11 @@
+ if test -d $cf_cv_header_path_utf8 ; then
+ test -n "$verbose" && echo " ... testing $cf_cv_header_path_utf8" 1>&6
+
+-echo "${as_me:-configure}:8228: testing ... testing $cf_cv_header_path_utf8 ..." 1>&5
++echo "${as_me:-configure}:8936: testing ... testing $cf_cv_header_path_utf8 ..." 1>&5
+
+ CPPFLAGS="$cf_save_CPPFLAGS -I$cf_cv_header_path_utf8"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8232 "configure"
++#line 8940 "configure"
+ #include "confdefs.h"
+
+ #include <libutf8.h>
+@@ -8242,21 +8950,21 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8245: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8953: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8248: \$? = $ac_status" >&5
++ echo "$as_me:8956: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8251: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8959: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8254: \$? = $ac_status" >&5
++ echo "$as_me:8962: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ test -n "$verbose" && echo " ... found utf8 headers in $cf_cv_header_path_utf8" 1>&6
+
+-echo "${as_me:-configure}:8259: testing ... found utf8 headers in $cf_cv_header_path_utf8 ..." 1>&5
++echo "${as_me:-configure}:8967: testing ... found utf8 headers in $cf_cv_header_path_utf8 ..." 1>&5
+
+ cf_cv_find_linkage_utf8=maybe
+ cf_test_CPPFLAGS="$CPPFLAGS"
+@@ -8274,7 +8982,7 @@
+
+ if test "$cf_cv_find_linkage_utf8" = maybe ; then
+
+-echo "${as_me:-configure}:8277: testing Searching for utf8 library in FIND_LINKAGE(utf8,) ..." 1>&5
++echo "${as_me:-configure}:8985: testing Searching for utf8 library in FIND_LINKAGE(utf8,) ..." 1>&5
+
+ cf_save_LIBS="$LIBS"
+ cf_save_LDFLAGS="$LDFLAGS"
+@@ -8371,13 +9079,13 @@
+ if test -d $cf_cv_library_path_utf8 ; then
+ test -n "$verbose" && echo " ... testing $cf_cv_library_path_utf8" 1>&6
+
+-echo "${as_me:-configure}:8374: testing ... testing $cf_cv_library_path_utf8 ..." 1>&5
++echo "${as_me:-configure}:9082: testing ... testing $cf_cv_library_path_utf8 ..." 1>&5
+
+ CPPFLAGS="$cf_test_CPPFLAGS"
+ LIBS="-lutf8 $cf_save_LIBS"
+ LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_utf8"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8380 "configure"
++#line 9088 "configure"
+ #include "confdefs.h"
+
+ #include <libutf8.h>
+@@ -8390,21 +9098,21 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:8393: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9101: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8396: \$? = $ac_status" >&5
++ echo "$as_me:9104: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:8399: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9107: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8402: \$? = $ac_status" >&5
++ echo "$as_me:9110: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ test -n "$verbose" && echo " ... found utf8 library in $cf_cv_library_path_utf8" 1>&6
+
+-echo "${as_me:-configure}:8407: testing ... found utf8 library in $cf_cv_library_path_utf8 ..." 1>&5
++echo "${as_me:-configure}:9115: testing ... found utf8 library in $cf_cv_library_path_utf8 ..." 1>&5
+
+ cf_cv_find_linkage_utf8=yes
+ cf_cv_library_file_utf8="-lutf8"
+@@ -8446,13 +9154,14 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:8449: result: $cf_cv_utf8_lib" >&5
++echo "$as_me:9157: result: $cf_cv_utf8_lib" >&5
+ echo "${ECHO_T}$cf_cv_utf8_lib" >&6
+
+ # HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
+ # ncurses/ncursesw:
+ if test "$cf_cv_utf8_lib" = "add-on" ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_LIBUTF8_H 1
+ EOF
+
+@@ -8480,7 +9189,7 @@
+ cf_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8483 "configure"
++#line 9192 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -8492,16 +9201,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8495: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9204: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8498: \$? = $ac_status" >&5
++ echo "$as_me:9207: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8501: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9210: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8504: \$? = $ac_status" >&5
++ echo "$as_me:9213: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -8518,7 +9227,7 @@
+ if test "$cf_have_incdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-echo "${as_me:-configure}:8521: testing adding $cf_add_incdir to include-path ..." 1>&5
++echo "${as_me:-configure}:9230: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+@@ -8552,7 +9261,7 @@
+ if test "$cf_have_libdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
+
+-echo "${as_me:-configure}:8555: testing adding $cf_add_libdir to library-path ..." 1>&5
++echo "${as_me:-configure}:9264: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+ LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+ fi
+@@ -8569,14 +9278,14 @@
+ fi
+
+ # This is needed on Tru64 5.0 to declare mbstate_t
+-echo "$as_me:8572: checking if we must include wchar.h to declare mbstate_t" >&5
++echo "$as_me:9281: checking if we must include wchar.h to declare mbstate_t" >&5
+ echo $ECHO_N "checking if we must include wchar.h to declare mbstate_t... $ECHO_C" >&6
+ if test "${cf_cv_mbstate_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8579 "configure"
++#line 9288 "configure"
+ #include "confdefs.h"
+
+ #include <stdlib.h>
+@@ -8594,23 +9303,23 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8597: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9306: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8600: \$? = $ac_status" >&5
++ echo "$as_me:9309: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8603: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9312: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8606: \$? = $ac_status" >&5
++ echo "$as_me:9315: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_mbstate_t=no
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8613 "configure"
++#line 9322 "configure"
+ #include "confdefs.h"
+
+ #include <stdlib.h>
+@@ -8629,16 +9338,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8632: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9341: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8635: \$? = $ac_status" >&5
++ echo "$as_me:9344: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8638: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9347: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8641: \$? = $ac_status" >&5
++ echo "$as_me:9350: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_mbstate_t=yes
+ else
+@@ -8650,11 +9359,12 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:8653: result: $cf_cv_mbstate_t" >&5
++echo "$as_me:9362: result: $cf_cv_mbstate_t" >&5
+ echo "${ECHO_T}$cf_cv_mbstate_t" >&6
+
+ if test "$cf_cv_mbstate_t" = yes ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define NEED_WCHAR_H 1
+ EOF
+
+@@ -8667,14 +9377,14 @@
+ fi
+
+ # This is needed on Tru64 5.0 to declare wchar_t
+-echo "$as_me:8670: checking if we must include wchar.h to declare wchar_t" >&5
++echo "$as_me:9380: checking if we must include wchar.h to declare wchar_t" >&5
+ echo $ECHO_N "checking if we must include wchar.h to declare wchar_t... $ECHO_C" >&6
+ if test "${cf_cv_wchar_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8677 "configure"
++#line 9387 "configure"
+ #include "confdefs.h"
+
+ #include <stdlib.h>
+@@ -8692,23 +9402,23 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8695: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9405: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8698: \$? = $ac_status" >&5
++ echo "$as_me:9408: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8701: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9411: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8704: \$? = $ac_status" >&5
++ echo "$as_me:9414: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_wchar_t=no
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8711 "configure"
++#line 9421 "configure"
+ #include "confdefs.h"
+
+ #include <stdlib.h>
+@@ -8727,16 +9437,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8730: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9440: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8733: \$? = $ac_status" >&5
++ echo "$as_me:9443: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8736: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9446: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8739: \$? = $ac_status" >&5
++ echo "$as_me:9449: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_wchar_t=yes
+ else
+@@ -8748,11 +9458,12 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:8751: result: $cf_cv_wchar_t" >&5
++echo "$as_me:9461: result: $cf_cv_wchar_t" >&5
+ echo "${ECHO_T}$cf_cv_wchar_t" >&6
+
+ if test "$cf_cv_wchar_t" = yes ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define NEED_WCHAR_H 1
+ EOF
+
+@@ -8770,14 +9481,14 @@
+ fi
+
+ # This is needed on Tru64 5.0 to declare wint_t
+-echo "$as_me:8773: checking if we must include wchar.h to declare wint_t" >&5
++echo "$as_me:9484: checking if we must include wchar.h to declare wint_t" >&5
+ echo $ECHO_N "checking if we must include wchar.h to declare wint_t... $ECHO_C" >&6
+ if test "${cf_cv_wint_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8780 "configure"
++#line 9491 "configure"
+ #include "confdefs.h"
+
+ #include <stdlib.h>
+@@ -8795,23 +9506,23 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8798: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9509: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8801: \$? = $ac_status" >&5
++ echo "$as_me:9512: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8804: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9515: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8807: \$? = $ac_status" >&5
++ echo "$as_me:9518: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_wint_t=no
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8814 "configure"
++#line 9525 "configure"
+ #include "confdefs.h"
+
+ #include <stdlib.h>
+@@ -8830,16 +9541,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8833: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9544: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8836: \$? = $ac_status" >&5
++ echo "$as_me:9547: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8839: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9550: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8842: \$? = $ac_status" >&5
++ echo "$as_me:9553: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_wint_t=yes
+ else
+@@ -8851,11 +9562,12 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:8854: result: $cf_cv_wint_t" >&5
++echo "$as_me:9565: result: $cf_cv_wint_t" >&5
+ echo "${ECHO_T}$cf_cv_wint_t" >&6
+
+ if test "$cf_cv_wint_t" = yes ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define NEED_WCHAR_H 1
+ EOF
+
+@@ -8873,7 +9585,8 @@
+ fi
+
+ if test "$NCURSES_MBSTATE_T" != 0; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define NEED_MBSTATE_T_DEF 1
+ EOF
+
+@@ -8890,7 +9603,7 @@
+ ;;
+ esac
+
+-echo "$as_me:8893: checking whether to enable _LP64 definition in curses.h" >&5
++echo "$as_me:9606: checking whether to enable _LP64 definition in curses.h" >&5
+ echo $ECHO_N "checking whether to enable _LP64 definition in curses.h... $ECHO_C" >&6
+
+ # Check whether --enable-lp64 or --disable-lp64 was given.
+@@ -8900,10 +9613,10 @@
+ else
+ with_lp64=$default_with_lp64
+ fi;
+-echo "$as_me:8903: result: $with_lp64" >&5
++echo "$as_me:9616: result: $with_lp64" >&5
+ echo "${ECHO_T}$with_lp64" >&6
+
+-if test "$with_lp64" = yes ; then
++if test "x$with_lp64" = xyes ; then
+ cf_cv_enable_lp64=1
+ else
+ cf_cv_enable_lp64=0
+@@ -8916,7 +9629,7 @@
+ fi;
+ if test "$enable_largefile" != no; then
+
+- echo "$as_me:8919: checking for special C compiler options needed for large files" >&5
++ echo "$as_me:9632: checking for special C compiler options needed for large files" >&5
+ echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6
+ if test "${ac_cv_sys_largefile_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -8928,7 +9641,7 @@
+ # IRIX 6.2 and later do not support large files by default,
+ # so use the C compiler's -n32 option if that helps.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8931 "configure"
++#line 9644 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+@@ -8948,16 +9661,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8951: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9664: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8954: \$? = $ac_status" >&5
++ echo "$as_me:9667: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8957: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9670: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8960: \$? = $ac_status" >&5
++ echo "$as_me:9673: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -8967,16 +9680,16 @@
+ rm -f conftest.$ac_objext
+ CC="$CC -n32"
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8970: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9683: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8973: \$? = $ac_status" >&5
++ echo "$as_me:9686: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8976: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9689: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8979: \$? = $ac_status" >&5
++ echo "$as_me:9692: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sys_largefile_CC=' -n32'; break
+ else
+@@ -8990,13 +9703,13 @@
+ rm -f conftest.$ac_ext
+ fi
+ fi
+-echo "$as_me:8993: result: $ac_cv_sys_largefile_CC" >&5
++echo "$as_me:9706: result: $ac_cv_sys_largefile_CC" >&5
+ echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6
+ if test "$ac_cv_sys_largefile_CC" != no; then
+ CC=$CC$ac_cv_sys_largefile_CC
+ fi
+
+- echo "$as_me:8999: checking for _FILE_OFFSET_BITS value needed for large files" >&5
++ echo "$as_me:9712: checking for _FILE_OFFSET_BITS value needed for large files" >&5
+ echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6
+ if test "${ac_cv_sys_file_offset_bits+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -9004,7 +9717,7 @@
+ while :; do
+ ac_cv_sys_file_offset_bits=no
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9007 "configure"
++#line 9720 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+@@ -9024,16 +9737,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:9027: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9740: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:9030: \$? = $ac_status" >&5
++ echo "$as_me:9743: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:9033: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9746: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9036: \$? = $ac_status" >&5
++ echo "$as_me:9749: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -9042,7 +9755,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9045 "configure"
++#line 9758 "configure"
+ #include "confdefs.h"
+ #define _FILE_OFFSET_BITS 64
+ #include <sys/types.h>
+@@ -9063,16 +9776,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:9066: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9779: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:9069: \$? = $ac_status" >&5
++ echo "$as_me:9782: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:9072: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9785: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9075: \$? = $ac_status" >&5
++ echo "$as_me:9788: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sys_file_offset_bits=64; break
+ else
+@@ -9083,7 +9796,7 @@
+ break
+ done
+ fi
+-echo "$as_me:9086: result: $ac_cv_sys_file_offset_bits" >&5
++echo "$as_me:9799: result: $ac_cv_sys_file_offset_bits" >&5
+ echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6
+ if test "$ac_cv_sys_file_offset_bits" != no; then
+
+@@ -9093,7 +9806,7 @@
+
+ fi
+ rm -rf conftest*
+- echo "$as_me:9096: checking for _LARGE_FILES value needed for large files" >&5
++ echo "$as_me:9809: checking for _LARGE_FILES value needed for large files" >&5
+ echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6
+ if test "${ac_cv_sys_large_files+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -9101,7 +9814,7 @@
+ while :; do
+ ac_cv_sys_large_files=no
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9104 "configure"
++#line 9817 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+@@ -9121,16 +9834,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:9124: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9837: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:9127: \$? = $ac_status" >&5
++ echo "$as_me:9840: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:9130: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9843: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9133: \$? = $ac_status" >&5
++ echo "$as_me:9846: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -9139,7 +9852,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9142 "configure"
++#line 9855 "configure"
+ #include "confdefs.h"
+ #define _LARGE_FILES 1
+ #include <sys/types.h>
+@@ -9160,16 +9873,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:9163: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9876: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:9166: \$? = $ac_status" >&5
++ echo "$as_me:9879: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:9169: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9882: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9172: \$? = $ac_status" >&5
++ echo "$as_me:9885: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sys_large_files=1; break
+ else
+@@ -9180,7 +9893,7 @@
+ break
+ done
+ fi
+-echo "$as_me:9183: result: $ac_cv_sys_large_files" >&5
++echo "$as_me:9896: result: $ac_cv_sys_large_files" >&5
+ echo "${ECHO_T}$ac_cv_sys_large_files" >&6
+ if test "$ac_cv_sys_large_files" != no; then
+
+@@ -9193,7 +9906,7 @@
+ fi
+
+ if test "$enable_largefile" != no ; then
+- echo "$as_me:9196: checking for _LARGEFILE_SOURCE value needed for large files" >&5
++ echo "$as_me:9909: checking for _LARGEFILE_SOURCE value needed for large files" >&5
+ echo $ECHO_N "checking for _LARGEFILE_SOURCE value needed for large files... $ECHO_C" >&6
+ if test "${ac_cv_sys_largefile_source+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -9201,7 +9914,7 @@
+ while :; do
+ ac_cv_sys_largefile_source=no
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9204 "configure"
++#line 9917 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -9213,16 +9926,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:9216: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9929: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:9219: \$? = $ac_status" >&5
++ echo "$as_me:9932: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:9222: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9935: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9225: \$? = $ac_status" >&5
++ echo "$as_me:9938: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -9231,7 +9944,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9234 "configure"
++#line 9947 "configure"
+ #include "confdefs.h"
+ #define _LARGEFILE_SOURCE 1
+ #include <stdio.h>
+@@ -9244,16 +9957,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:9247: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9960: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:9250: \$? = $ac_status" >&5
++ echo "$as_me:9963: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:9253: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9966: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9256: \$? = $ac_status" >&5
++ echo "$as_me:9969: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sys_largefile_source=1; break
+ else
+@@ -9264,7 +9977,7 @@
+ break
+ done
+ fi
+-echo "$as_me:9267: result: $ac_cv_sys_largefile_source" >&5
++echo "$as_me:9980: result: $ac_cv_sys_largefile_source" >&5
+ echo "${ECHO_T}$ac_cv_sys_largefile_source" >&6
+ if test "$ac_cv_sys_largefile_source" != no; then
+
+@@ -9278,13 +9991,13 @@
+ # We used to try defining _XOPEN_SOURCE=500 too, to work around a bug
+ # in glibc 2.1.3, but that breaks too many other things.
+ # If you want fseeko and ftello with glibc, upgrade to a fixed glibc.
+-echo "$as_me:9281: checking for fseeko" >&5
++echo "$as_me:9994: checking for fseeko" >&5
+ echo $ECHO_N "checking for fseeko... $ECHO_C" >&6
+ if test "${ac_cv_func_fseeko+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9287 "configure"
++#line 10000 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -9296,16 +10009,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9299: \"$ac_link\"") >&5
++if { (eval echo "$as_me:10012: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9302: \$? = $ac_status" >&5
++ echo "$as_me:10015: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9305: \"$ac_try\"") >&5
++ { (eval echo "$as_me:10018: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9308: \$? = $ac_status" >&5
++ echo "$as_me:10021: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_fseeko=yes
+ else
+@@ -9315,7 +10028,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:9318: result: $ac_cv_func_fseeko" >&5
++echo "$as_me:10031: result: $ac_cv_func_fseeko" >&5
+ echo "${ECHO_T}$ac_cv_func_fseeko" >&6
+ if test $ac_cv_func_fseeko = yes; then
+
+@@ -9336,14 +10049,14 @@
+ test "$ac_cv_sys_largefile_source" != no && CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE "
+ test "$ac_cv_sys_file_offset_bits" != no && CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits "
+
+- echo "$as_me:9339: checking whether to use struct dirent64" >&5
++ echo "$as_me:10052: checking whether to use struct dirent64" >&5
+ echo $ECHO_N "checking whether to use struct dirent64... $ECHO_C" >&6
+ if test "${cf_cv_struct_dirent64+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9346 "configure"
++#line 10059 "configure"
+ #include "confdefs.h"
+
+ #include <sys/types.h>
+@@ -9364,16 +10077,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:9367: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:10080: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:9370: \$? = $ac_status" >&5
++ echo "$as_me:10083: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:9373: \"$ac_try\"") >&5
++ { (eval echo "$as_me:10086: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9376: \$? = $ac_status" >&5
++ echo "$as_me:10089: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_struct_dirent64=yes
+ else
+@@ -9384,16 +10097,17 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+-echo "$as_me:9387: result: $cf_cv_struct_dirent64" >&5
++echo "$as_me:10100: result: $cf_cv_struct_dirent64" >&5
+ echo "${ECHO_T}$cf_cv_struct_dirent64" >&6
+- test "$cf_cv_struct_dirent64" = yes && cat >>confdefs.h <<\EOF
++ test "$cf_cv_struct_dirent64" = yes &&
++cat >>confdefs.h <<\EOF
+ #define HAVE_STRUCT_DIRENT64 1
+ EOF
+
+ fi
+
+ ### use option --disable-tparm-varargs to make tparm() conform to X/Open
+-echo "$as_me:9396: checking if you want tparm not to use X/Open fixed-parameter list" >&5
++echo "$as_me:10110: checking if you want tparm not to use X/Open fixed-parameter list" >&5
+ echo $ECHO_N "checking if you want tparm not to use X/Open fixed-parameter list... $ECHO_C" >&6
+
+ # Check whether --enable-tparm-varargs or --disable-tparm-varargs was given.
+@@ -9403,14 +10117,14 @@
+ else
+ with_tparm_varargs=yes
+ fi;
+-echo "$as_me:9406: result: $with_tparm_varargs" >&5
++echo "$as_me:10120: result: $with_tparm_varargs" >&5
+ echo "${ECHO_T}$with_tparm_varargs" >&6
+ NCURSES_TPARM_VARARGS=0
+-test "$with_tparm_varargs" = yes && NCURSES_TPARM_VARARGS=1
++test "x$with_tparm_varargs" = xyes && NCURSES_TPARM_VARARGS=1
+
+ ### use option --disable-tic-depends to make libtic not explicitly depend on ncurses/ncursesw
+ if test "$with_ticlib" != no ; then
+-echo "$as_me:9413: checking if you want tic library to use explicit dependency on ncurses$LIB_SUFFIX library" >&5
++echo "$as_me:10127: checking if you want tic library to use explicit dependency on ncurses$LIB_SUFFIX library" >&5
+ echo $ECHO_N "checking if you want tic library to use explicit dependency on ncurses$LIB_SUFFIX library... $ECHO_C" >&6
+
+ # Check whether --enable-tic-depends or --disable-tic-depends was given.
+@@ -9420,14 +10134,14 @@
+ else
+ with_tic_depends=yes
+ fi;
+-echo "$as_me:9423: result: $with_tic_depends" >&5
++echo "$as_me:10137: result: $with_tic_depends" >&5
+ echo "${ECHO_T}$with_tic_depends" >&6
+ else
+ with_tic_depends=no
+ fi
+
+ ### use option --with-bool to override bool's type
+-echo "$as_me:9430: checking for type of bool" >&5
++echo "$as_me:10144: checking for type of bool" >&5
+ echo $ECHO_N "checking for type of bool... $ECHO_C" >&6
+
+ # Check whether --with-bool or --without-bool was given.
+@@ -9437,10 +10151,10 @@
+ else
+ NCURSES_BOOL=auto
+ fi;
+-echo "$as_me:9440: result: $NCURSES_BOOL" >&5
++echo "$as_me:10154: result: $NCURSES_BOOL" >&5
+ echo "${ECHO_T}$NCURSES_BOOL" >&6
+
+-echo "$as_me:9443: checking for alternate terminal capabilities file" >&5
++echo "$as_me:10157: checking for alternate terminal capabilities file" >&5
+ echo $ECHO_N "checking for alternate terminal capabilities file... $ECHO_C" >&6
+
+ # Check whether --with-caps or --without-caps was given.
+@@ -9451,11 +10165,11 @@
+ TERMINFO_CAPS=Caps
+ fi;
+ test -f "${srcdir}/include/${TERMINFO_CAPS}" || TERMINFO_CAPS=Caps
+-echo "$as_me:9454: result: $TERMINFO_CAPS" >&5
++echo "$as_me:10168: result: $TERMINFO_CAPS" >&5
+ echo "${ECHO_T}$TERMINFO_CAPS" >&6
+
+ ### use option --with-chtype to override chtype's type
+-echo "$as_me:9458: checking for type of chtype" >&5
++echo "$as_me:10172: checking for type of chtype" >&5
+ echo $ECHO_N "checking for type of chtype... $ECHO_C" >&6
+
+ # Check whether --with-chtype or --without-chtype was given.
+@@ -9465,11 +10179,11 @@
+ else
+ NCURSES_CHTYPE=auto
+ fi;
+-echo "$as_me:9468: result: $NCURSES_CHTYPE" >&5
++echo "$as_me:10182: result: $NCURSES_CHTYPE" >&5
+ echo "${ECHO_T}$NCURSES_CHTYPE" >&6
+
+ ### use option --with-ospeed to override ospeed's type
+-echo "$as_me:9472: checking for type of ospeed" >&5
++echo "$as_me:10186: checking for type of ospeed" >&5
+ echo $ECHO_N "checking for type of ospeed... $ECHO_C" >&6
+
+ # Check whether --with-ospeed or --without-ospeed was given.
+@@ -9479,11 +10193,11 @@
+ else
+ NCURSES_OSPEED=short
+ fi;
+-echo "$as_me:9482: result: $NCURSES_OSPEED" >&5
++echo "$as_me:10196: result: $NCURSES_OSPEED" >&5
+ echo "${ECHO_T}$NCURSES_OSPEED" >&6
+
+ ### use option --with-mmask-t to override mmask_t's type
+-echo "$as_me:9486: checking for type of mmask_t" >&5
++echo "$as_me:10200: checking for type of mmask_t" >&5
+ echo $ECHO_N "checking for type of mmask_t... $ECHO_C" >&6
+
+ # Check whether --with-mmask-t or --without-mmask-t was given.
+@@ -9493,11 +10207,11 @@
+ else
+ NCURSES_MMASK_T=auto
+ fi;
+-echo "$as_me:9496: result: $NCURSES_MMASK_T" >&5
++echo "$as_me:10210: result: $NCURSES_MMASK_T" >&5
+ echo "${ECHO_T}$NCURSES_MMASK_T" >&6
+
+ ### use option --with-ccharw-max to override CCHARW_MAX size
+-echo "$as_me:9500: checking for size CCHARW_MAX" >&5
++echo "$as_me:10214: checking for size CCHARW_MAX" >&5
+ echo $ECHO_N "checking for size CCHARW_MAX... $ECHO_C" >&6
+
+ # Check whether --with-ccharw-max or --without-ccharw-max was given.
+@@ -9507,11 +10221,25 @@
+ else
+ NCURSES_CCHARW_MAX=5
+ fi;
+-echo "$as_me:9510: result: $NCURSES_CCHARW_MAX" >&5
++echo "$as_me:10224: result: $NCURSES_CCHARW_MAX" >&5
+ echo "${ECHO_T}$NCURSES_CCHARW_MAX" >&6
+
++### use option --with-tparm-arg to override tparm's argument type
++echo "$as_me:10228: checking for type of tparm args" >&5
++echo $ECHO_N "checking for type of tparm args... $ECHO_C" >&6
++
++# Check whether --with-tparm-arg or --without-tparm-arg was given.
++if test "${with_tparm_arg+set}" = set; then
++ withval="$with_tparm_arg"
++ NCURSES_TPARM_ARG="$withval"
++else
++ NCURSES_TPARM_ARG=long
++fi;
++echo "$as_me:10238: result: $NCURSES_TPARM_ARG" >&5
++echo "${ECHO_T}$NCURSES_TPARM_ARG" >&6
++
+ ### Enable compiling-in rcs id's
+-echo "$as_me:9514: checking if RCS identifiers should be compiled-in" >&5
++echo "$as_me:10242: checking if RCS identifiers should be compiled-in" >&5
+ echo $ECHO_N "checking if RCS identifiers should be compiled-in... $ECHO_C" >&6
+
+ # Check whether --with-rcs-ids or --without-rcs-ids was given.
+@@ -9521,15 +10249,16 @@
+ else
+ with_rcs_ids=no
+ fi;
+-echo "$as_me:9524: result: $with_rcs_ids" >&5
++echo "$as_me:10252: result: $with_rcs_ids" >&5
+ echo "${ECHO_T}$with_rcs_ids" >&6
+-test "$with_rcs_ids" = yes && cat >>confdefs.h <<\EOF
++test "x$with_rcs_ids" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define USE_RCS_IDS 1
+ EOF
+
+ ###############################################################################
+
+-echo "$as_me:9532: checking format of man-pages" >&5
++echo "$as_me:10261: checking format of man-pages" >&5
+ echo $ECHO_N "checking format of man-pages... $ECHO_C" >&6
+
+ # Check whether --with-manpage-format or --without-manpage-format was given.
+@@ -9618,14 +10347,14 @@
+ ;;
+ esac
+
+-echo "$as_me:9621: result: $MANPAGE_FORMAT" >&5
++echo "$as_me:10350: result: $MANPAGE_FORMAT" >&5
+ echo "${ECHO_T}$MANPAGE_FORMAT" >&6
+ if test -n "$cf_unknown" ; then
+- { echo "$as_me:9624: WARNING: Unexpected manpage-format $cf_unknown" >&5
++ { echo "$as_me:10353: WARNING: Unexpected manpage-format $cf_unknown" >&5
+ echo "$as_me: WARNING: Unexpected manpage-format $cf_unknown" >&2;}
+ fi
+
+-echo "$as_me:9628: checking for manpage renaming" >&5
++echo "$as_me:10357: checking for manpage renaming" >&5
+ echo $ECHO_N "checking for manpage renaming... $ECHO_C" >&6
+
+ # Check whether --with-manpage-renames or --without-manpage-renames was given.
+@@ -9653,7 +10382,7 @@
+ if test -f $srcdir/man/$MANPAGE_RENAMES ; then
+ MANPAGE_RENAMES=`cd $srcdir/man && pwd`/$MANPAGE_RENAMES
+ elif test ! -f $MANPAGE_RENAMES ; then
+- { { echo "$as_me:9656: error: not a filename: $MANPAGE_RENAMES" >&5
++ { { echo "$as_me:10385: error: not a filename: $MANPAGE_RENAMES" >&5
+ echo "$as_me: error: not a filename: $MANPAGE_RENAMES" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -9667,10 +10396,10 @@
+ fi
+ fi
+
+-echo "$as_me:9670: result: $MANPAGE_RENAMES" >&5
++echo "$as_me:10399: result: $MANPAGE_RENAMES" >&5
+ echo "${ECHO_T}$MANPAGE_RENAMES" >&6
+
+-echo "$as_me:9673: checking if manpage aliases will be installed" >&5
++echo "$as_me:10402: checking if manpage aliases will be installed" >&5
+ echo $ECHO_N "checking if manpage aliases will be installed... $ECHO_C" >&6
+
+ # Check whether --with-manpage-aliases or --without-manpage-aliases was given.
+@@ -9681,7 +10410,7 @@
+ MANPAGE_ALIASES=yes
+ fi;
+
+-echo "$as_me:9684: result: $MANPAGE_ALIASES" >&5
++echo "$as_me:10413: result: $MANPAGE_ALIASES" >&5
+ echo "${ECHO_T}$MANPAGE_ALIASES" >&6
+
+ case "x$LN_S" in #(vi
+@@ -9695,7 +10424,7 @@
+
+ MANPAGE_SYMLINKS=no
+ if test "$MANPAGE_ALIASES" = yes ; then
+-echo "$as_me:9698: checking if manpage symlinks should be used" >&5
++echo "$as_me:10427: checking if manpage symlinks should be used" >&5
+ echo $ECHO_N "checking if manpage symlinks should be used... $ECHO_C" >&6
+
+ # Check whether --with-manpage-symlinks or --without-manpage-symlinks was given.
+@@ -9708,17 +10437,17 @@
+
+ if test "$$cf_use_symlinks" = no; then
+ if test "$MANPAGE_SYMLINKS" = yes ; then
+- { echo "$as_me:9711: WARNING: cannot make symlinks" >&5
++ { echo "$as_me:10440: WARNING: cannot make symlinks" >&5
+ echo "$as_me: WARNING: cannot make symlinks" >&2;}
+ MANPAGE_SYMLINKS=no
+ fi
+ fi
+
+-echo "$as_me:9717: result: $MANPAGE_SYMLINKS" >&5
++echo "$as_me:10446: result: $MANPAGE_SYMLINKS" >&5
+ echo "${ECHO_T}$MANPAGE_SYMLINKS" >&6
+ fi
+
+-echo "$as_me:9721: checking for manpage tbl" >&5
++echo "$as_me:10450: checking for manpage tbl" >&5
+ echo $ECHO_N "checking for manpage tbl... $ECHO_C" >&6
+
+ # Check whether --with-manpage-tbl or --without-manpage-tbl was given.
+@@ -9729,7 +10458,7 @@
+ MANPAGE_TBL=no
+ fi;
+
+-echo "$as_me:9732: result: $MANPAGE_TBL" >&5
++echo "$as_me:10461: result: $MANPAGE_TBL" >&5
+ echo "${ECHO_T}$MANPAGE_TBL" >&6
+
+ if test "$prefix" = "NONE" ; then
+@@ -9776,6 +10505,7 @@
+ # this script is generated by the configure-script CF_MAN_PAGES macro.
+
+ prefix="$cf_prefix"
++datarootdir="$datarootdir"
+ datadir="$datadir"
+
+ NCURSES_MAJOR="$NCURSES_MAJOR"
+@@ -9836,11 +10566,12 @@
+ if test ! -f $cf_man_alias ; then
+ cat >>$cf_man_alias <<-CF_EOF2
+ s,@DATADIR@,\$datadir,g
+- s,@TERMINFO@,\$TERMINFO,g
+- s,@NCURSES_MAJOR@,\$NCURSES_MAJOR,g
+- s,@NCURSES_MINOR@,\$NCURSES_MINOR,g
+- s,@NCURSES_PATCH@,\$NCURSES_PATCH,g
+- s,@NCURSES_OSPEED@,\$NCURSES_OSPEED,g
++ s,@TERMINFO@,\${TERMINFO:="no default value"},g
++ s,@TERMINFO_DIRS@,\${TERMINFO_DIRS:="no default value"},g
++ s,@NCURSES_MAJOR@,\${NCURSES_MAJOR:="no default value"},g
++ s,@NCURSES_MINOR@,\${NCURSES_MINOR:="no default value"},g
++ s,@NCURSES_PATCH@,\${NCURSES_PATCH:="no default value"},g
++ s,@NCURSES_OSPEED@,\${NCURSES_OSPEED:="no default value"},g
+ CF_EOF
+
+ for cf_name in captoinfo clear infocmp infotocap tabs tic toe tput tset
+@@ -9869,7 +10600,9 @@
+
+ if test "$MANPAGE_ALIASES" != no ; then
+ cat >>$cf_edit_man <<CF_EOF
+- aliases=\`sed -f \$top_srcdir/man/manlinks.sed \$inalias |sed -f $cf_man_alias | sort -u\`
++ nCurses=ignore.3x
++ test $with_curses_h = yes && nCurses=ncurses.3x
++ aliases=\`sed -f \$top_srcdir/man/manlinks.sed \$inalias |sed -f $cf_man_alias | sort -u; test \$inalias = \$nCurses && echo curses\`
+ CF_EOF
+ fi
+
+@@ -9915,6 +10648,13 @@
+ fi
+ CF_EOF
+
++if test $with_overwrite != yes ; then
++cat >>$cf_edit_man <<CF_EOF
++ sed -e "/\#[ ]*include/s,<curses.h,<ncurses$LIB_SUFFIX/curses.h," < \$TMP >\$TMP.out
++ mv \$TMP.out \$TMP
++CF_EOF
++fi
++
+ if test $with_curses_h != yes ; then
+ cat >>$cf_edit_man <<CF_EOF
+ sed -e "/\#[ ]*include/s,curses.h,ncurses.h," < \$TMP >\$TMP.out
+@@ -10051,7 +10791,7 @@
+ ###############################################################################
+
+ ### Note that some functions (such as const) are normally disabled anyway.
+-echo "$as_me:10054: checking if you want to build with function extensions" >&5
++echo "$as_me:10794: checking if you want to build with function extensions" >&5
+ echo $ECHO_N "checking if you want to build with function extensions... $ECHO_C" >&6
+
+ # Check whether --enable-ext-funcs or --disable-ext-funcs was given.
+@@ -10061,39 +10801,52 @@
+ else
+ with_ext_funcs=yes
+ fi;
+-echo "$as_me:10064: result: $with_ext_funcs" >&5
++echo "$as_me:10804: result: $with_ext_funcs" >&5
+ echo "${ECHO_T}$with_ext_funcs" >&6
+-if test "$with_ext_funcs" = yes ; then
++if test "x$with_ext_funcs" = xyes ; then
+ NCURSES_EXT_FUNCS=1
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
++#define HAVE_ASSUME_DEFAULT_COLORS 1
++EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_CURSES_VERSION 1
+ EOF
+
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define HAVE_HAS_KEY 1
+ EOF
+
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define HAVE_RESIZETERM 1
+ EOF
+
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define HAVE_RESIZE_TERM 1
+ EOF
+
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define HAVE_TERM_ENTRY_H 1
+ EOF
+
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define HAVE_USE_DEFAULT_COLORS 1
+ EOF
+
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
++#define HAVE_USE_SCREEN 1
++EOF
++
++cat >>confdefs.h <<\EOF
++#define HAVE_USE_WINDOW 1
++EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_WRESIZE 1
+ EOF
+
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define NCURSES_EXT_FUNCS 1
+ EOF
+
+@@ -10103,7 +10856,7 @@
+ GENERATED_EXT_FUNCS=
+ fi
+
+-echo "$as_me:10106: checking if you want to build with experimental SCREEN extensions" >&5
++echo "$as_me:10859: checking if you want to build with experimental SCREEN extensions" >&5
+ echo $ECHO_N "checking if you want to build with experimental SCREEN extensions... $ECHO_C" >&6
+
+ # Check whether --enable-sp-funcs or --disable-sp-funcs was given.
+@@ -10113,11 +10866,12 @@
+ else
+ with_sp_funcs=no
+ fi;
+-echo "$as_me:10116: result: $with_sp_funcs" >&5
++echo "$as_me:10869: result: $with_sp_funcs" >&5
+ echo "${ECHO_T}$with_sp_funcs" >&6
+-if test "$with_sp_funcs" = yes ; then
++if test "x$with_sp_funcs" = xyes ; then
+ NCURSES_SP_FUNCS=1
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define NCURSES_SP_FUNCS 1
+ EOF
+
+@@ -10127,7 +10881,7 @@
+ GENERATED_SP_FUNCS=
+ fi
+
+-echo "$as_me:10130: checking if you want to build with experimental terminal-driver" >&5
++echo "$as_me:10884: checking if you want to build with experimental terminal-driver" >&5
+ echo $ECHO_N "checking if you want to build with experimental terminal-driver... $ECHO_C" >&6
+
+ # Check whether --enable-term-driver or --disable-term-driver was given.
+@@ -10137,22 +10891,23 @@
+ else
+ with_term_driver=no
+ fi;
+-echo "$as_me:10140: result: $with_term_driver" >&5
++echo "$as_me:10894: result: $with_term_driver" >&5
+ echo "${ECHO_T}$with_term_driver" >&6
+-if test "$with_term_driver" = yes ; then
+- cat >>confdefs.h <<\EOF
++if test "x$with_term_driver" = xyes ; then
++
++cat >>confdefs.h <<\EOF
+ #define USE_TERM_DRIVER 1
+ EOF
+
+- if test "$with_sp_funcs" != yes ; then
+- { { echo "$as_me:10148: error: The term-driver option relies upon sp-funcs" >&5
++ if test "x$with_sp_funcs" != xyes ; then
++ { { echo "$as_me:10903: error: The term-driver option relies upon sp-funcs" >&5
+ echo "$as_me: error: The term-driver option relies upon sp-funcs" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ fi
+
+ ### use option --enable-const to turn on use of const beyond that in XSI.
+-echo "$as_me:10155: checking for extended use of const keyword" >&5
++echo "$as_me:10910: checking for extended use of const keyword" >&5
+ echo $ECHO_N "checking for extended use of const keyword... $ECHO_C" >&6
+
+ # Check whether --enable-const or --disable-const was given.
+@@ -10162,15 +10917,15 @@
+ else
+ with_ext_const=no
+ fi;
+-echo "$as_me:10165: result: $with_ext_const" >&5
++echo "$as_me:10920: result: $with_ext_const" >&5
+ echo "${ECHO_T}$with_ext_const" >&6
+ NCURSES_CONST='/*nothing*/'
+-if test "$with_ext_const" = yes ; then
++if test "x$with_ext_const" = xyes ; then
+ NCURSES_CONST=const
+ fi
+
+ ### use option --enable-ext-colors to turn on use of colors beyond 16.
+-echo "$as_me:10173: checking if you want to use extended colors" >&5
++echo "$as_me:10928: checking if you want to use extended colors" >&5
+ echo $ECHO_N "checking if you want to use extended colors... $ECHO_C" >&6
+
+ # Check whether --enable-ext-colors or --disable-ext-colors was given.
+@@ -10180,12 +10935,12 @@
+ else
+ with_ext_colors=no
+ fi;
+-echo "$as_me:10183: result: $with_ext_colors" >&5
++echo "$as_me:10938: result: $with_ext_colors" >&5
+ echo "${ECHO_T}$with_ext_colors" >&6
+ NCURSES_EXT_COLORS=0
+-if test "$with_ext_colors" = yes ; then
+- if test "$with_widec" != yes ; then
+- { { echo "$as_me:10188: error: This option applies only to wide-character library" >&5
++if test "x$with_ext_colors" = xyes ; then
++ if test "x$with_widec" != xyes ; then
++ { { echo "$as_me:10943: error: This option applies only to wide-character library" >&5
+ echo "$as_me: error: This option applies only to wide-character library" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+@@ -10196,7 +10951,7 @@
+ 5.*)
+ cf_cv_rel_version=6.0
+ cf_cv_abi_version=6
+- { echo "$as_me:10199: WARNING: Overriding ABI version to $cf_cv_abi_version" >&5
++ { echo "$as_me:10954: WARNING: Overriding ABI version to $cf_cv_abi_version" >&5
+ echo "$as_me: WARNING: Overriding ABI version to $cf_cv_abi_version" >&2;}
+ ;;
+ esac
+@@ -10204,14 +10959,15 @@
+
+ fi
+ NCURSES_EXT_COLORS=1
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define NCURSES_EXT_COLORS 1
+ EOF
+
+ fi
+
+ ### use option --enable-ext-mouse to modify coding to support 5-button mice
+-echo "$as_me:10214: checking if you want to use extended mouse encoding" >&5
++echo "$as_me:10970: checking if you want to use extended mouse encoding" >&5
+ echo $ECHO_N "checking if you want to use extended mouse encoding... $ECHO_C" >&6
+
+ # Check whether --enable-ext-mouse or --disable-ext-mouse was given.
+@@ -10221,10 +10977,10 @@
+ else
+ with_ext_mouse=no
+ fi;
+-echo "$as_me:10224: result: $with_ext_mouse" >&5
++echo "$as_me:10980: result: $with_ext_mouse" >&5
+ echo "${ECHO_T}$with_ext_mouse" >&6
+ NCURSES_MOUSE_VERSION=1
+-if test "$with_ext_mouse" = yes ; then
++if test "x$with_ext_mouse" = xyes ; then
+ NCURSES_MOUSE_VERSION=2
+
+ if test "${with_abi_version+set}" != set; then
+@@ -10232,7 +10988,7 @@
+ 5.*)
+ cf_cv_rel_version=6.0
+ cf_cv_abi_version=6
+- { echo "$as_me:10235: WARNING: Overriding ABI version to $cf_cv_abi_version" >&5
++ { echo "$as_me:10991: WARNING: Overriding ABI version to $cf_cv_abi_version" >&5
+ echo "$as_me: WARNING: Overriding ABI version to $cf_cv_abi_version" >&2;}
+ ;;
+ esac
+@@ -10240,7 +10996,7 @@
+
+ fi
+
+-echo "$as_me:10243: checking if you want \$NCURSES_NO_PADDING code" >&5
++echo "$as_me:10999: checking if you want \$NCURSES_NO_PADDING code" >&5
+ echo $ECHO_N "checking if you want \$NCURSES_NO_PADDING code... $ECHO_C" >&6
+
+ # Check whether --enable-no-padding or --disable-no-padding was given.
+@@ -10250,19 +11006,20 @@
+ else
+ with_no_padding=$with_ext_funcs
+ fi;
+-echo "$as_me:10253: result: $with_no_padding" >&5
++echo "$as_me:11009: result: $with_no_padding" >&5
+ echo "${ECHO_T}$with_no_padding" >&6
+-test "$with_no_padding" = yes && cat >>confdefs.h <<\EOF
++test "x$with_no_padding" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define NCURSES_NO_PADDING 1
+ EOF
+
+-echo "$as_me:10259: checking for ANSI C header files" >&5
++echo "$as_me:11016: checking for ANSI C header files" >&5
+ echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+ if test "${ac_cv_header_stdc+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10265 "configure"
++#line 11022 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ #include <stdarg.h>
+@@ -10270,13 +11027,13 @@
+ #include <float.h>
+
+ _ACEOF
+-if { (eval echo "$as_me:10273: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:11030: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:10279: \$? = $ac_status" >&5
++ echo "$as_me:11036: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -10298,7 +11055,7 @@
+ if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10301 "configure"
++#line 11058 "configure"
+ #include "confdefs.h"
+ #include <string.h>
+
+@@ -10316,7 +11073,7 @@
+ if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10319 "configure"
++#line 11076 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+
+@@ -10337,7 +11094,7 @@
+ :
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10340 "configure"
++#line 11097 "configure"
+ #include "confdefs.h"
+ #include <ctype.h>
+ #if ((' ' & 0x0FF) == 0x020)
+@@ -10363,15 +11120,15 @@
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:10366: \"$ac_link\"") >&5
++if { (eval echo "$as_me:11123: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:10369: \$? = $ac_status" >&5
++ echo "$as_me:11126: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:10371: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11128: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10374: \$? = $ac_status" >&5
++ echo "$as_me:11131: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -10384,7 +11141,7 @@
+ fi
+ fi
+ fi
+-echo "$as_me:10387: result: $ac_cv_header_stdc" >&5
++echo "$as_me:11144: result: $ac_cv_header_stdc" >&5
+ echo "${ECHO_T}$ac_cv_header_stdc" >&6
+ if test $ac_cv_header_stdc = yes; then
+
+@@ -10400,28 +11157,28 @@
+ inttypes.h stdint.h unistd.h
+ do
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:10403: checking for $ac_header" >&5
++echo "$as_me:11160: checking for $ac_header" >&5
+ echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10409 "configure"
++#line 11166 "configure"
+ #include "confdefs.h"
+ $ac_includes_default
+ #include <$ac_header>
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:10415: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:11172: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:10418: \$? = $ac_status" >&5
++ echo "$as_me:11175: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:10421: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11178: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10424: \$? = $ac_status" >&5
++ echo "$as_me:11181: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_Header=yes"
+ else
+@@ -10431,7 +11188,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:10434: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "$as_me:11191: result: `eval echo '${'$as_ac_Header'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -10441,13 +11198,13 @@
+ fi
+ done
+
+-echo "$as_me:10444: checking for signed char" >&5
++echo "$as_me:11201: checking for signed char" >&5
+ echo $ECHO_N "checking for signed char... $ECHO_C" >&6
+ if test "${ac_cv_type_signed_char+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10450 "configure"
++#line 11207 "configure"
+ #include "confdefs.h"
+ $ac_includes_default
+ int
+@@ -10462,16 +11219,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:10465: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:11222: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:10468: \$? = $ac_status" >&5
++ echo "$as_me:11225: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:10471: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11228: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10474: \$? = $ac_status" >&5
++ echo "$as_me:11231: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_type_signed_char=yes
+ else
+@@ -10481,10 +11238,10 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:10484: result: $ac_cv_type_signed_char" >&5
++echo "$as_me:11241: result: $ac_cv_type_signed_char" >&5
+ echo "${ECHO_T}$ac_cv_type_signed_char" >&6
+
+-echo "$as_me:10487: checking size of signed char" >&5
++echo "$as_me:11244: checking size of signed char" >&5
+ echo $ECHO_N "checking size of signed char... $ECHO_C" >&6
+ if test "${ac_cv_sizeof_signed_char+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -10493,7 +11250,7 @@
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10496 "configure"
++#line 11253 "configure"
+ #include "confdefs.h"
+ $ac_includes_default
+ int
+@@ -10505,21 +11262,21 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:10508: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:11265: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:10511: \$? = $ac_status" >&5
++ echo "$as_me:11268: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:10514: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11271: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10517: \$? = $ac_status" >&5
++ echo "$as_me:11274: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10522 "configure"
++#line 11279 "configure"
+ #include "confdefs.h"
+ $ac_includes_default
+ int
+@@ -10531,16 +11288,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:10534: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:11291: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:10537: \$? = $ac_status" >&5
++ echo "$as_me:11294: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:10540: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11297: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10543: \$? = $ac_status" >&5
++ echo "$as_me:11300: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_hi=$ac_mid; break
+ else
+@@ -10556,7 +11313,7 @@
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10559 "configure"
++#line 11316 "configure"
+ #include "confdefs.h"
+ $ac_includes_default
+ int
+@@ -10568,16 +11325,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:10571: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:11328: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:10574: \$? = $ac_status" >&5
++ echo "$as_me:11331: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:10577: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11334: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10580: \$? = $ac_status" >&5
++ echo "$as_me:11337: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_lo=$ac_mid; break
+ else
+@@ -10593,7 +11350,7 @@
+ while test "x$ac_lo" != "x$ac_hi"; do
+ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10596 "configure"
++#line 11353 "configure"
+ #include "confdefs.h"
+ $ac_includes_default
+ int
+@@ -10605,16 +11362,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:10608: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:11365: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:10611: \$? = $ac_status" >&5
++ echo "$as_me:11368: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:10614: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11371: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10617: \$? = $ac_status" >&5
++ echo "$as_me:11374: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_hi=$ac_mid
+ else
+@@ -10627,12 +11384,12 @@
+ ac_cv_sizeof_signed_char=$ac_lo
+ else
+ if test "$cross_compiling" = yes; then
+- { { echo "$as_me:10630: error: cannot run test program while cross compiling" >&5
++ { { echo "$as_me:11387: error: cannot run test program while cross compiling" >&5
+ echo "$as_me: error: cannot run test program while cross compiling" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10635 "configure"
++#line 11392 "configure"
+ #include "confdefs.h"
+ $ac_includes_default
+ int
+@@ -10648,15 +11405,15 @@
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:10651: \"$ac_link\"") >&5
++if { (eval echo "$as_me:11408: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:10654: \$? = $ac_status" >&5
++ echo "$as_me:11411: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:10656: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11413: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10659: \$? = $ac_status" >&5
++ echo "$as_me:11416: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sizeof_signed_char=`cat conftest.val`
+ else
+@@ -10672,7 +11429,7 @@
+ ac_cv_sizeof_signed_char=0
+ fi
+ fi
+-echo "$as_me:10675: result: $ac_cv_sizeof_signed_char" >&5
++echo "$as_me:11432: result: $ac_cv_sizeof_signed_char" >&5
+ echo "${ECHO_T}$ac_cv_sizeof_signed_char" >&6
+ cat >>confdefs.h <<EOF
+ #define SIZEOF_SIGNED_CHAR $ac_cv_sizeof_signed_char
+@@ -10683,7 +11440,7 @@
+ else
+ NCURSES_SBOOL="char"
+ fi
+-echo "$as_me:10686: checking if you want to use signed Boolean array in term.h" >&5
++echo "$as_me:11443: checking if you want to use signed Boolean array in term.h" >&5
+ echo $ECHO_N "checking if you want to use signed Boolean array in term.h... $ECHO_C" >&6
+
+ # Check whether --enable-signed-char or --disable-signed-char was given.
+@@ -10693,12 +11450,12 @@
+ else
+ with_signed_char=no
+ fi;
+-echo "$as_me:10696: result: $with_signed_char" >&5
++echo "$as_me:11453: result: $with_signed_char" >&5
+ echo "${ECHO_T}$with_signed_char" >&6
+-test "$with_signed_char" != yes && NCURSES_SBOOL="char"
++test "x$with_signed_char" != xyes && NCURSES_SBOOL="char"
+
+ ### use option --enable-sigwinch to turn on use of SIGWINCH logic
+-echo "$as_me:10701: checking if you want SIGWINCH handler" >&5
++echo "$as_me:11458: checking if you want SIGWINCH handler" >&5
+ echo $ECHO_N "checking if you want SIGWINCH handler... $ECHO_C" >&6
+
+ # Check whether --enable-sigwinch or --disable-sigwinch was given.
+@@ -10708,14 +11465,15 @@
+ else
+ with_sigwinch=$with_ext_funcs
+ fi;
+-echo "$as_me:10711: result: $with_sigwinch" >&5
++echo "$as_me:11468: result: $with_sigwinch" >&5
+ echo "${ECHO_T}$with_sigwinch" >&6
+-test "$with_sigwinch" = yes && cat >>confdefs.h <<\EOF
++test "x$with_sigwinch" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define USE_SIGWINCH 1
+ EOF
+
+ ### use option --enable-tcap-names to allow user to define new capabilities
+-echo "$as_me:10718: checking if you want user-definable terminal capabilities like termcap" >&5
++echo "$as_me:11476: checking if you want user-definable terminal capabilities like termcap" >&5
+ echo $ECHO_N "checking if you want user-definable terminal capabilities like termcap... $ECHO_C" >&6
+
+ # Check whether --enable-tcap-names or --disable-tcap-names was given.
+@@ -10725,15 +11483,15 @@
+ else
+ with_tcap_names=$with_ext_funcs
+ fi;
+-echo "$as_me:10728: result: $with_tcap_names" >&5
++echo "$as_me:11486: result: $with_tcap_names" >&5
+ echo "${ECHO_T}$with_tcap_names" >&6
+ NCURSES_XNAMES=0
+-test "$with_tcap_names" = yes && NCURSES_XNAMES=1
++test "x$with_tcap_names" = xyes && NCURSES_XNAMES=1
+
+ ###############################################################################
+ # These options are relatively safe to experiment with.
+
+-echo "$as_me:10736: checking if you want all development code" >&5
++echo "$as_me:11494: checking if you want all development code" >&5
+ echo $ECHO_N "checking if you want all development code... $ECHO_C" >&6
+
+ # Check whether --with-develop or --without-develop was given.
+@@ -10743,11 +11501,11 @@
+ else
+ with_develop=no
+ fi;
+-echo "$as_me:10746: result: $with_develop" >&5
++echo "$as_me:11504: result: $with_develop" >&5
+ echo "${ECHO_T}$with_develop" >&6
+
+ ### use option --enable-hard-tabs to turn on use of hard-tabs optimize
+-echo "$as_me:10750: checking if you want hard-tabs code" >&5
++echo "$as_me:11508: checking if you want hard-tabs code" >&5
+ echo $ECHO_N "checking if you want hard-tabs code... $ECHO_C" >&6
+
+ # Check whether --enable-hard-tabs or --disable-hard-tabs was given.
+@@ -10757,14 +11515,15 @@
+ else
+ enable_hard_tabs=$with_develop
+ fi;
+-echo "$as_me:10760: result: $enable_hard_tabs" >&5
++echo "$as_me:11518: result: $enable_hard_tabs" >&5
+ echo "${ECHO_T}$enable_hard_tabs" >&6
+-test "$enable_hard_tabs" = yes && cat >>confdefs.h <<\EOF
++test "x$enable_hard_tabs" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define USE_HARD_TABS 1
+ EOF
+
+ ### use option --enable-xmc-glitch to turn on use of magic-cookie optimize
+-echo "$as_me:10767: checking if you want limited support for xmc" >&5
++echo "$as_me:11526: checking if you want limited support for xmc" >&5
+ echo $ECHO_N "checking if you want limited support for xmc... $ECHO_C" >&6
+
+ # Check whether --enable-xmc-glitch or --disable-xmc-glitch was given.
+@@ -10774,16 +11533,17 @@
+ else
+ enable_xmc_glitch=$with_develop
+ fi;
+-echo "$as_me:10777: result: $enable_xmc_glitch" >&5
++echo "$as_me:11536: result: $enable_xmc_glitch" >&5
+ echo "${ECHO_T}$enable_xmc_glitch" >&6
+-test "$enable_xmc_glitch" = yes && cat >>confdefs.h <<\EOF
++test "x$enable_xmc_glitch" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define USE_XMC_SUPPORT 1
+ EOF
+
+ ###############################################################################
+ # These are just experimental, probably should not be in a package:
+
+-echo "$as_me:10786: checking if you do not want to assume colors are white-on-black" >&5
++echo "$as_me:11546: checking if you do not want to assume colors are white-on-black" >&5
+ echo $ECHO_N "checking if you do not want to assume colors are white-on-black... $ECHO_C" >&6
+
+ # Check whether --enable-assumed-color or --disable-assumed-color was given.
+@@ -10793,14 +11553,15 @@
+ else
+ with_assumed_color=yes
+ fi;
+-echo "$as_me:10796: result: $with_assumed_color" >&5
++echo "$as_me:11556: result: $with_assumed_color" >&5
+ echo "${ECHO_T}$with_assumed_color" >&6
+-test "$with_assumed_color" = yes && cat >>confdefs.h <<\EOF
++test "x$with_assumed_color" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define USE_ASSUMED_COLOR 1
+ EOF
+
+ ### use option --enable-hashmap to turn on use of hashmap scrolling logic
+-echo "$as_me:10803: checking if you want hashmap scrolling-optimization code" >&5
++echo "$as_me:11564: checking if you want hashmap scrolling-optimization code" >&5
+ echo $ECHO_N "checking if you want hashmap scrolling-optimization code... $ECHO_C" >&6
+
+ # Check whether --enable-hashmap or --disable-hashmap was given.
+@@ -10810,14 +11571,15 @@
+ else
+ with_hashmap=yes
+ fi;
+-echo "$as_me:10813: result: $with_hashmap" >&5
++echo "$as_me:11574: result: $with_hashmap" >&5
+ echo "${ECHO_T}$with_hashmap" >&6
+-test "$with_hashmap" = yes && cat >>confdefs.h <<\EOF
++test "x$with_hashmap" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define USE_HASHMAP 1
+ EOF
+
+ ### use option --enable-colorfgbg to turn on use of $COLORFGBG environment
+-echo "$as_me:10820: checking if you want colorfgbg code" >&5
++echo "$as_me:11582: checking if you want colorfgbg code" >&5
+ echo $ECHO_N "checking if you want colorfgbg code... $ECHO_C" >&6
+
+ # Check whether --enable-colorfgbg or --disable-colorfgbg was given.
+@@ -10827,14 +11589,15 @@
+ else
+ with_colorfgbg=no
+ fi;
+-echo "$as_me:10830: result: $with_colorfgbg" >&5
++echo "$as_me:11592: result: $with_colorfgbg" >&5
+ echo "${ECHO_T}$with_colorfgbg" >&6
+-test "$with_colorfgbg" = yes && cat >>confdefs.h <<\EOF
++test "x$with_colorfgbg" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define USE_COLORFGBG 1
+ EOF
+
+ ### use option --enable-interop to turn on use of bindings used for interop
+-echo "$as_me:10837: checking if you want interop bindings" >&5
++echo "$as_me:11600: checking if you want interop bindings" >&5
+ echo $ECHO_N "checking if you want interop bindings... $ECHO_C" >&6
+
+ # Check whether --enable-interop or --disable-interop was given.
+@@ -10844,16 +11607,16 @@
+ else
+ with_exp_interop=no
+ fi;
+-echo "$as_me:10847: result: $with_exp_interop" >&5
++echo "$as_me:11610: result: $with_exp_interop" >&5
+ echo "${ECHO_T}$with_exp_interop" >&6
+
+ NCURSES_INTEROP_FUNCS=0
+-test "$with_exp_interop" = yes && NCURSES_INTEROP_FUNCS=1
++test "x$with_exp_interop" = xyes && NCURSES_INTEROP_FUNCS=1
+
+ # This is still experimental (20080329), but should ultimately be moved to
+ # the script-block --with-normal, etc.
+
+-echo "$as_me:10856: checking if you want to link with the pthread library" >&5
++echo "$as_me:11619: checking if you want to link with the pthread library" >&5
+ echo $ECHO_N "checking if you want to link with the pthread library... $ECHO_C" >&6
+
+ # Check whether --with-pthread or --without-pthread was given.
+@@ -10863,27 +11626,27 @@
+ else
+ with_pthread=no
+ fi;
+-echo "$as_me:10866: result: $with_pthread" >&5
++echo "$as_me:11629: result: $with_pthread" >&5
+ echo "${ECHO_T}$with_pthread" >&6
+
+ if test "$with_pthread" != no ; then
+- echo "$as_me:10870: checking for pthread.h" >&5
++ echo "$as_me:11633: checking for pthread.h" >&5
+ echo $ECHO_N "checking for pthread.h... $ECHO_C" >&6
+ if test "${ac_cv_header_pthread_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10876 "configure"
++#line 11639 "configure"
+ #include "confdefs.h"
+ #include <pthread.h>
+ _ACEOF
+-if { (eval echo "$as_me:10880: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:11643: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:10886: \$? = $ac_status" >&5
++ echo "$as_me:11649: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -10902,20 +11665,22 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:10905: result: $ac_cv_header_pthread_h" >&5
++echo "$as_me:11668: result: $ac_cv_header_pthread_h" >&5
+ echo "${ECHO_T}$ac_cv_header_pthread_h" >&6
+ if test $ac_cv_header_pthread_h = yes; then
+
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define HAVE_PTHREADS_H 1
+ EOF
+
+- echo "$as_me:10913: checking if we can link with the pthread library" >&5
+-echo $ECHO_N "checking if we can link with the pthread library... $ECHO_C" >&6
+- cf_save_LIBS="$LIBS"
+- LIBS="-lpthread $LIBS"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 10918 "configure"
++ for cf_lib_pthread in pthread c_r
++ do
++ echo "$as_me:11678: checking if we can link with the $cf_lib_pthread library" >&5
++echo $ECHO_N "checking if we can link with the $cf_lib_pthread library... $ECHO_C" >&6
++ cf_save_LIBS="$LIBS"
++ LIBS="-l$cf_lib_pthread $LIBS"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 11683 "configure"
+ #include "confdefs.h"
+
+ #include <pthread.h>
+@@ -10924,23 +11689,24 @@
+ main ()
+ {
+
+- int rc = pthread_create(0,0,0,0);
++ int rc = pthread_create(0,0,0,0);
++ int r2 = pthread_mutexattr_settype(0, 0);
+
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:10934: \"$ac_link\"") >&5
++if { (eval echo "$as_me:11700: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:10937: \$? = $ac_status" >&5
++ echo "$as_me:11703: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:10940: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11706: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10943: \$? = $ac_status" >&5
++ echo "$as_me:11709: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ with_pthread=yes
+ else
+@@ -10949,34 +11715,37 @@
+ with_pthread=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+- LIBS="$cf_save_LIBS"
+- echo "$as_me:10953: result: $with_pthread" >&5
++ LIBS="$cf_save_LIBS"
++ echo "$as_me:11719: result: $with_pthread" >&5
+ echo "${ECHO_T}$with_pthread" >&6
++ test "$with_pthread" = yes && break
++ done
++
++ if test "$with_pthread" = yes ; then
++ LIBS="-l$cf_lib_pthread $LIBS"
+
+- if test "$with_pthread" = yes ; then
+- LIBS="-lpthread $LIBS"
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define HAVE_LIBPTHREADS 1
+ EOF
+
+- else
+- { { echo "$as_me:10963: error: Cannot link with pthread library" >&5
++ else
++ { { echo "$as_me:11732: error: Cannot link with pthread library" >&5
+ echo "$as_me: error: Cannot link with pthread library" >&2;}
+ { (exit 1); exit 1; }; }
+- fi
++ fi
+
+ fi
+
+ fi
+
+ if test "x$with_pthread" != xno; then
+- echo "$as_me:10973: checking for pthread_kill" >&5
++ echo "$as_me:11742: checking for pthread_kill" >&5
+ echo $ECHO_N "checking for pthread_kill... $ECHO_C" >&6
+ if test "${ac_cv_func_pthread_kill+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10979 "configure"
++#line 11748 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char pthread_kill (); below. */
+@@ -10999,7 +11768,7 @@
+ #if defined (__stub_pthread_kill) || defined (__stub___pthread_kill)
+ choke me
+ #else
+-f = pthread_kill;
++f = pthread_kill; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -11007,16 +11776,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:11010: \"$ac_link\"") >&5
++if { (eval echo "$as_me:11779: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:11013: \$? = $ac_status" >&5
++ echo "$as_me:11782: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:11016: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11785: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:11019: \$? = $ac_status" >&5
++ echo "$as_me:11788: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_pthread_kill=yes
+ else
+@@ -11026,11 +11795,11 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:11029: result: $ac_cv_func_pthread_kill" >&5
++echo "$as_me:11798: result: $ac_cv_func_pthread_kill" >&5
+ echo "${ECHO_T}$ac_cv_func_pthread_kill" >&6
+ if test $ac_cv_func_pthread_kill = yes; then
+
+- echo "$as_me:11033: checking if you want to allow EINTR in wgetch with pthreads" >&5
++ echo "$as_me:11802: checking if you want to allow EINTR in wgetch with pthreads" >&5
+ echo $ECHO_N "checking if you want to allow EINTR in wgetch with pthreads... $ECHO_C" >&6
+
+ # Check whether --enable-pthreads-eintr or --disable-pthreads-eintr was given.
+@@ -11040,17 +11809,18 @@
+ else
+ use_pthreads_eintr=no
+ fi;
+- echo "$as_me:11043: result: $use_pthreads_eintr" >&5
++ echo "$as_me:11812: result: $use_pthreads_eintr" >&5
+ echo "${ECHO_T}$use_pthreads_eintr" >&6
+- if test $use_pthreads_eintr = yes ; then
+- cat >>confdefs.h <<\EOF
++ if test "x$use_pthreads_eintr" = xyes ; then
++
++cat >>confdefs.h <<\EOF
+ #define USE_PTHREADS_EINTR 1
+ EOF
+
+ fi
+ fi
+
+- echo "$as_me:11053: checking if you want to use weak-symbols for pthreads" >&5
++ echo "$as_me:11823: checking if you want to use weak-symbols for pthreads" >&5
+ echo $ECHO_N "checking if you want to use weak-symbols for pthreads... $ECHO_C" >&6
+
+ # Check whether --enable-weak-symbols or --disable-weak-symbols was given.
+@@ -11060,18 +11830,18 @@
+ else
+ use_weak_symbols=no
+ fi;
+- echo "$as_me:11063: result: $use_weak_symbols" >&5
++ echo "$as_me:11833: result: $use_weak_symbols" >&5
+ echo "${ECHO_T}$use_weak_symbols" >&6
+- if test "$use_weak_symbols" = yes ; then
++ if test "x$use_weak_symbols" = xyes ; then
+
+-echo "$as_me:11067: checking if $CC supports weak symbols" >&5
++echo "$as_me:11837: checking if $CC supports weak symbols" >&5
+ echo $ECHO_N "checking if $CC supports weak symbols... $ECHO_C" >&6
+ if test "${cf_cv_weak_symbols+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 11074 "configure"
++#line 11844 "configure"
+ #include "confdefs.h"
+
+ #include <stdio.h>
+@@ -11097,16 +11867,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:11100: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:11870: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:11103: \$? = $ac_status" >&5
++ echo "$as_me:11873: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:11106: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11876: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:11109: \$? = $ac_status" >&5
++ echo "$as_me:11879: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_weak_symbols=yes
+ else
+@@ -11117,15 +11887,16 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+-echo "$as_me:11120: result: $cf_cv_weak_symbols" >&5
++echo "$as_me:11890: result: $cf_cv_weak_symbols" >&5
+ echo "${ECHO_T}$cf_cv_weak_symbols" >&6
+
+ else
+ cf_cv_weak_symbols=no
+ fi
+
+- if test $cf_cv_weak_symbols = yes ; then
+- cat >>confdefs.h <<\EOF
++ if test "x$cf_cv_weak_symbols" = xyes ; then
++
++cat >>confdefs.h <<\EOF
+ #define USE_WEAK_SYMBOLS 1
+ EOF
+
+@@ -11133,13 +11904,14 @@
+ fi
+
+ PTHREAD=
+-if test "$with_pthread" = "yes" ; then
+- cat >>confdefs.h <<\EOF
++if test "x$with_pthread" = "xyes" ; then
++
++cat >>confdefs.h <<\EOF
+ #define USE_PTHREADS 1
+ EOF
+
+ enable_reentrant=yes
+- if test $cf_cv_weak_symbols = yes ; then
++ if test "x$cf_cv_weak_symbols" = xyes ; then
+ PTHREAD=-lpthread
+ fi
+ fi
+@@ -11148,7 +11920,7 @@
+ # opaque outside of that, so there is no --enable-opaque option. We can use
+ # this option without --with-pthreads, but this will be always set for
+ # pthreads.
+-echo "$as_me:11151: checking if you want experimental reentrant code" >&5
++echo "$as_me:11923: checking if you want experimental reentrant code" >&5
+ echo $ECHO_N "checking if you want experimental reentrant code... $ECHO_C" >&6
+
+ # Check whether --enable-reentrant or --disable-reentrant was given.
+@@ -11158,14 +11930,14 @@
+ else
+ with_reentrant=no
+ fi;
+-echo "$as_me:11161: result: $with_reentrant" >&5
++echo "$as_me:11933: result: $with_reentrant" >&5
+ echo "${ECHO_T}$with_reentrant" >&6
+-if test "$with_reentrant" = yes ; then
++if test "x$with_reentrant" = xyes ; then
+ cf_cv_enable_reentrant=1
+ cf_cv_enable_opaque="NCURSES_INTERNALS"
+ NCURSES_OPAQUE=1
+ NCURSES_SIZE_T=int
+- if test $cf_cv_weak_symbols = yes ; then
++ if test "x$cf_cv_weak_symbols" = xyes ; then
+
+ # remove pthread library from $LIBS
+ LIBS=`echo "$LIBS" | sed -e 's/-lpthread[ ]//g' -e 's/-lpthread$//'`
+@@ -11175,7 +11947,8 @@
+ else
+ LIB_SUFFIX="t${LIB_SUFFIX}"
+ fi
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define USE_REENTRANT 1
+ EOF
+
+@@ -11184,7 +11957,7 @@
+ 5.*)
+ cf_cv_rel_version=6.0
+ cf_cv_abi_version=6
+- { echo "$as_me:11187: WARNING: Overriding ABI version to $cf_cv_abi_version" >&5
++ { echo "$as_me:11960: WARNING: Overriding ABI version to $cf_cv_abi_version" >&5
+ echo "$as_me: WARNING: Overriding ABI version to $cf_cv_abi_version" >&2;}
+ ;;
+ esac
+@@ -11199,7 +11972,7 @@
+
+ ### Allow using a different wrap-prefix
+ if test "$cf_cv_enable_reentrant" != 0 || test "$BROKEN_LINKER" = 1 ; then
+- echo "$as_me:11202: checking for prefix used to wrap public variables" >&5
++ echo "$as_me:11975: checking for prefix used to wrap public variables" >&5
+ echo $ECHO_N "checking for prefix used to wrap public variables... $ECHO_C" >&6
+
+ # Check whether --with-wrap-prefix or --without-wrap-prefix was given.
+@@ -11209,7 +11982,7 @@
+ else
+ NCURSES_WRAP_PREFIX=_nc_
+ fi;
+- echo "$as_me:11212: result: $NCURSES_WRAP_PREFIX" >&5
++ echo "$as_me:11985: result: $NCURSES_WRAP_PREFIX" >&5
+ echo "${ECHO_T}$NCURSES_WRAP_PREFIX" >&6
+ else
+ NCURSES_WRAP_PREFIX=_nc_
+@@ -11219,7 +11992,7 @@
+ #define NCURSES_WRAP_PREFIX "$NCURSES_WRAP_PREFIX"
+ EOF
+
+-echo "$as_me:11222: checking if you want experimental safe-sprintf code" >&5
++echo "$as_me:11995: checking if you want experimental safe-sprintf code" >&5
+ echo $ECHO_N "checking if you want experimental safe-sprintf code... $ECHO_C" >&6
+
+ # Check whether --enable-safe-sprintf or --disable-safe-sprintf was given.
+@@ -11229,16 +12002,17 @@
+ else
+ with_safe_sprintf=no
+ fi;
+-echo "$as_me:11232: result: $with_safe_sprintf" >&5
++echo "$as_me:12005: result: $with_safe_sprintf" >&5
+ echo "${ECHO_T}$with_safe_sprintf" >&6
+-test "$with_safe_sprintf" = yes && cat >>confdefs.h <<\EOF
++test "x$with_safe_sprintf" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define USE_SAFE_SPRINTF 1
+ EOF
+
+ ### use option --disable-scroll-hints to turn off use of scroll-hints scrolling logic
+ # when hashmap is used scroll hints are useless
+ if test "$with_hashmap" = no ; then
+-echo "$as_me:11241: checking if you want to experiment without scrolling-hints code" >&5
++echo "$as_me:12015: checking if you want to experiment without scrolling-hints code" >&5
+ echo $ECHO_N "checking if you want to experiment without scrolling-hints code... $ECHO_C" >&6
+
+ # Check whether --enable-scroll-hints or --disable-scroll-hints was given.
+@@ -11248,15 +12022,16 @@
+ else
+ with_scroll_hints=yes
+ fi;
+-echo "$as_me:11251: result: $with_scroll_hints" >&5
++echo "$as_me:12025: result: $with_scroll_hints" >&5
+ echo "${ECHO_T}$with_scroll_hints" >&6
+-test "$with_scroll_hints" = yes && cat >>confdefs.h <<\EOF
++test "x$with_scroll_hints" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define USE_SCROLL_HINTS 1
+ EOF
+
+ fi
+
+-echo "$as_me:11259: checking if you want experimental wgetch-events code" >&5
++echo "$as_me:12034: checking if you want experimental wgetch-events code" >&5
+ echo $ECHO_N "checking if you want experimental wgetch-events code... $ECHO_C" >&6
+
+ # Check whether --enable-wgetch-events or --disable-wgetch-events was given.
+@@ -11266,37 +12041,64 @@
+ else
+ with_wgetch_events=no
+ fi;
+-echo "$as_me:11269: result: $with_wgetch_events" >&5
++echo "$as_me:12044: result: $with_wgetch_events" >&5
+ echo "${ECHO_T}$with_wgetch_events" >&6
+-test "$with_wgetch_events" = yes && cat >>confdefs.h <<\EOF
++test "x$with_wgetch_events" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define NCURSES_WGETCH_EVENTS 1
+ EOF
+
+ ###############################################################################
+
+ ### use option --disable-echo to suppress full display compiling commands
+-echo "$as_me:11278: checking if you want to display full commands during build" >&5
+-echo $ECHO_N "checking if you want to display full commands during build... $ECHO_C" >&6
++
++echo "$as_me:12055: checking if you want to see long compiling messages" >&5
++echo $ECHO_N "checking if you want to see long compiling messages... $ECHO_C" >&6
+
+ # Check whether --enable-echo or --disable-echo was given.
+ if test "${enable_echo+set}" = set; then
+ enableval="$enable_echo"
+- with_echo=$enableval
++ test "$enableval" != no && enableval=yes
++ if test "$enableval" != "yes" ; then
++
++ ECHO_LT='--silent'
++ ECHO_LD='@echo linking $@;'
++ RULE_CC='@echo compiling $<'
++ SHOW_CC='@echo compiling $@'
++ ECHO_CC='@'
++
++ else
++
++ ECHO_LT=''
++ ECHO_LD=''
++ RULE_CC=''
++ SHOW_CC=''
++ ECHO_CC=''
++
++ fi
+ else
+- with_echo=yes
++ enableval=yes
++
++ ECHO_LT=''
++ ECHO_LD=''
++ RULE_CC=''
++ SHOW_CC=''
++ ECHO_CC=''
++
+ fi;
+-if test "$with_echo" = yes; then
++echo "$as_me:12089: result: $enableval" >&5
++echo "${ECHO_T}$enableval" >&6
++
++if test "x$enable_echo" = xyes; then
+ ECHO_LINK=
+ else
+ ECHO_LINK='@ echo linking $@ ... ;'
+ test -n "$LIBTOOL" && LIBTOOL="$LIBTOOL --silent"
+ test -n "$LIBTOOL_CXX" && LIBTOOL_CXX="$LIBTOOL_CXX --silent"
+ fi
+-echo "$as_me:11295: result: $with_echo" >&5
+-echo "${ECHO_T}$with_echo" >&6
+
+ ### use option --enable-warnings to turn on all gcc warnings
+-echo "$as_me:11299: checking if you want to see compiler warnings" >&5
++echo "$as_me:12101: checking if you want to see compiler warnings" >&5
+ echo $ECHO_N "checking if you want to see compiler warnings... $ECHO_C" >&6
+
+ # Check whether --enable-warnings or --disable-warnings was given.
+@@ -11304,7 +12106,7 @@
+ enableval="$enable_warnings"
+ with_warnings=$enableval
+ fi;
+-echo "$as_me:11307: result: $with_warnings" >&5
++echo "$as_me:12109: result: $with_warnings" >&5
+ echo "${ECHO_T}$with_warnings" >&6
+
+ if test "x$with_warnings" = "xyes"; then
+@@ -11316,12 +12118,12 @@
+ if test "$GCC" = yes ; then
+ case $host_os in
+ linux*|gnu*)
+- echo "$as_me:11319: checking if this is really Intel C compiler" >&5
++ echo "$as_me:12121: checking if this is really Intel C compiler" >&5
+ echo $ECHO_N "checking if this is really Intel C compiler... $ECHO_C" >&6
+ cf_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -no-gcc"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 11324 "configure"
++#line 12126 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -11338,16 +12140,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:11341: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:12143: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:11344: \$? = $ac_status" >&5
++ echo "$as_me:12146: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:11347: \"$ac_try\"") >&5
++ { (eval echo "$as_me:12149: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:11350: \$? = $ac_status" >&5
++ echo "$as_me:12152: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ INTEL_COMPILER=yes
+ cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc"
+@@ -11358,14 +12160,63 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ CFLAGS="$cf_save_CFLAGS"
+- echo "$as_me:11361: result: $INTEL_COMPILER" >&5
++ echo "$as_me:12163: result: $INTEL_COMPILER" >&5
+ echo "${ECHO_T}$INTEL_COMPILER" >&6
+ ;;
+ esac
+ fi
+
++CLANG_COMPILER=no
++
++if test "$GCC" = yes ; then
++ echo "$as_me:12172: checking if this is really Clang C compiler" >&5
++echo $ECHO_N "checking if this is really Clang C compiler... $ECHO_C" >&6
++ cf_save_CFLAGS="$CFLAGS"
++ CFLAGS="$CFLAGS -Qunused-arguments"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 12177 "configure"
++#include "confdefs.h"
++
++int
++main ()
++{
++
++#ifdef __clang__
++#else
++make an error
++#endif
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:12194: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:12197: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:12200: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:12203: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ CLANG_COMPILER=yes
++cf_save_CFLAGS="$cf_save_CFLAGS -Qunused-arguments"
++
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CFLAGS="$cf_save_CFLAGS"
++ echo "$as_me:12214: result: $CLANG_COMPILER" >&5
++echo "${ECHO_T}$CLANG_COMPILER" >&6
++fi
++
+ cat > conftest.$ac_ext <<EOF
+-#line 11368 "${as_me:-configure}"
++#line 12219 "${as_me:-configure}"
+ int main(int argc, char *argv[]) { return (argv[argc-1] == 0) ; }
+ EOF
+
+@@ -11382,7 +12233,7 @@
+ # remark #981: operands are evaluated in unspecified order
+ # warning #279: controlling expression is constant
+
+- { echo "$as_me:11385: checking for $CC warning options..." >&5
++ { echo "$as_me:12236: checking for $CC warning options..." >&5
+ echo "$as_me: checking for $CC warning options..." >&6;}
+ cf_save_CFLAGS="$CFLAGS"
+ EXTRA_CFLAGS="-Wall"
+@@ -11398,12 +12249,12 @@
+ wd981
+ do
+ CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
+- if { (eval echo "$as_me:11401: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:12252: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:11404: \$? = $ac_status" >&5
++ echo "$as_me:12255: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+- test -n "$verbose" && echo "$as_me:11406: result: ... -$cf_opt" >&5
++ test -n "$verbose" && echo "$as_me:12257: result: ... -$cf_opt" >&5
+ echo "${ECHO_T}... -$cf_opt" >&6
+ EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
+ fi
+@@ -11412,7 +12263,7 @@
+
+ elif test "$GCC" = yes
+ then
+- { echo "$as_me:11415: checking for $CC warning options..." >&5
++ { echo "$as_me:12266: checking for $CC warning options..." >&5
+ echo "$as_me: checking for $CC warning options..." >&6;}
+ cf_save_CFLAGS="$CFLAGS"
+ EXTRA_CFLAGS=
+@@ -11432,12 +12283,12 @@
+ Wundef $cf_warn_CONST Wdeclaration-after-statement Wextra Wno-unknown-pragmas Wswitch-enum
+ do
+ CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
+- if { (eval echo "$as_me:11435: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:12286: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:11438: \$? = $ac_status" >&5
++ echo "$as_me:12289: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+- test -n "$verbose" && echo "$as_me:11440: result: ... -$cf_opt" >&5
++ test -n "$verbose" && echo "$as_me:12291: result: ... -$cf_opt" >&5
+ echo "${ECHO_T}... -$cf_opt" >&6
+ case $cf_opt in #(vi
+ Wcast-qual) #(vi
+@@ -11448,7 +12299,17 @@
+ [34].*)
+ test -n "$verbose" && echo " feature is broken in gcc $GCC_VERSION" 1>&6
+
+-echo "${as_me:-configure}:11451: testing feature is broken in gcc $GCC_VERSION ..." 1>&5
++echo "${as_me:-configure}:12302: testing feature is broken in gcc $GCC_VERSION ..." 1>&5
++
++ continue;;
++ esac
++ ;;
++ Wpointer-arith) #(vi
++ case $GCC_VERSION in
++ [12].*)
++ test -n "$verbose" && echo " feature is broken in gcc $GCC_VERSION" 1>&6
++
++echo "${as_me:-configure}:12312: testing feature is broken in gcc $GCC_VERSION ..." 1>&5
+
+ continue;;
+ esac
+@@ -11461,19 +12322,19 @@
+ fi
+ rm -rf conftest*
+
+- if test "$cf_with_cxx" = yes ; then
++ if test "x$cf_with_cxx" = xyes ; then
+
+ INTEL_CPLUSPLUS=no
+
+ if test "$GCC" = yes ; then
+ case $host_os in
+ linux*|gnu*)
+- echo "$as_me:11471: checking if this is really Intel C++ compiler" >&5
++ echo "$as_me:12332: checking if this is really Intel C++ compiler" >&5
+ echo $ECHO_N "checking if this is really Intel C++ compiler... $ECHO_C" >&6
+ cf_save_CFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -no-gcc"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 11476 "configure"
++#line 12337 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -11490,16 +12351,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:11493: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:12354: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:11496: \$? = $ac_status" >&5
++ echo "$as_me:12357: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:11499: \"$ac_try\"") >&5
++ { (eval echo "$as_me:12360: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:11502: \$? = $ac_status" >&5
++ echo "$as_me:12363: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ INTEL_CPLUSPLUS=yes
+ cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc"
+@@ -11510,12 +12371,61 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ CXXFLAGS="$cf_save_CFLAGS"
+- echo "$as_me:11513: result: $INTEL_CPLUSPLUS" >&5
++ echo "$as_me:12374: result: $INTEL_CPLUSPLUS" >&5
+ echo "${ECHO_T}$INTEL_CPLUSPLUS" >&6
+ ;;
+ esac
+ fi
+
++CLANG_CPLUSPLUS=no
++
++if test "$GCC" = yes ; then
++ echo "$as_me:12383: checking if this is really Clang C++ compiler" >&5
++echo $ECHO_N "checking if this is really Clang C++ compiler... $ECHO_C" >&6
++ cf_save_CFLAGS="$CXXFLAGS"
++ CXXFLAGS="$CXXFLAGS -Qunused-arguments"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 12388 "configure"
++#include "confdefs.h"
++
++int
++main ()
++{
++
++#ifdef __clang__
++#else
++make an error
++#endif
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:12405: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:12408: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:12411: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:12414: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ CLANG_CPLUSPLUS=yes
++cf_save_CFLAGS="$cf_save_CFLAGS -Qunused-arguments"
++
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CXXFLAGS="$cf_save_CFLAGS"
++ echo "$as_me:12425: result: $CLANG_CPLUSPLUS" >&5
++echo "${ECHO_T}$CLANG_CPLUSPLUS" >&6
++fi
++
+ ac_ext=cc
+ ac_cpp='$CXXCPP $CPPFLAGS'
+ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+@@ -11524,7 +12434,7 @@
+ ac_main_return=return
+
+ cat > conftest.$ac_ext <<EOF
+-#line 11527 "configure"
++#line 12437 "configure"
+ int main(int argc, char *argv[]) { return (argv[argc-1] == 0) ; }
+ EOF
+
+@@ -11542,7 +12452,7 @@
+ # remark #981: operands are evaluated in unspecified order
+ # warning #269: invalid format string conversion
+
+- { echo "$as_me:11545: checking for $CC warning options..." >&5
++ { echo "$as_me:12455: checking for $CC warning options..." >&5
+ echo "$as_me: checking for $CC warning options..." >&6;}
+ cf_save_CXXFLAGS="$CXXFLAGS"
+ EXTRA_CXXFLAGS="-Wall"
+@@ -11559,12 +12469,12 @@
+ wd981
+ do
+ CXXFLAGS="$cf_save_CXXFLAGS $EXTRA_CXXFLAGS -$cf_opt"
+- if { (eval echo "$as_me:11562: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:12472: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:11565: \$? = $ac_status" >&5
++ echo "$as_me:12475: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+- test -n "$verbose" && echo "$as_me:11567: result: ... -$cf_opt" >&5
++ test -n "$verbose" && echo "$as_me:12477: result: ... -$cf_opt" >&5
+ echo "${ECHO_T}... -$cf_opt" >&6
+ EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -$cf_opt"
+ fi
+@@ -11573,7 +12483,7 @@
+
+ elif test "$GXX" = yes
+ then
+- { echo "$as_me:11576: checking for $CXX warning options..." >&5
++ { echo "$as_me:12486: checking for $CXX warning options..." >&5
+ echo "$as_me: checking for $CXX warning options..." >&6;}
+ cf_save_CXXFLAGS="$CXXFLAGS"
+ EXTRA_CXXFLAGS="-W -Wall"
+@@ -11602,16 +12512,16 @@
+ Wundef $cf_gxx_extra_warnings Wno-unused
+ do
+ CXXFLAGS="$cf_save_CXXFLAGS $EXTRA_CXXFLAGS -Werror -$cf_opt"
+- if { (eval echo "$as_me:11605: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:12515: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:11608: \$? = $ac_status" >&5
++ echo "$as_me:12518: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+- test -n "$verbose" && echo "$as_me:11610: result: ... -$cf_opt" >&5
++ test -n "$verbose" && echo "$as_me:12520: result: ... -$cf_opt" >&5
+ echo "${ECHO_T}... -$cf_opt" >&6
+ EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -$cf_opt"
+ else
+- test -n "$verbose" && echo "$as_me:11614: result: ... no -$cf_opt" >&5
++ test -n "$verbose" && echo "$as_me:12524: result: ... no -$cf_opt" >&5
+ echo "${ECHO_T}... no -$cf_opt" >&6
+ fi
+ done
+@@ -11647,10 +12557,10 @@
+ EOF
+ if test "$GCC" = yes
+ then
+- { echo "$as_me:11650: checking for $CC __attribute__ directives..." >&5
++ { echo "$as_me:12560: checking for $CC __attribute__ directives..." >&5
+ echo "$as_me: checking for $CC __attribute__ directives..." >&6;}
+ cat > conftest.$ac_ext <<EOF
+-#line 11653 "${as_me:-configure}"
++#line 12563 "${as_me:-configure}"
+ #include "confdefs.h"
+ #include "conftest.h"
+ #include "conftest.i"
+@@ -11699,36 +12609,60 @@
+ ;;
+ esac
+
+- if { (eval echo "$as_me:11702: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:12612: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:11705: \$? = $ac_status" >&5
++ echo "$as_me:12615: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+- test -n "$verbose" && echo "$as_me:11707: result: ... $cf_attribute" >&5
++ test -n "$verbose" && echo "$as_me:12617: result: ... $cf_attribute" >&5
+ echo "${ECHO_T}... $cf_attribute" >&6
+ cat conftest.h >>confdefs.h
+ case $cf_attribute in #(vi
++ noreturn) #(vi
++
++cat >>confdefs.h <<EOF
++#define GCC_NORETURN $cf_directive
++EOF
++
++ ;;
+ printf) #(vi
+- if test "$cf_printf_attribute" = no ; then
+- cat >>confdefs.h <<EOF
+-#define GCC_PRINTFLIKE(fmt,var) /* nothing */
+-EOF
+- else
+- cat >>confdefs.h <<EOF
+-#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
++ cf_value='/* nothing */'
++ if test "$cf_printf_attribute" != no ; then
++ cf_value='__attribute__((format(printf,fmt,var)))'
++
++cat >>confdefs.h <<\EOF
++#define GCC_PRINTF 1
+ EOF
++
+ fi
++
++cat >>confdefs.h <<EOF
++#define GCC_PRINTFLIKE(fmt,var) $cf_value
++EOF
++
+ ;;
+ scanf) #(vi
+- if test "$cf_scanf_attribute" = no ; then
+- cat >>confdefs.h <<EOF
+-#define GCC_SCANFLIKE(fmt,var) /* nothing */
+-EOF
+- else
+- cat >>confdefs.h <<EOF
+-#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
++ cf_value='/* nothing */'
++ if test "$cf_scanf_attribute" != no ; then
++ cf_value='__attribute__((format(scanf,fmt,var)))'
++
++cat >>confdefs.h <<\EOF
++#define GCC_SCANF 1
+ EOF
++
+ fi
++
++cat >>confdefs.h <<EOF
++#define GCC_SCANFLIKE(fmt,var) $cf_value
++EOF
++
++ ;;
++ unused) #(vi
++
++cat >>confdefs.h <<EOF
++#define GCC_UNUSED $cf_directive
++EOF
++
+ ;;
+ esac
+ fi
+@@ -11739,8 +12673,101 @@
+ rm -rf conftest*
+ fi
+
++echo "$as_me:12676: checking if you want to work around bogus compiler/loader warnings" >&5
++echo $ECHO_N "checking if you want to work around bogus compiler/loader warnings... $ECHO_C" >&6
++
++# Check whether --enable-string-hacks or --disable-string-hacks was given.
++if test "${enable_string_hacks+set}" = set; then
++ enableval="$enable_string_hacks"
++ with_string_hacks=$enableval
++else
++ with_string_hacks=no
++fi;
++echo "$as_me:12686: result: $with_string_hacks" >&5
++echo "${ECHO_T}$with_string_hacks" >&6
++
++if test "x$with_string_hacks" = "xyes"; then
++
++cat >>confdefs.h <<\EOF
++#define USE_STRING_HACKS 1
++EOF
++
++ { echo "$as_me:12695: WARNING: enabling string-hacks to work around bogus compiler/loader warnings" >&5
++echo "$as_me: WARNING: enabling string-hacks to work around bogus compiler/loader warnings" >&2;}
++
++for ac_func in strlcat strlcpy snprintf
++do
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++echo "$as_me:12701: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
++if eval "test \"\${$as_ac_var+set}\" = set"; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 12707 "configure"
++#include "confdefs.h"
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func (); below. */
++#include <assert.h>
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char $ac_func ();
++char (*f) ();
++
++int
++main ()
++{
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
++choke me
++#else
++f = $ac_func; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
++#endif
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:12738: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:12741: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:12744: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:12747: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ eval "$as_ac_var=yes"
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++eval "$as_ac_var=no"
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++fi
++echo "$as_me:12757: result: `eval echo '${'$as_ac_var'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++ cat >>confdefs.h <<EOF
++#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
++EOF
++
++fi
++done
++
++fi
++
+ ### use option --enable-assertions to turn on generation of assertion code
+-echo "$as_me:11743: checking if you want to enable runtime assertions" >&5
++echo "$as_me:12770: checking if you want to enable runtime assertions" >&5
+ echo $ECHO_N "checking if you want to enable runtime assertions... $ECHO_C" >&6
+
+ # Check whether --enable-assertions or --disable-assertions was given.
+@@ -11750,16 +12777,12 @@
+ else
+ with_assertions=no
+ fi;
+-echo "$as_me:11753: result: $with_assertions" >&5
++echo "$as_me:12780: result: $with_assertions" >&5
+ echo "${ECHO_T}$with_assertions" >&6
+ if test -n "$GCC"
+ then
+ if test "$with_assertions" = no
+ then
+- cat >>confdefs.h <<\EOF
+-#define NDEBUG 1
+-EOF
+-
+ CPPFLAGS="$CPPFLAGS -DNDEBUG"
+ else
+
+@@ -11770,13 +12793,14 @@
+
+ ### use option --disable-leaks to suppress "permanent" leaks, for testing
+
+-echo "$as_me:11773: checking if you want to use dmalloc for testing" >&5
++echo "$as_me:12796: checking if you want to use dmalloc for testing" >&5
+ echo $ECHO_N "checking if you want to use dmalloc for testing... $ECHO_C" >&6
+
+ # Check whether --with-dmalloc or --without-dmalloc was given.
+ if test "${with_dmalloc+set}" = set; then
+ withval="$with_dmalloc"
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<EOF
+ #define USE_DMALLOC 1
+ EOF
+
+@@ -11786,7 +12810,7 @@
+ else
+ with_dmalloc=
+ fi;
+-echo "$as_me:11789: result: ${with_dmalloc:-no}" >&5
++echo "$as_me:12813: result: ${with_dmalloc:-no}" >&5
+ echo "${ECHO_T}${with_dmalloc:-no}" >&6
+
+ case .$with_cflags in #(vi
+@@ -11880,23 +12904,23 @@
+ esac
+
+ if test "$with_dmalloc" = yes ; then
+- echo "$as_me:11883: checking for dmalloc.h" >&5
++ echo "$as_me:12907: checking for dmalloc.h" >&5
+ echo $ECHO_N "checking for dmalloc.h... $ECHO_C" >&6
+ if test "${ac_cv_header_dmalloc_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 11889 "configure"
++#line 12913 "configure"
+ #include "confdefs.h"
+ #include <dmalloc.h>
+ _ACEOF
+-if { (eval echo "$as_me:11893: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:12917: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:11899: \$? = $ac_status" >&5
++ echo "$as_me:12923: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -11915,11 +12939,11 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:11918: result: $ac_cv_header_dmalloc_h" >&5
++echo "$as_me:12942: result: $ac_cv_header_dmalloc_h" >&5
+ echo "${ECHO_T}$ac_cv_header_dmalloc_h" >&6
+ if test $ac_cv_header_dmalloc_h = yes; then
+
+-echo "$as_me:11922: checking for dmalloc_debug in -ldmalloc" >&5
++echo "$as_me:12946: checking for dmalloc_debug in -ldmalloc" >&5
+ echo $ECHO_N "checking for dmalloc_debug in -ldmalloc... $ECHO_C" >&6
+ if test "${ac_cv_lib_dmalloc_dmalloc_debug+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -11927,7 +12951,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-ldmalloc $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 11930 "configure"
++#line 12954 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -11946,16 +12970,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:11949: \"$ac_link\"") >&5
++if { (eval echo "$as_me:12973: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:11952: \$? = $ac_status" >&5
++ echo "$as_me:12976: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:11955: \"$ac_try\"") >&5
++ { (eval echo "$as_me:12979: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:11958: \$? = $ac_status" >&5
++ echo "$as_me:12982: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_dmalloc_dmalloc_debug=yes
+ else
+@@ -11966,7 +12990,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:11969: result: $ac_cv_lib_dmalloc_dmalloc_debug" >&5
++echo "$as_me:12993: result: $ac_cv_lib_dmalloc_dmalloc_debug" >&5
+ echo "${ECHO_T}$ac_cv_lib_dmalloc_dmalloc_debug" >&6
+ if test $ac_cv_lib_dmalloc_dmalloc_debug = yes; then
+ cat >>confdefs.h <<EOF
+@@ -11981,13 +13005,14 @@
+
+ fi
+
+-echo "$as_me:11984: checking if you want to use dbmalloc for testing" >&5
++echo "$as_me:13008: checking if you want to use dbmalloc for testing" >&5
+ echo $ECHO_N "checking if you want to use dbmalloc for testing... $ECHO_C" >&6
+
+ # Check whether --with-dbmalloc or --without-dbmalloc was given.
+ if test "${with_dbmalloc+set}" = set; then
+ withval="$with_dbmalloc"
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<EOF
+ #define USE_DBMALLOC 1
+ EOF
+
+@@ -11997,7 +13022,7 @@
+ else
+ with_dbmalloc=
+ fi;
+-echo "$as_me:12000: result: ${with_dbmalloc:-no}" >&5
++echo "$as_me:13025: result: ${with_dbmalloc:-no}" >&5
+ echo "${ECHO_T}${with_dbmalloc:-no}" >&6
+
+ case .$with_cflags in #(vi
+@@ -12091,23 +13116,23 @@
+ esac
+
+ if test "$with_dbmalloc" = yes ; then
+- echo "$as_me:12094: checking for dbmalloc.h" >&5
++ echo "$as_me:13119: checking for dbmalloc.h" >&5
+ echo $ECHO_N "checking for dbmalloc.h... $ECHO_C" >&6
+ if test "${ac_cv_header_dbmalloc_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 12100 "configure"
++#line 13125 "configure"
+ #include "confdefs.h"
+ #include <dbmalloc.h>
+ _ACEOF
+-if { (eval echo "$as_me:12104: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:13129: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:12110: \$? = $ac_status" >&5
++ echo "$as_me:13135: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -12126,11 +13151,11 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:12129: result: $ac_cv_header_dbmalloc_h" >&5
++echo "$as_me:13154: result: $ac_cv_header_dbmalloc_h" >&5
+ echo "${ECHO_T}$ac_cv_header_dbmalloc_h" >&6
+ if test $ac_cv_header_dbmalloc_h = yes; then
+
+-echo "$as_me:12133: checking for debug_malloc in -ldbmalloc" >&5
++echo "$as_me:13158: checking for debug_malloc in -ldbmalloc" >&5
+ echo $ECHO_N "checking for debug_malloc in -ldbmalloc... $ECHO_C" >&6
+ if test "${ac_cv_lib_dbmalloc_debug_malloc+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -12138,7 +13163,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-ldbmalloc $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 12141 "configure"
++#line 13166 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -12157,16 +13182,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:12160: \"$ac_link\"") >&5
++if { (eval echo "$as_me:13185: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:12163: \$? = $ac_status" >&5
++ echo "$as_me:13188: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:12166: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13191: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12169: \$? = $ac_status" >&5
++ echo "$as_me:13194: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_dbmalloc_debug_malloc=yes
+ else
+@@ -12177,7 +13202,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:12180: result: $ac_cv_lib_dbmalloc_debug_malloc" >&5
++echo "$as_me:13205: result: $ac_cv_lib_dbmalloc_debug_malloc" >&5
+ echo "${ECHO_T}$ac_cv_lib_dbmalloc_debug_malloc" >&6
+ if test $ac_cv_lib_dbmalloc_debug_malloc = yes; then
+ cat >>confdefs.h <<EOF
+@@ -12192,13 +13217,14 @@
+
+ fi
+
+-echo "$as_me:12195: checking if you want to use valgrind for testing" >&5
++echo "$as_me:13220: checking if you want to use valgrind for testing" >&5
+ echo $ECHO_N "checking if you want to use valgrind for testing... $ECHO_C" >&6
+
+ # Check whether --with-valgrind or --without-valgrind was given.
+ if test "${with_valgrind+set}" = set; then
+ withval="$with_valgrind"
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<EOF
+ #define USE_VALGRIND 1
+ EOF
+
+@@ -12208,7 +13234,7 @@
+ else
+ with_valgrind=
+ fi;
+-echo "$as_me:12211: result: ${with_valgrind:-no}" >&5
++echo "$as_me:13237: result: ${with_valgrind:-no}" >&5
+ echo "${ECHO_T}${with_valgrind:-no}" >&6
+
+ case .$with_cflags in #(vi
+@@ -12301,7 +13327,7 @@
+ ;;
+ esac
+
+-echo "$as_me:12304: checking if you want to perform memory-leak testing" >&5
++echo "$as_me:13330: checking if you want to perform memory-leak testing" >&5
+ echo $ECHO_N "checking if you want to perform memory-leak testing... $ECHO_C" >&6
+
+ # Check whether --enable-leaks or --disable-leaks was given.
+@@ -12311,15 +13337,16 @@
+ else
+ : ${with_no_leaks:=no}
+ fi;
+-echo "$as_me:12314: result: $with_no_leaks" >&5
++echo "$as_me:13340: result: $with_no_leaks" >&5
+ echo "${ECHO_T}$with_no_leaks" >&6
+
+ if test "$with_no_leaks" = yes ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define NO_LEAKS 1
+ EOF
+
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define YY_NO_LEAKS 1
+ EOF
+
+@@ -12334,7 +13361,8 @@
+ # Check whether --enable-expanded or --disable-expanded was given.
+ if test "${enable_expanded+set}" = set; then
+ enableval="$enable_expanded"
+- test "$enableval" = yes && cat >>confdefs.h <<\EOF
++ test "x$enableval" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define NCURSES_EXPANDED 1
+ EOF
+
+@@ -12345,7 +13373,8 @@
+ # Check whether --enable-macros or --disable-macros was given.
+ if test "${enable_macros+set}" = set; then
+ enableval="$enable_macros"
+- test "$enableval" = no && cat >>confdefs.h <<\EOF
++ test "$enableval" = no &&
++cat >>confdefs.h <<\EOF
+ #define NCURSES_NOMACROS 1
+ EOF
+
+@@ -12360,7 +13389,7 @@
+ ;;
+ esac
+
+-echo "$as_me:12363: checking whether to add trace feature to all models" >&5
++echo "$as_me:13392: checking whether to add trace feature to all models" >&5
+ echo $ECHO_N "checking whether to add trace feature to all models... $ECHO_C" >&6
+
+ # Check whether --with-trace or --without-trace was given.
+@@ -12370,10 +13399,10 @@
+ else
+ cf_with_trace=$cf_all_traces
+ fi;
+-echo "$as_me:12373: result: $cf_with_trace" >&5
++echo "$as_me:13402: result: $cf_with_trace" >&5
+ echo "${ECHO_T}$cf_with_trace" >&6
+
+-if test "$cf_with_trace" = yes ; then
++if test "x$cf_with_trace" = xyes ; then
+ LIB_TRACING=all
+ ADA_TRACE=TRUE
+
+@@ -12465,13 +13494,13 @@
+ *mingw32*) #(vi
+ ;;
+ *)
+-echo "$as_me:12468: checking for gettimeofday" >&5
++echo "$as_me:13497: checking for gettimeofday" >&5
+ echo $ECHO_N "checking for gettimeofday... $ECHO_C" >&6
+ if test "${ac_cv_func_gettimeofday+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 12474 "configure"
++#line 13503 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char gettimeofday (); below. */
+@@ -12494,7 +13523,7 @@
+ #if defined (__stub_gettimeofday) || defined (__stub___gettimeofday)
+ choke me
+ #else
+-f = gettimeofday;
++f = gettimeofday; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -12502,16 +13531,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:12505: \"$ac_link\"") >&5
++if { (eval echo "$as_me:13534: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:12508: \$? = $ac_status" >&5
++ echo "$as_me:13537: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:12511: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13540: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12514: \$? = $ac_status" >&5
++ echo "$as_me:13543: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_gettimeofday=yes
+ else
+@@ -12521,16 +13550,17 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:12524: result: $ac_cv_func_gettimeofday" >&5
++echo "$as_me:13553: result: $ac_cv_func_gettimeofday" >&5
+ echo "${ECHO_T}$ac_cv_func_gettimeofday" >&6
+ if test $ac_cv_func_gettimeofday = yes; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_GETTIMEOFDAY 1
+ EOF
+
+ else
+
+-echo "$as_me:12533: checking for gettimeofday in -lbsd" >&5
++echo "$as_me:13563: checking for gettimeofday in -lbsd" >&5
+ echo $ECHO_N "checking for gettimeofday in -lbsd... $ECHO_C" >&6
+ if test "${ac_cv_lib_bsd_gettimeofday+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -12538,7 +13568,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lbsd $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 12541 "configure"
++#line 13571 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -12557,16 +13587,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:12560: \"$ac_link\"") >&5
++if { (eval echo "$as_me:13590: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:12563: \$? = $ac_status" >&5
++ echo "$as_me:13593: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:12566: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13596: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12569: \$? = $ac_status" >&5
++ echo "$as_me:13599: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_bsd_gettimeofday=yes
+ else
+@@ -12577,10 +13607,11 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:12580: result: $ac_cv_lib_bsd_gettimeofday" >&5
++echo "$as_me:13610: result: $ac_cv_lib_bsd_gettimeofday" >&5
+ echo "${ECHO_T}$ac_cv_lib_bsd_gettimeofday" >&6
+ if test $ac_cv_lib_bsd_gettimeofday = yes; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_GETTIMEOFDAY 1
+ EOF
+
+@@ -12591,14 +13622,14 @@
+ ;;
+ esac
+
+-echo "$as_me:12594: checking if -lm needed for math functions" >&5
++echo "$as_me:13625: checking if -lm needed for math functions" >&5
+ echo $ECHO_N "checking if -lm needed for math functions... $ECHO_C" >&6
+ if test "${cf_cv_need_libm+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 12601 "configure"
++#line 13632 "configure"
+ #include "confdefs.h"
+
+ #include <stdio.h>
+@@ -12613,16 +13644,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:12616: \"$ac_link\"") >&5
++if { (eval echo "$as_me:13647: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:12619: \$? = $ac_status" >&5
++ echo "$as_me:13650: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:12622: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13653: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12625: \$? = $ac_status" >&5
++ echo "$as_me:13656: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_need_libm=no
+ else
+@@ -12632,7 +13663,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:12635: result: $cf_cv_need_libm" >&5
++echo "$as_me:13666: result: $cf_cv_need_libm" >&5
+ echo "${ECHO_T}$cf_cv_need_libm" >&6
+ if test "$cf_cv_need_libm" = yes
+ then
+@@ -12640,13 +13671,13 @@
+ fi
+
+ ### Checks for header files.
+-echo "$as_me:12643: checking for ANSI C header files" >&5
++echo "$as_me:13674: checking for ANSI C header files" >&5
+ echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+ if test "${ac_cv_header_stdc+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 12649 "configure"
++#line 13680 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ #include <stdarg.h>
+@@ -12654,13 +13685,13 @@
+ #include <float.h>
+
+ _ACEOF
+-if { (eval echo "$as_me:12657: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:13688: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:12663: \$? = $ac_status" >&5
++ echo "$as_me:13694: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -12682,7 +13713,7 @@
+ if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 12685 "configure"
++#line 13716 "configure"
+ #include "confdefs.h"
+ #include <string.h>
+
+@@ -12700,7 +13731,7 @@
+ if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 12703 "configure"
++#line 13734 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+
+@@ -12721,7 +13752,7 @@
+ :
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 12724 "configure"
++#line 13755 "configure"
+ #include "confdefs.h"
+ #include <ctype.h>
+ #if ((' ' & 0x0FF) == 0x020)
+@@ -12747,15 +13778,15 @@
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:12750: \"$ac_link\"") >&5
++if { (eval echo "$as_me:13781: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:12753: \$? = $ac_status" >&5
++ echo "$as_me:13784: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:12755: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13786: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12758: \$? = $ac_status" >&5
++ echo "$as_me:13789: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -12768,7 +13799,7 @@
+ fi
+ fi
+ fi
+-echo "$as_me:12771: result: $ac_cv_header_stdc" >&5
++echo "$as_me:13802: result: $ac_cv_header_stdc" >&5
+ echo "${ECHO_T}$ac_cv_header_stdc" >&6
+ if test $ac_cv_header_stdc = yes; then
+
+@@ -12781,13 +13812,13 @@
+ ac_header_dirent=no
+ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
+ as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
+-echo "$as_me:12784: checking for $ac_hdr that defines DIR" >&5
++echo "$as_me:13815: checking for $ac_hdr that defines DIR" >&5
+ echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 12790 "configure"
++#line 13821 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #include <$ac_hdr>
+@@ -12802,16 +13833,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:12805: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:13836: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:12808: \$? = $ac_status" >&5
++ echo "$as_me:13839: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:12811: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13842: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12814: \$? = $ac_status" >&5
++ echo "$as_me:13845: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_Header=yes"
+ else
+@@ -12821,7 +13852,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:12824: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "$as_me:13855: result: `eval echo '${'$as_ac_Header'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -12834,7 +13865,7 @@
+ done
+ # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
+ if test $ac_header_dirent = dirent.h; then
+- echo "$as_me:12837: checking for opendir in -ldir" >&5
++ echo "$as_me:13868: checking for opendir in -ldir" >&5
+ echo $ECHO_N "checking for opendir in -ldir... $ECHO_C" >&6
+ if test "${ac_cv_lib_dir_opendir+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -12842,7 +13873,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-ldir $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 12845 "configure"
++#line 13876 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -12861,16 +13892,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:12864: \"$ac_link\"") >&5
++if { (eval echo "$as_me:13895: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:12867: \$? = $ac_status" >&5
++ echo "$as_me:13898: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:12870: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13901: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12873: \$? = $ac_status" >&5
++ echo "$as_me:13904: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_dir_opendir=yes
+ else
+@@ -12881,14 +13912,14 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:12884: result: $ac_cv_lib_dir_opendir" >&5
++echo "$as_me:13915: result: $ac_cv_lib_dir_opendir" >&5
+ echo "${ECHO_T}$ac_cv_lib_dir_opendir" >&6
+ if test $ac_cv_lib_dir_opendir = yes; then
+ LIBS="$LIBS -ldir"
+ fi
+
+ else
+- echo "$as_me:12891: checking for opendir in -lx" >&5
++ echo "$as_me:13922: checking for opendir in -lx" >&5
+ echo $ECHO_N "checking for opendir in -lx... $ECHO_C" >&6
+ if test "${ac_cv_lib_x_opendir+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -12896,7 +13927,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lx $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 12899 "configure"
++#line 13930 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -12915,16 +13946,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:12918: \"$ac_link\"") >&5
++if { (eval echo "$as_me:13949: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:12921: \$? = $ac_status" >&5
++ echo "$as_me:13952: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:12924: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13955: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12927: \$? = $ac_status" >&5
++ echo "$as_me:13958: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_x_opendir=yes
+ else
+@@ -12935,7 +13966,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:12938: result: $ac_cv_lib_x_opendir" >&5
++echo "$as_me:13969: result: $ac_cv_lib_x_opendir" >&5
+ echo "${ECHO_T}$ac_cv_lib_x_opendir" >&6
+ if test $ac_cv_lib_x_opendir = yes; then
+ LIBS="$LIBS -lx"
+@@ -12943,13 +13974,13 @@
+
+ fi
+
+-echo "$as_me:12946: checking whether time.h and sys/time.h may both be included" >&5
++echo "$as_me:13977: checking whether time.h and sys/time.h may both be included" >&5
+ echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6
+ if test "${ac_cv_header_time+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 12952 "configure"
++#line 13983 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #include <sys/time.h>
+@@ -12965,16 +13996,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:12968: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:13999: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:12971: \$? = $ac_status" >&5
++ echo "$as_me:14002: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:12974: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14005: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12977: \$? = $ac_status" >&5
++ echo "$as_me:14008: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_header_time=yes
+ else
+@@ -12984,7 +14015,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:12987: result: $ac_cv_header_time" >&5
++echo "$as_me:14018: result: $ac_cv_header_time" >&5
+ echo "${ECHO_T}$ac_cv_header_time" >&6
+ if test $ac_cv_header_time = yes; then
+
+@@ -12999,17 +14030,17 @@
+ cf_regex_libs="regex re"
+ case $host_os in #(vi
+ mingw*)
+- cf_regex_libs="regex.dll $cf_regex_libs"
++ cf_regex_libs="gnurx $cf_regex_libs"
+ ;;
+ esac
+
+-echo "$as_me:13006: checking for regcomp" >&5
++echo "$as_me:14037: checking for regcomp" >&5
+ echo $ECHO_N "checking for regcomp... $ECHO_C" >&6
+ if test "${ac_cv_func_regcomp+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13012 "configure"
++#line 14043 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char regcomp (); below. */
+@@ -13032,7 +14063,7 @@
+ #if defined (__stub_regcomp) || defined (__stub___regcomp)
+ choke me
+ #else
+-f = regcomp;
++f = regcomp; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -13040,16 +14071,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:13043: \"$ac_link\"") >&5
++if { (eval echo "$as_me:14074: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:13046: \$? = $ac_status" >&5
++ echo "$as_me:14077: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:13049: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14080: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13052: \$? = $ac_status" >&5
++ echo "$as_me:14083: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_regcomp=yes
+ else
+@@ -13059,7 +14090,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:13062: result: $ac_cv_func_regcomp" >&5
++echo "$as_me:14093: result: $ac_cv_func_regcomp" >&5
+ echo "${ECHO_T}$ac_cv_func_regcomp" >&6
+ if test $ac_cv_func_regcomp = yes; then
+ cf_regex_func=regcomp
+@@ -13068,7 +14099,7 @@
+ for cf_regex_lib in $cf_regex_libs
+ do
+ as_ac_Lib=`echo "ac_cv_lib_$cf_regex_lib''_regcomp" | $as_tr_sh`
+-echo "$as_me:13071: checking for regcomp in -l$cf_regex_lib" >&5
++echo "$as_me:14102: checking for regcomp in -l$cf_regex_lib" >&5
+ echo $ECHO_N "checking for regcomp in -l$cf_regex_lib... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Lib+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -13076,7 +14107,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-l$cf_regex_lib $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13079 "configure"
++#line 14110 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -13095,16 +14126,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:13098: \"$ac_link\"") >&5
++if { (eval echo "$as_me:14129: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:13101: \$? = $ac_status" >&5
++ echo "$as_me:14132: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:13104: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14135: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13107: \$? = $ac_status" >&5
++ echo "$as_me:14138: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_Lib=yes"
+ else
+@@ -13115,7 +14146,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:13118: result: `eval echo '${'$as_ac_Lib'}'`" >&5
++echo "$as_me:14149: result: `eval echo '${'$as_ac_Lib'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
+ if test `eval echo '${'$as_ac_Lib'}'` = yes; then
+
+@@ -13129,13 +14160,13 @@
+ fi
+
+ if test "$cf_regex_func" = no ; then
+- echo "$as_me:13132: checking for compile" >&5
++ echo "$as_me:14163: checking for compile" >&5
+ echo $ECHO_N "checking for compile... $ECHO_C" >&6
+ if test "${ac_cv_func_compile+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13138 "configure"
++#line 14169 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char compile (); below. */
+@@ -13158,7 +14189,7 @@
+ #if defined (__stub_compile) || defined (__stub___compile)
+ choke me
+ #else
+-f = compile;
++f = compile; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -13166,16 +14197,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:13169: \"$ac_link\"") >&5
++if { (eval echo "$as_me:14200: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:13172: \$? = $ac_status" >&5
++ echo "$as_me:14203: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:13175: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14206: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13178: \$? = $ac_status" >&5
++ echo "$as_me:14209: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_compile=yes
+ else
+@@ -13185,13 +14216,13 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:13188: result: $ac_cv_func_compile" >&5
++echo "$as_me:14219: result: $ac_cv_func_compile" >&5
+ echo "${ECHO_T}$ac_cv_func_compile" >&6
+ if test $ac_cv_func_compile = yes; then
+ cf_regex_func=compile
+ else
+
+- echo "$as_me:13194: checking for compile in -lgen" >&5
++ echo "$as_me:14225: checking for compile in -lgen" >&5
+ echo $ECHO_N "checking for compile in -lgen... $ECHO_C" >&6
+ if test "${ac_cv_lib_gen_compile+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -13199,7 +14230,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lgen $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13202 "configure"
++#line 14233 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -13218,16 +14249,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:13221: \"$ac_link\"") >&5
++if { (eval echo "$as_me:14252: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:13224: \$? = $ac_status" >&5
++ echo "$as_me:14255: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:13227: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14258: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13230: \$? = $ac_status" >&5
++ echo "$as_me:14261: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_gen_compile=yes
+ else
+@@ -13238,7 +14269,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:13241: result: $ac_cv_lib_gen_compile" >&5
++echo "$as_me:14272: result: $ac_cv_lib_gen_compile" >&5
+ echo "${ECHO_T}$ac_cv_lib_gen_compile" >&6
+ if test $ac_cv_lib_gen_compile = yes; then
+
+@@ -13251,11 +14282,11 @@
+ fi
+
+ if test "$cf_regex_func" = no ; then
+- { echo "$as_me:13254: WARNING: cannot find regular expression library" >&5
++ { echo "$as_me:14285: WARNING: cannot find regular expression library" >&5
+ echo "$as_me: WARNING: cannot find regular expression library" >&2;}
+ fi
+
+-echo "$as_me:13258: checking for regular-expression headers" >&5
++echo "$as_me:14289: checking for regular-expression headers" >&5
+ echo $ECHO_N "checking for regular-expression headers... $ECHO_C" >&6
+ if test "${cf_cv_regex_hdrs+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -13267,7 +14298,7 @@
+ for cf_regex_hdr in regexp.h regexpr.h
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13270 "configure"
++#line 14301 "configure"
+ #include "confdefs.h"
+ #include <$cf_regex_hdr>
+ int
+@@ -13282,16 +14313,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:13285: \"$ac_link\"") >&5
++if { (eval echo "$as_me:14316: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:13288: \$? = $ac_status" >&5
++ echo "$as_me:14319: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:13291: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14322: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13294: \$? = $ac_status" >&5
++ echo "$as_me:14325: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_regex_hdrs=$cf_regex_hdr
+@@ -13308,7 +14339,7 @@
+ for cf_regex_hdr in regex.h
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13311 "configure"
++#line 14342 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #include <$cf_regex_hdr>
+@@ -13326,16 +14357,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:13329: \"$ac_link\"") >&5
++if { (eval echo "$as_me:14360: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:13332: \$? = $ac_status" >&5
++ echo "$as_me:14363: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:13335: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14366: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13338: \$? = $ac_status" >&5
++ echo "$as_me:14369: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_regex_hdrs=$cf_regex_hdr
+@@ -13351,21 +14382,24 @@
+ esac
+
+ fi
+-echo "$as_me:13354: result: $cf_cv_regex_hdrs" >&5
++echo "$as_me:14385: result: $cf_cv_regex_hdrs" >&5
+ echo "${ECHO_T}$cf_cv_regex_hdrs" >&6
+
+ case $cf_cv_regex_hdrs in #(vi
+- no) { echo "$as_me:13358: WARNING: no regular expression header found" >&5
++ no) { echo "$as_me:14389: WARNING: no regular expression header found" >&5
+ echo "$as_me: WARNING: no regular expression header found" >&2;} ;; #(vi
+- regex.h) cat >>confdefs.h <<\EOF
++ regex.h)
++cat >>confdefs.h <<\EOF
+ #define HAVE_REGEX_H_FUNCS 1
+ EOF
+ ;; #(vi
+- regexp.h) cat >>confdefs.h <<\EOF
++ regexp.h)
++cat >>confdefs.h <<\EOF
+ #define HAVE_REGEXP_H_FUNCS 1
+ EOF
+ ;; #(vi
+- regexpr.h) cat >>confdefs.h <<\EOF
++ regexpr.h)
++cat >>confdefs.h <<\EOF
+ #define HAVE_REGEXPR_H_FUNCS 1
+ EOF
+ ;;
+@@ -13391,23 +14425,71 @@
+
+ do
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:13394: checking for $ac_header" >&5
++echo "$as_me:14428: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 14434 "configure"
++#include "confdefs.h"
++#include <$ac_header>
++_ACEOF
++if { (eval echo "$as_me:14438: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ egrep -v '^ *\+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:14444: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++ eval "$as_ac_Header=yes"
++else
++ echo "$as_me: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ eval "$as_ac_Header=no"
++fi
++rm -f conftest.err conftest.$ac_ext
++fi
++echo "$as_me:14463: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<EOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++EOF
++
++fi
++done
++
++for ac_header in unistd.h getopt.h
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++echo "$as_me:14476: checking for $ac_header" >&5
+ echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13400 "configure"
++#line 14482 "configure"
+ #include "confdefs.h"
+ #include <$ac_header>
+ _ACEOF
+-if { (eval echo "$as_me:13404: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:14486: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:13410: \$? = $ac_status" >&5
++ echo "$as_me:14492: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -13426,7 +14508,7 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:13429: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "$as_me:14511: result: `eval echo '${'$as_ac_Header'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -13436,11 +14518,65 @@
+ fi
+ done
+
++echo "$as_me:14521: checking for header declaring getopt variables" >&5
++echo $ECHO_N "checking for header declaring getopt variables... $ECHO_C" >&6
++if test "${cf_cv_getopt_header+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++cf_cv_getopt_header=none
++for cf_header in stdio.h stdlib.h unistd.h getopt.h
++do
++cat >conftest.$ac_ext <<_ACEOF
++#line 14531 "configure"
++#include "confdefs.h"
++
++#include <$cf_header>
++int
++main ()
++{
++int x = optind; char *y = optarg
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:14544: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:14547: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:14550: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:14553: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_getopt_header=$cf_header
++ break
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++done
++
++fi
++echo "$as_me:14565: result: $cf_cv_getopt_header" >&5
++echo "${ECHO_T}$cf_cv_getopt_header" >&6
++if test $cf_cv_getopt_header != none ; then
++
++cat >>confdefs.h <<\EOF
++#define HAVE_GETOPT_HEADER 1
++EOF
++
++fi
++
+ # check for ISC (this may also define _POSIX_SOURCE)
+ # Note: even non-Posix ISC needs <sys/bsdtypes.h> to declare fd_set
+-if test "$ISC" = yes ; then
++if test "x$ISC" = xyes ; then
+
+-echo "$as_me:13443: checking for main in -lcposix" >&5
++echo "$as_me:14579: checking for main in -lcposix" >&5
+ echo $ECHO_N "checking for main in -lcposix... $ECHO_C" >&6
+ if test "${ac_cv_lib_cposix_main+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -13448,7 +14584,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lcposix $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13451 "configure"
++#line 14587 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -13460,16 +14596,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:13463: \"$ac_link\"") >&5
++if { (eval echo "$as_me:14599: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:13466: \$? = $ac_status" >&5
++ echo "$as_me:14602: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:13469: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14605: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13472: \$? = $ac_status" >&5
++ echo "$as_me:14608: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_cposix_main=yes
+ else
+@@ -13480,7 +14616,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:13483: result: $ac_cv_lib_cposix_main" >&5
++echo "$as_me:14619: result: $ac_cv_lib_cposix_main" >&5
+ echo "${ECHO_T}$ac_cv_lib_cposix_main" >&6
+ if test $ac_cv_lib_cposix_main = yes; then
+ cat >>confdefs.h <<EOF
+@@ -13491,7 +14627,7 @@
+
+ fi
+
+- echo "$as_me:13494: checking for bzero in -linet" >&5
++ echo "$as_me:14630: checking for bzero in -linet" >&5
+ echo $ECHO_N "checking for bzero in -linet... $ECHO_C" >&6
+ if test "${ac_cv_lib_inet_bzero+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -13499,7 +14635,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-linet $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13502 "configure"
++#line 14638 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -13518,16 +14654,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:13521: \"$ac_link\"") >&5
++if { (eval echo "$as_me:14657: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:13524: \$? = $ac_status" >&5
++ echo "$as_me:14660: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:13527: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14663: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13530: \$? = $ac_status" >&5
++ echo "$as_me:14666: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_inet_bzero=yes
+ else
+@@ -13538,173 +14674,83 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:13541: result: $ac_cv_lib_inet_bzero" >&5
++echo "$as_me:14677: result: $ac_cv_lib_inet_bzero" >&5
+ echo "${ECHO_T}$ac_cv_lib_inet_bzero" >&6
+ if test $ac_cv_lib_inet_bzero = yes; then
+ LIBS="-linet $LIBS"
+ fi
+ fi
+-
+-echo "$as_me:13548: checking if sys/time.h works with sys/select.h" >&5
+-echo $ECHO_N "checking if sys/time.h works with sys/select.h... $ECHO_C" >&6
+-if test "${cf_cv_sys_time_select+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+-
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 13555 "configure"
+-#include "confdefs.h"
+-
+-#include <sys/types.h>
+-#ifdef HAVE_SYS_TIME_H
+-#include <sys/time.h>
+-#endif
+-#ifdef HAVE_SYS_SELECT_H
+-#include <sys/select.h>
+-#endif
+-
+-int
+-main ()
+-{
+-
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:13575: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:13578: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:13581: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:13584: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- cf_cv_sys_time_select=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-cf_cv_sys_time_select=no
+-fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-
+-fi
+-
+-echo "$as_me:13596: result: $cf_cv_sys_time_select" >&5
+-echo "${ECHO_T}$cf_cv_sys_time_select" >&6
+-test "$cf_cv_sys_time_select" = yes && cat >>confdefs.h <<\EOF
+-#define HAVE_SYS_TIME_SELECT 1
+-EOF
+-
+-### checks for compiler characteristics
+-ac_ext=c
+-ac_cpp='$CPP $CPPFLAGS'
+-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+-ac_main_return=return
+-
+-echo "$as_me:13610: checking for $CC option to accept ANSI C" >&5
+-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
+-if test "${ac_cv_prog_cc_stdc+set}" = set; then
++
++echo "$as_me:14684: checking if sys/time.h works with sys/select.h" >&5
++echo $ECHO_N "checking if sys/time.h works with sys/select.h... $ECHO_C" >&6
++if test "${cf_cv_sys_time_select+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_cv_prog_cc_stdc=no
+-ac_save_CC=$CC
++
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13618 "configure"
++#line 14691 "configure"
+ #include "confdefs.h"
+-#include <stdarg.h>
+-#include <stdio.h>
++
+ #include <sys/types.h>
+-#include <sys/stat.h>
+-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+-struct buf { int x; };
+-FILE * (*rcsopen) (struct buf *, struct stat *, int);
+-static char *e (p, i)
+- char **p;
+- int i;
+-{
+- return p[i];
+-}
+-static char *f (char * (*g) (char **, int), char **p, ...)
+-{
+- char *s;
+- va_list v;
+- va_start (v,p);
+- s = g (p, va_arg (v,int));
+- va_end (v);
+- return s;
+-}
+-int test (int i, double x);
+-struct s1 {int (*f) (int a);};
+-struct s2 {int (*f) (double a);};
+-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+-int argc;
+-char **argv;
++#ifdef HAVE_SYS_TIME_H
++#include <sys/time.h>
++#endif
++#ifdef HAVE_SYS_SELECT_H
++#include <sys/select.h>
++#endif
++
+ int
+ main ()
+ {
+-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
++
+ ;
+ return 0;
+ }
+ _ACEOF
+-# Don't try gcc -ansi; that turns off useful extensions and
+-# breaks some systems' header files.
+-# AIX -qlanglvl=ansi
+-# Ultrix and OSF/1 -std1
+-# HP-UX 10.20 and later -Ae
+-# HP-UX older versions -Aa -D_HPUX_SOURCE
+-# SVR4 -Xc -D__EXTENSIONS__
+-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+-do
+- CC="$ac_save_CC $ac_arg"
+- rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:13667: \"$ac_compile\"") >&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:14711: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:13670: \$? = $ac_status" >&5
++ echo "$as_me:14714: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:13673: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14717: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13676: \$? = $ac_status" >&5
++ echo "$as_me:14720: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_prog_cc_stdc=$ac_arg
+-break
++ cf_cv_sys_time_select=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
++cf_cv_sys_time_select=no
+ fi
+-rm -f conftest.$ac_objext
+-done
+-rm -f conftest.$ac_ext conftest.$ac_objext
+-CC=$ac_save_CC
++rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+
+-case "x$ac_cv_prog_cc_stdc" in
+- x|xno)
+- echo "$as_me:13693: result: none needed" >&5
+-echo "${ECHO_T}none needed" >&6 ;;
+- *)
+- echo "$as_me:13696: result: $ac_cv_prog_cc_stdc" >&5
+-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
+- CC="$CC $ac_cv_prog_cc_stdc" ;;
+-esac
++echo "$as_me:14732: result: $cf_cv_sys_time_select" >&5
++echo "${ECHO_T}$cf_cv_sys_time_select" >&6
++test "$cf_cv_sys_time_select" = yes &&
++cat >>confdefs.h <<\EOF
++#define HAVE_SYS_TIME_SELECT 1
++EOF
++
++### checks for compiler characteristics
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++ac_main_return=return
+
+-echo "$as_me:13701: checking for an ANSI C-conforming const" >&5
++echo "$as_me:14747: checking for an ANSI C-conforming const" >&5
+ echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6
+ if test "${ac_cv_c_const+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13707 "configure"
++#line 14753 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -13762,16 +14808,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:13765: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:14811: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:13768: \$? = $ac_status" >&5
++ echo "$as_me:14814: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:13771: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14817: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13774: \$? = $ac_status" >&5
++ echo "$as_me:14820: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_c_const=yes
+ else
+@@ -13781,7 +14827,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:13784: result: $ac_cv_c_const" >&5
++echo "$as_me:14830: result: $ac_cv_c_const" >&5
+ echo "${ECHO_T}$ac_cv_c_const" >&6
+ if test $ac_cv_c_const = no; then
+
+@@ -13791,7 +14837,7 @@
+
+ fi
+
+-echo "$as_me:13794: checking for inline" >&5
++echo "$as_me:14840: checking for inline" >&5
+ echo $ECHO_N "checking for inline... $ECHO_C" >&6
+ if test "${ac_cv_c_inline+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -13799,7 +14845,7 @@
+ ac_cv_c_inline=no
+ for ac_kw in inline __inline__ __inline; do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13802 "configure"
++#line 14848 "configure"
+ #include "confdefs.h"
+ #ifndef __cplusplus
+ static $ac_kw int static_foo () {return 0; }
+@@ -13808,16 +14854,16 @@
+
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:13811: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:14857: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:13814: \$? = $ac_status" >&5
++ echo "$as_me:14860: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:13817: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14863: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13820: \$? = $ac_status" >&5
++ echo "$as_me:14866: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_c_inline=$ac_kw; break
+ else
+@@ -13828,7 +14874,7 @@
+ done
+
+ fi
+-echo "$as_me:13831: result: $ac_cv_c_inline" >&5
++echo "$as_me:14877: result: $ac_cv_c_inline" >&5
+ echo "${ECHO_T}$ac_cv_c_inline" >&6
+ case $ac_cv_c_inline in
+ inline | yes) ;;
+@@ -13849,9 +14895,12 @@
+ if test "$INTEL_COMPILER" = yes
+ then
+ :
++ elif test "$CLANG_COMPILER" = yes
++ then
++ :
+ elif test "$GCC" = yes
+ then
+- echo "$as_me:13854: checking if $CC supports options to tune inlining" >&5
++ echo "$as_me:14903: checking if $CC supports options to tune inlining" >&5
+ echo $ECHO_N "checking if $CC supports options to tune inlining... $ECHO_C" >&6
+ if test "${cf_cv_gcc_inline+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -13860,7 +14909,7 @@
+ cf_save_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS --param max-inline-insns-single=1200"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13863 "configure"
++#line 14912 "configure"
+ #include "confdefs.h"
+ inline int foo(void) { return 1; }
+ int
+@@ -13872,16 +14921,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:13875: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:14924: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:13878: \$? = $ac_status" >&5
++ echo "$as_me:14927: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:13881: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14930: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13884: \$? = $ac_status" >&5
++ echo "$as_me:14933: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_gcc_inline=yes
+ else
+@@ -13893,7 +14942,7 @@
+ CFLAGS=$cf_save_CFLAGS
+
+ fi
+-echo "$as_me:13896: result: $cf_cv_gcc_inline" >&5
++echo "$as_me:14945: result: $cf_cv_gcc_inline" >&5
+ echo "${ECHO_T}$cf_cv_gcc_inline" >&6
+ if test "$cf_cv_gcc_inline" = yes ; then
+
+@@ -13979,7 +15028,7 @@
+ fi
+ fi
+
+-echo "$as_me:13982: checking for signal global datatype" >&5
++echo "$as_me:15031: checking for signal global datatype" >&5
+ echo $ECHO_N "checking for signal global datatype... $ECHO_C" >&6
+ if test "${cf_cv_sig_atomic_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -13991,7 +15040,7 @@
+ "int"
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13994 "configure"
++#line 15043 "configure"
+ #include "confdefs.h"
+
+ #include <sys/types.h>
+@@ -14014,16 +15063,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14017: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:15066: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14020: \$? = $ac_status" >&5
++ echo "$as_me:15069: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14023: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15072: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14026: \$? = $ac_status" >&5
++ echo "$as_me:15075: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_sig_atomic_t=$cf_type
+ else
+@@ -14037,15 +15086,16 @@
+
+ fi
+
+-echo "$as_me:14040: result: $cf_cv_sig_atomic_t" >&5
++echo "$as_me:15089: result: $cf_cv_sig_atomic_t" >&5
+ echo "${ECHO_T}$cf_cv_sig_atomic_t" >&6
+-test "$cf_cv_sig_atomic_t" != no && cat >>confdefs.h <<EOF
++test "$cf_cv_sig_atomic_t" != no &&
++cat >>confdefs.h <<EOF
+ #define SIG_ATOMIC_T $cf_cv_sig_atomic_t
+ EOF
+
+ if test $NCURSES_CHTYPE = auto ; then
+
+-echo "$as_me:14048: checking for type of chtype" >&5
++echo "$as_me:15098: checking for type of chtype" >&5
+ echo $ECHO_N "checking for type of chtype... $ECHO_C" >&6
+ if test "${cf_cv_typeof_chtype+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -14055,7 +15105,7 @@
+ cf_cv_typeof_chtype=long
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14058 "configure"
++#line 15108 "configure"
+ #include "confdefs.h"
+
+ #define WANT_BITS 31
+@@ -14090,15 +15140,15 @@
+
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:14093: \"$ac_link\"") >&5
++if { (eval echo "$as_me:15143: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:14096: \$? = $ac_status" >&5
++ echo "$as_me:15146: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:14098: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15148: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14101: \$? = $ac_status" >&5
++ echo "$as_me:15151: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_typeof_chtype=`cat cf_test.out`
+ else
+@@ -14113,7 +15163,7 @@
+
+ fi
+
+-echo "$as_me:14116: result: $cf_cv_typeof_chtype" >&5
++echo "$as_me:15166: result: $cf_cv_typeof_chtype" >&5
+ echo "${ECHO_T}$cf_cv_typeof_chtype" >&6
+
+ cat >>confdefs.h <<EOF
+@@ -14125,14 +15175,14 @@
+ fi
+ test "$cf_cv_typeof_chtype" = unsigned && cf_cv_typeof_chtype=""
+
+-echo "$as_me:14128: checking if unsigned literals are legal" >&5
++echo "$as_me:15178: checking if unsigned literals are legal" >&5
+ echo $ECHO_N "checking if unsigned literals are legal... $ECHO_C" >&6
+ if test "${cf_cv_unsigned_literals+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14135 "configure"
++#line 15185 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -14144,16 +15194,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14147: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:15197: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14150: \$? = $ac_status" >&5
++ echo "$as_me:15200: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14153: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15203: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14156: \$? = $ac_status" >&5
++ echo "$as_me:15206: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_unsigned_literals=yes
+ else
+@@ -14165,7 +15215,7 @@
+
+ fi
+
+-echo "$as_me:14168: result: $cf_cv_unsigned_literals" >&5
++echo "$as_me:15218: result: $cf_cv_unsigned_literals" >&5
+ echo "${ECHO_T}$cf_cv_unsigned_literals" >&6
+
+ cf_cv_1UL="1"
+@@ -14181,14 +15231,14 @@
+
+ ### Checks for external-data
+
+-echo "$as_me:14184: checking if external errno is declared" >&5
++echo "$as_me:15234: checking if external errno is declared" >&5
+ echo $ECHO_N "checking if external errno is declared... $ECHO_C" >&6
+ if test "${cf_cv_dcl_errno+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14191 "configure"
++#line 15241 "configure"
+ #include "confdefs.h"
+
+ #ifdef HAVE_STDLIB_H
+@@ -14206,16 +15256,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14209: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:15259: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14212: \$? = $ac_status" >&5
++ echo "$as_me:15262: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14215: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15265: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14218: \$? = $ac_status" >&5
++ echo "$as_me:15268: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_dcl_errno=yes
+ else
+@@ -14226,7 +15276,7 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+-echo "$as_me:14229: result: $cf_cv_dcl_errno" >&5
++echo "$as_me:15279: result: $cf_cv_dcl_errno" >&5
+ echo "${ECHO_T}$cf_cv_dcl_errno" >&6
+
+ if test "$cf_cv_dcl_errno" = no ; then
+@@ -14241,14 +15291,14 @@
+
+ # It's possible (for near-UNIX clones) that the data doesn't exist
+
+-echo "$as_me:14244: checking if external errno exists" >&5
++echo "$as_me:15294: checking if external errno exists" >&5
+ echo $ECHO_N "checking if external errno exists... $ECHO_C" >&6
+ if test "${cf_cv_have_errno+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14251 "configure"
++#line 15301 "configure"
+ #include "confdefs.h"
+
+ #undef errno
+@@ -14263,16 +15313,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:14266: \"$ac_link\"") >&5
++if { (eval echo "$as_me:15316: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:14269: \$? = $ac_status" >&5
++ echo "$as_me:15319: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:14272: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15322: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14275: \$? = $ac_status" >&5
++ echo "$as_me:15325: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_have_errno=yes
+ else
+@@ -14283,7 +15333,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+ fi
+-echo "$as_me:14286: result: $cf_cv_have_errno" >&5
++echo "$as_me:15336: result: $cf_cv_have_errno" >&5
+ echo "${ECHO_T}$cf_cv_have_errno" >&6
+
+ if test "$cf_cv_have_errno" = yes ; then
+@@ -14296,7 +15346,7 @@
+
+ fi
+
+-echo "$as_me:14299: checking if data-only library module links" >&5
++echo "$as_me:15349: checking if data-only library module links" >&5
+ echo $ECHO_N "checking if data-only library module links... $ECHO_C" >&6
+ if test "${cf_cv_link_dataonly+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -14304,20 +15354,20 @@
+
+ rm -f conftest.a
+ cat >conftest.$ac_ext <<EOF
+-#line 14307 "configure"
++#line 15357 "configure"
+ int testdata[3] = { 123, 456, 789 };
+ EOF
+- if { (eval echo "$as_me:14310: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:15360: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14313: \$? = $ac_status" >&5
++ echo "$as_me:15363: \$? = $ac_status" >&5
+ (exit $ac_status); } ; then
+ mv conftest.o data.o && \
+ ( $AR $ARFLAGS conftest.a data.o ) 2>&5 1>/dev/null
+ fi
+ rm -f conftest.$ac_ext data.o
+ cat >conftest.$ac_ext <<EOF
+-#line 14320 "configure"
++#line 15370 "configure"
+ int testfunc()
+ {
+ #if defined(NeXT)
+@@ -14330,10 +15380,10 @@
+ #endif
+ }
+ EOF
+- if { (eval echo "$as_me:14333: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:15383: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14336: \$? = $ac_status" >&5
++ echo "$as_me:15386: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ mv conftest.o func.o && \
+ ( $AR $ARFLAGS conftest.a func.o ) 2>&5 1>/dev/null
+@@ -14346,7 +15396,7 @@
+ cf_cv_link_dataonly=unknown
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14349 "configure"
++#line 15399 "configure"
+ #include "confdefs.h"
+
+ int main()
+@@ -14357,15 +15407,15 @@
+
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:14360: \"$ac_link\"") >&5
++if { (eval echo "$as_me:15410: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:14363: \$? = $ac_status" >&5
++ echo "$as_me:15413: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:14365: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15415: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14368: \$? = $ac_status" >&5
++ echo "$as_me:15418: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_link_dataonly=yes
+ else
+@@ -14380,11 +15430,12 @@
+
+ fi
+
+-echo "$as_me:14383: result: $cf_cv_link_dataonly" >&5
++echo "$as_me:15433: result: $cf_cv_link_dataonly" >&5
+ echo "${ECHO_T}$cf_cv_link_dataonly" >&6
+
+ if test "$cf_cv_link_dataonly" = no ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define BROKEN_LINKER 1
+ EOF
+
+@@ -14400,10 +15451,12 @@
+ getttynam \
+ issetugid \
+ poll \
++putenv \
+ remove \
+ select \
+ setbuf \
+ setbuffer \
++setenv \
+ setvbuf \
+ sigaction \
+ sigvec \
+@@ -14415,13 +15468,13 @@
+
+ do
+ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+-echo "$as_me:14418: checking for $ac_func" >&5
++echo "$as_me:15471: checking for $ac_func" >&5
+ echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_var+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14424 "configure"
++#line 15477 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below. */
+@@ -14444,7 +15497,7 @@
+ #if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+ choke me
+ #else
+-f = $ac_func;
++f = $ac_func; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -14452,16 +15505,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:14455: \"$ac_link\"") >&5
++if { (eval echo "$as_me:15508: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:14458: \$? = $ac_status" >&5
++ echo "$as_me:15511: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:14461: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15514: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14464: \$? = $ac_status" >&5
++ echo "$as_me:15517: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_var=yes"
+ else
+@@ -14471,7 +15524,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:14474: result: `eval echo '${'$as_ac_var'}'`" >&5
++echo "$as_me:15527: result: `eval echo '${'$as_ac_var'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -14481,16 +15534,16 @@
+ fi
+ done
+
+-if test "$with_getcap" = "yes" ; then
++if test "x$with_getcap" = "xyes" ; then
+
+-echo "$as_me:14486: checking for terminal-capability database functions" >&5
++echo "$as_me:15539: checking for terminal-capability database functions" >&5
+ echo $ECHO_N "checking for terminal-capability database functions... $ECHO_C" >&6
+ if test "${cf_cv_cgetent+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14493 "configure"
++#line 15546 "configure"
+ #include "confdefs.h"
+
+ #include <stdlib.h>
+@@ -14501,7 +15554,7 @@
+ char temp[128];
+ char *buf = temp;
+ char *db_array = temp;
+- cgetent(&buf, /* int *, */ &db_array, "vt100");
++ cgetent(&buf, &db_array, "vt100");
+ cgetcap(buf, "tc", '=');
+ cgetmatch(buf, "tc");
+
+@@ -14510,16 +15563,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:14513: \"$ac_link\"") >&5
++if { (eval echo "$as_me:15566: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:14516: \$? = $ac_status" >&5
++ echo "$as_me:15569: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:14519: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15572: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14522: \$? = $ac_status" >&5
++ echo "$as_me:15575: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_cgetent=yes
+ else
+@@ -14530,23 +15583,87 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+ fi
+-
+-echo "$as_me:14534: result: $cf_cv_cgetent" >&5
++echo "$as_me:15586: result: $cf_cv_cgetent" >&5
+ echo "${ECHO_T}$cf_cv_cgetent" >&6
+-test "$cf_cv_cgetent" = yes && cat >>confdefs.h <<\EOF
++
++if test "$cf_cv_cgetent" = yes
++then
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_BSD_CGETENT 1
+ EOF
+
++echo "$as_me:15596: checking if cgetent uses const parameter" >&5
++echo $ECHO_N "checking if cgetent uses const parameter... $ECHO_C" >&6
++if test "${cf_cv_cgetent_const+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++cat >conftest.$ac_ext <<_ACEOF
++#line 15603 "configure"
++#include "confdefs.h"
++
++#include <stdlib.h>
++int
++main ()
++{
++
++ char temp[128];
++ char *buf = temp;
++#ifndef _NETBSD_SOURCE /* given, since April 2004 in stdlib.h */
++ const char *db_array = temp;
++ cgetent(&buf, &db_array, "vt100");
++#endif
++ cgetcap(buf, "tc", '=');
++ cgetmatch(buf, "tc");
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:15625: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:15628: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:15631: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:15634: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_cgetent_const=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_cgetent_const=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++
++fi
++echo "$as_me:15645: result: $cf_cv_cgetent_const" >&5
++echo "${ECHO_T}$cf_cv_cgetent_const" >&6
++ if test "$cf_cv_cgetent_const" = yes
++ then
++
++cat >>confdefs.h <<EOF
++#define CGETENT_CONST const
++EOF
++
++ fi
++fi
++
+ fi
+
+-echo "$as_me:14542: checking for isascii" >&5
++echo "$as_me:15659: checking for isascii" >&5
+ echo $ECHO_N "checking for isascii... $ECHO_C" >&6
+ if test "${cf_cv_have_isascii+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14549 "configure"
++#line 15666 "configure"
+ #include "confdefs.h"
+ #include <ctype.h>
+ int
+@@ -14558,16 +15675,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:14561: \"$ac_link\"") >&5
++if { (eval echo "$as_me:15678: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:14564: \$? = $ac_status" >&5
++ echo "$as_me:15681: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:14567: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15684: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14570: \$? = $ac_status" >&5
++ echo "$as_me:15687: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_have_isascii=yes
+ else
+@@ -14578,17 +15695,18 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+ fi
+-echo "$as_me:14581: result: $cf_cv_have_isascii" >&5
++echo "$as_me:15698: result: $cf_cv_have_isascii" >&5
+ echo "${ECHO_T}$cf_cv_have_isascii" >&6
+-test "$cf_cv_have_isascii" = yes && cat >>confdefs.h <<\EOF
++test "$cf_cv_have_isascii" = yes &&
++cat >>confdefs.h <<\EOF
+ #define HAVE_ISASCII 1
+ EOF
+
+ if test "$ac_cv_func_sigaction" = yes; then
+-echo "$as_me:14588: checking whether sigaction needs _POSIX_SOURCE" >&5
++echo "$as_me:15706: checking whether sigaction needs _POSIX_SOURCE" >&5
+ echo $ECHO_N "checking whether sigaction needs _POSIX_SOURCE... $ECHO_C" >&6
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14591 "configure"
++#line 15709 "configure"
+ #include "confdefs.h"
+
+ #include <sys/types.h>
+@@ -14602,16 +15720,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14605: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:15723: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14608: \$? = $ac_status" >&5
++ echo "$as_me:15726: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14611: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15729: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14614: \$? = $ac_status" >&5
++ echo "$as_me:15732: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ sigact_bad=no
+ else
+@@ -14619,7 +15737,7 @@
+ cat conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14622 "configure"
++#line 15740 "configure"
+ #include "confdefs.h"
+
+ #define _POSIX_SOURCE
+@@ -14634,20 +15752,21 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14637: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:15755: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14640: \$? = $ac_status" >&5
++ echo "$as_me:15758: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14643: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15761: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14646: \$? = $ac_status" >&5
++ echo "$as_me:15764: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ sigact_bad=yes
+- cat >>confdefs.h <<\EOF
+-#define SVR4_ACTION 1
++
++cat >>confdefs.h <<\EOF
++#define _POSIX_SOURCE 1
+ EOF
+
+ else
+@@ -14658,11 +15777,11 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+-echo "$as_me:14661: result: $sigact_bad" >&5
++echo "$as_me:15780: result: $sigact_bad" >&5
+ echo "${ECHO_T}$sigact_bad" >&6
+ fi
+
+-echo "$as_me:14665: checking if nanosleep really works" >&5
++echo "$as_me:15784: checking if nanosleep really works" >&5
+ echo $ECHO_N "checking if nanosleep really works... $ECHO_C" >&6
+ if test "${cf_cv_func_nanosleep+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -14672,7 +15791,7 @@
+ cf_cv_func_nanosleep=unknown
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14675 "configure"
++#line 15794 "configure"
+ #include "confdefs.h"
+
+ #include <stdio.h>
+@@ -14697,15 +15816,15 @@
+
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:14700: \"$ac_link\"") >&5
++if { (eval echo "$as_me:15819: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:14703: \$? = $ac_status" >&5
++ echo "$as_me:15822: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:14705: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15824: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14708: \$? = $ac_status" >&5
++ echo "$as_me:15827: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_func_nanosleep=yes
+ else
+@@ -14717,10 +15836,11 @@
+ rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+ fi
+-echo "$as_me:14720: result: $cf_cv_func_nanosleep" >&5
++echo "$as_me:15839: result: $cf_cv_func_nanosleep" >&5
+ echo "${ECHO_T}$cf_cv_func_nanosleep" >&6
+
+-test "$cf_cv_func_nanosleep" = "yes" && cat >>confdefs.h <<\EOF
++test "$cf_cv_func_nanosleep" = "yes" &&
++cat >>confdefs.h <<\EOF
+ #define HAVE_NANOSLEEP 1
+ EOF
+
+@@ -14731,23 +15851,23 @@
+
+ do
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:14734: checking for $ac_header" >&5
++echo "$as_me:15854: checking for $ac_header" >&5
+ echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14740 "configure"
++#line 15860 "configure"
+ #include "confdefs.h"
+ #include <$ac_header>
+ _ACEOF
+-if { (eval echo "$as_me:14744: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:15864: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:14750: \$? = $ac_status" >&5
++ echo "$as_me:15870: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -14766,7 +15886,7 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:14769: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "$as_me:15889: result: `eval echo '${'$as_ac_Header'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -14781,23 +15901,23 @@
+ for ac_header in sys/termio.h
+ do
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:14784: checking for $ac_header" >&5
++echo "$as_me:15904: checking for $ac_header" >&5
+ echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14790 "configure"
++#line 15910 "configure"
+ #include "confdefs.h"
+ #include <$ac_header>
+ _ACEOF
+-if { (eval echo "$as_me:14794: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:15914: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:14800: \$? = $ac_status" >&5
++ echo "$as_me:15920: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -14816,7 +15936,7 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:14819: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "$as_me:15939: result: `eval echo '${'$as_ac_Header'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -14834,10 +15954,10 @@
+ *) termios_bad=maybe ;;
+ esac
+ if test "$termios_bad" = maybe ; then
+- echo "$as_me:14837: checking whether termios.h needs _POSIX_SOURCE" >&5
++ echo "$as_me:15957: checking whether termios.h needs _POSIX_SOURCE" >&5
+ echo $ECHO_N "checking whether termios.h needs _POSIX_SOURCE... $ECHO_C" >&6
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14840 "configure"
++#line 15960 "configure"
+ #include "confdefs.h"
+ #include <termios.h>
+ int
+@@ -14849,16 +15969,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14852: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:15972: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14855: \$? = $ac_status" >&5
++ echo "$as_me:15975: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14858: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15978: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14861: \$? = $ac_status" >&5
++ echo "$as_me:15981: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ termios_bad=no
+ else
+@@ -14866,7 +15986,7 @@
+ cat conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14869 "configure"
++#line 15989 "configure"
+ #include "confdefs.h"
+
+ #define _POSIX_SOURCE
+@@ -14880,23 +16000,24 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14883: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:16003: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14886: \$? = $ac_status" >&5
++ echo "$as_me:16006: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14889: \"$ac_try\"") >&5
++ { (eval echo "$as_me:16009: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14892: \$? = $ac_status" >&5
++ echo "$as_me:16012: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ termios_bad=unknown
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-termios_bad=yes cat >>confdefs.h <<\EOF
+-#define SVR4_TERMIO 1
++termios_bad=yes
++cat >>confdefs.h <<\EOF
++#define _POSIX_SOURCE 1
+ EOF
+
+ fi
+@@ -14904,19 +16025,19 @@
+
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+- echo "$as_me:14907: result: $termios_bad" >&5
++ echo "$as_me:16028: result: $termios_bad" >&5
+ echo "${ECHO_T}$termios_bad" >&6
+ fi
+ fi
+
+-echo "$as_me:14912: checking for tcgetattr" >&5
++echo "$as_me:16033: checking for tcgetattr" >&5
+ echo $ECHO_N "checking for tcgetattr... $ECHO_C" >&6
+ if test "${cf_cv_have_tcgetattr+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14919 "configure"
++#line 16040 "configure"
+ #include "confdefs.h"
+
+ #include <sys/types.h>
+@@ -14944,16 +16065,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:14947: \"$ac_link\"") >&5
++if { (eval echo "$as_me:16068: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:14950: \$? = $ac_status" >&5
++ echo "$as_me:16071: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:14953: \"$ac_try\"") >&5
++ { (eval echo "$as_me:16074: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14956: \$? = $ac_status" >&5
++ echo "$as_me:16077: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_have_tcgetattr=yes
+ else
+@@ -14963,20 +16084,21 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:14966: result: $cf_cv_have_tcgetattr" >&5
++echo "$as_me:16087: result: $cf_cv_have_tcgetattr" >&5
+ echo "${ECHO_T}$cf_cv_have_tcgetattr" >&6
+-test "$cf_cv_have_tcgetattr" = yes && cat >>confdefs.h <<\EOF
++test "$cf_cv_have_tcgetattr" = yes &&
++cat >>confdefs.h <<\EOF
+ #define HAVE_TCGETATTR 1
+ EOF
+
+-echo "$as_me:14972: checking for vsscanf function or workaround" >&5
++echo "$as_me:16094: checking for vsscanf function or workaround" >&5
+ echo $ECHO_N "checking for vsscanf function or workaround... $ECHO_C" >&6
+ if test "${cf_cv_func_vsscanf+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14979 "configure"
++#line 16101 "configure"
+ #include "confdefs.h"
+
+ #include <stdarg.h>
+@@ -14992,16 +16114,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:14995: \"$ac_link\"") >&5
++if { (eval echo "$as_me:16117: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:14998: \$? = $ac_status" >&5
++ echo "$as_me:16120: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:15001: \"$ac_try\"") >&5
++ { (eval echo "$as_me:16123: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15004: \$? = $ac_status" >&5
++ echo "$as_me:16126: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_func_vsscanf=vsscanf
+ else
+@@ -15009,7 +16131,7 @@
+ cat conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15012 "configure"
++#line 16134 "configure"
+ #include "confdefs.h"
+
+ #include <stdarg.h>
+@@ -15031,16 +16153,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:15034: \"$ac_link\"") >&5
++if { (eval echo "$as_me:16156: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:15037: \$? = $ac_status" >&5
++ echo "$as_me:16159: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:15040: \"$ac_try\"") >&5
++ { (eval echo "$as_me:16162: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15043: \$? = $ac_status" >&5
++ echo "$as_me:16165: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_func_vsscanf=vfscanf
+ else
+@@ -15048,7 +16170,7 @@
+ cat conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15051 "configure"
++#line 16173 "configure"
+ #include "confdefs.h"
+
+ #include <stdarg.h>
+@@ -15070,16 +16192,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:15073: \"$ac_link\"") >&5
++if { (eval echo "$as_me:16195: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:15076: \$? = $ac_status" >&5
++ echo "$as_me:16198: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:15079: \"$ac_try\"") >&5
++ { (eval echo "$as_me:16201: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15082: \$? = $ac_status" >&5
++ echo "$as_me:16204: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_func_vsscanf=_doscan
+ else
+@@ -15094,25 +16216,28 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:15097: result: $cf_cv_func_vsscanf" >&5
++echo "$as_me:16219: result: $cf_cv_func_vsscanf" >&5
+ echo "${ECHO_T}$cf_cv_func_vsscanf" >&6
+
+ case $cf_cv_func_vsscanf in #(vi
+-vsscanf) cat >>confdefs.h <<\EOF
++vsscanf)
++cat >>confdefs.h <<\EOF
+ #define HAVE_VSSCANF 1
+ EOF
+ ;; #(vi
+-vfscanf) cat >>confdefs.h <<\EOF
++vfscanf)
++cat >>confdefs.h <<\EOF
+ #define HAVE_VFSCANF 1
+ EOF
+ ;; #(vi
+-_doscan) cat >>confdefs.h <<\EOF
++_doscan)
++cat >>confdefs.h <<\EOF
+ #define HAVE__DOSCAN 1
+ EOF
+ ;;
+ esac
+
+-echo "$as_me:15115: checking for working mkstemp" >&5
++echo "$as_me:16240: checking for working mkstemp" >&5
+ echo $ECHO_N "checking for working mkstemp... $ECHO_C" >&6
+ if test "${cf_cv_func_mkstemp+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -15120,13 +16245,80 @@
+
+ rm -rf conftest*
+ if test "$cross_compiling" = yes; then
+- echo "$as_me:15123: checking for mkstemp" >&5
++ cf_cv_func_mkstemp=maybe
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 16251 "configure"
++#include "confdefs.h"
++
++#include <sys/types.h>
++#include <stdlib.h>
++#include <stdio.h>
++#include <string.h>
++#include <sys/stat.h>
++int main()
++{
++ char *tmpl = "conftestXXXXXX";
++ char name[2][80];
++ int n;
++ int result = 0;
++ int fd;
++ struct stat sb;
++
++ umask(077);
++ for (n = 0; n < 2; ++n) {
++ strcpy(name[n], tmpl);
++ if ((fd = mkstemp(name[n])) >= 0) {
++ if (!strcmp(name[n], tmpl)
++ || stat(name[n], &sb) != 0
++ || (sb.st_mode & S_IFMT) != S_IFREG
++ || (sb.st_mode & 077) != 0) {
++ result = 1;
++ }
++ close(fd);
++ }
++ }
++ if (result == 0
++ && !strcmp(name[0], name[1]))
++ result = 1;
++ ${cf_cv_main_return:-return}(result);
++}
++
++_ACEOF
++rm -f conftest$ac_exeext
++if { (eval echo "$as_me:16289: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:16292: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (eval echo "$as_me:16294: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:16297: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_func_mkstemp=yes
++
++else
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_func_mkstemp=no
++
++fi
++rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++
++fi
++echo "$as_me:16312: result: $cf_cv_func_mkstemp" >&5
++echo "${ECHO_T}$cf_cv_func_mkstemp" >&6
++if test "x$cf_cv_func_mkstemp" = xmaybe ; then
++ echo "$as_me:16315: checking for mkstemp" >&5
+ echo $ECHO_N "checking for mkstemp... $ECHO_C" >&6
+ if test "${ac_cv_func_mkstemp+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15129 "configure"
++#line 16321 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char mkstemp (); below. */
+@@ -15148,104 +16340,41 @@
+ something starting with __ and the normal name is an alias. */
+ #if defined (__stub_mkstemp) || defined (__stub___mkstemp)
+ choke me
+-#else
+-f = mkstemp;
+-#endif
+-
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:15160: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:15163: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:15166: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:15169: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_func_mkstemp=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-ac_cv_func_mkstemp=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-fi
+-echo "$as_me:15179: result: $ac_cv_func_mkstemp" >&5
+-echo "${ECHO_T}$ac_cv_func_mkstemp" >&6
+-
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 15184 "configure"
+-#include "confdefs.h"
+-
+-#include <sys/types.h>
+-#include <stdlib.h>
+-#include <stdio.h>
+-#include <string.h>
+-#include <sys/stat.h>
+-int main()
+-{
+- char *tmpl = "conftestXXXXXX";
+- char name[2][80];
+- int n;
+- int result = 0;
+- int fd;
+- struct stat sb;
++#else
++f = mkstemp; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
++#endif
+
+- umask(077);
+- for (n = 0; n < 2; ++n) {
+- strcpy(name[n], tmpl);
+- if ((fd = mkstemp(name[n])) >= 0) {
+- if (!strcmp(name[n], tmpl)
+- || stat(name[n], &sb) != 0
+- || (sb.st_mode & S_IFMT) != S_IFREG
+- || (sb.st_mode & 077) != 0) {
+- result = 1;
+- }
+- close(fd);
+- }
+- }
+- if (result == 0
+- && !strcmp(name[0], name[1]))
+- result = 1;
+- ${cf_cv_main_return:-return}(result);
++ ;
++ return 0;
+ }
+-
+ _ACEOF
+-rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:15222: \"$ac_link\"") >&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:16352: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:15225: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:15227: \"$ac_try\"") >&5
++ echo "$as_me:16355: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:16358: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15230: \$? = $ac_status" >&5
++ echo "$as_me:16361: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_func_mkstemp=yes
+-
++ ac_cv_func_mkstemp=yes
+ else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
++ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_func_mkstemp=no
+-
++ac_cv_func_mkstemp=no
+ fi
+-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
++echo "$as_me:16371: result: $ac_cv_func_mkstemp" >&5
++echo "${ECHO_T}$ac_cv_func_mkstemp" >&6
+
+ fi
+-echo "$as_me:15245: result: $cf_cv_func_mkstemp" >&5
+-echo "${ECHO_T}$cf_cv_func_mkstemp" >&6
+ if test "x$cf_cv_func_mkstemp" = xyes || test "x$ac_cv_func_mkstemp" = xyes ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_MKSTEMP 1
+ EOF
+
+@@ -15259,22 +16388,22 @@
+ HAVE_VSSCANF=0
+ fi
+
+-if test "$cross_compiling" = yes ; then
+- { echo "$as_me:15263: WARNING: cross compiling: assume setvbuf params not reversed" >&5
++if test "x$cross_compiling" = xyes ; then
++ { echo "$as_me:16392: WARNING: cross compiling: assume setvbuf params not reversed" >&5
+ echo "$as_me: WARNING: cross compiling: assume setvbuf params not reversed" >&2;}
+ else
+- echo "$as_me:15266: checking whether setvbuf arguments are reversed" >&5
++ echo "$as_me:16395: checking whether setvbuf arguments are reversed" >&5
+ echo $ECHO_N "checking whether setvbuf arguments are reversed... $ECHO_C" >&6
+ if test "${ac_cv_func_setvbuf_reversed+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ if test "$cross_compiling" = yes; then
+- { { echo "$as_me:15272: error: cannot run test program while cross compiling" >&5
++ { { echo "$as_me:16401: error: cannot run test program while cross compiling" >&5
+ echo "$as_me: error: cannot run test program while cross compiling" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15277 "configure"
++#line 16406 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ /* If setvbuf has the reversed format, exit 0. */
+@@ -15291,15 +16420,15 @@
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:15294: \"$ac_link\"") >&5
++if { (eval echo "$as_me:16423: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:15297: \$? = $ac_status" >&5
++ echo "$as_me:16426: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:15299: \"$ac_try\"") >&5
++ { (eval echo "$as_me:16428: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15302: \$? = $ac_status" >&5
++ echo "$as_me:16431: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_setvbuf_reversed=yes
+ else
+@@ -15312,7 +16441,7 @@
+ fi
+ rm -f core core.* *.core
+ fi
+-echo "$as_me:15315: result: $ac_cv_func_setvbuf_reversed" >&5
++echo "$as_me:16444: result: $ac_cv_func_setvbuf_reversed" >&5
+ echo "${ECHO_T}$ac_cv_func_setvbuf_reversed" >&6
+ if test $ac_cv_func_setvbuf_reversed = yes; then
+
+@@ -15323,68 +16452,66 @@
+ fi
+
+ fi
+-echo "$as_me:15326: checking return type of signal handlers" >&5
+-echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6
+-if test "${ac_cv_type_signal+set}" = set; then
++echo "$as_me:16455: checking for intptr_t" >&5
++echo $ECHO_N "checking for intptr_t... $ECHO_C" >&6
++if test "${ac_cv_type_intptr_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15332 "configure"
++#line 16461 "configure"
+ #include "confdefs.h"
+-#include <sys/types.h>
+-#include <signal.h>
+-#ifdef signal
+-# undef signal
+-#endif
+-#ifdef __cplusplus
+-extern "C" void (*signal (int, void (*)(int)))(int);
+-#else
+-void (*signal ()) ();
+-#endif
+-
++$ac_includes_default
+ int
+ main ()
+ {
+-int i;
++if ((intptr_t *) 0)
++ return 0;
++if (sizeof (intptr_t))
++ return 0;
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:15354: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:16476: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:15357: \$? = $ac_status" >&5
++ echo "$as_me:16479: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:15360: \"$ac_try\"") >&5
++ { (eval echo "$as_me:16482: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15363: \$? = $ac_status" >&5
++ echo "$as_me:16485: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_type_signal=void
++ ac_cv_type_intptr_t=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_type_signal=int
++ac_cv_type_intptr_t=no
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:15373: result: $ac_cv_type_signal" >&5
+-echo "${ECHO_T}$ac_cv_type_signal" >&6
++echo "$as_me:16495: result: $ac_cv_type_intptr_t" >&5
++echo "${ECHO_T}$ac_cv_type_intptr_t" >&6
++if test $ac_cv_type_intptr_t = yes; then
++ :
++else
+
+ cat >>confdefs.h <<EOF
+-#define RETSIGTYPE $ac_cv_type_signal
++#define intptr_t long
+ EOF
+
+-echo "$as_me:15380: checking for type sigaction_t" >&5
++fi
++
++echo "$as_me:16507: checking for type sigaction_t" >&5
+ echo $ECHO_N "checking for type sigaction_t... $ECHO_C" >&6
+ if test "${cf_cv_type_sigaction+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15387 "configure"
++#line 16514 "configure"
+ #include "confdefs.h"
+
+ #include <signal.h>
+@@ -15397,16 +16524,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:15400: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:16527: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:15403: \$? = $ac_status" >&5
++ echo "$as_me:16530: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:15406: \"$ac_try\"") >&5
++ { (eval echo "$as_me:16533: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15409: \$? = $ac_status" >&5
++ echo "$as_me:16536: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_type_sigaction=yes
+ else
+@@ -15417,13 +16544,14 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+
+-echo "$as_me:15420: result: $cf_cv_type_sigaction" >&5
++echo "$as_me:16547: result: $cf_cv_type_sigaction" >&5
+ echo "${ECHO_T}$cf_cv_type_sigaction" >&6
+-test "$cf_cv_type_sigaction" = yes && cat >>confdefs.h <<\EOF
++test "$cf_cv_type_sigaction" = yes &&
++cat >>confdefs.h <<\EOF
+ #define HAVE_TYPE_SIGACTION 1
+ EOF
+
+-echo "$as_me:15426: checking declaration of size-change" >&5
++echo "$as_me:16554: checking declaration of size-change" >&5
+ echo $ECHO_N "checking declaration of size-change... $ECHO_C" >&6
+ if test "${cf_cv_sizechange+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -15438,7 +16566,7 @@
+ CPPFLAGS="$cf_save_CPPFLAGS"
+ test -n "$cf_opts" && CPPFLAGS="$CPPFLAGS -D$cf_opts"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15441 "configure"
++#line 16569 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #ifdef HAVE_TERMIOS_H
+@@ -15482,16 +16610,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:15485: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:16613: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:15488: \$? = $ac_status" >&5
++ echo "$as_me:16616: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:15491: \"$ac_try\"") >&5
++ { (eval echo "$as_me:16619: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15494: \$? = $ac_status" >&5
++ echo "$as_me:16622: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_sizechange=yes
+ else
+@@ -15510,10 +16638,11 @@
+ done
+
+ fi
+-echo "$as_me:15513: result: $cf_cv_sizechange" >&5
++echo "$as_me:16641: result: $cf_cv_sizechange" >&5
+ echo "${ECHO_T}$cf_cv_sizechange" >&6
+ if test "$cf_cv_sizechange" != no ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_SIZECHANGE 1
+ EOF
+
+@@ -15527,13 +16656,13 @@
+ esac
+ fi
+
+-echo "$as_me:15530: checking for memmove" >&5
++echo "$as_me:16659: checking for memmove" >&5
+ echo $ECHO_N "checking for memmove... $ECHO_C" >&6
+ if test "${ac_cv_func_memmove+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15536 "configure"
++#line 16665 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char memmove (); below. */
+@@ -15556,7 +16685,7 @@
+ #if defined (__stub_memmove) || defined (__stub___memmove)
+ choke me
+ #else
+-f = memmove;
++f = memmove; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -15564,16 +16693,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:15567: \"$ac_link\"") >&5
++if { (eval echo "$as_me:16696: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:15570: \$? = $ac_status" >&5
++ echo "$as_me:16699: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:15573: \"$ac_try\"") >&5
++ { (eval echo "$as_me:16702: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15576: \$? = $ac_status" >&5
++ echo "$as_me:16705: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_memmove=yes
+ else
+@@ -15583,19 +16712,19 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:15586: result: $ac_cv_func_memmove" >&5
++echo "$as_me:16715: result: $ac_cv_func_memmove" >&5
+ echo "${ECHO_T}$ac_cv_func_memmove" >&6
+ if test $ac_cv_func_memmove = yes; then
+ :
+ else
+
+-echo "$as_me:15592: checking for bcopy" >&5
++echo "$as_me:16721: checking for bcopy" >&5
+ echo $ECHO_N "checking for bcopy... $ECHO_C" >&6
+ if test "${ac_cv_func_bcopy+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15598 "configure"
++#line 16727 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char bcopy (); below. */
+@@ -15618,7 +16747,7 @@
+ #if defined (__stub_bcopy) || defined (__stub___bcopy)
+ choke me
+ #else
+-f = bcopy;
++f = bcopy; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -15626,16 +16755,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:15629: \"$ac_link\"") >&5
++if { (eval echo "$as_me:16758: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:15632: \$? = $ac_status" >&5
++ echo "$as_me:16761: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:15635: \"$ac_try\"") >&5
++ { (eval echo "$as_me:16764: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15638: \$? = $ac_status" >&5
++ echo "$as_me:16767: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_bcopy=yes
+ else
+@@ -15645,11 +16774,11 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:15648: result: $ac_cv_func_bcopy" >&5
++echo "$as_me:16777: result: $ac_cv_func_bcopy" >&5
+ echo "${ECHO_T}$ac_cv_func_bcopy" >&6
+ if test $ac_cv_func_bcopy = yes; then
+
+- echo "$as_me:15652: checking if bcopy does overlapping moves" >&5
++ echo "$as_me:16781: checking if bcopy does overlapping moves" >&5
+ echo $ECHO_N "checking if bcopy does overlapping moves... $ECHO_C" >&6
+ if test "${cf_cv_good_bcopy+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -15659,7 +16788,7 @@
+ cf_cv_good_bcopy=unknown
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15662 "configure"
++#line 16791 "configure"
+ #include "confdefs.h"
+
+ int main() {
+@@ -15673,15 +16802,15 @@
+
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:15676: \"$ac_link\"") >&5
++if { (eval echo "$as_me:16805: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:15679: \$? = $ac_status" >&5
++ echo "$as_me:16808: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:15681: \"$ac_try\"") >&5
++ { (eval echo "$as_me:16810: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15684: \$? = $ac_status" >&5
++ echo "$as_me:16813: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_good_bcopy=yes
+ else
+@@ -15694,7 +16823,7 @@
+ fi
+
+ fi
+-echo "$as_me:15697: result: $cf_cv_good_bcopy" >&5
++echo "$as_me:16826: result: $cf_cv_good_bcopy" >&5
+ echo "${ECHO_T}$cf_cv_good_bcopy" >&6
+
+ else
+@@ -15702,12 +16831,14 @@
+ fi
+
+ if test "$cf_cv_good_bcopy" = yes ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define USE_OK_BCOPY 1
+ EOF
+
+ else
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define USE_MY_MEMMOVE 1
+ EOF
+
+@@ -15715,7 +16846,7 @@
+
+ fi
+
+-echo "$as_me:15718: checking if poll really works" >&5
++echo "$as_me:16849: checking if poll really works" >&5
+ echo $ECHO_N "checking if poll really works... $ECHO_C" >&6
+ if test "${cf_cv_working_poll+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -15725,10 +16856,13 @@
+ cf_cv_working_poll=unknown
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15728 "configure"
++#line 16859 "configure"
+ #include "confdefs.h"
+
++#include <stdlib.h>
+ #include <stdio.h>
++#include <unistd.h>
++#include <fcntl.h>
+ #ifdef HAVE_POLL_H
+ #include <poll.h>
+ #else
+@@ -15738,23 +16872,46 @@
+ struct pollfd myfds;
+ int ret;
+
+- myfds.fd = 0;
++ /* check for Darwin bug with respect to "devices" */
++ myfds.fd = open("/dev/null", 1); /* O_WRONLY */
++ if (myfds.fd < 0)
++ myfds.fd = 0;
+ myfds.events = POLLIN;
++ myfds.revents = 0;
+
+ ret = poll(&myfds, 1, 100);
+- ${cf_cv_main_return:-return}(ret != 0);
++
++ if (ret < 0 || (myfds.revents & POLLNVAL)) {
++ ret = -1;
++ } else {
++ int fd = 0;
++ if (!isatty(fd)) {
++ fd = open("/dev/tty", 2); /* O_RDWR */
++ }
++
++ if (fd >= 0) {
++ /* also check with standard input */
++ myfds.fd = fd;
++ myfds.events = POLLIN;
++ myfds.revents = 0;
++ ret = poll(&myfds, 1, 100);
++ } else {
++ ret = -1;
++ }
++ }
++ ${cf_cv_main_return:-return}(ret < 0);
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:15749: \"$ac_link\"") >&5
++if { (eval echo "$as_me:16906: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:15752: \$? = $ac_status" >&5
++ echo "$as_me:16909: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:15754: \"$ac_try\"") >&5
++ { (eval echo "$as_me:16911: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15757: \$? = $ac_status" >&5
++ echo "$as_me:16914: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_working_poll=yes
+ else
+@@ -15766,20 +16923,21 @@
+ rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+ fi
+-echo "$as_me:15769: result: $cf_cv_working_poll" >&5
++echo "$as_me:16926: result: $cf_cv_working_poll" >&5
+ echo "${ECHO_T}$cf_cv_working_poll" >&6
+-test "$cf_cv_working_poll" = "yes" && cat >>confdefs.h <<\EOF
++test "$cf_cv_working_poll" = "yes" &&
++cat >>confdefs.h <<\EOF
+ #define HAVE_WORKING_POLL 1
+ EOF
+
+-echo "$as_me:15775: checking for va_copy" >&5
++echo "$as_me:16933: checking for va_copy" >&5
+ echo $ECHO_N "checking for va_copy... $ECHO_C" >&6
+ if test "${cf_cv_have_va_copy+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15782 "configure"
++#line 16940 "configure"
+ #include "confdefs.h"
+
+ #include <stdarg.h>
+@@ -15796,16 +16954,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:15799: \"$ac_link\"") >&5
++if { (eval echo "$as_me:16957: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:15802: \$? = $ac_status" >&5
++ echo "$as_me:16960: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:15805: \"$ac_try\"") >&5
++ { (eval echo "$as_me:16963: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15808: \$? = $ac_status" >&5
++ echo "$as_me:16966: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_have_va_copy=yes
+ else
+@@ -15815,21 +16973,22 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:15818: result: $cf_cv_have_va_copy" >&5
++echo "$as_me:16976: result: $cf_cv_have_va_copy" >&5
+ echo "${ECHO_T}$cf_cv_have_va_copy" >&6
+
+-test "$cf_cv_have_va_copy" = yes && cat >>confdefs.h <<\EOF
++test "$cf_cv_have_va_copy" = yes &&
++cat >>confdefs.h <<\EOF
+ #define HAVE_VA_COPY 1
+ EOF
+
+-echo "$as_me:15825: checking for __va_copy" >&5
++echo "$as_me:16984: checking for __va_copy" >&5
+ echo $ECHO_N "checking for __va_copy... $ECHO_C" >&6
+ if test "${cf_cv_have___va_copy+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15832 "configure"
++#line 16991 "configure"
+ #include "confdefs.h"
+
+ #include <stdarg.h>
+@@ -15846,16 +17005,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:15849: \"$ac_link\"") >&5
++if { (eval echo "$as_me:17008: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:15852: \$? = $ac_status" >&5
++ echo "$as_me:17011: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:15855: \"$ac_try\"") >&5
++ { (eval echo "$as_me:17014: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15858: \$? = $ac_status" >&5
++ echo "$as_me:17017: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_have___va_copy=yes
+ else
+@@ -15865,20 +17024,21 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:15868: result: $cf_cv_have___va_copy" >&5
++echo "$as_me:17027: result: $cf_cv_have___va_copy" >&5
+ echo "${ECHO_T}$cf_cv_have___va_copy" >&6
+
+-test "$cf_cv_have___va_copy" = yes && cat >>confdefs.h <<\EOF
++test "$cf_cv_have___va_copy" = yes &&
++cat >>confdefs.h <<\EOF
+ #define HAVE___VA_COPY 1
+ EOF
+
+-echo "$as_me:15875: checking for pid_t" >&5
++echo "$as_me:17035: checking for pid_t" >&5
+ echo $ECHO_N "checking for pid_t... $ECHO_C" >&6
+ if test "${ac_cv_type_pid_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15881 "configure"
++#line 17041 "configure"
+ #include "confdefs.h"
+ $ac_includes_default
+ int
+@@ -15893,16 +17053,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:15896: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:17056: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:15899: \$? = $ac_status" >&5
++ echo "$as_me:17059: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:15902: \"$ac_try\"") >&5
++ { (eval echo "$as_me:17062: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15905: \$? = $ac_status" >&5
++ echo "$as_me:17065: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_type_pid_t=yes
+ else
+@@ -15912,7 +17072,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:15915: result: $ac_cv_type_pid_t" >&5
++echo "$as_me:17075: result: $ac_cv_type_pid_t" >&5
+ echo "${ECHO_T}$ac_cv_type_pid_t" >&6
+ if test $ac_cv_type_pid_t = yes; then
+ :
+@@ -15927,23 +17087,23 @@
+ for ac_header in unistd.h vfork.h
+ do
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:15930: checking for $ac_header" >&5
++echo "$as_me:17090: checking for $ac_header" >&5
+ echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15936 "configure"
++#line 17096 "configure"
+ #include "confdefs.h"
+ #include <$ac_header>
+ _ACEOF
+-if { (eval echo "$as_me:15940: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:17100: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:15946: \$? = $ac_status" >&5
++ echo "$as_me:17106: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -15962,7 +17122,7 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:15965: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "$as_me:17125: result: `eval echo '${'$as_ac_Header'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -15975,13 +17135,13 @@
+ for ac_func in fork vfork
+ do
+ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+-echo "$as_me:15978: checking for $ac_func" >&5
++echo "$as_me:17138: checking for $ac_func" >&5
+ echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_var+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15984 "configure"
++#line 17144 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below. */
+@@ -16004,7 +17164,7 @@
+ #if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+ choke me
+ #else
+-f = $ac_func;
++f = $ac_func; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -16012,16 +17172,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:16015: \"$ac_link\"") >&5
++if { (eval echo "$as_me:17175: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:16018: \$? = $ac_status" >&5
++ echo "$as_me:17178: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:16021: \"$ac_try\"") >&5
++ { (eval echo "$as_me:17181: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:16024: \$? = $ac_status" >&5
++ echo "$as_me:17184: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_var=yes"
+ else
+@@ -16031,7 +17191,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:16034: result: `eval echo '${'$as_ac_var'}'`" >&5
++echo "$as_me:17194: result: `eval echo '${'$as_ac_var'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -16043,7 +17203,7 @@
+
+ ac_cv_func_fork_works=$ac_cv_func_fork
+ if test "x$ac_cv_func_fork" = xyes; then
+- echo "$as_me:16046: checking for working fork" >&5
++ echo "$as_me:17206: checking for working fork" >&5
+ echo $ECHO_N "checking for working fork... $ECHO_C" >&6
+ if test "${ac_cv_func_fork_works+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -16066,15 +17226,15 @@
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:16069: \"$ac_link\"") >&5
++if { (eval echo "$as_me:17229: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:16072: \$? = $ac_status" >&5
++ echo "$as_me:17232: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:16074: \"$ac_try\"") >&5
++ { (eval echo "$as_me:17234: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:16077: \$? = $ac_status" >&5
++ echo "$as_me:17237: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_fork_works=yes
+ else
+@@ -16086,7 +17246,7 @@
+ rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+ fi
+-echo "$as_me:16089: result: $ac_cv_func_fork_works" >&5
++echo "$as_me:17249: result: $ac_cv_func_fork_works" >&5
+ echo "${ECHO_T}$ac_cv_func_fork_works" >&6
+
+ fi
+@@ -16100,12 +17260,12 @@
+ ac_cv_func_fork_works=yes
+ ;;
+ esac
+- { echo "$as_me:16103: WARNING: CROSS: Result $ac_cv_func_fork_works guessed due to cross-compiling." >&5
++ { echo "$as_me:17263: WARNING: CROSS: Result $ac_cv_func_fork_works guessed due to cross-compiling." >&5
+ echo "$as_me: WARNING: CROSS: Result $ac_cv_func_fork_works guessed due to cross-compiling." >&2;}
+ fi
+ ac_cv_func_vfork_works=$ac_cv_func_vfork
+ if test "x$ac_cv_func_vfork" = xyes; then
+- echo "$as_me:16108: checking for working vfork" >&5
++ echo "$as_me:17268: checking for working vfork" >&5
+ echo $ECHO_N "checking for working vfork... $ECHO_C" >&6
+ if test "${ac_cv_func_vfork_works+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -16114,7 +17274,7 @@
+ ac_cv_func_vfork_works=cross
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 16117 "configure"
++#line 17277 "configure"
+ #include "confdefs.h"
+ /* Thanks to Paul Eggert for this test. */
+ #include <stdio.h>
+@@ -16211,15 +17371,15 @@
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:16214: \"$ac_link\"") >&5
++if { (eval echo "$as_me:17374: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:16217: \$? = $ac_status" >&5
++ echo "$as_me:17377: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:16219: \"$ac_try\"") >&5
++ { (eval echo "$as_me:17379: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:16222: \$? = $ac_status" >&5
++ echo "$as_me:17382: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_vfork_works=yes
+ else
+@@ -16231,13 +17391,13 @@
+ rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+ fi
+-echo "$as_me:16234: result: $ac_cv_func_vfork_works" >&5
++echo "$as_me:17394: result: $ac_cv_func_vfork_works" >&5
+ echo "${ECHO_T}$ac_cv_func_vfork_works" >&6
+
+ fi;
+ if test "x$ac_cv_func_fork_works" = xcross; then
+ ac_cv_func_vfork_works=ac_cv_func_vfork
+- { echo "$as_me:16240: WARNING: CROSS: Result $ac_cv_func_vfork_works guessed due to cross-compiling." >&5
++ { echo "$as_me:17400: WARNING: CROSS: Result $ac_cv_func_vfork_works guessed due to cross-compiling." >&5
+ echo "$as_me: WARNING: CROSS: Result $ac_cv_func_vfork_works guessed due to cross-compiling." >&2;}
+ fi
+
+@@ -16264,7 +17424,7 @@
+
+ # special check for test/ditto.c
+
+-echo "$as_me:16267: checking for openpty in -lutil" >&5
++echo "$as_me:17427: checking for openpty in -lutil" >&5
+ echo $ECHO_N "checking for openpty in -lutil... $ECHO_C" >&6
+ if test "${ac_cv_lib_util_openpty+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -16272,7 +17432,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lutil $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 16275 "configure"
++#line 17435 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -16291,16 +17451,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:16294: \"$ac_link\"") >&5
++if { (eval echo "$as_me:17454: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:16297: \$? = $ac_status" >&5
++ echo "$as_me:17457: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:16300: \"$ac_try\"") >&5
++ { (eval echo "$as_me:17460: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:16303: \$? = $ac_status" >&5
++ echo "$as_me:17463: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_util_openpty=yes
+ else
+@@ -16311,7 +17471,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:16314: result: $ac_cv_lib_util_openpty" >&5
++echo "$as_me:17474: result: $ac_cv_lib_util_openpty" >&5
+ echo "${ECHO_T}$ac_cv_lib_util_openpty" >&6
+ if test $ac_cv_lib_util_openpty = yes; then
+ cf_cv_lib_util=yes
+@@ -16319,7 +17479,7 @@
+ cf_cv_lib_util=no
+ fi
+
+-echo "$as_me:16322: checking for openpty header" >&5
++echo "$as_me:17482: checking for openpty header" >&5
+ echo $ECHO_N "checking for openpty header... $ECHO_C" >&6
+ if test "${cf_cv_func_openpty+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -16330,7 +17490,7 @@
+ for cf_header in pty.h libutil.h util.h
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 16333 "configure"
++#line 17493 "configure"
+ #include "confdefs.h"
+
+ #include <$cf_header>
+@@ -16347,16 +17507,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:16350: \"$ac_link\"") >&5
++if { (eval echo "$as_me:17510: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:16353: \$? = $ac_status" >&5
++ echo "$as_me:17513: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:16356: \"$ac_try\"") >&5
++ { (eval echo "$as_me:17516: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:16359: \$? = $ac_status" >&5
++ echo "$as_me:17519: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_func_openpty=$cf_header
+@@ -16374,25 +17534,27 @@
+ LIBS="$cf_save_LIBS"
+
+ fi
+-echo "$as_me:16377: result: $cf_cv_func_openpty" >&5
++echo "$as_me:17537: result: $cf_cv_func_openpty" >&5
+ echo "${ECHO_T}$cf_cv_func_openpty" >&6
+
+ if test "$cf_cv_func_openpty" != no ; then
+- cat >>confdefs.h <<EOF
++
++cat >>confdefs.h <<EOF
+ #define USE_OPENPTY_HEADER <$cf_cv_func_openpty>
+ EOF
+
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define USE_XTERM_PTY 1
+ EOF
+
+- if test "$cf_cv_lib_util" = yes ; then
++ if test "x$cf_cv_lib_util" = xyes ; then
+ TEST_LIBS="-lutil $TEST_LIBS"
+ fi
+ fi
+
+ if test "$with_hashed_db" != no ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define USE_HASHED_DB 1
+ EOF
+
+@@ -16426,7 +17588,7 @@
+ cf_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 16429 "configure"
++#line 17591 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -16438,16 +17600,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:16441: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:17603: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:16444: \$? = $ac_status" >&5
++ echo "$as_me:17606: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:16447: \"$ac_try\"") >&5
++ { (eval echo "$as_me:17609: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:16450: \$? = $ac_status" >&5
++ echo "$as_me:17612: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -16464,7 +17626,7 @@
+ if test "$cf_have_incdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-echo "${as_me:-configure}:16467: testing adding $cf_add_incdir to include-path ..." 1>&5
++echo "${as_me:-configure}:17629: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+@@ -16498,7 +17660,7 @@
+ if test "$cf_have_libdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
+
+-echo "${as_me:-configure}:16501: testing adding $cf_add_libdir to library-path ..." 1>&5
++echo "${as_me:-configure}:17663: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+ LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+ fi
+@@ -16509,23 +17671,23 @@
+ fi
+ esac
+
+-echo "$as_me:16512: checking for db.h" >&5
++echo "$as_me:17674: checking for db.h" >&5
+ echo $ECHO_N "checking for db.h... $ECHO_C" >&6
+ if test "${ac_cv_header_db_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 16518 "configure"
++#line 17680 "configure"
+ #include "confdefs.h"
+ #include <db.h>
+ _ACEOF
+-if { (eval echo "$as_me:16522: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:17684: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:16528: \$? = $ac_status" >&5
++ echo "$as_me:17690: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -16544,11 +17706,11 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:16547: result: $ac_cv_header_db_h" >&5
++echo "$as_me:17709: result: $ac_cv_header_db_h" >&5
+ echo "${ECHO_T}$ac_cv_header_db_h" >&6
+ if test $ac_cv_header_db_h = yes; then
+
+-echo "$as_me:16551: checking for version of db" >&5
++echo "$as_me:17713: checking for version of db" >&5
+ echo $ECHO_N "checking for version of db... $ECHO_C" >&6
+ if test "${cf_cv_hashed_db_version+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -16559,10 +17721,10 @@
+ for cf_db_version in 1 2 3 4 5
+ do
+
+-echo "${as_me:-configure}:16562: testing checking for db version $cf_db_version ..." 1>&5
++echo "${as_me:-configure}:17724: testing checking for db version $cf_db_version ..." 1>&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 16565 "configure"
++#line 17727 "configure"
+ #include "confdefs.h"
+
+ $ac_includes_default
+@@ -16592,16 +17754,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:16595: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:17757: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:16598: \$? = $ac_status" >&5
++ echo "$as_me:17760: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:16601: \"$ac_try\"") >&5
++ { (eval echo "$as_me:17763: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:16604: \$? = $ac_status" >&5
++ echo "$as_me:17766: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_hashed_db_version=$cf_db_version
+@@ -16615,16 +17777,16 @@
+ done
+
+ fi
+-echo "$as_me:16618: result: $cf_cv_hashed_db_version" >&5
++echo "$as_me:17780: result: $cf_cv_hashed_db_version" >&5
+ echo "${ECHO_T}$cf_cv_hashed_db_version" >&6
+
+ if test "$cf_cv_hashed_db_version" = unknown ; then
+- { { echo "$as_me:16622: error: Cannot determine version of db" >&5
++ { { echo "$as_me:17784: error: Cannot determine version of db" >&5
+ echo "$as_me: error: Cannot determine version of db" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+
+-echo "$as_me:16627: checking for db libraries" >&5
++echo "$as_me:17789: checking for db libraries" >&5
+ echo $ECHO_N "checking for db libraries... $ECHO_C" >&6
+ if test "${cf_cv_hashed_db_libs+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -16638,10 +17800,10 @@
+ LIBS="-l$cf_db_libs $LIBS"
+ fi
+
+-echo "${as_me:-configure}:16641: testing checking for library "$cf_db_libs" ..." 1>&5
++echo "${as_me:-configure}:17803: testing checking for library "$cf_db_libs" ..." 1>&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 16644 "configure"
++#line 17806 "configure"
+ #include "confdefs.h"
+
+ $ac_includes_default
+@@ -16696,16 +17858,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:16699: \"$ac_link\"") >&5
++if { (eval echo "$as_me:17861: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:16702: \$? = $ac_status" >&5
++ echo "$as_me:17864: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:16705: \"$ac_try\"") >&5
++ { (eval echo "$as_me:17867: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:16708: \$? = $ac_status" >&5
++ echo "$as_me:17870: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ if test -n "$cf_db_libs" ; then
+@@ -16725,11 +17887,11 @@
+ done
+
+ fi
+-echo "$as_me:16728: result: $cf_cv_hashed_db_libs" >&5
++echo "$as_me:17890: result: $cf_cv_hashed_db_libs" >&5
+ echo "${ECHO_T}$cf_cv_hashed_db_libs" >&6
+
+ if test "$cf_cv_hashed_db_libs" = unknown ; then
+- { { echo "$as_me:16732: error: Cannot determine library for db" >&5
++ { { echo "$as_me:17894: error: Cannot determine library for db" >&5
+ echo "$as_me: error: Cannot determine library for db" >&2;}
+ { (exit 1); exit 1; }; }
+ elif test "$cf_cv_hashed_db_libs" != default ; then
+@@ -16739,7 +17901,7 @@
+
+ else
+
+- { { echo "$as_me:16742: error: Cannot find db.h" >&5
++ { { echo "$as_me:17904: error: Cannot find db.h" >&5
+ echo "$as_me: error: Cannot find db.h" >&2;}
+ { (exit 1); exit 1; }; }
+
+@@ -16754,7 +17916,7 @@
+
+ # Just in case, check if the C compiler has a bool type.
+
+-echo "$as_me:16757: checking if we should include stdbool.h" >&5
++echo "$as_me:17919: checking if we should include stdbool.h" >&5
+ echo $ECHO_N "checking if we should include stdbool.h... $ECHO_C" >&6
+
+ if test "${cf_cv_header_stdbool_h+set}" = set; then
+@@ -16762,7 +17924,7 @@
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 16765 "configure"
++#line 17927 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -16774,23 +17936,23 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:16777: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:17939: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:16780: \$? = $ac_status" >&5
++ echo "$as_me:17942: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:16783: \"$ac_try\"") >&5
++ { (eval echo "$as_me:17945: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:16786: \$? = $ac_status" >&5
++ echo "$as_me:17948: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_header_stdbool_h=0
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 16793 "configure"
++#line 17955 "configure"
+ #include "confdefs.h"
+
+ #ifndef __BEOS__
+@@ -16806,16 +17968,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:16809: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:17971: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:16812: \$? = $ac_status" >&5
++ echo "$as_me:17974: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:16815: \"$ac_try\"") >&5
++ { (eval echo "$as_me:17977: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:16818: \$? = $ac_status" >&5
++ echo "$as_me:17980: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_header_stdbool_h=1
+ else
+@@ -16829,13 +17991,13 @@
+ fi
+
+ if test "$cf_cv_header_stdbool_h" = 1
+-then echo "$as_me:16832: result: yes" >&5
++then echo "$as_me:17994: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+-else echo "$as_me:16834: result: no" >&5
++else echo "$as_me:17996: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+-echo "$as_me:16838: checking for builtin bool type" >&5
++echo "$as_me:18000: checking for builtin bool type" >&5
+ echo $ECHO_N "checking for builtin bool type... $ECHO_C" >&6
+
+ if test "${cf_cv_cc_bool_type+set}" = set; then
+@@ -16843,7 +18005,7 @@
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 16846 "configure"
++#line 18008 "configure"
+ #include "confdefs.h"
+
+ #include <stdio.h>
+@@ -16858,16 +18020,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:16861: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:18023: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:16864: \$? = $ac_status" >&5
++ echo "$as_me:18026: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:16867: \"$ac_try\"") >&5
++ { (eval echo "$as_me:18029: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:16870: \$? = $ac_status" >&5
++ echo "$as_me:18032: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_cc_bool_type=1
+ else
+@@ -16880,9 +18042,9 @@
+ fi
+
+ if test "$cf_cv_cc_bool_type" = 1
+-then echo "$as_me:16883: result: yes" >&5
++then echo "$as_me:18045: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+-else echo "$as_me:16885: result: no" >&5
++else echo "$as_me:18047: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -16904,7 +18066,7 @@
+ cf_stdcpp_libname=stdc++
+ ;;
+ esac
+-echo "$as_me:16907: checking for library $cf_stdcpp_libname" >&5
++echo "$as_me:18069: checking for library $cf_stdcpp_libname" >&5
+ echo $ECHO_N "checking for library $cf_stdcpp_libname... $ECHO_C" >&6
+ if test "${cf_cv_libstdcpp+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -16913,7 +18075,7 @@
+ cf_save="$LIBS"
+ LIBS="-l$cf_stdcpp_libname $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 16916 "configure"
++#line 18078 "configure"
+ #include "confdefs.h"
+
+ #include <strstream.h>
+@@ -16929,16 +18091,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:16932: \"$ac_link\"") >&5
++if { (eval echo "$as_me:18094: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:16935: \$? = $ac_status" >&5
++ echo "$as_me:18097: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:16938: \"$ac_try\"") >&5
++ { (eval echo "$as_me:18100: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:16941: \$? = $ac_status" >&5
++ echo "$as_me:18103: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_libstdcpp=yes
+ else
+@@ -16950,12 +18112,12 @@
+ LIBS="$cf_save"
+
+ fi
+-echo "$as_me:16953: result: $cf_cv_libstdcpp" >&5
++echo "$as_me:18115: result: $cf_cv_libstdcpp" >&5
+ echo "${ECHO_T}$cf_cv_libstdcpp" >&6
+ test "$cf_cv_libstdcpp" = yes && CXXLIBS="-l$cf_stdcpp_libname $CXXLIBS"
+ fi
+
+- echo "$as_me:16958: checking whether $CXX understands -c and -o together" >&5
++ echo "$as_me:18120: checking whether $CXX understands -c and -o together" >&5
+ echo $ECHO_N "checking whether $CXX understands -c and -o together... $ECHO_C" >&6
+ if test "${cf_cv_prog_CXX_c_o+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -16971,15 +18133,15 @@
+ # We do the test twice because some compilers refuse to overwrite an
+ # existing .o file with -o, though they will create one.
+ ac_try='$CXX -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
+-if { (eval echo "$as_me:16974: \"$ac_try\"") >&5
++if { (eval echo "$as_me:18136: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:16977: \$? = $ac_status" >&5
++ echo "$as_me:18139: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- test -f conftest2.$ac_objext && { (eval echo "$as_me:16979: \"$ac_try\"") >&5
++ test -f conftest2.$ac_objext && { (eval echo "$as_me:18141: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:16982: \$? = $ac_status" >&5
++ echo "$as_me:18144: \$? = $ac_status" >&5
+ (exit $ac_status); };
+ then
+ eval cf_cv_prog_CXX_c_o=yes
+@@ -16990,10 +18152,10 @@
+
+ fi
+ if test $cf_cv_prog_CXX_c_o = yes; then
+- echo "$as_me:16993: result: yes" >&5
++ echo "$as_me:18155: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ else
+- echo "$as_me:16996: result: no" >&5
++ echo "$as_me:18158: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -17013,12 +18175,12 @@
+ ;;
+ esac
+ if test "$GXX" = yes; then
+- echo "$as_me:17016: checking for lib$cf_gpp_libname" >&5
++ echo "$as_me:18178: checking for lib$cf_gpp_libname" >&5
+ echo $ECHO_N "checking for lib$cf_gpp_libname... $ECHO_C" >&6
+ cf_save="$LIBS"
+ LIBS="-l$cf_gpp_libname $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 17021 "configure"
++#line 18183 "configure"
+ #include "confdefs.h"
+
+ #include <$cf_gpp_libname/builtin.h>
+@@ -17032,26 +18194,28 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:17035: \"$ac_link\"") >&5
++if { (eval echo "$as_me:18197: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:17038: \$? = $ac_status" >&5
++ echo "$as_me:18200: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:17041: \"$ac_try\"") >&5
++ { (eval echo "$as_me:18203: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:17044: \$? = $ac_status" >&5
++ echo "$as_me:18206: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cxx_library=yes
+ CXXLIBS="-l$cf_gpp_libname $CXXLIBS"
+ if test "$cf_gpp_libname" = cpp ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_GPP_BUILTIN_H 1
+ EOF
+
+ else
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_GXX_BUILTIN_H 1
+ EOF
+
+@@ -17060,7 +18224,7 @@
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 17063 "configure"
++#line 18227 "configure"
+ #include "confdefs.h"
+
+ #include <builtin.h>
+@@ -17074,20 +18238,21 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:17077: \"$ac_link\"") >&5
++if { (eval echo "$as_me:18241: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:17080: \$? = $ac_status" >&5
++ echo "$as_me:18244: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:17083: \"$ac_try\"") >&5
++ { (eval echo "$as_me:18247: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:17086: \$? = $ac_status" >&5
++ echo "$as_me:18250: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cxx_library=yes
+ CXXLIBS="-l$cf_gpp_libname $CXXLIBS"
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_BUILTIN_H 1
+ EOF
+
+@@ -17100,7 +18265,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS="$cf_save"
+- echo "$as_me:17103: result: $cf_cxx_library" >&5
++ echo "$as_me:18268: result: $cf_cxx_library" >&5
+ echo "${ECHO_T}$cf_cxx_library" >&6
+ fi
+
+@@ -17116,7 +18281,7 @@
+ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+ ac_main_return=return
+-echo "$as_me:17119: checking how to run the C++ preprocessor" >&5
++echo "$as_me:18284: checking how to run the C++ preprocessor" >&5
+ echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6
+ if test -z "$CXXCPP"; then
+ if test "${ac_cv_prog_CXXCPP+set}" = set; then
+@@ -17133,18 +18298,18 @@
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 17136 "configure"
++#line 18301 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+ Syntax error
+ _ACEOF
+-if { (eval echo "$as_me:17141: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:18306: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:17147: \$? = $ac_status" >&5
++ echo "$as_me:18312: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_cxx_preproc_warn_flag
+@@ -17167,17 +18332,17 @@
+ # OK, works on sane cases. Now check whether non-existent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 17170 "configure"
++#line 18335 "configure"
+ #include "confdefs.h"
+ #include <ac_nonexistent.h>
+ _ACEOF
+-if { (eval echo "$as_me:17174: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:18339: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:17180: \$? = $ac_status" >&5
++ echo "$as_me:18345: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_cxx_preproc_warn_flag
+@@ -17214,7 +18379,7 @@
+ else
+ ac_cv_prog_CXXCPP=$CXXCPP
+ fi
+-echo "$as_me:17217: result: $CXXCPP" >&5
++echo "$as_me:18382: result: $CXXCPP" >&5
+ echo "${ECHO_T}$CXXCPP" >&6
+ ac_preproc_ok=false
+ for ac_cxx_preproc_warn_flag in '' yes
+@@ -17224,18 +18389,18 @@
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 17227 "configure"
++#line 18392 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+ Syntax error
+ _ACEOF
+-if { (eval echo "$as_me:17232: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:18397: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:17238: \$? = $ac_status" >&5
++ echo "$as_me:18403: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_cxx_preproc_warn_flag
+@@ -17258,17 +18423,17 @@
+ # OK, works on sane cases. Now check whether non-existent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 17261 "configure"
++#line 18426 "configure"
+ #include "confdefs.h"
+ #include <ac_nonexistent.h>
+ _ACEOF
+-if { (eval echo "$as_me:17265: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:18430: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:17271: \$? = $ac_status" >&5
++ echo "$as_me:18436: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_cxx_preproc_warn_flag
+@@ -17296,7 +18461,7 @@
+ if $ac_preproc_ok; then
+ :
+ else
+- { { echo "$as_me:17299: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&5
++ { { echo "$as_me:18464: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&5
+ echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -17308,26 +18473,74 @@
+ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+ ac_main_return=return
+
+-for ac_header in iostream typeinfo
++for ac_header in typeinfo
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++echo "$as_me:18479: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 18485 "configure"
++#include "confdefs.h"
++#include <$ac_header>
++_ACEOF
++if { (eval echo "$as_me:18489: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ egrep -v '^ *\+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:18495: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_cxx_preproc_warn_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++ eval "$as_ac_Header=yes"
++else
++ echo "$as_me: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ eval "$as_ac_Header=no"
++fi
++rm -f conftest.err conftest.$ac_ext
++fi
++echo "$as_me:18514: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<EOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++EOF
++
++fi
++done
++
++for ac_header in iostream
+ do
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:17314: checking for $ac_header" >&5
++echo "$as_me:18527: checking for $ac_header" >&5
+ echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 17320 "configure"
++#line 18533 "configure"
+ #include "confdefs.h"
+ #include <$ac_header>
+ _ACEOF
+-if { (eval echo "$as_me:17324: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:18537: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:17330: \$? = $ac_status" >&5
++ echo "$as_me:18543: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_cxx_preproc_warn_flag
+@@ -17346,7 +18559,7 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:17349: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "$as_me:18562: result: `eval echo '${'$as_ac_Header'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -17356,11 +18569,11 @@
+ fi
+ done
+
+- if test x"$ac_cv_header_iostream" = xyes ; then
+- echo "$as_me:17360: checking if iostream uses std-namespace" >&5
++if test x"$ac_cv_header_iostream" = xyes ; then
++ echo "$as_me:18573: checking if iostream uses std-namespace" >&5
+ echo $ECHO_N "checking if iostream uses std-namespace... $ECHO_C" >&6
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 17363 "configure"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 18576 "configure"
+ #include "confdefs.h"
+
+ #include <iostream>
+@@ -17377,16 +18590,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:17380: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:18593: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:17383: \$? = $ac_status" >&5
++ echo "$as_me:18596: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:17386: \"$ac_try\"") >&5
++ { (eval echo "$as_me:18599: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:17389: \$? = $ac_status" >&5
++ echo "$as_me:18602: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_iostream_namespace=yes
+ else
+@@ -17395,17 +18608,18 @@
+ cf_iostream_namespace=no
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+- echo "$as_me:17398: result: $cf_iostream_namespace" >&5
++ echo "$as_me:18611: result: $cf_iostream_namespace" >&5
+ echo "${ECHO_T}$cf_iostream_namespace" >&6
+- if test "$cf_iostream_namespace" = yes ; then
+- cat >>confdefs.h <<\EOF
++ if test "$cf_iostream_namespace" = yes ; then
++
++cat >>confdefs.h <<\EOF
+ #define IOSTREAM_NAMESPACE 1
+ EOF
+
+- fi
+- fi
++ fi
++fi
+
+-echo "$as_me:17408: checking if we should include stdbool.h" >&5
++echo "$as_me:18622: checking if we should include stdbool.h" >&5
+ echo $ECHO_N "checking if we should include stdbool.h... $ECHO_C" >&6
+
+ if test "${cf_cv_header_stdbool_h+set}" = set; then
+@@ -17413,7 +18627,7 @@
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 17416 "configure"
++#line 18630 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -17425,23 +18639,23 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:17428: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:18642: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:17431: \$? = $ac_status" >&5
++ echo "$as_me:18645: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:17434: \"$ac_try\"") >&5
++ { (eval echo "$as_me:18648: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:17437: \$? = $ac_status" >&5
++ echo "$as_me:18651: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_header_stdbool_h=0
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 17444 "configure"
++#line 18658 "configure"
+ #include "confdefs.h"
+
+ #ifndef __BEOS__
+@@ -17457,16 +18671,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:17460: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:18674: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:17463: \$? = $ac_status" >&5
++ echo "$as_me:18677: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:17466: \"$ac_try\"") >&5
++ { (eval echo "$as_me:18680: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:17469: \$? = $ac_status" >&5
++ echo "$as_me:18683: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_header_stdbool_h=1
+ else
+@@ -17480,13 +18694,13 @@
+ fi
+
+ if test "$cf_cv_header_stdbool_h" = 1
+-then echo "$as_me:17483: result: yes" >&5
++then echo "$as_me:18697: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+-else echo "$as_me:17485: result: no" >&5
++else echo "$as_me:18699: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+-echo "$as_me:17489: checking for builtin bool type" >&5
++echo "$as_me:18703: checking for builtin bool type" >&5
+ echo $ECHO_N "checking for builtin bool type... $ECHO_C" >&6
+
+ if test "${cf_cv_builtin_bool+set}" = set; then
+@@ -17494,7 +18708,7 @@
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 17497 "configure"
++#line 18711 "configure"
+ #include "confdefs.h"
+
+ #include <stdio.h>
+@@ -17509,16 +18723,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:17512: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:18726: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:17515: \$? = $ac_status" >&5
++ echo "$as_me:18729: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:17518: \"$ac_try\"") >&5
++ { (eval echo "$as_me:18732: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:17521: \$? = $ac_status" >&5
++ echo "$as_me:18735: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_builtin_bool=1
+ else
+@@ -17531,13 +18745,13 @@
+ fi
+
+ if test "$cf_cv_builtin_bool" = 1
+-then echo "$as_me:17534: result: yes" >&5
++then echo "$as_me:18748: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+-else echo "$as_me:17536: result: no" >&5
++else echo "$as_me:18750: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+-echo "$as_me:17540: checking for size of bool" >&5
++echo "$as_me:18754: checking for size of bool" >&5
+ echo $ECHO_N "checking for size of bool... $ECHO_C" >&6
+ if test "${cf_cv_type_of_bool+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -17548,7 +18762,7 @@
+ cf_cv_type_of_bool=unknown
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 17551 "configure"
++#line 18765 "configure"
+ #include "confdefs.h"
+
+ #include <stdlib.h>
+@@ -17572,7 +18786,7 @@
+
+ #endif
+
+-main()
++int main()
+ {
+ FILE *fp = fopen("cf_test.out", "w");
+ if (fp != 0) {
+@@ -17590,15 +18804,15 @@
+
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:17593: \"$ac_link\"") >&5
++if { (eval echo "$as_me:18807: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:17596: \$? = $ac_status" >&5
++ echo "$as_me:18810: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:17598: \"$ac_try\"") >&5
++ { (eval echo "$as_me:18812: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:17601: \$? = $ac_status" >&5
++ echo "$as_me:18815: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_type_of_bool=`cat cf_test.out`
+ if test -z "$cf_cv_type_of_bool"; then
+@@ -17616,30 +18830,36 @@
+ fi
+
+ rm -f cf_test.out
+-echo "$as_me:17619: result: $cf_cv_type_of_bool" >&5
++echo "$as_me:18833: result: $cf_cv_type_of_bool" >&5
+ echo "${ECHO_T}$cf_cv_type_of_bool" >&6
+ if test "$cf_cv_type_of_bool" = unknown ; then
+ case .$NCURSES_BOOL in #(vi
+ .auto|.) NCURSES_BOOL=unsigned;;
+ esac
+- { echo "$as_me:17625: WARNING: Assuming $NCURSES_BOOL for type of bool" >&5
++ { echo "$as_me:18839: WARNING: Assuming $NCURSES_BOOL for type of bool" >&5
+ echo "$as_me: WARNING: Assuming $NCURSES_BOOL for type of bool" >&2;}
+ cf_cv_type_of_bool=$NCURSES_BOOL
+ fi
+
+-echo "$as_me:17630: checking for special defines needed for etip.h" >&5
++echo "$as_me:18844: checking for special defines needed for etip.h" >&5
+ echo $ECHO_N "checking for special defines needed for etip.h... $ECHO_C" >&6
+ cf_save_CXXFLAGS="$CXXFLAGS"
+ cf_result="none"
++
++# etip.h includes ncurses.h which includes ncurses_dll.h
++# But ncurses_dll.h is generated - fix here.
++test -d include || mkdir include
++test -f include/ncurses_dll.h || sed -e 's/@NCURSES_WRAP_PREFIX@/'$NCURSES_WRAP_PREFIX'/g' ${srcdir}/include/ncurses_dll.h.in >include/ncurses_dll.h
++
+ for cf_math in "" MATH_H
+ do
+ for cf_excp in "" MATH_EXCEPTION
+ do
+- CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu -I${srcdir}/include"
++ CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu -Iinclude -I${srcdir}/include"
+ test -n "$cf_math" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_math}"
+ test -n "$cf_excp" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_excp}"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 17642 "configure"
++#line 18862 "configure"
+ #include "confdefs.h"
+
+ #include <etip.h.in>
+@@ -17653,16 +18873,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:17656: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:18876: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:17659: \$? = $ac_status" >&5
++ echo "$as_me:18879: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:17662: \"$ac_try\"") >&5
++ { (eval echo "$as_me:18882: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:17665: \$? = $ac_status" >&5
++ echo "$as_me:18885: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ test -n "$cf_math" && cat >>confdefs.h <<EOF
+@@ -17674,7 +18894,7 @@
+ EOF
+
+ cf_result="$cf_math $cf_excp"
+- break
++ break 2
+
+ else
+ echo "$as_me: failed program was:" >&5
+@@ -17683,12 +18903,12 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ done
+ done
+-echo "$as_me:17686: result: $cf_result" >&5
++echo "$as_me:18906: result: $cf_result" >&5
+ echo "${ECHO_T}$cf_result" >&6
+ CXXFLAGS="$cf_save_CXXFLAGS"
+
+ if test -n "$CXX"; then
+-echo "$as_me:17691: checking if $CXX accepts parameter initialization" >&5
++echo "$as_me:18911: checking if $CXX accepts parameter initialization" >&5
+ echo $ECHO_N "checking if $CXX accepts parameter initialization... $ECHO_C" >&6
+ if test "${cf_cv_cpp_param_init+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -17705,7 +18925,7 @@
+ cf_cv_cpp_param_init=unknown
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 17708 "configure"
++#line 18928 "configure"
+ #include "confdefs.h"
+
+ class TEST {
+@@ -17720,19 +18940,19 @@
+ {
+ value = x;
+ }
+-void main() { }
++int main() { }
+
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:17727: \"$ac_link\"") >&5
++if { (eval echo "$as_me:18947: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:17730: \$? = $ac_status" >&5
++ echo "$as_me:18950: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:17732: \"$ac_try\"") >&5
++ { (eval echo "$as_me:18952: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:17735: \$? = $ac_status" >&5
++ echo "$as_me:18955: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_cpp_param_init=yes
+ else
+@@ -17751,16 +18971,17 @@
+ ac_main_return=return
+
+ fi
+-echo "$as_me:17754: result: $cf_cv_cpp_param_init" >&5
++echo "$as_me:18974: result: $cf_cv_cpp_param_init" >&5
+ echo "${ECHO_T}$cf_cv_cpp_param_init" >&6
+ fi
+-test "$cf_cv_cpp_param_init" = yes && cat >>confdefs.h <<\EOF
++test "$cf_cv_cpp_param_init" = yes &&
++cat >>confdefs.h <<\EOF
+ #define CPP_HAS_PARAM_INIT 1
+ EOF
+
+ if test -n "$CXX"; then
+
+-echo "$as_me:17763: checking if $CXX accepts static_cast" >&5
++echo "$as_me:18984: checking if $CXX accepts static_cast" >&5
+ echo $ECHO_N "checking if $CXX accepts static_cast... $ECHO_C" >&6
+ if test "${cf_cv_cpp_static_cast+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -17774,7 +18995,7 @@
+ ac_main_return=return
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 17777 "configure"
++#line 18998 "configure"
+ #include "confdefs.h"
+
+ class NCursesPanel
+@@ -17786,7 +19007,7 @@
+ int begin_x = 0)
+ {
+ }
+-
++ NCursesPanel();
+ ~NCursesPanel();
+ };
+
+@@ -17818,16 +19039,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:17821: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:19042: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:17824: \$? = $ac_status" >&5
++ echo "$as_me:19045: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:17827: \"$ac_try\"") >&5
++ { (eval echo "$as_me:19048: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:17830: \$? = $ac_status" >&5
++ echo "$as_me:19051: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_cpp_static_cast=yes
+ else
+@@ -17845,12 +19066,13 @@
+ ac_main_return=return
+
+ fi
+-echo "$as_me:17848: result: $cf_cv_cpp_static_cast" >&5
++echo "$as_me:19069: result: $cf_cv_cpp_static_cast" >&5
+ echo "${ECHO_T}$cf_cv_cpp_static_cast" >&6
+
+ fi
+
+-test "$cf_cv_cpp_static_cast" = yes && cat >>confdefs.h <<\EOF
++test "$cf_cv_cpp_static_cast" = yes &&
++cat >>confdefs.h <<\EOF
+ #define CPP_HAS_STATIC_CAST 1
+ EOF
+
+@@ -17893,7 +19115,7 @@
+ else
+ if test "$cf_cv_header_stdbool_h" = 1 ; then
+
+-echo "$as_me:17896: checking for size of bool" >&5
++echo "$as_me:19118: checking for size of bool" >&5
+ echo $ECHO_N "checking for size of bool... $ECHO_C" >&6
+ if test "${cf_cv_type_of_bool+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -17904,7 +19126,7 @@
+ cf_cv_type_of_bool=unknown
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 17907 "configure"
++#line 19129 "configure"
+ #include "confdefs.h"
+
+ #include <stdlib.h>
+@@ -17928,7 +19150,7 @@
+
+ #endif
+
+-main()
++int main()
+ {
+ FILE *fp = fopen("cf_test.out", "w");
+ if (fp != 0) {
+@@ -17946,15 +19168,15 @@
+
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:17949: \"$ac_link\"") >&5
++if { (eval echo "$as_me:19171: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:17952: \$? = $ac_status" >&5
++ echo "$as_me:19174: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:17954: \"$ac_try\"") >&5
++ { (eval echo "$as_me:19176: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:17957: \$? = $ac_status" >&5
++ echo "$as_me:19179: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_type_of_bool=`cat cf_test.out`
+ if test -z "$cf_cv_type_of_bool"; then
+@@ -17972,25 +19194,25 @@
+ fi
+
+ rm -f cf_test.out
+-echo "$as_me:17975: result: $cf_cv_type_of_bool" >&5
++echo "$as_me:19197: result: $cf_cv_type_of_bool" >&5
+ echo "${ECHO_T}$cf_cv_type_of_bool" >&6
+ if test "$cf_cv_type_of_bool" = unknown ; then
+ case .$NCURSES_BOOL in #(vi
+ .auto|.) NCURSES_BOOL=unsigned;;
+ esac
+- { echo "$as_me:17981: WARNING: Assuming $NCURSES_BOOL for type of bool" >&5
++ { echo "$as_me:19203: WARNING: Assuming $NCURSES_BOOL for type of bool" >&5
+ echo "$as_me: WARNING: Assuming $NCURSES_BOOL for type of bool" >&2;}
+ cf_cv_type_of_bool=$NCURSES_BOOL
+ fi
+
+ else
+- echo "$as_me:17987: checking for fallback type of bool" >&5
++ echo "$as_me:19209: checking for fallback type of bool" >&5
+ echo $ECHO_N "checking for fallback type of bool... $ECHO_C" >&6
+ case "$host_cpu" in #(vi
+ i?86) cf_cv_type_of_bool=char ;; #(vi
+ *) cf_cv_type_of_bool=int ;;
+ esac
+- echo "$as_me:17993: result: $cf_cv_type_of_bool" >&5
++ echo "$as_me:19215: result: $cf_cv_type_of_bool" >&5
+ echo "${ECHO_T}$cf_cv_type_of_bool" >&6
+ fi
+ fi
+@@ -18019,7 +19241,7 @@
+
+ if test "$cf_with_ada" != "no" ; then
+ if test "$with_libtool" != "no"; then
+- { echo "$as_me:18022: WARNING: libtool does not support Ada - disabling feature" >&5
++ { echo "$as_me:19244: WARNING: libtool does not support Ada - disabling feature" >&5
+ echo "$as_me: WARNING: libtool does not support Ada - disabling feature" >&2;}
+ cf_with_ada=no
+ fi
+@@ -18030,7 +19252,7 @@
+ cf_ada_make=gnatmake
+ # Extract the first word of "$cf_ada_make", so it can be a program name with args.
+ set dummy $cf_ada_make; ac_word=$2
+-echo "$as_me:18033: checking for $ac_word" >&5
++echo "$as_me:19255: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_gnat_exists+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -18045,7 +19267,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_gnat_exists="yes"
+-echo "$as_me:18048: found $ac_dir/$ac_word" >&5
++echo "$as_me:19270: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -18054,31 +19276,32 @@
+ fi
+ gnat_exists=$ac_cv_prog_gnat_exists
+ if test -n "$gnat_exists"; then
+- echo "$as_me:18057: result: $gnat_exists" >&5
++ echo "$as_me:19279: result: $gnat_exists" >&5
+ echo "${ECHO_T}$gnat_exists" >&6
+ else
+- echo "$as_me:18060: result: no" >&5
++ echo "$as_me:19282: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+ if test "$ac_cv_prog_gnat_exists" = no; then
+ cf_ada_make=
++ cf_cv_prog_gnat_correct=no
+ else
+
+-echo "$as_me:18068: checking for gnat version" >&5
++echo "$as_me:19291: checking for gnat version" >&5
+ echo $ECHO_N "checking for gnat version... $ECHO_C" >&6
+ cf_gnat_version=`${cf_ada_make:-gnatmake} -v 2>&1 | \
+ grep '[0-9].[0-9][0-9]*' |\
+ sed -e '2,$d' -e 's/[^0-9 \.]//g' -e 's/^[ ]*//' -e 's/ .*//'`
+-echo "$as_me:18073: result: $cf_gnat_version" >&5
++echo "$as_me:19296: result: $cf_gnat_version" >&5
+ echo "${ECHO_T}$cf_gnat_version" >&6
+
+ case $cf_gnat_version in #(vi
+-3.1[1-9]*|3.[2-9]*|[4-9].*) #(vi
++3.1[1-9]*|3.[2-9]*|[4-9].*|20[0-9][0-9]) #(vi
+ cf_cv_prog_gnat_correct=yes
+ ;;
+ *)
+- { echo "$as_me:18081: WARNING: Unsupported GNAT version $cf_gnat_version. We require 3.11 or better. Disabling Ada95 binding." >&5
++ { echo "$as_me:19304: WARNING: Unsupported GNAT version $cf_gnat_version. We require 3.11 or better. Disabling Ada95 binding." >&5
+ echo "$as_me: WARNING: Unsupported GNAT version $cf_gnat_version. We require 3.11 or better. Disabling Ada95 binding." >&2;}
+ cf_cv_prog_gnat_correct=no
+ ;;
+@@ -18086,7 +19309,7 @@
+
+ # Extract the first word of "m4", so it can be a program name with args.
+ set dummy m4; ac_word=$2
+-echo "$as_me:18089: checking for $ac_word" >&5
++echo "$as_me:19312: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_M4_exists+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -18101,7 +19324,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_M4_exists="yes"
+-echo "$as_me:18104: found $ac_dir/$ac_word" >&5
++echo "$as_me:19327: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -18110,10 +19333,10 @@
+ fi
+ M4_exists=$ac_cv_prog_M4_exists
+ if test -n "$M4_exists"; then
+- echo "$as_me:18113: result: $M4_exists" >&5
++ echo "$as_me:19336: result: $M4_exists" >&5
+ echo "${ECHO_T}$M4_exists" >&6
+ else
+- echo "$as_me:18116: result: no" >&5
++ echo "$as_me:19339: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -18122,7 +19345,7 @@
+ echo Ada95 binding required program m4 not found. Ada95 binding disabled.
+ fi
+ if test "$cf_cv_prog_gnat_correct" = yes; then
+- echo "$as_me:18125: checking if GNAT works" >&5
++ echo "$as_me:19348: checking if GNAT works" >&5
+ echo $ECHO_N "checking if GNAT works... $ECHO_C" >&6
+
+ rm -rf conftest* *~conftest*
+@@ -18150,32 +19373,36 @@
+ fi
+ rm -rf conftest* *~conftest*
+
+- echo "$as_me:18153: result: $cf_cv_prog_gnat_correct" >&5
++ echo "$as_me:19376: result: $cf_cv_prog_gnat_correct" >&5
+ echo "${ECHO_T}$cf_cv_prog_gnat_correct" >&6
+ fi
+ fi
+
+- if test "$cf_cv_prog_gnat_correct" = yes; then
++ if test "x$cf_cv_prog_gnat_correct" = xyes; then
+
+ ADAFLAGS="$ADAFLAGS -gnatpn"
+
+- # make ADAFLAGS consistent with CFLAGS
+- case "$CFLAGS" in
+- *-g*)
++ echo "$as_me:19385: checking optimization options for ADAFLAGS" >&5
++echo $ECHO_N "checking optimization options for ADAFLAGS... $ECHO_C" >&6
++ case "$CFLAGS" in
++ *-g*)
+
+ ADAFLAGS="$ADAFLAGS -g"
+
+- ;;
+- esac
+- case "$CFLAGS" in
+- *-O*)
++ ;;
++ esac
++ case "$CFLAGS" in
++ *-O*)
++ cf_O_flag=`echo "$CFLAGS" |sed -e 's/^.*-O/-O/' -e 's/[ ].*//'`
+
+- ADAFLAGS="$ADAFLAGS -O3"
++ ADAFLAGS="$ADAFLAGS $cf_O_flag"
+
+- ;;
+- esac
++ ;;
++ esac
++ echo "$as_me:19402: result: $ADAFLAGS" >&5
++echo "${ECHO_T}$ADAFLAGS" >&6
+
+-echo "$as_me:18178: checking if GNAT supports generics" >&5
++echo "$as_me:19405: checking if GNAT supports generics" >&5
+ echo $ECHO_N "checking if GNAT supports generics... $ECHO_C" >&6
+ case $cf_gnat_version in #(vi
+ 3.[1-9]*|[4-9].*) #(vi
+@@ -18185,7 +19412,7 @@
+ cf_gnat_generics=no
+ ;;
+ esac
+-echo "$as_me:18188: result: $cf_gnat_generics" >&5
++echo "$as_me:19415: result: $cf_gnat_generics" >&5
+ echo "${ECHO_T}$cf_gnat_generics" >&6
+
+ if test "$cf_gnat_generics" = yes
+@@ -18197,7 +19424,7 @@
+ cf_generic_objects=
+ fi
+
+-echo "$as_me:18200: checking if GNAT supports SIGINT" >&5
++echo "$as_me:19427: checking if GNAT supports SIGINT" >&5
+ echo $ECHO_N "checking if GNAT supports SIGINT... $ECHO_C" >&6
+ if test "${cf_cv_gnat_sigint+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -18245,7 +19472,7 @@
+ rm -rf conftest* *~conftest*
+
+ fi
+-echo "$as_me:18248: result: $cf_cv_gnat_sigint" >&5
++echo "$as_me:19475: result: $cf_cv_gnat_sigint" >&5
+ echo "${ECHO_T}$cf_cv_gnat_sigint" >&6
+
+ if test $cf_cv_gnat_sigint = yes ; then
+@@ -18254,7 +19481,7 @@
+ USE_GNAT_SIGINT="#"
+ fi
+
+-echo "$as_me:18257: checking if GNAT pragma Unreferenced works" >&5
++echo "$as_me:19484: checking if GNAT pragma Unreferenced works" >&5
+ echo $ECHO_N "checking if GNAT pragma Unreferenced works... $ECHO_C" >&6
+ if test "${cf_cv_pragma_unreferenced+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -18285,7 +19512,7 @@
+ rm -rf conftest* *~conftest*
+
+ fi
+-echo "$as_me:18288: result: $cf_cv_pragma_unreferenced" >&5
++echo "$as_me:19515: result: $cf_cv_pragma_unreferenced" >&5
+ echo "${ECHO_T}$cf_cv_pragma_unreferenced" >&6
+
+ # if the pragma is supported, use it (needed in the Trace code).
+@@ -18298,7 +19525,7 @@
+ cf_gnat_libraries=no
+ cf_gnat_projects=no
+
+-echo "$as_me:18301: checking if GNAT supports project files" >&5
++echo "$as_me:19528: checking if GNAT supports project files" >&5
+ echo $ECHO_N "checking if GNAT supports project files... $ECHO_C" >&6
+ case $cf_gnat_version in #(vi
+ 3.[0-9]*) #(vi
+@@ -18366,14 +19593,14 @@
+ esac
+ ;;
+ esac
+-echo "$as_me:18369: result: $cf_gnat_projects" >&5
++echo "$as_me:19596: result: $cf_gnat_projects" >&5
+ echo "${ECHO_T}$cf_gnat_projects" >&6
+
+ if test $cf_gnat_projects = yes
+ then
+- echo "$as_me:18374: checking if GNAT supports libraries" >&5
++ echo "$as_me:19601: checking if GNAT supports libraries" >&5
+ echo $ECHO_N "checking if GNAT supports libraries... $ECHO_C" >&6
+- echo "$as_me:18376: result: $cf_gnat_libraries" >&5
++ echo "$as_me:19603: result: $cf_gnat_libraries" >&5
+ echo "${ECHO_T}$cf_gnat_libraries" >&6
+ fi
+
+@@ -18393,7 +19620,7 @@
+ USE_GNAT_LIBRARIES="#"
+ fi
+
+-echo "$as_me:18396: checking for ada-compiler" >&5
++echo "$as_me:19623: checking for ada-compiler" >&5
+ echo $ECHO_N "checking for ada-compiler... $ECHO_C" >&6
+
+ # Check whether --with-ada-compiler or --without-ada-compiler was given.
+@@ -18404,12 +19631,12 @@
+ cf_ada_compiler=gnatmake
+ fi;
+
+-echo "$as_me:18407: result: $cf_ada_compiler" >&5
++echo "$as_me:19634: result: $cf_ada_compiler" >&5
+ echo "${ECHO_T}$cf_ada_compiler" >&6
+
+ cf_ada_package=terminal_interface
+
+-echo "$as_me:18412: checking for ada-include" >&5
++echo "$as_me:19639: checking for ada-include" >&5
+ echo $ECHO_N "checking for ada-include... $ECHO_C" >&6
+
+ # Check whether --with-ada-include or --without-ada-include was given.
+@@ -18433,7 +19660,7 @@
+ ;;
+ .[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
+ ;;
+-.\${*prefix}*) #(vi
++.\${*prefix}*|.\${*dir}*) #(vi
+ eval withval="$withval"
+ case ".$withval" in #(vi
+ .NONE/*)
+@@ -18445,19 +19672,19 @@
+ withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%`
+ ;;
+ *)
+- { { echo "$as_me:18448: error: expected a pathname, not \"$withval\"" >&5
++ { { echo "$as_me:19675: error: expected a pathname, not \"$withval\"" >&5
+ echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+ esac
+
+ fi
+-ADA_INCLUDE="$withval"
++eval ADA_INCLUDE="$withval"
+
+-echo "$as_me:18457: result: $ADA_INCLUDE" >&5
++echo "$as_me:19684: result: $ADA_INCLUDE" >&5
+ echo "${ECHO_T}$ADA_INCLUDE" >&6
+
+-echo "$as_me:18460: checking for ada-objects" >&5
++echo "$as_me:19687: checking for ada-objects" >&5
+ echo $ECHO_N "checking for ada-objects... $ECHO_C" >&6
+
+ # Check whether --with-ada-objects or --without-ada-objects was given.
+@@ -18481,7 +19708,7 @@
+ ;;
+ .[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
+ ;;
+-.\${*prefix}*) #(vi
++.\${*prefix}*|.\${*dir}*) #(vi
+ eval withval="$withval"
+ case ".$withval" in #(vi
+ .NONE/*)
+@@ -18493,19 +19720,19 @@
+ withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%`
+ ;;
+ *)
+- { { echo "$as_me:18496: error: expected a pathname, not \"$withval\"" >&5
++ { { echo "$as_me:19723: error: expected a pathname, not \"$withval\"" >&5
+ echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+ esac
+
+ fi
+-ADA_OBJECTS="$withval"
++eval ADA_OBJECTS="$withval"
+
+-echo "$as_me:18505: result: $ADA_OBJECTS" >&5
++echo "$as_me:19732: result: $ADA_OBJECTS" >&5
+ echo "${ECHO_T}$ADA_OBJECTS" >&6
+
+-echo "$as_me:18508: checking if an Ada95 shared-library should be built" >&5
++echo "$as_me:19735: checking if an Ada95 shared-library should be built" >&5
+ echo $ECHO_N "checking if an Ada95 shared-library should be built... $ECHO_C" >&6
+
+ # Check whether --with-ada-sharedlib or --without-ada-sharedlib was given.
+@@ -18515,7 +19742,7 @@
+ else
+ with_ada_sharedlib=no
+ fi;
+-echo "$as_me:18518: result: $with_ada_sharedlib" >&5
++echo "$as_me:19745: result: $with_ada_sharedlib" >&5
+ echo "${ECHO_T}$with_ada_sharedlib" >&6
+
+ ADA_SHAREDLIB='lib$(LIB_NAME).so.1'
+@@ -18546,11 +19773,11 @@
+ ### chooses to split module lists into libraries.
+ ###
+ ### (see CF_LIB_RULES).
+-echo "$as_me:18549: checking for library subsets" >&5
++echo "$as_me:19776: checking for library subsets" >&5
+ echo $ECHO_N "checking for library subsets... $ECHO_C" >&6
+ LIB_SUBSETS=
+
+-if test "$cf_with_progs" = yes || test "$with_ticlib" != no || test "$with_termcap" != no; then
++if test "x$cf_with_progs" = xyes || test "$with_ticlib" != no || test "$with_termcap" != no; then
+ LIB_SUBSETS="${LIB_SUBSETS}ticlib"
+ if test "$with_ticlib" != no ; then
+ LIB_SUBSETS="${LIB_SUBSETS} "
+@@ -18560,7 +19787,7 @@
+ fi
+
+ LIB_SUBSETS="${LIB_SUBSETS}termlib"
+-test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_tinfo"
++test "x$with_ext_funcs" = xyes && LIB_SUBSETS="${LIB_SUBSETS}+ext_tinfo"
+
+ if test "$with_termlib" != no ; then
+ LIB_SUBSETS="${LIB_SUBSETS} "
+@@ -18584,29 +19811,29 @@
+ esac
+ fi
+
+-test "$with_widec" = yes && LIB_SUBSETS="${LIB_SUBSETS}+widechar"
+-test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs"
++test "x$with_widec" = xyes && LIB_SUBSETS="${LIB_SUBSETS}+widechar"
++test "x$with_ext_funcs" = xyes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs"
+
+-echo "$as_me:18590: result: $LIB_SUBSETS" >&5
++echo "$as_me:19817: result: $LIB_SUBSETS" >&5
+ echo "${ECHO_T}$LIB_SUBSETS" >&6
+
+ ### Construct the list of include-directories to be generated
+
+-CPPFLAGS="$CPPFLAGS -I. -I../include"
+-if test "$srcdir" != "."; then
+- CPPFLAGS="$CPPFLAGS -I\${srcdir}/../include"
+-fi
+ if test "$GCC" != yes; then
+- CPPFLAGS="$CPPFLAGS -I\${includedir}"
++ CPPFLAGS="-I\${includedir} $CPPFLAGS"
+ elif test "$includedir" != "/usr/include"; then
+ if test "$includedir" = '${prefix}/include' ; then
+ if test $prefix != /usr ; then
+- CPPFLAGS="$CPPFLAGS -I\${includedir}"
++ CPPFLAGS="-I\${includedir} $CPPFLAGS"
+ fi
+ else
+- CPPFLAGS="$CPPFLAGS -I\${includedir}"
++ CPPFLAGS="-I\${includedir} $CPPFLAGS"
+ fi
+ fi
++if test "$srcdir" != "."; then
++ CPPFLAGS="-I\${srcdir}/../include $CPPFLAGS"
++fi
++CPPFLAGS="-I. -I../include $CPPFLAGS"
+
+ ACPPFLAGS="-I. -I../include -I../../include $ACPPFLAGS"
+ if test "$srcdir" != "."; then
+@@ -18625,7 +19852,7 @@
+ fi
+
+ ### Build up pieces for makefile rules
+-echo "$as_me:18628: checking default library suffix" >&5
++echo "$as_me:19855: checking default library suffix" >&5
+ echo $ECHO_N "checking default library suffix... $ECHO_C" >&6
+
+ case $DFT_LWR_MODEL in
+@@ -18636,10 +19863,10 @@
+ shared) DFT_ARG_SUFFIX='' ;;
+ esac
+ test -n "$LIB_SUFFIX" && DFT_ARG_SUFFIX="${LIB_SUFFIX}${DFT_ARG_SUFFIX}"
+-echo "$as_me:18639: result: $DFT_ARG_SUFFIX" >&5
++echo "$as_me:19866: result: $DFT_ARG_SUFFIX" >&5
+ echo "${ECHO_T}$DFT_ARG_SUFFIX" >&6
+
+-echo "$as_me:18642: checking default library-dependency suffix" >&5
++echo "$as_me:19869: checking default library-dependency suffix" >&5
+ echo $ECHO_N "checking default library-dependency suffix... $ECHO_C" >&6
+
+ case $DFT_LWR_MODEL in #(vi
+@@ -18661,11 +19888,11 @@
+ ;;
+ shared) #(vi
+ case $cf_cv_system_name in
+- aix[56]*) #(vi
++ aix[5-7]*) #(vi
+ DFT_LIB_SUFFIX='.a'
+ DFT_DEP_SUFFIX=$DFT_LIB_SUFFIX
+ ;;
+- cygwin*) #(vi
++ cygwin*|mingw*) #(vi
+ DFT_LIB_SUFFIX='.dll'
+ DFT_DEP_SUFFIX='.dll.a'
+ ;;
+@@ -18692,10 +19919,10 @@
+ esac
+ test -n "$LIB_SUFFIX" && DFT_LIB_SUFFIX="${LIB_SUFFIX}${DFT_LIB_SUFFIX}"
+ test -n "$LIB_SUFFIX" && DFT_DEP_SUFFIX="${LIB_SUFFIX}${DFT_DEP_SUFFIX}"
+-echo "$as_me:18695: result: $DFT_DEP_SUFFIX" >&5
++echo "$as_me:19922: result: $DFT_DEP_SUFFIX" >&5
+ echo "${ECHO_T}$DFT_DEP_SUFFIX" >&6
+
+-echo "$as_me:18698: checking default object directory" >&5
++echo "$as_me:19925: checking default object directory" >&5
+ echo $ECHO_N "checking default object directory... $ECHO_C" >&6
+
+ case $DFT_LWR_MODEL in
+@@ -18711,16 +19938,20 @@
+ DFT_OBJ_SUBDIR='obj_s' ;;
+ esac
+ esac
+-echo "$as_me:18714: result: $DFT_OBJ_SUBDIR" >&5
++echo "$as_me:19941: result: $DFT_OBJ_SUBDIR" >&5
+ echo "${ECHO_T}$DFT_OBJ_SUBDIR" >&6
+
+-# libtool thinks it can make c++ shared libraries (perhaps only g++)
+-if test "$cf_with_cxx" = yes ; then
+-echo "$as_me:18719: checking c++ library-dependency suffix" >&5
++if test "x$cf_with_cxx" = xyes ; then
++echo "$as_me:19945: checking c++ library-dependency suffix" >&5
+ echo $ECHO_N "checking c++ library-dependency suffix... $ECHO_C" >&6
+ if test "$with_libtool" != "no"; then
++ # libtool thinks it can make c++ shared libraries (perhaps only g++)
++ CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX
++elif test "$with_shared_cxx" != "no"; then
++ # also for g++ users...
+ CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX
+ else
++ # we normally make a static library because C/C++ library rules differ
+
+ case normal in #(vi
+ libtool) #(vi
+@@ -18741,11 +19972,11 @@
+ ;;
+ shared) #(vi
+ case $cf_cv_system_name in
+- aix[56]*) #(vi
++ aix[5-7]*) #(vi
+ CXX_LIB_SUFFIX='.a'
+ CXX_DEP_SUFFIX=$CXX_LIB_SUFFIX
+ ;;
+- cygwin*) #(vi
++ cygwin*|mingw*) #(vi
+ CXX_LIB_SUFFIX='.dll'
+ CXX_DEP_SUFFIX='.dll.a'
+ ;;
+@@ -18772,14 +20003,15 @@
+ esac
+ test -n "$LIB_SUFFIX" && CXX_LIB_SUFFIX="${LIB_SUFFIX}${CXX_LIB_SUFFIX}"
+ test -n "$LIB_SUFFIX" && CXX_DEP_SUFFIX="${LIB_SUFFIX}${CXX_DEP_SUFFIX}"
++
+ fi
+-echo "$as_me:18776: result: $CXX_LIB_SUFFIX" >&5
++echo "$as_me:20008: result: $CXX_LIB_SUFFIX" >&5
+ echo "${ECHO_T}$CXX_LIB_SUFFIX" >&6
+
+ fi
+
+ # do not want -ldl in build except as needed for -lncurses dependency
+-if test "$with_dlsym" = yes ; then
++if test "x$with_dlsym" = xyes ; then
+ if test $DFT_LWR_MODEL = shared || \
+ test $DFT_LWR_MODEL = libtool ; then
+
+@@ -18793,7 +20025,7 @@
+ # TICS_LIST and TINFO_LIST are needed to build libtic.so and libterm.so, but
+ # do not need libdl
+ TICS_LIST=
+-if test "$with_dlsym" = yes ; then
++if test "x$with_dlsym" = xyes ; then
+
+ # remove dl library from $SHLIB_LIST
+ TINFO_LIST=`echo "$SHLIB_LIST" | sed -e 's/-ldl[ ]//g' -e 's/-ldl$//'`
+@@ -18802,7 +20034,7 @@
+
+ if test "$with_ticlib" != no ; then
+
+- if test "$with_ticlib" != yes ; then
++ if test "x$with_ticlib" != xyes ; then
+ TICS_NAME=$with_ticlib
+ TICS_ARG_SUFFIX="${with_ticlib}`echo ${DFT_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
+ TICS_DEP_SUFFIX="${with_ticlib}`echo ${DFT_DEP_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
+@@ -18812,14 +20044,16 @@
+ TICS_DEP_SUFFIX="${TICS_NAME}${DFT_DEP_SUFFIX}"
+ TICS_LIB_SUFFIX="${TICS_NAME}${LIB_SUFFIX}"
+ fi
+- TICS_ARGS="-L${LIB_DIR} -l${TICS_LIB_SUFFIX}"
++ TICS_LDFLAGS="-L${LIB_DIR}"
++ TICS_LIBS="-l${TICS_LIB_SUFFIX}"
+ else
+- TICS_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}"
++ TICS_LDFLAGS="-L${LIB_DIR}"
++ TICS_LIBS="-l${LIB_NAME}${DFT_ARG_SUFFIX}"
+ fi
+
+ if test "$with_termlib" != no ; then
+
+- if test "$with_termlib" != yes ; then
++ if test "x$with_termlib" != xyes ; then
+ TINFO_NAME=$with_termlib
+ TINFO_SUFFIX="`echo ${DFT_LIB_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
+ TINFO_ARG_SUFFIX="${with_termlib}`echo ${DFT_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
+@@ -18837,14 +20071,22 @@
+ if test "$DFT_LWR_MODEL" = "libtool"; then
+ TEST_ARGS="${TEST_DEPS}"
+ TEST_ARG2="${TEST_DEP2}"
+- TINFO_ARGS="-L${LIB_DIR} $TEST_ARGS"
++ TINFO_LDFLAGS="-L${LIB_DIR}"
++ TINFO_LIBS="$TEST_ARGS"
+ TICS_LIST="$SHLIB_LIST $TEST_ARGS"
+ SHLIB_LIST="${SHLIB_LIST} $TEST_ARGS"
+ else
+ TEST_ARGS="-l${TINFO_ARG_SUFFIX}"
+ TEST_ARG2="-l${TINFO_ARG_SUFFIX}"
+- TICS_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
+- TINFO_ARGS="-L${LIB_DIR} $TEST_ARGS"
++ if test "x$with_term_driver" != xno ; then
++ TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${DFT_ARG_SUFFIX}"
++ TICS_LIBS="$TICS_LIBS -l${LIB_NAME}${DFT_ARG_SUFFIX}"
++ TINFO_LIBS="-l${LIB_NAME}${DFT_ARG_SUFFIX} $TEST_ARGS"
++ else
++ TICS_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
++ TINFO_LIBS="$TEST_ARGS"
++ fi
++ TINFO_LDFLAGS="-L${LIB_DIR}"
+ SHLIB_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
+ fi
+ else
+@@ -18852,13 +20094,14 @@
+ TINFO_NAME=${LIB_NAME}
+ TINFO_SUFFIX=${DFT_LIB_SUFFIX}
+ TINFO_ARG_SUFFIX=${LIB_NAME}${DFT_ARG_SUFFIX}
+- if test "$with_tic_depends" = yes ; then
++ if test "x$with_tic_depends" = xyes ; then
+ TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${DFT_ARG_SUFFIX}"
+ else
+ TICS_LIST="$SHLIB_LIST"
+ fi
+
+- TINFO_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}"
++ TINFO_LDFLAGS="-L${LIB_DIR}"
++ TINFO_LIBS="-l${LIB_NAME}${DFT_ARG_SUFFIX}"
+ fi
+
+ if test "$DFT_LWR_MODEL" = shared ; then
+@@ -18870,7 +20113,7 @@
+ esac
+ fi
+
+-if test "$with_dlsym" = yes ; then
++if test "x$with_dlsym" = xyes ; then
+
+ # remove dl library from $TICS_LIST
+ TICS_LIST=`echo "$TICS_LIST" | sed -e 's/-ldl[ ]//g' -e 's/-ldl$//'`
+@@ -18882,7 +20125,7 @@
+ fi
+
+ # needed for Ada95
+-TINFO_ARGS2=`echo "$TINFO_ARGS" | sed -e 's,-L\.\./,-L../../,'`
++TINFO_LDFLAGS2=`echo "$TINFO_LDFLAGS" | sed -e 's,-L\.\./,-L../../,'`
+
+ case $DFT_LWR_MODEL in
+ normal|debug|profile)
+@@ -18900,7 +20143,7 @@
+ esac
+ else
+ case $cf_cv_system_name in #(
+- aix[456]*) #( from ld manpage
++ aix[4-7]*) #( from ld manpage
+ LDFLAGS_STATIC=-bstatic
+ LDFLAGS_SHARED=-bdynamic
+ ;;
+@@ -18927,19 +20170,19 @@
+
+ if test -n "$LDFLAGS_STATIC" && test -n "$LDFLAGS_SHARED"
+ then
+- echo "$as_me:18930: checking if linker supports switching between static/dynamic" >&5
++ echo "$as_me:20173: checking if linker supports switching between static/dynamic" >&5
+ echo $ECHO_N "checking if linker supports switching between static/dynamic... $ECHO_C" >&6
+
+ rm -f libconftest.a
+ cat >conftest.$ac_ext <<EOF
+-#line 18935 "configure"
++#line 20178 "configure"
+ #include <stdio.h>
+ int cf_ldflags_static(FILE *fp) { return fflush(fp); }
+ EOF
+- if { (eval echo "$as_me:18939: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:20182: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:18942: \$? = $ac_status" >&5
++ echo "$as_me:20185: \$? = $ac_status" >&5
+ (exit $ac_status); } ; then
+ ( $AR $ARFLAGS libconftest.a conftest.o ) 2>&5 1>/dev/null
+ ( eval $RANLIB libconftest.a ) 2>&5 >/dev/null
+@@ -18950,10 +20193,10 @@
+
+ LIBS="$LDFLAGS_STATIC -L`pwd` -lconftest $LDFLAGS_DYNAMIC $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 18953 "configure"
++#line 20196 "configure"
+ #include "confdefs.h"
+
+-#line 18956 "configure"
++#line 20199 "configure"
+ #include <stdio.h>
+ int cf_ldflags_static(FILE *fp);
+
+@@ -18968,18 +20211,28 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:18971: \"$ac_link\"") >&5
++if { (eval echo "$as_me:20214: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:18974: \$? = $ac_status" >&5
++ echo "$as_me:20217: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:18977: \"$ac_try\"") >&5
++ { (eval echo "$as_me:20220: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:18980: \$? = $ac_status" >&5
++ echo "$as_me:20223: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_ldflags_static=yes
++
++ # some linkers simply ignore the -dynamic
++ case x`file conftest$ac_exeext 2>/dev/null` in #(vi
++ *static*) # (vi
++ cf_ldflags_static=no
++ ;;
++ *)
++ cf_ldflags_static=yes
++ ;;
++ esac
++
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+@@ -18990,7 +20243,7 @@
+ rm -f libconftest.*
+ LIBS="$cf_save_LIBS"
+
+- echo "$as_me:18993: result: $cf_ldflags_static" >&5
++ echo "$as_me:20246: result: $cf_ldflags_static" >&5
+ echo "${ECHO_T}$cf_ldflags_static" >&6
+
+ if test $cf_ldflags_static != yes
+@@ -19006,12 +20259,12 @@
+ ;;
+ esac
+
+-echo "$as_me:19009: checking where we will install curses.h" >&5
++echo "$as_me:20262: checking where we will install curses.h" >&5
+ echo $ECHO_N "checking where we will install curses.h... $ECHO_C" >&6
+ test "$with_overwrite" = no && \
+ test "x$includedir" = 'x${prefix}/include' && \
+ includedir='${prefix}/include/ncurses'${LIB_SUFFIX}
+-echo "$as_me:19014: result: $includedir" >&5
++echo "$as_me:20267: result: $includedir" >&5
+ echo "${ECHO_T}$includedir" >&6
+
+ ### Resolve a conflict between normal and wide-curses by forcing applications
+@@ -19019,7 +20272,7 @@
+ if test "$with_overwrite" != no ; then
+ if test "$NCURSES_LIBUTF8" = 1 ; then
+ NCURSES_LIBUTF8='defined(HAVE_LIBUTF8_H)'
+- { echo "$as_me:19022: WARNING: Wide-character applications must define HAVE_LIBUTF8_H to include curses.h" >&5
++ { echo "$as_me:20275: WARNING: Wide-character applications must define HAVE_LIBUTF8_H to include curses.h" >&5
+ echo "$as_me: WARNING: Wide-character applications must define HAVE_LIBUTF8_H to include curses.h" >&2;}
+ fi
+ fi
+@@ -19029,6 +20282,7 @@
+ NCURSES_TREE=
+
+ ### predefined stuff for the test programs
++
+ cat >>confdefs.h <<\EOF
+ #define HAVE_SLK_COLOR 1
+ EOF
+@@ -19036,7 +20290,7 @@
+ ### Construct the list of subdirectories for which we'll customize makefiles
+ ### with the appropriate compile-rules.
+
+-echo "$as_me:19039: checking for src modules" >&5
++echo "$as_me:20293: checking for src modules" >&5
+ echo $ECHO_N "checking for src modules... $ECHO_C" >&6
+
+ # dependencies and linker-arguments for test-programs
+@@ -19050,6 +20304,7 @@
+ TEST_ARG2="-l${LIB_NAME}${DFT_ARG_SUFFIX} $TEST_ARG2"
+ fi
+
++PC_MODULES_TO_MAKE="ncurses${DFT_ARG_SUFFIX}"
+ cf_cv_src_modules=
+ for cf_dir in $modules_to_build
+ do
+@@ -19096,10 +20351,11 @@
+ TEST_ARGS="-l${cf_dir}${DFT_ARG_SUFFIX} $TEST_ARGS"
+ TEST_ARG2="-l${cf_dir}${DFT_ARG_SUFFIX} $TEST_ARG2"
+ fi
++ PC_MODULES_TO_MAKE="${PC_MODULES_TO_MAKE} ${cf_dir}${DFT_ARG_SUFFIX}"
+ fi
+ fi
+ done
+-echo "$as_me:19102: result: $cf_cv_src_modules" >&5
++echo "$as_me:20358: result: $cf_cv_src_modules" >&5
+ echo "${ECHO_T}$cf_cv_src_modules" >&6
+
+ TEST_ARGS="-L${LIB_DIR} $TEST_ARGS"
+@@ -19118,10 +20374,16 @@
+ SRC_SUBDIRS="$SRC_SUBDIRS test"
+ fi
+ test -z "$MAKE_TERMINFO" && SRC_SUBDIRS="$SRC_SUBDIRS misc"
+-test "$cf_with_cxx_binding" != no && SRC_SUBDIRS="$SRC_SUBDIRS c++"
++if test "$cf_with_cxx_binding" != no; then
++ PC_MODULES_TO_MAKE="${PC_MODULES_TO_MAKE} ncurses++${DFT_ARG_SUFFIX}"
++ SRC_SUBDIRS="$SRC_SUBDIRS c++"
++fi
++
++test "x$with_termlib" != xno && PC_MODULES_TO_MAKE="$PC_MODULES_TO_MAKE $TINFO_ARG_SUFFIX"
++test "x$with_ticlib" != xno && PC_MODULES_TO_MAKE="$PC_MODULES_TO_MAKE $TICS_ARG_SUFFIX"
+
+ ADA_SUBDIRS=
+-if test "$cf_cv_prog_gnat_correct" = yes && test -f $srcdir/Ada95/Makefile.in; then
++if test "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = xyes && test -f $srcdir/Ada95/Makefile.in; then
+ SRC_SUBDIRS="$SRC_SUBDIRS Ada95"
+ ADA_SUBDIRS="gen src"
+ if test "x$cf_with_tests" != "xno" ; then
+@@ -19143,7 +20405,7 @@
+
+ fi
+
+-if test "$cf_with_ada" != "no" && test "$cf_cv_prog_gnat_correct" != "no"; then
++if test "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = "xyes"; then
+ SUB_MAKEFILES="$SUB_MAKEFILES Ada95/gen/adacurses${DFT_ARG_SUFFIX}-config:Ada95/gen/adacurses-config.in"
+ SUB_MAKEFILES="$SUB_MAKEFILES man/adacurses${DFT_ARG_SUFFIX}-config.1:man/MKada_config.in"
+ fi
+@@ -19181,6 +20443,7 @@
+ NCURSES_SHLIB2='sh $(top_srcdir)/misc/shlib'
+
+ # values to use as strings
++
+ cat >>confdefs.h <<EOF
+ #define NCURSES_PATHSEP '$PATH_SEPARATOR'
+ EOF
+@@ -19271,32 +20534,32 @@
+
+ ### Define substitutions for header files to avoid name-pollution
+
+-if test "$cf_cv_have_tcgetattr" = yes ; then
++if test "x$cf_cv_have_tcgetattr" = xyes ; then
+ HAVE_TCGETATTR=1
+ else
+ HAVE_TCGETATTR=0
+ fi
+
+-if test "$ac_cv_header_termio_h" = yes ; then
++if test "x$ac_cv_header_termio_h" = xyes ; then
+ HAVE_TERMIO_H=1
+ else
+ HAVE_TERMIO_H=0
+ fi
+
+-if test "$ac_cv_header_termios_h" = yes ; then
++if test "x$ac_cv_header_termios_h" = xyes ; then
+ HAVE_TERMIOS_H=1
+ else
+ HAVE_TERMIOS_H=0
+ fi
+
+ ################################################################################
+-test "$use_database" = yes && \
++test "x$use_database" = xyes && \
+ SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
+
+ SUB_MAKEFILES="$SUB_MAKEFILES misc/ncurses-config:misc/ncurses-config.in"
+ SUB_MAKEFILES="$SUB_MAKEFILES man/ncurses${DFT_ARG_SUFFIX}${cf_cv_abi_version}-config.1:man/MKncu_config.in"
+
+-if test x"$enable_pc_files" = xyes ; then \
++if test "x$enable_pc_files" = xyes ; then \
+ SUB_MAKEFILES="$SUB_MAKEFILES misc/gen-pkgconfig:misc/gen-pkgconfig.in"
+ MAKE_PC_FILES=
+ else
+@@ -19305,7 +20568,7 @@
+
+ # Extract the first word of "tic", so it can be a program name with args.
+ set dummy tic; ac_word=$2
+-echo "$as_me:19308: checking for $ac_word" >&5
++echo "$as_me:20571: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_path_TIC_PATH+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -19322,7 +20585,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ if $as_executable_p "$ac_dir/$ac_word"; then
+ ac_cv_path_TIC_PATH="$ac_dir/$ac_word"
+- echo "$as_me:19325: found $ac_dir/$ac_word" >&5
++ echo "$as_me:20588: found $ac_dir/$ac_word" >&5
+ break
+ fi
+ done
+@@ -19334,10 +20597,10 @@
+ TIC_PATH=$ac_cv_path_TIC_PATH
+
+ if test -n "$TIC_PATH"; then
+- echo "$as_me:19337: result: $TIC_PATH" >&5
++ echo "$as_me:20600: result: $TIC_PATH" >&5
+ echo "${ECHO_T}$TIC_PATH" >&6
+ else
+- echo "$as_me:19340: result: no" >&5
++ echo "$as_me:20603: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -19345,7 +20608,7 @@
+ then
+ if test "$TIC_PATH" = unknown
+ then
+- { echo "$as_me:19348: WARNING: no tic program found for fallbacks" >&5
++ { echo "$as_me:20611: WARNING: no tic program found for fallbacks" >&5
+ echo "$as_me: WARNING: no tic program found for fallbacks" >&2;}
+ fi
+ fi
+@@ -19358,12 +20621,13 @@
+
+ ADAHTML_DIR=../../doc/html/ada
+
++# these could be configurable, but are not currently
++PANEL_NAME=panel
++MENU_NAME=menu
++FORM_NAME=form
++CXX_NAME=ncurses++
++
+ SUB_SCRIPTS=
+-case $cf_cv_system_name in #(vi
+-*mingw32*) #(vi
+- SUB_SCRIPTS="mk-dlls.sh"
+- ;;
+-esac
+
+ ac_config_files="$ac_config_files include/MKterm.h.awk include/curses.head:include/curses.h.in include/ncurses_dll.h include/termcap.h include/unctrl.h $SUB_SCRIPTS $SUB_MAKEFILES Makefile"
+ ac_config_commands="$ac_config_commands default"
+@@ -19446,7 +20710,7 @@
+ : ${CONFIG_STATUS=./config.status}
+ ac_clean_files_save=$ac_clean_files
+ ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+-{ echo "$as_me:19449: creating $CONFIG_STATUS" >&5
++{ echo "$as_me:20713: creating $CONFIG_STATUS" >&5
+ echo "$as_me: creating $CONFIG_STATUS" >&6;}
+ cat >$CONFIG_STATUS <<_ACEOF
+ #! $SHELL
+@@ -19578,7 +20842,7 @@
+ cat >>$CONFIG_STATUS <<EOF
+ ac_cs_version="\\
+ config.status
+-configured by $0, generated by GNU Autoconf 2.52.20101002,
++configured by $0, generated by GNU Autoconf 2.52.20121002,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+ Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+@@ -19622,7 +20886,7 @@
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+- { { echo "$as_me:19625: error: ambiguous option: $1
++ { { echo "$as_me:20889: error: ambiguous option: $1
+ Try \`$0 --help' for more information." >&5
+ echo "$as_me: error: ambiguous option: $1
+ Try \`$0 --help' for more information." >&2;}
+@@ -19641,7 +20905,7 @@
+ ac_need_defaults=false;;
+
+ # This is an error.
+- -*) { { echo "$as_me:19644: error: unrecognized option: $1
++ -*) { { echo "$as_me:20908: error: unrecognized option: $1
+ Try \`$0 --help' for more information." >&5
+ echo "$as_me: error: unrecognized option: $1
+ Try \`$0 --help' for more information." >&2;}
+@@ -19660,7 +20924,7 @@
+ ## Running config.status. ##
+ ## ----------------------- ##
+
+-This file was extended by $as_me 2.52.20101002, executed with
++This file was extended by $as_me 2.52.20121002, executed with
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+@@ -19682,10 +20946,11 @@
+ AWK="$AWK"
+ DFT_ARG_SUFFIX="$DFT_ARG_SUFFIX"
+ DFT_LWR_MODEL="$DFT_LWR_MODEL"
+-ECHO_LINK="$ECHO_LINK"
++ECHO_LD="$ECHO_LD"
+ LDCONFIG="$LDCONFIG"
+ LIBTOOL_VERSION="$LIBTOOL_VERSION"
+ LIB_NAME="$LIB_NAME"
++LIB_PREFIX="$LIB_PREFIX"
+ LIB_SUBSETS="$LIB_SUBSETS"
+ LIB_SUFFIX="$LIB_SUFFIX"
+ LIB_TRACING="$LIB_TRACING"
+@@ -19707,7 +20972,7 @@
+ TINFO_SUFFIX="$TINFO_SUFFIX"
+ USE_OLD_MAKERULES="$USE_OLD_MAKERULES"
+ WITH_CURSES_H="$with_curses_h"
+-WITH_ECHO="$with_echo"
++WITH_ECHO="${enable_echo:=yes}"
+ WITH_OVERWRITE="$with_overwrite"
+ cf_LIST_MODELS="$cf_list_models"
+ cf_cv_abi_version="$cf_cv_abi_version"
+@@ -19717,16 +20982,19 @@
+ cf_cv_enable_opaque="$cf_cv_enable_opaque"
+ cf_cv_prog_CC_c_o=$cf_cv_prog_CC_c_o
+ cf_cv_prog_CXX_c_o=$cf_cv_prog_CXX_c_o
++cf_cv_prog_gnat_correct=$cf_cv_prog_gnat_correct
+ cf_cv_rel_version="$cf_cv_rel_version"
+ cf_cv_rm_so_locs="$cf_cv_rm_so_locs"
+ cf_cv_shared_soname='$cf_cv_shared_soname'
+ cf_cv_shlib_version="$cf_cv_shlib_version"
+ cf_cv_shlib_version_infix="$cf_cv_shlib_version_infix"
+ cf_cv_system_name="$cf_cv_system_name"
++cf_cv_term_driver="$with_term_driver"
+ cf_with_ada="$cf_with_ada"
+ cf_with_cxx_binding="$cf_with_cxx_binding"
+ cf_with_manpages="$cf_with_manpages"
+ cf_with_tests="$cf_with_tests"
++with_shared_cxx="$with_shared_cxx"
+ host="$host"
+ target="$target"
+
+@@ -19747,7 +21015,7 @@
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
+ "include/ncurses_cfg.h" ) CONFIG_HEADERS="$CONFIG_HEADERS include/ncurses_cfg.h:include/ncurses_cfg.hin" ;;
+- *) { { echo "$as_me:19750: error: invalid argument: $ac_config_target" >&5
++ *) { { echo "$as_me:21018: error: invalid argument: $ac_config_target" >&5
+ echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+@@ -19806,6 +21074,7 @@
+ s,@bindir@,$bindir,;t t
+ s,@sbindir@,$sbindir,;t t
+ s,@libexecdir@,$libexecdir,;t t
++s,@datarootdir@,$datarootdir,;t t
+ s,@datadir@,$datadir,;t t
+ s,@sysconfdir@,$sysconfdir,;t t
+ s,@sharedstatedir@,$sharedstatedir,;t t
+@@ -19858,9 +21127,8 @@
+ s,@ac_ct_CC@,$ac_ct_CC,;t t
+ s,@EXEEXT@,$EXEEXT,;t t
+ s,@OBJEXT@,$OBJEXT,;t t
+-s,@CPP@,$CPP,;t t
+ s,@EXTRA_CPPFLAGS@,$EXTRA_CPPFLAGS,;t t
+-s,@PROG_EXT@,$PROG_EXT,;t t
++s,@CPP@,$CPP,;t t
+ s,@LDCONFIG@,$LDCONFIG,;t t
+ s,@CXX@,$CXX,;t t
+ s,@CXXFLAGS@,$CXXFLAGS,;t t
+@@ -19900,6 +21168,7 @@
+ s,@cf_list_models@,$cf_list_models,;t t
+ s,@LIBTOOL_VERSION@,$LIBTOOL_VERSION,;t t
+ s,@LIBTOOL@,$LIBTOOL,;t t
++s,@ac_ct_LIBTOOL@,$ac_ct_LIBTOOL,;t t
+ s,@LT_UNDEF@,$LT_UNDEF,;t t
+ s,@LIBTOOL_CXX@,$LIBTOOL_CXX,;t t
+ s,@LIBTOOL_OPTS@,$LIBTOOL_OPTS,;t t
+@@ -19931,10 +21200,12 @@
+ s,@LOCAL_LDFLAGS@,$LOCAL_LDFLAGS,;t t
+ s,@LOCAL_LDFLAGS2@,$LOCAL_LDFLAGS2,;t t
+ s,@INSTALL_LIB@,$INSTALL_LIB,;t t
++s,@RPATH_LIST@,$RPATH_LIST,;t t
+ s,@cf_ldd_prog@,$cf_ldd_prog,;t t
+ s,@TERMINFO_SRC@,$TERMINFO_SRC,;t t
+ s,@FALLBACK_LIST@,$FALLBACK_LIST,;t t
+ s,@WHICH_XTERM@,$WHICH_XTERM,;t t
++s,@XTERM_KBS@,$XTERM_KBS,;t t
+ s,@TERMINFO_DIRS@,$TERMINFO_DIRS,;t t
+ s,@TERMINFO@,$TERMINFO,;t t
+ s,@MAKE_TERMINFO@,$MAKE_TERMINFO,;t t
+@@ -19955,6 +21226,7 @@
+ s,@TERMINFO_CAPS@,$TERMINFO_CAPS,;t t
+ s,@NCURSES_OSPEED@,$NCURSES_OSPEED,;t t
+ s,@NCURSES_CCHARW_MAX@,$NCURSES_CCHARW_MAX,;t t
++s,@NCURSES_TPARM_ARG@,$NCURSES_TPARM_ARG,;t t
+ s,@MANPAGE_RENAMES@,$MANPAGE_RENAMES,;t t
+ s,@NCURSES_EXT_FUNCS@,$NCURSES_EXT_FUNCS,;t t
+ s,@GENERATED_EXT_FUNCS@,$GENERATED_EXT_FUNCS,;t t
+@@ -19972,6 +21244,11 @@
+ s,@NCURSES_OPAQUE@,$NCURSES_OPAQUE,;t t
+ s,@NCURSES_SIZE_T@,$NCURSES_SIZE_T,;t t
+ s,@NCURSES_WRAP_PREFIX@,$NCURSES_WRAP_PREFIX,;t t
++s,@ECHO_LT@,$ECHO_LT,;t t
++s,@ECHO_LD@,$ECHO_LD,;t t
++s,@RULE_CC@,$RULE_CC,;t t
++s,@SHOW_CC@,$SHOW_CC,;t t
++s,@ECHO_CC@,$ECHO_CC,;t t
+ s,@ECHO_LINK@,$ECHO_LINK,;t t
+ s,@ADAFLAGS@,$ADAFLAGS,;t t
+ s,@EXTRA_CFLAGS@,$EXTRA_CFLAGS,;t t
+@@ -20015,12 +21292,14 @@
+ s,@TICS_ARG_SUFFIX@,$TICS_ARG_SUFFIX,;t t
+ s,@TICS_DEP_SUFFIX@,$TICS_DEP_SUFFIX,;t t
+ s,@TICS_LIB_SUFFIX@,$TICS_LIB_SUFFIX,;t t
+-s,@TICS_ARGS@,$TICS_ARGS,;t t
++s,@TICS_LDFLAGS@,$TICS_LDFLAGS,;t t
++s,@TICS_LIBS@,$TICS_LIBS,;t t
+ s,@TINFO_ARG_SUFFIX@,$TINFO_ARG_SUFFIX,;t t
+ s,@TINFO_DEP_SUFFIX@,$TINFO_DEP_SUFFIX,;t t
+ s,@TINFO_LIB_SUFFIX@,$TINFO_LIB_SUFFIX,;t t
+-s,@TINFO_ARGS@,$TINFO_ARGS,;t t
+-s,@TINFO_ARGS2@,$TINFO_ARGS2,;t t
++s,@TINFO_LDFLAGS@,$TINFO_LDFLAGS,;t t
++s,@TINFO_LIBS@,$TINFO_LIBS,;t t
++s,@TINFO_LDFLAGS2@,$TINFO_LDFLAGS2,;t t
+ s,@LDFLAGS_STATIC@,$LDFLAGS_STATIC,;t t
+ s,@LDFLAGS_SHARED@,$LDFLAGS_SHARED,;t t
+ s,@WITH_OVERWRITE@,$WITH_OVERWRITE,;t t
+@@ -20032,6 +21311,7 @@
+ s,@TEST_DEPS@,$TEST_DEPS,;t t
+ s,@TEST_ARG2@,$TEST_ARG2,;t t
+ s,@TEST_DEP2@,$TEST_DEP2,;t t
++s,@PC_MODULES_TO_MAKE@,$PC_MODULES_TO_MAKE,;t t
+ s,@ADA_SUBDIRS@,$ADA_SUBDIRS,;t t
+ s,@DIRS_TO_MAKE@,$DIRS_TO_MAKE,;t t
+ s,@NCURSES_SHLIB2@,$NCURSES_SHLIB2,;t t
+@@ -20043,6 +21323,10 @@
+ s,@TIC_PATH@,$TIC_PATH,;t t
+ s,@MAKE_TESTS@,$MAKE_TESTS,;t t
+ s,@ADAHTML_DIR@,$ADAHTML_DIR,;t t
++s,@PANEL_NAME@,$PANEL_NAME,;t t
++s,@MENU_NAME@,$MENU_NAME,;t t
++s,@FORM_NAME@,$FORM_NAME,;t t
++s,@CXX_NAME@,$CXX_NAME,;t t
+ CEOF
+
+ EOF
+@@ -20157,7 +21441,7 @@
+ esac
+
+ if test x"$ac_file" != x-; then
+- { echo "$as_me:20160: creating $ac_file" >&5
++ { echo "$as_me:21444: creating $ac_file" >&5
+ echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+@@ -20175,7 +21459,7 @@
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+- test -f "$f" || { { echo "$as_me:20178: error: cannot find input file: $f" >&5
++ test -f "$f" || { { echo "$as_me:21462: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+@@ -20188,13 +21472,45 @@
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+- { { echo "$as_me:20191: error: cannot find input file: $f" >&5
++ { { echo "$as_me:21475: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+ EOF
++cat >>$CONFIG_STATUS <<\EOF
++ ac_warn_datarootdir=no
++ if test x"$ac_file" != x-; then
++ for ac_item in $ac_file_inputs
++ do
++ ac_seen=`grep '@\(datadir\|mandir\|infodir\)@' $ac_item`
++ if test -n "$ac_seen"; then
++ ac_used=`grep '@datarootdir@' $ac_item`
++ if test -z "$ac_used"; then
++ { echo "$as_me:21491: WARNING: datarootdir was used implicitly but not set:
++$ac_seen" >&5
++echo "$as_me: WARNING: datarootdir was used implicitly but not set:
++$ac_seen" >&2;}
++ ac_warn_datarootdir=yes
++ fi
++ fi
++ ac_seen=`grep '${datarootdir}' $ac_item`
++ if test -n "$ac_seen"; then
++ { echo "$as_me:21500: WARNING: datarootdir was used explicitly but not set:
++$ac_seen" >&5
++echo "$as_me: WARNING: datarootdir was used explicitly but not set:
++$ac_seen" >&2;}
++ ac_warn_datarootdir=yes
++ fi
++ done
++ fi
++
++if test "x$ac_warn_datarootdir" = xyes; then
++ ac_sed_cmds="$ac_sed_cmds | sed -e 's,@datarootdir@,\${prefix}/share,g' -e 's,\${datarootdir},\${prefix}/share,g'"
++fi
++
++EOF
+ cat >>$CONFIG_STATUS <<EOF
+ sed "$ac_vpsub
+ $extrasub
+@@ -20209,11 +21525,35 @@
+ " $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+- mv $tmp/out $ac_file
++ cp $tmp/out $ac_file
++
++ for ac_name in prefix exec_prefix datarootdir
++ do
++ ac_seen=`fgrep -n '${'$ac_name'[:=].*}' $ac_file`
++ if test -n "$ac_seen"; then
++ ac_init=`egrep '[ ]*'$ac_name'[ ]*=' $ac_file`
++ if test -z "$ac_init"; then
++ ac_seen=`echo "$ac_seen" |sed -e 's,^,'$ac_file':,'`
++ { echo "$as_me:21537: WARNING: Variable $ac_name is used but was not set:
++$ac_seen" >&5
++echo "$as_me: WARNING: Variable $ac_name is used but was not set:
++$ac_seen" >&2;}
++ fi
++ fi
++ done
++ egrep -n '@[a-z_][a-z_0-9]+@' $ac_file >$tmp/out
++ egrep -n '@[A-Z_][A-Z_0-9]+@' $ac_file >>$tmp/out
++ if test -s $tmp/out; then
++ ac_seen=`sed -e 's,^,'$ac_file':,' < $tmp/out`
++ { echo "$as_me:21548: WARNING: Some variables may not be substituted:
++$ac_seen" >&5
++echo "$as_me: WARNING: Some variables may not be substituted:
++$ac_seen" >&2;}
++ fi
+ else
+ cat $tmp/out
+- rm -f $tmp/out
+ fi
++ rm -f $tmp/out
+
+ done
+ EOF
+@@ -20254,7 +21594,7 @@
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+- test x"$ac_file" != x- && { echo "$as_me:20257: creating $ac_file" >&5
++ test x"$ac_file" != x- && { echo "$as_me:21597: creating $ac_file" >&5
+ echo "$as_me: creating $ac_file" >&6;}
+
+ # First look for the input files in the build tree, otherwise in the
+@@ -20265,7 +21605,7 @@
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+- test -f "$f" || { { echo "$as_me:20268: error: cannot find input file: $f" >&5
++ test -f "$f" || { { echo "$as_me:21608: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+@@ -20278,7 +21618,7 @@
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+- { { echo "$as_me:20281: error: cannot find input file: $f" >&5
++ { { echo "$as_me:21621: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+@@ -20336,7 +21676,7 @@
+ rm -f $tmp/in
+ if test x"$ac_file" != x-; then
+ if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
+- { echo "$as_me:20339: $ac_file is unchanged" >&5
++ { echo "$as_me:21679: $ac_file is unchanged" >&5
+ echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+@@ -20394,25 +21734,20 @@
+ if test ! -d $srcdir/$cf_dir; then
+ continue
+ elif test -f $srcdir/$cf_dir/programs; then
+- $AWK -f $srcdir/test/mk-test.awk INSTALL=no ECHO_LINK="$ECHO_LINK" $srcdir/$cf_dir/programs >>$cf_dir/Makefile
++ $AWK -f $srcdir/test/mk-test.awk INSTALL=no ECHO_LINK="$ECHO_LD" $srcdir/$cf_dir/programs >>$cf_dir/Makefile
+ fi
+ done
+
+ fi
+
+- case $cf_cv_system_name in #(vi
+- OS/2*|os2*) #(vi
+- LIB_PREFIX=''
+- ;;
+- *) LIB_PREFIX='lib'
+- ;;
+- esac
+ cf_prefix=$LIB_PREFIX
+
+-if test $cf_cv_shlib_version = cygdll ; then
++case $cf_cv_shlib_version in #(vi
++cygdll|mingw)
+ TINFO_NAME=$TINFO_ARG_SUFFIX
+ TINFO_SUFFIX=.dll
+-fi
++ ;;
++esac
+
+ if test -n "$TINFO_SUFFIX" ; then
+ case $TINFO_SUFFIX in
+@@ -20438,7 +21773,7 @@
+ elif test -f $srcdir/$cf_dir/modules; then
+
+ SHARED_LIB=
+- LIBS_TO_MAKE=
++ Libs_To_Make=
+ for cf_item in $cf_LIST_MODELS
+ do
+
+@@ -20461,11 +21796,11 @@
+ ;;
+ shared) #(vi
+ case $cf_cv_system_name in
+- aix[56]*) #(vi
++ aix[5-7]*) #(vi
+ cf_suffix='.a'
+ cf_depsuf=$cf_suffix
+ ;;
+- cygwin*) #(vi
++ cygwin*|mingw*) #(vi
+ cf_suffix='.dll'
+ cf_depsuf='.dll.a'
+ ;;
+@@ -20493,75 +21828,69 @@
+ test -n "$LIB_SUFFIX" && cf_suffix="${LIB_SUFFIX}${cf_suffix}"
+ test -n "$LIB_SUFFIX" && cf_depsuf="${LIB_SUFFIX}${cf_depsuf}"
+
++ cf_libname=$cf_dir
++ test "$cf_dir" = c++ && cf_libname=ncurses++
+ if test $cf_item = shared ; then
+- if test "$cf_cv_do_symlinks" = yes ; then
+- case "$cf_cv_shlib_version" in #(vi
+- rel) #(vi
+- case "$cf_cv_system_name" in #(vi
+- darwin*)
+- case .${LIB_SUFFIX} in
+- .tw*)
+- cf_suffix=`echo $cf_suffix | sed 's/^tw//'`
+- cf_suffix=tw'.${REL_VERSION}'"$cf_suffix"
+- ;;
+- .t*)
+- cf_suffix=`echo $cf_suffix | sed 's/^t//'`
+- cf_suffix=t'.${REL_VERSION}'"$cf_suffix"
+- ;;
+- .w*)
+- cf_suffix=`echo $cf_suffix | sed 's/^w//'`
+- cf_suffix=w'.${REL_VERSION}'"$cf_suffix"
++ if test -n "${LIB_SUFFIX}"
++ then
++ cf_shared_suffix=`echo "$cf_suffix" | sed 's/^'"${LIB_SUFFIX}"'//'`
++ else
++ cf_shared_suffix="$cf_suffix"
++ fi
++ if test "$cf_cv_do_symlinks" = yes ; then
++ cf_version_name=
++
++ case "$cf_cv_shlib_version" in #(vi
++ rel) #(vi
++ cf_version_name=REL_VERSION
+ ;;
+- *)
+- cf_suffix='.${REL_VERSION}'"$cf_suffix"
++ abi)
++ cf_version_name=ABI_VERSION
+ ;;
+ esac
+- ;; #(vi
+- *) cf_suffix="$cf_suffix"'.${REL_VERSION}' ;;
+- esac
++
++ if test -n "$cf_version_name"
++ then
++ case "$cf_cv_system_name" in #(vi
++ darwin*)
++ # "w", etc?
++ cf_suffix="${LIB_SUFFIX}"'.${'$cf_version_name'}'"$cf_shared_suffix"
++ ;; #(vi
++ *)
++ cf_suffix="$cf_suffix"'.${'$cf_version_name'}'
++ ;;
++ esac
++ fi
++ if test -n "${LIB_SUFFIX}"
++ then
++ cf_shared_suffix=`echo "$cf_suffix" | sed 's/^'"${LIB_SUFFIX}"'//'`
++ else
++ cf_shared_suffix="$cf_suffix"
++ fi
++ fi
++ # cygwin needs import library, and has unique naming convention
++ # use autodetected ${cf_prefix} for import lib and static lib, but
++ # use 'cyg' prefix for shared lib.
++ case $cf_cv_shlib_version in #(vi
++ cygdll) #(vi
++ cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'`
++ Libs_To_Make="$Libs_To_Make ../lib/cyg${cf_libname}${cf_cygsuf}"
++ continue
+ ;;
+- abi)
+- case "$cf_cv_system_name" in #(vi
+- darwin*)
+- case .${LIB_SUFFIX} in
+- .tw*)
+- cf_suffix=`echo $cf_suffix | sed 's/^tw//'`
+- cf_suffix=tw'.${ABI_VERSION}'"$cf_suffix"
+- ;;
+- .t*)
+- cf_suffix=`echo $cf_suffix | sed 's/^t//'`
+- cf_suffix=t'.${ABI_VERSION}'"$cf_suffix"
+- ;;
+- .w*)
+- cf_suffix=`echo $cf_suffix | sed 's/^w//'`
+- cf_suffix=w'.${ABI_VERSION}'"$cf_suffix"
+- ;;
+- *)
+- cf_suffix='.${ABI_VERSION}'"$cf_suffix"
+- ;;
+- esac
+- ;; #(vi
+- *) cf_suffix="$cf_suffix"'.${ABI_VERSION}' ;;
+- esac
++ mingw)
++ cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'`
++ Libs_To_Make="$Libs_To_Make ../lib/lib${cf_libname}${cf_cygsuf}"
++ continue
+ ;;
+ esac
+ fi
+- # cygwin needs import library, and has unique naming convention
+- # use autodetected ${cf_prefix} for import lib and static lib, but
+- # use 'cyg' prefix for shared lib.
+- if test $cf_cv_shlib_version = cygdll ; then
+- cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'`
+- LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/cyg${cf_dir}${cf_cygsuf}"
+- continue
+- fi
+- fi
+- LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/${cf_prefix}${cf_dir}${cf_suffix}"
++ Libs_To_Make="$Libs_To_Make ../lib/${cf_prefix}${cf_libname}${cf_suffix}"
+ done
+
+ if test $cf_dir = ncurses ; then
+ cf_subsets="$LIB_SUBSETS"
+ cf_r_parts="$cf_subsets"
+- cf_liblist="$LIBS_TO_MAKE"
++ cf_liblist="$Libs_To_Make"
+
+ while test -n "$cf_r_parts"
+ do
+@@ -20581,7 +21910,7 @@
+ ;;
+ esac
+ if test -n "$cf_item"; then
+- LIBS_TO_MAKE="$cf_item $LIBS_TO_MAKE"
++ Libs_To_Make="$cf_item $Libs_To_Make"
+ fi
+ else
+ break
+@@ -20591,13 +21920,40 @@
+ cf_subsets=`echo "$LIB_SUBSETS" | sed -e 's/^termlib.* //'`
+ fi
+
+- sed -e "s%@LIBS_TO_MAKE@%$LIBS_TO_MAKE%" \
++ if test $cf_dir = c++; then
++ if test "x$with_shared_cxx" != xyes && test -n "$cf_shared_suffix"; then
++ cf_list=
++ for cf_item in $Libs_To_Make
++ do
++ case $cf_item in
++ *.a)
++ ;;
++ *)
++ cf_item=`echo "$cf_item" | sed -e "s,"$cf_shared_suffix",.a,"`
++ ;;
++ esac
++ for cf_test in $cf_list
++ do
++ if test "$cf_test" = "$cf_item"
++ then
++ cf_LIST_MODELS=`echo "$cf_LIST_MODELS" | sed -e 's/normal//'`
++ cf_item=
++ break
++ fi
++ done
++ test -n "$cf_item" && cf_list="$cf_list $cf_item"
++ done
++ Libs_To_Make="$cf_list"
++ fi
++ fi
++
++ sed -e "s%@Libs_To_Make@%$Libs_To_Make%" \
+ -e "s%@SHARED_LIB@%$SHARED_LIB%" \
+ $cf_dir/Makefile >$cf_dir/Makefile.out
+ mv $cf_dir/Makefile.out $cf_dir/Makefile
+
+ $AWK -f $srcdir/mk-0th.awk \
+- libname="${cf_dir}${LIB_SUFFIX}" subsets="$LIB_SUBSETS" \
++ libname="${cf_dir}${LIB_SUFFIX}" subsets="$LIB_SUBSETS" ticlib="$TICS_LIB_SUFFIX" termlib="$TINFO_LIB_SUFFIX" \
+ $srcdir/$cf_dir/modules >>$cf_dir/Makefile
+
+ for cf_subset in $cf_subsets
+@@ -20605,10 +21961,27 @@
+ cf_subdirs=
+ for cf_item in $cf_LIST_MODELS
+ do
++
+ echo "Appending rules for ${cf_item} model (${cf_dir}: ${cf_subset})"
+
+ cf_ITEM=`echo "$cf_item" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+
++ CXX_MODEL=$cf_ITEM
++ if test "$CXX_MODEL" = SHARED; then
++ case $cf_cv_shlib_version in #(vi
++ cygdll|mingw) #(vi
++ test "x$with_shared_cxx" = xno && test -n "$verbose" && echo " overriding CXX_MODEL to SHARED" 1>&6
++
++echo "${as_me:-configure}:21975: testing overriding CXX_MODEL to SHARED ..." 1>&5
++
++ with_shared_cxx=yes
++ ;;
++ *)
++ test "x$with_shared_cxx" = xno && CXX_MODEL=NORMAL
++ ;;
++ esac
++ fi
++
+ case $cf_item in #(vi
+ libtool) #(vi
+ cf_suffix='.la'
+@@ -20628,11 +22001,11 @@
+ ;;
+ shared) #(vi
+ case $cf_cv_system_name in
+- aix[56]*) #(vi
++ aix[5-7]*) #(vi
+ cf_suffix='.a'
+ cf_depsuf=$cf_suffix
+ ;;
+- cygwin*) #(vi
++ cygwin*|mingw*) #(vi
+ cf_suffix='.dll'
+ cf_depsuf='.dll.a'
+ ;;
+@@ -20688,6 +22061,8 @@
+ cf_libname=$TICS_LIB_SUFFIX
+ ;;
+ esac
++ elif test $cf_dir = c++ ; then
++ cf_libname=ncurses++$LIB_SUFFIX
+ else
+ cf_libname=${cf_libname}$LIB_SUFFIX
+ fi
+@@ -20739,10 +22114,12 @@
+ name=${cf_libname}${cf_dir_suffix} \
+ traces=$LIB_TRACING \
+ MODEL=$cf_ITEM \
++ CXX_MODEL=$CXX_MODEL \
+ model=$cf_subdir \
+ prefix=$cf_prefix \
+ suffix=$cf_suffix \
+ subset=$cf_subset \
++ driver=$cf_cv_term_driver \
+ SymLink="$LN_S" \
+ TermlibRoot=$TINFO_NAME \
+ TermlibSuffix=$TINFO_SUFFIX \
+@@ -20781,7 +22158,7 @@
+ done
+ fi
+
+- echo ' cd '$cf_dir' && ${MAKE} ${CF_MFLAGS} $@' >>Makefile
++ echo ' cd '$cf_dir' && ${MAKE} ${TOP_MFLAGS} $@' >>Makefile
+ done
+
+ for cf_dir in $SRC_SUBDIRS
+@@ -20796,7 +22173,7 @@
+ echo 'libs \' >> Makefile
+ echo 'install.libs \' >> Makefile
+ echo 'uninstall.libs ::' >> Makefile
+- echo ' cd '$cf_dir' && ${MAKE} ${CF_MFLAGS} $@' >> Makefile
++ echo ' cd '$cf_dir' && ${MAKE} ${TOP_MFLAGS} $@' >> Makefile
+ ;;
+ esac
+ fi
+@@ -20819,7 +22196,7 @@
+ uninstall.libs \\
+ install.$cf_dir \\
+ uninstall.$cf_dir ::
+- cd $cf_dir && \${MAKE} \${CF_MFLAGS} \$@
++ cd $cf_dir && \${MAKE} \${TOP_MFLAGS} \$@
+ CF_EOF
+ elif test -f $srcdir/$cf_dir/headers; then
+ cat >> Makefile <<CF_EOF
+@@ -20829,7 +22206,7 @@
+ uninstall.libs \\
+ install.includes \\
+ uninstall.includes ::
+- cd $cf_dir && \${MAKE} \${CF_MFLAGS} \$@
++ cd $cf_dir && \${MAKE} \${TOP_MFLAGS} \$@
+ CF_EOF
+ fi
+ done
+@@ -20838,7 +22215,7 @@
+
+ install.libs uninstall.libs \\
+ install.data uninstall.data ::
+-$MAKE_TERMINFO cd misc && \${MAKE} \${CF_MFLAGS} \$@
++$MAKE_TERMINFO cd misc && \${MAKE} \${TOP_MFLAGS} \$@
+ CF_EOF
+
+ if test "x$cf_with_manpages" = xyes; then
+@@ -20846,7 +22223,7 @@
+
+ install.man \\
+ uninstall.man ::
+- cd man && \${MAKE} \${CF_MFLAGS} \$@
++ cd man && \${MAKE} \${TOP_MFLAGS} \$@
+ CF_EOF
+ fi
+
+@@ -20867,7 +22244,7 @@
+
+ install.man \\
+ uninstall.man ::
+- cd tack && \${MAKE} \${CF_MFLAGS} \$@
++ cd tack && \${MAKE} \${TOP_MFLAGS} \$@
+ CF_EOF
+ fi
+ fi
+@@ -20979,7 +22356,7 @@
+ fi
+ done
+
+-if test "x$cf_with_ada" != xno ; then
++if test "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = "xyes"; then
+ if test -z "$USE_OLD_MAKERULES" ; then
+ $AWK -f $srcdir/Ada95/mk-1st.awk <$srcdir/Ada95/src/modules >>Ada95/src/Makefile
+ fi
+Index: configure.in
+Prereq: 1.520
+--- ncurses-5.9/configure.in 2011-03-28 00:22:26.000000000 +0000
++++ ncurses-5.9-20130504/configure.in 2013-04-27 19:37:40.000000000 +0000
+@@ -1,5 +1,5 @@
+ dnl***************************************************************************
+-dnl Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++dnl Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ dnl *
+ dnl Permission is hereby granted, free of charge, to any person obtaining a *
+ dnl copy of this software and associated documentation files (the *
+@@ -28,14 +28,14 @@
+ dnl
+ dnl Author: Thomas E. Dickey 1995-on
+ dnl
+-dnl $Id: configure.in,v 1.520 2011/03/28 00:22:26 tom Exp $
++dnl $Id: configure.in,v 1.565 2013/04/27 19:37:40 tom Exp $
+ dnl Process this file with autoconf to produce a configure script.
+ dnl
+ dnl See http://invisible-island.net/autoconf/ for additional information.
+ dnl
+ dnl ---------------------------------------------------------------------------
+-AC_PREREQ(2.13.20020210)
+-AC_REVISION($Revision: 1.520 $)
++AC_PREREQ(2.52.20030208)
++AC_REVISION($Revision: 1.565 $)
+ AC_INIT(ncurses/base/lib_initscr.c)
+ AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
+
+@@ -45,11 +45,7 @@
+ CF_WITH_REL_VERSION(NCURSES)
+ CF_WITH_ABI_VERSION
+
+-CF_CHECK_CACHE([AC_CANONICAL_SYSTEM])
+-AC_ARG_WITH(system-type,
+-[ --with-system-type=XXX test: override derived host system-type],
+-[AC_MSG_WARN(overriding system type to $withval)
+- cf_cv_system_name=$withval])
++CF_WITH_SYSTYPE
+
+ ### Save the given $CFLAGS to allow user-override.
+ cf_user_CFLAGS="$CFLAGS"
+@@ -58,15 +54,22 @@
+ CF_CFG_DEFAULTS
+
+ ### Checks for programs.
+-AC_PROG_CC
+-CF_GCC_VERSION
++AC_ARG_WITH(ada,
++ [ --without-ada suppress check for Ada95, don't build demo],
++ [cf_with_ada=$withval],
++ [cf_with_ada=yes])
++if test "x$cf_with_ada" = xyes
++then
++ cf_PROG_CC="gnatgcc gcc cc"
++else
++ cf_PROG_CC="gcc cc"
++fi
++
++CF_PROG_CC($cf_PROG_CC)
+
+ AC_PROG_CPP
+ AC_PROG_GCC_TRADITIONAL
+ CF_PROG_CC_C_O(CC)
+-AC_ISC_POSIX
+-CF_ANSI_CC_REQD
+-CF_PROG_EXT
+ CF_PROG_LDCONFIG
+
+ dnl DEFECT in autoconf 2.12: an attempt to set policy, this breaks the
+@@ -89,14 +92,16 @@
+ cf_with_cxx=no; CXX=""; GXX="";])dnl
+ AC_PROG_CXX
+ popdef([AC_MSG_ERROR])dnl
+- # autoconf 2.5x removed the error - by hardcoding it to g++.
++ # autoconf 2.5x removed the error (hardcoding it to g++, or just blank)
+ if test "$CXX" = "g++" ; then
+ AC_PATH_PROG(CXX,g++)
+ fi
+- if test "$CXX" = "g++" ; then
+- AC_MSG_WARN(ignoring hardcoded g++)
++ case "x$CXX" in #(vi
++ x|xg++)
++ AC_MSG_WARN([You don't have any C++ compiler, too bad])
+ cf_with_cxx=no; CXX=""; GXX="";
+- fi
++ ;;
++ esac
+ fi
+
+ CF_GXX_VERSION
+@@ -116,10 +121,6 @@
+ AC_MSG_RESULT($cf_with_cxx_binding)
+
+ AC_MSG_CHECKING(if you want to build with Ada95)
+-AC_ARG_WITH(ada,
+- [ --without-ada suppress check for Ada95, don't build demo],
+- [cf_with_ada=$withval],
+- [cf_with_ada=yes])
+ AC_MSG_RESULT($cf_with_ada)
+
+ AC_MSG_CHECKING(if you want to install manpages)
+@@ -168,28 +169,8 @@
+
+ # if we find pkg-config, check if we should install the ".pc" files.
+ CF_PKG_CONFIG
+-
+-if test "$PKG_CONFIG" != no ; then
+- AC_MSG_CHECKING(if we should install .pc files for $PKG_CONFIG)
+-
+- # Leave this as something that can be overridden in the environment.
+- if test -z "$PKG_CONFIG_LIBDIR" ; then
+- PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG" | sed -e 's,/[[^/]]*/[[^/]]*$,,'`/lib/pkgconfig
+- fi
+- PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG_LIBDIR" | sed -e 's/^://' -e 's/:.*//'`
+- if test -n "$PKG_CONFIG_LIBDIR" && test -d "$PKG_CONFIG_LIBDIR" ; then
+- AC_ARG_ENABLE(pc-files,
+- [ --enable-pc-files generate and install .pc files for pkg-config],
+- [enable_pc_files=$enableval],
+- [enable_pc_files=no])
+- AC_MSG_RESULT($enable_pc_files)
+- else
+- AC_MSG_RESULT(no)
+- AC_MSG_WARN(did not find library $PKG_CONFIG_LIBDIR)
+- enable_pc_files=no
+- fi
+-fi
+-AC_SUBST(PKG_CONFIG_LIBDIR)
++CF_WITH_PKG_CONFIG_LIBDIR
++CF_ENABLE_PC_FILES
+
+ AC_MSG_CHECKING(if we should assume mixed-case filenames)
+ AC_ARG_ENABLE(mixed-case,
+@@ -201,8 +182,8 @@
+ CF_MIXEDCASE_FILENAMES
+ else
+ cf_cv_mixedcase=$enable_mixedcase
+- if test "$enable_mixedcase" = "yes" ; then
+- AC_DEFINE(MIXEDCASE_FILENAMES)
++ if test "x$enable_mixedcase" = "xyes" ; then
++ AC_DEFINE(MIXEDCASE_FILENAMES,1,[Define to 1 if tic should assume mixed-case filenames])
+ fi
+ fi
+
+@@ -223,8 +204,8 @@
+ AC_MSG_CHECKING(if you have specified an install-prefix)
+ AC_ARG_WITH(install-prefix,
+ [ --with-install-prefix prefixes actual install-location ($DESTDIR)],
+- [case "$withval" in #(vi
+- yes|no) #(vi
++ [case "x$withval" in #(vi
++ xyes|xno) #(vi
+ ;;
+ *) DESTDIR="$withval"
+ ;;
+@@ -261,7 +242,7 @@
+ [with_shared=$withval],
+ [with_shared=no])
+ AC_MSG_RESULT($with_shared)
+-test "$with_shared" = "yes" && cf_list_models="$cf_list_models shared"
++test "x$with_shared" = "xyes" && cf_list_models="$cf_list_models shared"
+
+ AC_MSG_CHECKING(if you want to build static libraries)
+ AC_ARG_WITH(normal,
+@@ -269,7 +250,7 @@
+ [with_normal=$withval],
+ [with_normal=yes])
+ AC_MSG_RESULT($with_normal)
+-test "$with_normal" = "yes" && cf_list_models="$cf_list_models normal"
++test "x$with_normal" = "xyes" && cf_list_models="$cf_list_models normal"
+
+ AC_MSG_CHECKING(if you want to build debug libraries)
+ AC_ARG_WITH(debug,
+@@ -277,7 +258,7 @@
+ [with_debug=$withval],
+ [with_debug=yes])
+ AC_MSG_RESULT($with_debug)
+-test "$with_debug" = "yes" && cf_list_models="$cf_list_models debug"
++test "x$with_debug" = "xyes" && cf_list_models="$cf_list_models debug"
+
+ AC_MSG_CHECKING(if you want to build profiling libraries)
+ AC_ARG_WITH(profile,
+@@ -285,10 +266,21 @@
+ [with_profile=$withval],
+ [with_profile=no])
+ AC_MSG_RESULT($with_profile)
+-test "$with_profile" = "yes" && cf_list_models="$cf_list_models profile"
++test "x$with_profile" = "xyes" && cf_list_models="$cf_list_models profile"
+
+ fi
+
++if test "X$cf_with_cxx_binding" != Xno; then
++if test "x$with_shared" = "xyes"; then
++AC_MSG_CHECKING(if you want to build C++ shared libraries)
++AC_ARG_WITH(cxx-shared,
++ [ --with-cxx-shared generate C++ shared-libraries],
++ [with_shared_cxx=$withval],
++ [with_shared_cxx=no])
++AC_MSG_RESULT($with_shared_cxx)
++fi
++fi
++
+ ###############################################################################
+
+ AC_MSG_CHECKING(for specified models)
+@@ -321,12 +313,11 @@
+ LIB_DIR=../lib
+ LIB_2ND=../../lib
+
+-CF_LIB_PREFIX(cf_prefix)
+-LIB_PREFIX=$cf_prefix
+-AC_SUBST(LIB_PREFIX)
++CF_WITH_LIB_PREFIX(cf_prefix)
+
+ LIB_SUFFIX=
+ AC_SUBST(LIB_SUFFIX)
++CF_PATHSEP
+
+ ###############################################################################
+
+@@ -354,21 +345,21 @@
+ [with_dlsym=$withval],
+ [with_dlsym=yes])
+ AC_MSG_RESULT($with_dlsym)
+- if test "$with_dlsym" = yes ; then
++ if test "x$with_dlsym" = xyes ; then
+ CF_FUNC_DLSYM
+- if test "$with_gpm" != yes ; then
++ if test "x$with_gpm" != xyes ; then
+ CF_VERBOSE(assuming soname for gpm is $with_gpm)
+ cf_cv_gpm_soname="$with_gpm"
+ else
+ CF_LIB_SONAME([#include <gpm.h>],[if (Gpm_Open(0,0)) Gpm_Close();],gpm)
+ fi
+- test "$cf_cv_gpm_soname" != "unknown" && AC_DEFINE_UNQUOTED(LIBGPM_SONAME,"$cf_cv_gpm_soname")
++ test "$cf_cv_gpm_soname" != "unknown" && AC_DEFINE_UNQUOTED(LIBGPM_SONAME,"$cf_cv_gpm_soname",[Define as needed to set the gpm share library soname])
+ SHLIB_LIST="-ldl $SHLIB_LIST"
+ else
+ SHLIB_LIST="-lgpm $SHLIB_LIST"
+ CF_ADD_LIB(gpm,TEST_LIBS)
+ fi
+- AC_DEFINE(HAVE_LIBGPM)
++ AC_DEFINE(HAVE_LIBGPM,1,[Define to 1 if we have the gpm library])
+ CF_CHECK_GPM_WGETCH
+ fi
+
+@@ -378,13 +369,13 @@
+
+ if test X"$CC_G_OPT" = X"" ; then
+ CC_G_OPT='-g'
+- test -n "$GCC" && test "${ac_cv_prog_cc_g}" != yes && CC_G_OPT=''
++ test -n "$GCC" && test "x${ac_cv_prog_cc_g}" != xyes && CC_G_OPT=''
+ fi
+ AC_SUBST(CC_G_OPT)
+
+ if test X"$CXX_G_OPT" = X"" ; then
+ CXX_G_OPT='-g'
+- test -n "$GXX" && test "${ac_cv_prog_cxx_g}" != yes && CXX_G_OPT=''
++ test -n "$GXX" && test "x${ac_cv_prog_cxx_g}" != xyes && CXX_G_OPT=''
+ fi
+ AC_SUBST(CXX_G_OPT)
+
+@@ -453,9 +444,8 @@
+ esac
+ AC_SUBST(TERMINFO_SRC)
+
+-CF_PATHSEP
+ if test "$use_database" != no ; then
+- AC_DEFINE(USE_DATABASE)
++ AC_DEFINE(USE_DATABASE,1,[Define to 1 if we should use the terminal database])
+
+ AC_MSG_CHECKING(which terminfo source-file will be installed)
+ AC_ARG_WITH(database,
+@@ -494,6 +484,26 @@
+ WHICH_XTERM=$with_xterm_new
+ AC_SUBST(WHICH_XTERM)
+
++AC_MSG_CHECKING(if xterm backspace sends BS or DEL)
++AC_ARG_WITH(xterm-kbs,
++ [ --with-xterm-kbs=XXX specify if xterm backspace sends BS or DEL],
++ [with_xterm_kbs=$withval],
++ [with_xterm_kbs=BS])
++case x$with_xterm_kbs in
++xyes|xno|xBS|xbs|x8)
++ with_xterm_kbs=BS
++ ;;
++xDEL|xdel|x127)
++ with_xterm_kbs=DEL
++ ;;
++*)
++ with_xterm_kbs=$withval
++ ;;
++esac
++AC_MSG_RESULT($with_xterm_kbs)
++XTERM_KBS=$with_xterm_kbs
++AC_SUBST(XTERM_KBS)
++
+ MAKE_TERMINFO=
+ if test "$use_database" = no ; then
+ TERMINFO="${datadir}/terminfo"
+@@ -507,7 +517,7 @@
+ DATADIR/terminfo,
+ ${datadir}/terminfo)
+ AC_MSG_RESULT($TERMINFO_DIRS)
+-test -n "$TERMINFO_DIRS" && AC_DEFINE_UNQUOTED(TERMINFO_DIRS,"$TERMINFO_DIRS")
++test -n "$TERMINFO_DIRS" && AC_DEFINE_UNQUOTED(TERMINFO_DIRS,"$TERMINFO_DIRS",[Define as needed to predefine the TERMINFO_DIR searchlist])
+
+ AC_MSG_CHECKING(for default terminfo directory)
+ CF_WITH_PATH(default-terminfo-dir,
+@@ -516,7 +526,7 @@
+ DATADIR/terminfo,
+ ${datadir}/terminfo)
+ AC_MSG_RESULT($TERMINFO)
+-AC_DEFINE_UNQUOTED(TERMINFO,"$TERMINFO")
++AC_DEFINE_UNQUOTED(TERMINFO,"$TERMINFO",[Define to set the default terminal database path])
+
+ fi
+
+@@ -543,7 +553,7 @@
+ [with_big_core=no],
+ [with_big_core=no])])
+ AC_MSG_RESULT($with_big_core)
+-test "$with_big_core" = "yes" && AC_DEFINE(HAVE_BIG_CORE)
++test "x$with_big_core" = "xyes" && AC_DEFINE(HAVE_BIG_CORE,1,[Define to 1 if machine has ample memory for tic])
+
+ ### ISO C only guarantees 512-char strings, we have tables which load faster
+ ### when constructed using "big" strings. More than the C compiler, the awk
+@@ -556,7 +566,7 @@
+ AC_MSG_RESULT($with_big_strings)
+
+ USE_BIG_STRINGS=0
+-test "$with_big_strings" = "yes" && USE_BIG_STRINGS=1
++test "x$with_big_strings" = "xyes" && USE_BIG_STRINGS=1
+ AC_SUBST(USE_BIG_STRINGS)
+
+ ### use option --enable-termcap to compile in the termcap fallback support
+@@ -567,27 +577,27 @@
+ [with_termcap=no])
+ AC_MSG_RESULT($with_termcap)
+
+-if test "$with_termcap" != "yes" ; then
++if test "x$with_termcap" != "xyes" ; then
+ if test "$use_database" = no ; then
+ if test -z "$with_fallback" ; then
+ AC_ERROR(You have disabled the database w/o specifying fallbacks)
+ fi
+ fi
+- AC_DEFINE(PURE_TERMINFO)
++ AC_DEFINE(PURE_TERMINFO,1,[Define to 1 if we should support only terminfo])
+ else
+
+ if test "$with_ticlib" != no ; then
+ AC_ERROR(Options --with-ticlib and --enable-termcap cannot be combined)
+ fi
+
+-AC_DEFINE(USE_TERMCAP)
++AC_DEFINE(USE_TERMCAP,1,[Define to 1 if we should support termcap])
+ AC_MSG_CHECKING(for list of termcap files)
+ CF_WITH_PATHLIST(termpath,
+ [ --with-termpath=XXX specify list of termcap files],
+ TERMPATH,
+ /etc/termcap:/usr/share/misc/termcap)
+ AC_MSG_RESULT($TERMPATH)
+-test -n "$TERMPATH" && AC_DEFINE_UNQUOTED(TERMPATH,"$TERMPATH")
++test -n "$TERMPATH" && AC_DEFINE_UNQUOTED(TERMPATH,"$TERMPATH",[Define to set the termcap searchlist])
+
+ ### use option --enable-getcap to use a hacked getcap for reading termcaps
+ AC_MSG_CHECKING(if fast termcap-loader is needed)
+@@ -596,7 +606,7 @@
+ [with_getcap=$enableval],
+ [with_getcap=no])
+ AC_MSG_RESULT($with_getcap)
+-test "$with_getcap" = "yes" && AC_DEFINE(USE_GETCAP)
++test "x$with_getcap" = "xyes" && AC_DEFINE(USE_GETCAP,1,[Define to 1 to use fast termcap-loader])
+
+ AC_MSG_CHECKING(if translated termcaps will be cached in ~/.terminfo)
+ AC_ARG_ENABLE(getcap-cache,
+@@ -604,7 +614,7 @@
+ [with_getcap_cache=$enableval],
+ [with_getcap_cache=no])
+ AC_MSG_RESULT($with_getcap_cache)
+-test "$with_getcap_cache" = "yes" && AC_DEFINE(USE_GETCAP_CACHE)
++test "x$with_getcap_cache" = "xyes" && AC_DEFINE(USE_GETCAP_CACHE,1,[Define to 1 if translated termcap should be stored in $HOME/.terminfo])
+
+ fi
+
+@@ -615,7 +625,7 @@
+ [with_home_terminfo=$enableval],
+ [with_home_terminfo=yes])
+ AC_MSG_RESULT($with_home_terminfo)
+-test "$with_home_terminfo" = "yes" && AC_DEFINE(USE_HOME_TERMINFO)
++test "x$with_home_terminfo" = "xyes" && AC_DEFINE(USE_HOME_TERMINFO,1,[Define to 1 if $HOME/.terminfo feature is wanted])
+
+ AC_MSG_CHECKING(if you want to use restricted environment when running as root)
+ AC_ARG_ENABLE(root-environ,
+@@ -623,7 +633,7 @@
+ [with_root_environ=$enableval],
+ [with_root_environ=yes])
+ AC_MSG_RESULT($with_root_environ)
+-test "$with_root_environ" = yes && AC_DEFINE(USE_ROOT_ENVIRON)
++test "x$with_root_environ" = xyes && AC_DEFINE(USE_ROOT_ENVIRON,1,[Define to 1 if environment should be restricted for root user])
+
+ ### Use option --enable-symlinks to make tic use symlinks, not hard links
+ ### to reduce storage requirements for the terminfo database.
+@@ -634,7 +644,7 @@
+
+ # soft links (symbolic links) are useful for some systems where hard links do
+ # not work, or to make it simpler to copy terminfo trees around.
+-if test "$ac_cv_func_symlink" = yes ; then
++if test "x$ac_cv_func_symlink" = xyes ; then
+ AC_MSG_CHECKING(if tic should use symbolic links)
+ AC_ARG_ENABLE(symlinks,
+ [ --enable-symlinks make tic use symbolic links not hard links],
+@@ -647,7 +657,7 @@
+ # no reason to make this choice optional - use the hard links.
+ if test "$with_symlinks" = no ; then
+ AC_MSG_CHECKING(if tic should use hard links)
+- if test "$ac_cv_func_link" = yes ; then
++ if test "x$ac_cv_func_link" = xyes ; then
+ with_links=yes
+ else
+ with_links=no
+@@ -655,8 +665,8 @@
+ AC_MSG_RESULT($with_links)
+ fi
+
+-test "$with_links" = yes && AC_DEFINE(USE_LINKS)
+-test "$with_symlinks" = yes && AC_DEFINE(USE_SYMLINKS)
++test "x$with_links" = xyes && AC_DEFINE(USE_LINKS,1,[Define to 1 if hardlinks should be used in terminfo database])
++test "x$with_symlinks" = xyes && AC_DEFINE(USE_SYMLINKS,1,[Define to 1 if symbolic links should be used in terminfo database])
+
+ ### use option --enable-broken-linker to force on use of broken-linker support
+ AC_MSG_CHECKING(if you want broken-linker support code)
+@@ -667,13 +677,13 @@
+ AC_MSG_RESULT($with_broken_linker)
+
+ BROKEN_LINKER=0
+-if test "$with_broken_linker" = yes ; then
+- AC_DEFINE(BROKEN_LINKER)
++if test "x$with_broken_linker" = xyes ; then
++ AC_DEFINE(BROKEN_LINKER,1,[Define to 1 to work around linkers which cannot link data-only modules])
+ BROKEN_LINKER=1
+ elif test "$DFT_LWR_MODEL" = shared ; then
+ case $cf_cv_system_name in #(vi
+ cygwin*)
+- AC_DEFINE(BROKEN_LINKER)
++ AC_DEFINE(BROKEN_LINKER,1,[Define to 1 to work around linkers which cannot link data-only modules])
+ BROKEN_LINKER=1
+ CF_VERBOSE(cygwin linker is broken anyway)
+ ;;
+@@ -688,7 +698,7 @@
+ [with_bsdpad=$enableval],
+ [with_bsdpad=no])
+ AC_MSG_RESULT($with_bsdpad)
+-test "$with_bsdpad" = yes && AC_DEFINE(BSD_TPUTS)
++test "x$with_bsdpad" = xyes && AC_DEFINE(BSD_TPUTS,1,[Define to 1 to recognize BSD-style prefix padding])
+
+ ### use option --enable-widec to turn on use of wide-character support
+ NCURSES_CH_T=chtype
+@@ -718,22 +728,17 @@
+ [with_widec=$enableval],
+ [with_widec=no])
+ AC_MSG_RESULT($with_widec)
+-if test "$with_widec" = yes ; then
++if test "x$with_widec" = xyes ; then
+ LIB_SUFFIX="w${LIB_SUFFIX}"
+- AC_DEFINE(USE_WIDEC_SUPPORT)
++ AC_DEFINE(USE_WIDEC_SUPPORT,1,[Define to 1 to compile with wide-char/UTF-8 code])
++ AC_DEFINE(NCURSES_WIDECHAR,1,[Define to 1 to compile with wide-char/UTF-8 code])
+
+- case "$CFLAGS $CPPFLAGS" in #(vi
+- *-D_XOPEN_SOURCE=500) #(vi
+- ;;
+- *)
+- CF_PREDEFINE(_XOPEN_SOURCE_EXTENDED)
+- ;;
+- esac
++ CF_CHECK_WCHAR_H
+
+ # with_overwrite=no
+ NCURSES_CH_T=cchar_t
+ AC_CHECK_FUNCS(putwc btowc wctob mbtowc wctomb mblen mbrlen mbrtowc wcsrtombs mbsrtowcs wcstombs mbstowcs)
+- if test "$ac_cv_func_putwc" != yes ; then
++ if test "x$ac_cv_func_putwc" != xyes ; then
+ CF_UTF8_LIB
+ if test "$cf_cv_utf8_lib" != no ; then
+ NCURSES_LIBUTF8=1
+@@ -744,7 +749,7 @@
+ CF_WCHAR_TYPE(wint_t, NCURSES_WINT_T, NCURSES_OK_WINT_T)
+
+ if test "$NCURSES_MBSTATE_T" != 0; then
+- AC_DEFINE(NEED_MBSTATE_T_DEF)
++ AC_DEFINE(NEED_MBSTATE_T_DEF,1,[Define to 1 if we must declare mbstate_t])
+ fi
+ fi
+ AC_SUBST(NCURSES_CH_T)
+@@ -775,7 +780,7 @@
+ [with_lp64=$default_with_lp64])
+ AC_MSG_RESULT($with_lp64)
+
+-if test "$with_lp64" = yes ; then
++if test "x$with_lp64" = xyes ; then
+ cf_cv_enable_lp64=1
+ else
+ cf_cv_enable_lp64=0
+@@ -792,7 +797,7 @@
+ [with_tparm_varargs=yes])
+ AC_MSG_RESULT($with_tparm_varargs)
+ NCURSES_TPARM_VARARGS=0
+-test "$with_tparm_varargs" = yes && NCURSES_TPARM_VARARGS=1
++test "x$with_tparm_varargs" = xyes && NCURSES_TPARM_VARARGS=1
+ AC_SUBST(NCURSES_TPARM_VARARGS)
+
+ ### use option --disable-tic-depends to make libtic not explicitly depend on ncurses/ncursesw
+@@ -859,6 +864,15 @@
+ AC_MSG_RESULT($NCURSES_CCHARW_MAX)
+ AC_SUBST(NCURSES_CCHARW_MAX)
+
++### use option --with-tparm-arg to override tparm's argument type
++AC_MSG_CHECKING(for type of tparm args)
++AC_ARG_WITH(tparm-arg,
++ [ --with-tparm-arg=TYPE override parameter type of tparm],
++ [NCURSES_TPARM_ARG="$withval"],
++ [NCURSES_TPARM_ARG=long])
++AC_MSG_RESULT($NCURSES_TPARM_ARG)
++AC_SUBST(NCURSES_TPARM_ARG)
++
+ ### Enable compiling-in rcs id's
+ AC_MSG_CHECKING(if RCS identifiers should be compiled-in)
+ AC_ARG_WITH(rcs-ids,
+@@ -866,7 +880,7 @@
+ [with_rcs_ids=$withval],
+ [with_rcs_ids=no])
+ AC_MSG_RESULT($with_rcs_ids)
+-test "$with_rcs_ids" = yes && AC_DEFINE(USE_RCS_IDS)
++test "x$with_rcs_ids" = xyes && AC_DEFINE(USE_RCS_IDS,1,[Define to 1 to compile-in RCS identifiers])
+
+ ###############################################################################
+ CF_MAN_PAGES([ captoinfo clear infocmp infotocap tabs tic toe tput tset ])
+@@ -881,16 +895,19 @@
+ [with_ext_funcs=$enableval],
+ [with_ext_funcs=yes])
+ AC_MSG_RESULT($with_ext_funcs)
+-if test "$with_ext_funcs" = yes ; then
++if test "x$with_ext_funcs" = xyes ; then
+ NCURSES_EXT_FUNCS=1
+- AC_DEFINE(HAVE_CURSES_VERSION)
+- AC_DEFINE(HAVE_HAS_KEY)
+- AC_DEFINE(HAVE_RESIZETERM)
+- AC_DEFINE(HAVE_RESIZE_TERM)
+- AC_DEFINE(HAVE_TERM_ENTRY_H)
+- AC_DEFINE(HAVE_USE_DEFAULT_COLORS)
+- AC_DEFINE(HAVE_WRESIZE)
+- AC_DEFINE(NCURSES_EXT_FUNCS)
++ AC_DEFINE(HAVE_ASSUME_DEFAULT_COLORS,1,[Define to 1 to enable assume_default_colors() function])
++ AC_DEFINE(HAVE_CURSES_VERSION,1,[Define to 1 to enable curses_version() function])
++ AC_DEFINE(HAVE_HAS_KEY,1,[Define to 1 to enable has_key() function])
++ AC_DEFINE(HAVE_RESIZETERM,1,[Define to 1 to enable resizeterm() function])
++ AC_DEFINE(HAVE_RESIZE_TERM,1,[Define to 1 to enable resize_term() function])
++ AC_DEFINE(HAVE_TERM_ENTRY_H,1,[Define to 1 to enable term_entry() function])
++ AC_DEFINE(HAVE_USE_DEFAULT_COLORS,1,[Define to 1 to enable use_default_colors() function])
++ AC_DEFINE(HAVE_USE_SCREEN,1,[Define to 1 to enable use_screen() function])
++ AC_DEFINE(HAVE_USE_WINDOW,1,[Define to 1 to enable use_window() function])
++ AC_DEFINE(HAVE_WRESIZE,1,[Define to 1 to enable wresize() function])
++ AC_DEFINE(NCURSES_EXT_FUNCS,1,[Define to 1 to enable ncurses extended functions])
+ GENERATED_EXT_FUNCS=generated
+ else
+ NCURSES_EXT_FUNCS=0
+@@ -905,9 +922,9 @@
+ [with_sp_funcs=$enableval],
+ [with_sp_funcs=no])
+ AC_MSG_RESULT($with_sp_funcs)
+-if test "$with_sp_funcs" = yes ; then
++if test "x$with_sp_funcs" = xyes ; then
+ NCURSES_SP_FUNCS=1
+- AC_DEFINE(NCURSES_SP_FUNCS)
++ AC_DEFINE(NCURSES_SP_FUNCS,1,[Define to 1 to enable experimental SCREEN-extensions])
+ GENERATED_SP_FUNCS=generated
+ else
+ NCURSES_SP_FUNCS=0
+@@ -922,9 +939,9 @@
+ [with_term_driver=$enableval],
+ [with_term_driver=no])
+ AC_MSG_RESULT($with_term_driver)
+-if test "$with_term_driver" = yes ; then
+- AC_DEFINE(USE_TERM_DRIVER)
+- if test "$with_sp_funcs" != yes ; then
++if test "x$with_term_driver" = xyes ; then
++ AC_DEFINE(USE_TERM_DRIVER,1,[Define to 1 to enable experimental terminal-driver])
++ if test "x$with_sp_funcs" != xyes ; then
+ AC_MSG_ERROR(The term-driver option relies upon sp-funcs)
+ fi
+ fi
+@@ -937,7 +954,7 @@
+ [with_ext_const=no])
+ AC_MSG_RESULT($with_ext_const)
+ NCURSES_CONST='/*nothing*/'
+-if test "$with_ext_const" = yes ; then
++if test "x$with_ext_const" = xyes ; then
+ NCURSES_CONST=const
+ fi
+ AC_SUBST(NCURSES_CONST)
+@@ -950,15 +967,15 @@
+ [with_ext_colors=no])
+ AC_MSG_RESULT($with_ext_colors)
+ NCURSES_EXT_COLORS=0
+-if test "$with_ext_colors" = yes ; then
+- if test "$with_widec" != yes ; then
++if test "x$with_ext_colors" = xyes ; then
++ if test "x$with_widec" != xyes ; then
+ AC_MSG_ERROR(This option applies only to wide-character library)
+ else
+ # cannot be ABI 5 since it changes sizeof(cchar_t)
+ CF_NCURSES_ABI_6
+ fi
+ NCURSES_EXT_COLORS=1
+- AC_DEFINE(NCURSES_EXT_COLORS)
++ AC_DEFINE(NCURSES_EXT_COLORS,1,[Define to 1 to compile for 256-color support])
+ fi
+ AC_SUBST(NCURSES_EXT_COLORS)
+
+@@ -970,7 +987,7 @@
+ [with_ext_mouse=no])
+ AC_MSG_RESULT($with_ext_mouse)
+ NCURSES_MOUSE_VERSION=1
+-if test "$with_ext_mouse" = yes ; then
++if test "x$with_ext_mouse" = xyes ; then
+ NCURSES_MOUSE_VERSION=2
+ CF_NCURSES_ABI_6
+ fi
+@@ -982,7 +999,7 @@
+ [with_no_padding=$enableval],
+ [with_no_padding=$with_ext_funcs])
+ AC_MSG_RESULT($with_no_padding)
+-test "$with_no_padding" = yes && AC_DEFINE(NCURSES_NO_PADDING)
++test "x$with_no_padding" = xyes && AC_DEFINE(NCURSES_NO_PADDING,1,[Define to 1 to compile with $NCURSES_NO_PADDING code])
+
+ AC_CHECK_SIZEOF([signed char], 0)
+ if test "$ac_cv_sizeof_signed_char" = 1 ; then
+@@ -996,7 +1013,7 @@
+ [with_signed_char=$enableval],
+ [with_signed_char=no])
+ AC_MSG_RESULT($with_signed_char)
+-test "$with_signed_char" != yes && NCURSES_SBOOL="char"
++test "x$with_signed_char" != xyes && NCURSES_SBOOL="char"
+ AC_SUBST(NCURSES_SBOOL)
+
+ ### use option --enable-sigwinch to turn on use of SIGWINCH logic
+@@ -1006,7 +1023,7 @@
+ [with_sigwinch=$enableval],
+ [with_sigwinch=$with_ext_funcs])
+ AC_MSG_RESULT($with_sigwinch)
+-test "$with_sigwinch" = yes && AC_DEFINE(USE_SIGWINCH)
++test "x$with_sigwinch" = xyes && AC_DEFINE(USE_SIGWINCH,1,[Define to 1 to compile with SIGWINCH handler])
+
+ ### use option --enable-tcap-names to allow user to define new capabilities
+ AC_MSG_CHECKING(if you want user-definable terminal capabilities like termcap)
+@@ -1016,7 +1033,7 @@
+ [with_tcap_names=$with_ext_funcs])
+ AC_MSG_RESULT($with_tcap_names)
+ NCURSES_XNAMES=0
+-test "$with_tcap_names" = yes && NCURSES_XNAMES=1
++test "x$with_tcap_names" = xyes && NCURSES_XNAMES=1
+ AC_SUBST(NCURSES_XNAMES)
+
+ ###############################################################################
+@@ -1035,7 +1052,7 @@
+ [ --enable-hard-tabs compile with hard-tabs code],,
+ [enable_hard_tabs=$with_develop])
+ AC_MSG_RESULT($enable_hard_tabs)
+-test "$enable_hard_tabs" = yes && AC_DEFINE(USE_HARD_TABS)
++test "x$enable_hard_tabs" = xyes && AC_DEFINE(USE_HARD_TABS,1,[Define to 1 to compile with hard-tabs code])
+
+ ### use option --enable-xmc-glitch to turn on use of magic-cookie optimize
+ AC_MSG_CHECKING(if you want limited support for xmc)
+@@ -1043,7 +1060,7 @@
+ [ --enable-xmc-glitch compile with support for xmc (magic-cookie)],,
+ [enable_xmc_glitch=$with_develop])
+ AC_MSG_RESULT($enable_xmc_glitch)
+-test "$enable_xmc_glitch" = yes && AC_DEFINE(USE_XMC_SUPPORT)
++test "x$enable_xmc_glitch" = xyes && AC_DEFINE(USE_XMC_SUPPORT,1,[Define to 1 to compile with support for xmc (magic-cookie)])
+
+ ###############################################################################
+ # These are just experimental, probably should not be in a package:
+@@ -1055,7 +1072,7 @@
+ [with_assumed_color=$enableval],
+ [with_assumed_color=yes])
+ AC_MSG_RESULT($with_assumed_color)
+-test "$with_assumed_color" = yes && AC_DEFINE(USE_ASSUMED_COLOR)
++test "x$with_assumed_color" = xyes && AC_DEFINE(USE_ASSUMED_COLOR,1,[Define to 1 to assume things about default-colors])
+
+ ### use option --enable-hashmap to turn on use of hashmap scrolling logic
+ AC_MSG_CHECKING(if you want hashmap scrolling-optimization code)
+@@ -1064,7 +1081,7 @@
+ [with_hashmap=$enableval],
+ [with_hashmap=yes])
+ AC_MSG_RESULT($with_hashmap)
+-test "$with_hashmap" = yes && AC_DEFINE(USE_HASHMAP)
++test "x$with_hashmap" = xyes && AC_DEFINE(USE_HASHMAP,1,[Define to 1 to compile with hashmap scrolling-optimization])
+
+ ### use option --enable-colorfgbg to turn on use of $COLORFGBG environment
+ AC_MSG_CHECKING(if you want colorfgbg code)
+@@ -1073,7 +1090,7 @@
+ [with_colorfgbg=$enableval],
+ [with_colorfgbg=no])
+ AC_MSG_RESULT($with_colorfgbg)
+-test "$with_colorfgbg" = yes && AC_DEFINE(USE_COLORFGBG)
++test "x$with_colorfgbg" = xyes && AC_DEFINE(USE_COLORFGBG,1,[Define to 1 to compile-in experimental $COLORFGBG code])
+
+ ### use option --enable-interop to turn on use of bindings used for interop
+ AC_MSG_CHECKING(if you want interop bindings)
+@@ -1084,7 +1101,7 @@
+ AC_MSG_RESULT($with_exp_interop)
+
+ NCURSES_INTEROP_FUNCS=0
+-test "$with_exp_interop" = yes && NCURSES_INTEROP_FUNCS=1
++test "x$with_exp_interop" = xyes && NCURSES_INTEROP_FUNCS=1
+ AC_SUBST(NCURSES_INTEROP_FUNCS)
+
+ # This is still experimental (20080329), but should ultimately be moved to
+@@ -1099,8 +1116,8 @@
+ [use_pthreads_eintr=$enableval],
+ [use_pthreads_eintr=no])
+ AC_MSG_RESULT($use_pthreads_eintr)
+- if test $use_pthreads_eintr = yes ; then
+- AC_DEFINE(USE_PTHREADS_EINTR)
++ if test "x$use_pthreads_eintr" = xyes ; then
++ AC_DEFINE(USE_PTHREADS_EINTR,1,[Define to 1 to enable EINTR in wgetch with pthreads])
+ fi])
+
+ AC_MSG_CHECKING(if you want to use weak-symbols for pthreads)
+@@ -1109,22 +1126,22 @@
+ [use_weak_symbols=$enableval],
+ [use_weak_symbols=no])
+ AC_MSG_RESULT($use_weak_symbols)
+- if test "$use_weak_symbols" = yes ; then
++ if test "x$use_weak_symbols" = xyes ; then
+ CF_WEAK_SYMBOLS
+ else
+ cf_cv_weak_symbols=no
+ fi
+
+- if test $cf_cv_weak_symbols = yes ; then
+- AC_DEFINE(USE_WEAK_SYMBOLS)
++ if test "x$cf_cv_weak_symbols" = xyes ; then
++ AC_DEFINE(USE_WEAK_SYMBOLS,1,[Define to 1 to enable weak-symbols for pthreads])
+ fi
+ fi
+
+ PTHREAD=
+-if test "$with_pthread" = "yes" ; then
+- AC_DEFINE(USE_PTHREADS)
++if test "x$with_pthread" = "xyes" ; then
++ AC_DEFINE(USE_PTHREADS,1,[Define to 1 to use pthreads feature])
+ enable_reentrant=yes
+- if test $cf_cv_weak_symbols = yes ; then
++ if test "x$cf_cv_weak_symbols" = xyes ; then
+ PTHREAD=-lpthread
+ fi
+ fi
+@@ -1140,19 +1157,19 @@
+ [with_reentrant=$enableval],
+ [with_reentrant=no])
+ AC_MSG_RESULT($with_reentrant)
+-if test "$with_reentrant" = yes ; then
++if test "x$with_reentrant" = xyes ; then
+ cf_cv_enable_reentrant=1
+ cf_cv_enable_opaque="NCURSES_INTERNALS"
+ NCURSES_OPAQUE=1
+ NCURSES_SIZE_T=int
+- if test $cf_cv_weak_symbols = yes ; then
++ if test "x$cf_cv_weak_symbols" = xyes ; then
+ CF_REMOVE_LIB(LIBS,$LIBS,pthread)
+ CF_ADD_LIB(pthread,TEST_LIBS)
+ CF_ADD_LIB(pthread,TEST_LIBS2)
+ else
+ LIB_SUFFIX="t${LIB_SUFFIX}"
+ fi
+- AC_DEFINE(USE_REENTRANT)
++ AC_DEFINE(USE_REENTRANT,1,[Define to 1 to use experimental reentrant feature])
+ CF_NCURSES_ABI_6
+ else
+ cf_cv_enable_reentrant=0
+@@ -1177,7 +1194,7 @@
+ NCURSES_WRAP_PREFIX=_nc_
+ fi
+ AC_SUBST(NCURSES_WRAP_PREFIX)
+-AC_DEFINE_UNQUOTED(NCURSES_WRAP_PREFIX,"$NCURSES_WRAP_PREFIX")
++AC_DEFINE_UNQUOTED(NCURSES_WRAP_PREFIX,"$NCURSES_WRAP_PREFIX",[Define to override _nc_ prefix])
+
+ AC_MSG_CHECKING(if you want experimental safe-sprintf code)
+ AC_ARG_ENABLE(safe-sprintf,
+@@ -1185,7 +1202,7 @@
+ [with_safe_sprintf=$enableval],
+ [with_safe_sprintf=no])
+ AC_MSG_RESULT($with_safe_sprintf)
+-test "$with_safe_sprintf" = yes && AC_DEFINE(USE_SAFE_SPRINTF)
++test "x$with_safe_sprintf" = xyes && AC_DEFINE(USE_SAFE_SPRINTF,1,[Define to 1 to compile with experimental safe-sprintf code])
+
+ ### use option --disable-scroll-hints to turn off use of scroll-hints scrolling logic
+ # when hashmap is used scroll hints are useless
+@@ -1196,7 +1213,7 @@
+ [with_scroll_hints=$enableval],
+ [with_scroll_hints=yes])
+ AC_MSG_RESULT($with_scroll_hints)
+-test "$with_scroll_hints" = yes && AC_DEFINE(USE_SCROLL_HINTS)
++test "x$with_scroll_hints" = xyes && AC_DEFINE(USE_SCROLL_HINTS,1,[Define to 1 to compile without scroll-hints code])
+ fi
+
+ AC_MSG_CHECKING(if you want experimental wgetch-events code)
+@@ -1205,25 +1222,20 @@
+ [with_wgetch_events=$enableval],
+ [with_wgetch_events=no])
+ AC_MSG_RESULT($with_wgetch_events)
+-test "$with_wgetch_events" = yes && AC_DEFINE(NCURSES_WGETCH_EVENTS)
++test "x$with_wgetch_events" = xyes && AC_DEFINE(NCURSES_WGETCH_EVENTS,1,[Define to 1 to compile with experimental wgetch-events code])
+
+ ###############################################################################
+ CF_HELP_MESSAGE(Testing/development Options:)
+
+ ### use option --disable-echo to suppress full display compiling commands
+-AC_MSG_CHECKING(if you want to display full commands during build)
+-AC_ARG_ENABLE(echo,
+- [ --enable-echo build: display "compiling" commands (default)],
+- [with_echo=$enableval],
+- [with_echo=yes])
+-if test "$with_echo" = yes; then
++CF_DISABLE_ECHO
++if test "x$enable_echo" = xyes; then
+ ECHO_LINK=
+ else
+ ECHO_LINK='@ echo linking $@ ... ;'
+ test -n "$LIBTOOL" && LIBTOOL="$LIBTOOL --silent"
+ test -n "$LIBTOOL_CXX" && LIBTOOL_CXX="$LIBTOOL_CXX --silent"
+ fi
+-AC_MSG_RESULT($with_echo)
+ AC_SUBST(ECHO_LINK)
+
+ ### use option --enable-warnings to turn on all gcc warnings
+@@ -1236,11 +1248,12 @@
+ if test "x$with_warnings" = "xyes"; then
+ CF_ADD_ADAFLAGS(-gnatg)
+ CF_GCC_WARNINGS(Wdeclaration-after-statement Wextra Wno-unknown-pragmas Wswitch-enum)
+- if test "$cf_with_cxx" = yes ; then
++ if test "x$cf_with_cxx" = xyes ; then
+ CF_GXX_WARNINGS(Wno-unused)
+ fi
+ fi
+ CF_GCC_ATTRIBUTES
++CF_ENABLE_STRING_HACKS
+
+ ### use option --enable-assertions to turn on generation of assertion code
+ AC_MSG_CHECKING(if you want to enable runtime assertions)
+@@ -1253,7 +1266,6 @@
+ then
+ if test "$with_assertions" = no
+ then
+- AC_DEFINE(NDEBUG)
+ CPPFLAGS="$CPPFLAGS -DNDEBUG"
+ else
+ CF_ADD_ADAFLAGS(-gnata)
+@@ -1262,17 +1274,17 @@
+
+ ### use option --disable-leaks to suppress "permanent" leaks, for testing
+ CF_DISABLE_LEAKS
+-AC_DEFINE(HAVE_NC_ALLOC_H)
++AC_DEFINE(HAVE_NC_ALLOC_H,1,[Define to 1 if we have nc_alloc.h header])
+
+ ### use option --enable-expanded to generate certain macros as functions
+ AC_ARG_ENABLE(expanded,
+ [ --enable-expanded test: generate functions for certain macros],
+- [test "$enableval" = yes && AC_DEFINE(NCURSES_EXPANDED)])
++ [test "x$enableval" = xyes && AC_DEFINE(NCURSES_EXPANDED,1,[Define to 1 to generate functions for certain macros])])
+
+ ### use option --disable-macros to suppress macros in favor of functions
+ AC_ARG_ENABLE(macros,
+ [ --disable-macros test: use functions rather than macros],
+- [test "$enableval" = no && AC_DEFINE(NCURSES_NOMACROS)])
++ [test "$enableval" = no && AC_DEFINE(NCURSES_NOMACROS,1,[Define to 1 to use functions rather than macros])])
+
+ # Normally we only add trace() to the debug-library. Allow this to be
+ # extended to all models of the ncurses library:
+@@ -1290,7 +1302,7 @@
+ [cf_with_trace=$cf_all_traces])
+ AC_MSG_RESULT($cf_with_trace)
+
+-if test "$cf_with_trace" = yes ; then
++if test "x$cf_with_trace" = xyes ; then
+ LIB_TRACING=all
+ ADA_TRACE=TRUE
+ CF_ADD_CFLAGS(-DTRACE)
+@@ -1307,10 +1319,10 @@
+ ;;
+ *)
+ AC_CHECK_FUNC(gettimeofday,
+- AC_DEFINE(HAVE_GETTIMEOFDAY),[
++ AC_DEFINE(HAVE_GETTIMEOFDAY,1,[Define to 1 if we have gettimeofday function]),[
+
+ AC_CHECK_LIB(bsd, gettimeofday,
+- AC_DEFINE(HAVE_GETTIMEOFDAY)
++ AC_DEFINE(HAVE_GETTIMEOFDAY,1,[Define to 1 if we have gettimeofday function])
+ CF_ADD_LIB(bsd))])dnl CLIX: bzero, select, gettimeofday
+ ;;
+ esac
+@@ -1344,9 +1356,11 @@
+ wctype.h \
+ )
+
++CF_GETOPT_HEADER
++
+ # check for ISC (this may also define _POSIX_SOURCE)
+ # Note: even non-Posix ISC needs <sys/bsdtypes.h> to declare fd_set
+-if test "$ISC" = yes ; then
++if test "x$ISC" = xyes ; then
+ AC_CHECK_LIB(cposix,main)
+ AC_CHECK_LIB(inet,bzero,CF_ADD_LIB(inet))dnl also 'select()'
+ fi
+@@ -1393,10 +1407,12 @@
+ getttynam \
+ issetugid \
+ poll \
++putenv \
+ remove \
+ select \
+ setbuf \
+ setbuffer \
++setenv \
+ setvbuf \
+ sigaction \
+ sigvec \
+@@ -1406,7 +1422,7 @@
+ times \
+ vsnprintf \
+ )
+-if test "$with_getcap" = "yes" ; then
++if test "x$with_getcap" = "xyes" ; then
+ CF_CGETENT
+ fi
+
+@@ -1421,12 +1437,12 @@
+ CF_SUBST_IF(["$cf_cv_func_vsscanf" = vsscanf], HAVE_VSSCANF, 1, 0)
+
+ dnl FIXME (may need this) AC_SYS_RESTARTABLE_SYSCALLS
+-if test "$cross_compiling" = yes ; then
++if test "x$cross_compiling" = xyes ; then
+ AC_MSG_WARN(cross compiling: assume setvbuf params not reversed)
+ else
+ AC_FUNC_SETVBUF_REVERSED
+ fi
+-AC_TYPE_SIGNAL
++AC_CHECK_TYPE(intptr_t, long)
+ CF_TYPE_SIGACTION
+ CF_SIZECHANGE
+ CF_FUNC_MEMMOVE
+@@ -1437,9 +1453,9 @@
+ # special check for test/ditto.c
+ CF_FUNC_OPENPTY
+ if test "$cf_cv_func_openpty" != no ; then
+- AC_DEFINE_UNQUOTED(USE_OPENPTY_HEADER,<$cf_cv_func_openpty>)
+- AC_DEFINE(USE_XTERM_PTY)
+- if test "$cf_cv_lib_util" = yes ; then
++ AC_DEFINE_UNQUOTED(USE_OPENPTY_HEADER,<$cf_cv_func_openpty>,[Define to actual header for openpty function])
++ AC_DEFINE(USE_XTERM_PTY,1,[Define to 1 if we should assume xterm pseudoterminal interface])
++ if test "x$cf_cv_lib_util" = xyes ; then
+ CF_ADD_LIB(util,TEST_LIBS)
+ fi
+ fi
+@@ -1447,7 +1463,7 @@
+ AC_SUBST(TEST_LIBS2)
+
+ if test "$with_hashed_db" != no ; then
+- AC_DEFINE(USE_HASHED_DB)
++ AC_DEFINE(USE_HASHED_DB,1,[Define to 1 if we should build terminfo in hashed database])
+ CF_HASHED_DB($with_hashed_db)
+ fi
+
+@@ -1478,50 +1494,14 @@
+ ;;
+ esac
+
+- AC_CHECK_HEADERS(iostream typeinfo)
+-
+- if test x"$ac_cv_header_iostream" = xyes ; then
+- AC_MSG_CHECKING(if iostream uses std-namespace)
+- AC_TRY_COMPILE([
+-#include <iostream>
+-using std::endl;
+-using std::cerr;],[
+-cerr << "testing" << endl;
+-],[cf_iostream_namespace=yes],[cf_iostream_namespace=no])
+- AC_MSG_RESULT($cf_iostream_namespace)
+- if test "$cf_iostream_namespace" = yes ; then
+- AC_DEFINE(IOSTREAM_NAMESPACE)
+- fi
+- fi
+-
++ AC_CHECK_HEADERS(typeinfo)
++ CF_CXX_IOSTREAM_NAMESPACE
+ CF_BOOL_DECL
+ CF_BOOL_SIZE
+ CF_ETIP_DEFINES
+ CF_CPP_PARAM_INIT
+ CF_CPP_STATIC_CAST
+-
+- CXX_AR='$(AR)'
+- CXX_ARFLAGS='$(ARFLAGS)'
+- case $cf_cv_system_name in #(vi
+- irix*) #(vi
+- if test "$GXX" != yes ; then
+- CXX_AR='$(CXX)'
+- CXX_ARFLAGS='-ar -o'
+- fi
+- ;;
+- sco3.2v5*) #(vi
+- CXXLDFLAGS="-u main"
+- ;;
+- solaris2*)
+- if test "$GXX" != yes ; then
+- CXX_AR='$(CXX)'
+- CXX_ARFLAGS='-xar -o'
+- fi
+- ;;
+- esac
+- AC_SUBST(CXXLDFLAGS)
+- AC_SUBST(CXX_AR)
+- AC_SUBST(CXX_ARFLAGS)
++ CF_CXX_AR_FLAGS
+ else
+ cf_cxx_library=no
+ cf_cv_builtin_bool=1
+@@ -1593,20 +1573,9 @@
+ dnl At the moment we support no other Ada95 compiler.
+ if test "$cf_with_ada" != "no" ; then
+ CF_PROG_GNAT
+- if test "$cf_cv_prog_gnat_correct" = yes; then
++ if test "x$cf_cv_prog_gnat_correct" = xyes; then
+ CF_ADD_ADAFLAGS(-gnatpn)
+-
+- # make ADAFLAGS consistent with CFLAGS
+- case "$CFLAGS" in
+- *-g*)
+- CF_ADD_ADAFLAGS(-g)
+- ;;
+- esac
+- case "$CFLAGS" in
+- *-O*)
+- CF_ADD_ADAFLAGS(-O3)
+- ;;
+- esac
++ CF_FIXUP_ADAFLAGS
+
+ CF_GNAT_GENERICS
+ CF_GNAT_SIGINT
+@@ -1640,7 +1609,7 @@
+ AC_MSG_CHECKING(for library subsets)
+ LIB_SUBSETS=
+
+-if test "$cf_with_progs" = yes || test "$with_ticlib" != no || test "$with_termcap" != no; then
++if test "x$cf_with_progs" = xyes || test "$with_ticlib" != no || test "$with_termcap" != no; then
+ LIB_SUBSETS="${LIB_SUBSETS}ticlib"
+ if test "$with_ticlib" != no ; then
+ LIB_SUBSETS="${LIB_SUBSETS} "
+@@ -1650,7 +1619,7 @@
+ fi
+
+ LIB_SUBSETS="${LIB_SUBSETS}termlib"
+-test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_tinfo"
++test "x$with_ext_funcs" = xyes && LIB_SUBSETS="${LIB_SUBSETS}+ext_tinfo"
+
+ if test "$with_termlib" != no ; then
+ LIB_SUBSETS="${LIB_SUBSETS} "
+@@ -1674,8 +1643,8 @@
+ esac
+ fi
+
+-test "$with_widec" = yes && LIB_SUBSETS="${LIB_SUBSETS}+widechar"
+-test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs"
++test "x$with_widec" = xyes && LIB_SUBSETS="${LIB_SUBSETS}+widechar"
++test "x$with_ext_funcs" = xyes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs"
+
+ AC_MSG_RESULT($LIB_SUBSETS)
+
+@@ -1699,20 +1668,24 @@
+ AC_SUBST(DFT_OBJ_SUBDIR)dnl the default object-directory ("obj")
+ AC_MSG_RESULT($DFT_OBJ_SUBDIR)
+
+-# libtool thinks it can make c++ shared libraries (perhaps only g++)
+-if test "$cf_with_cxx" = yes ; then
++if test "x$cf_with_cxx" = xyes ; then
+ AC_MSG_CHECKING(c++ library-dependency suffix)
+ if test "$with_libtool" != "no"; then
++ # libtool thinks it can make c++ shared libraries (perhaps only g++)
++ CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX
++elif test "$with_shared_cxx" != "no"; then
++ # also for g++ users...
+ CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX
+ else
+- CF_LIB_SUFFIX(normal,CXX_LIB_SUFFIX,CXX_DEP_SUFFIX)dnl we normally make a static library
++ # we normally make a static library because C/C++ library rules differ
++ CF_LIB_SUFFIX(normal,CXX_LIB_SUFFIX,CXX_DEP_SUFFIX)
+ fi
+ AC_MSG_RESULT($CXX_LIB_SUFFIX)
+ AC_SUBST(CXX_LIB_SUFFIX)
+ fi
+
+ # do not want -ldl in build except as needed for -lncurses dependency
+-if test "$with_dlsym" = yes ; then
++if test "x$with_dlsym" = xyes ; then
+ if test $DFT_LWR_MODEL = shared || \
+ test $DFT_LWR_MODEL = libtool ; then
+ CF_REMOVE_LIB(LIBS,$LIBS,dl)
+@@ -1723,13 +1696,13 @@
+ # TICS_LIST and TINFO_LIST are needed to build libtic.so and libterm.so, but
+ # do not need libdl
+ TICS_LIST=
+-if test "$with_dlsym" = yes ; then
++if test "x$with_dlsym" = xyes ; then
+ CF_REMOVE_LIB(TINFO_LIST,$SHLIB_LIST,dl)
+ fi
+
+ if test "$with_ticlib" != no ; then
+
+- if test "$with_ticlib" != yes ; then
++ if test "x$with_ticlib" != xyes ; then
+ TICS_NAME=$with_ticlib
+ TICS_ARG_SUFFIX="${with_ticlib}`echo ${DFT_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
+ TICS_DEP_SUFFIX="${with_ticlib}`echo ${DFT_DEP_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
+@@ -1739,18 +1712,21 @@
+ TICS_DEP_SUFFIX="${TICS_NAME}${DFT_DEP_SUFFIX}"
+ TICS_LIB_SUFFIX="${TICS_NAME}${LIB_SUFFIX}"
+ fi
+- TICS_ARGS="-L${LIB_DIR} -l${TICS_LIB_SUFFIX}"
++ TICS_LDFLAGS="-L${LIB_DIR}"
++ TICS_LIBS="-l${TICS_LIB_SUFFIX}"
+ else
+- TICS_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}"
++ TICS_LDFLAGS="-L${LIB_DIR}"
++ TICS_LIBS="-l${LIB_NAME}${DFT_ARG_SUFFIX}"
+ fi
+ AC_SUBST(TICS_ARG_SUFFIX)
+ AC_SUBST(TICS_DEP_SUFFIX)
+ AC_SUBST(TICS_LIB_SUFFIX)
+-AC_SUBST(TICS_ARGS)
++AC_SUBST(TICS_LDFLAGS)
++AC_SUBST(TICS_LIBS)
+
+ if test "$with_termlib" != no ; then
+
+- if test "$with_termlib" != yes ; then
++ if test "x$with_termlib" != xyes ; then
+ TINFO_NAME=$with_termlib
+ TINFO_SUFFIX="`echo ${DFT_LIB_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
+ TINFO_ARG_SUFFIX="${with_termlib}`echo ${DFT_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
+@@ -1768,14 +1744,22 @@
+ if test "$DFT_LWR_MODEL" = "libtool"; then
+ TEST_ARGS="${TEST_DEPS}"
+ TEST_ARG2="${TEST_DEP2}"
+- TINFO_ARGS="-L${LIB_DIR} $TEST_ARGS"
++ TINFO_LDFLAGS="-L${LIB_DIR}"
++ TINFO_LIBS="$TEST_ARGS"
+ TICS_LIST="$SHLIB_LIST $TEST_ARGS"
+ SHLIB_LIST="${SHLIB_LIST} $TEST_ARGS"
+ else
+ TEST_ARGS="-l${TINFO_ARG_SUFFIX}"
+ TEST_ARG2="-l${TINFO_ARG_SUFFIX}"
+- TICS_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
+- TINFO_ARGS="-L${LIB_DIR} $TEST_ARGS"
++ if test "x$with_term_driver" != xno ; then
++ TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${DFT_ARG_SUFFIX}"
++ TICS_LIBS="$TICS_LIBS -l${LIB_NAME}${DFT_ARG_SUFFIX}"
++ TINFO_LIBS="-l${LIB_NAME}${DFT_ARG_SUFFIX} $TEST_ARGS"
++ else
++ TICS_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
++ TINFO_LIBS="$TEST_ARGS"
++ fi
++ TINFO_LDFLAGS="-L${LIB_DIR}"
+ SHLIB_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
+ fi
+ else
+@@ -1783,13 +1767,14 @@
+ TINFO_NAME=${LIB_NAME}
+ TINFO_SUFFIX=${DFT_LIB_SUFFIX}
+ TINFO_ARG_SUFFIX=${LIB_NAME}${DFT_ARG_SUFFIX}
+- if test "$with_tic_depends" = yes ; then
++ if test "x$with_tic_depends" = xyes ; then
+ TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${DFT_ARG_SUFFIX}"
+ else
+ TICS_LIST="$SHLIB_LIST"
+ fi
+
+- TINFO_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}"
++ TINFO_LDFLAGS="-L${LIB_DIR}"
++ TINFO_LIBS="-l${LIB_NAME}${DFT_ARG_SUFFIX}"
+ fi
+
+ if test "$DFT_LWR_MODEL" = shared ; then
+@@ -1804,9 +1789,10 @@
+ AC_SUBST(TINFO_ARG_SUFFIX)
+ AC_SUBST(TINFO_DEP_SUFFIX)
+ AC_SUBST(TINFO_LIB_SUFFIX)
+-AC_SUBST(TINFO_ARGS)
++AC_SUBST(TINFO_LDFLAGS)
++AC_SUBST(TINFO_LIBS)
+
+-if test "$with_dlsym" = yes ; then
++if test "x$with_dlsym" = xyes ; then
+ CF_REMOVE_LIB(TICS_LIST,$TICS_LIST,dl)
+ fi
+
+@@ -1815,8 +1801,8 @@
+ fi
+
+ # needed for Ada95
+-TINFO_ARGS2=`echo "$TINFO_ARGS" | sed -e 's,-L\.\./,-L../../,'`
+-AC_SUBST(TINFO_ARGS2)
++TINFO_LDFLAGS2=`echo "$TINFO_LDFLAGS" | sed -e 's,-L\.\./,-L../../,'`
++AC_SUBST(TINFO_LDFLAGS2)
+
+ case $DFT_LWR_MODEL in
+ normal|debug|profile)
+@@ -1850,14 +1836,14 @@
+ AC_SUBST(NCURSES_TREE)
+
+ ### predefined stuff for the test programs
+-AC_DEFINE(HAVE_SLK_COLOR)
++AC_DEFINE(HAVE_SLK_COLOR,1,[Define to 1 if we have slk_color for test-programs])
+
+ ### Construct the list of subdirectories for which we'll customize makefiles
+ ### with the appropriate compile-rules.
+
+ CF_SRC_MODULES($modules_to_build)
+
+-if test "$cf_with_ada" != "no" && test "$cf_cv_prog_gnat_correct" != "no"; then
++if test "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = "xyes"; then
+ SUB_MAKEFILES="$SUB_MAKEFILES Ada95/gen/adacurses${DFT_ARG_SUFFIX}-config:Ada95/gen/adacurses-config.in"
+ SUB_MAKEFILES="$SUB_MAKEFILES man/adacurses${DFT_ARG_SUFFIX}-config.1:man/MKada_config.in"
+ fi
+@@ -1869,26 +1855,26 @@
+ AC_SUBST(NCURSES_SHLIB2)
+
+ # values to use as strings
+-AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATH_SEPARATOR')
++AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATH_SEPARATOR',[Define to override ':' as library path-separator])
+
+-AC_DEFINE_UNQUOTED(NCURSES_VERSION_STRING, "${NCURSES_MAJOR}.${NCURSES_MINOR}.${NCURSES_PATCH}")
++AC_DEFINE_UNQUOTED(NCURSES_VERSION_STRING, "${NCURSES_MAJOR}.${NCURSES_MINOR}.${NCURSES_PATCH}",[Define to 1 if machine has ample memory for tic])
+
+ ### Now that we're done running tests, add the compiler-warnings, if any
+ CF_ADD_CFLAGS($EXTRA_CFLAGS)
+
+ ### Define substitutions for header files to avoid name-pollution
+-CF_SUBST_IF(["$cf_cv_have_tcgetattr" = yes], HAVE_TCGETATTR, 1, 0)
+-CF_SUBST_IF(["$ac_cv_header_termio_h" = yes], HAVE_TERMIO_H, 1, 0)
+-CF_SUBST_IF(["$ac_cv_header_termios_h" = yes], HAVE_TERMIOS_H, 1, 0)
++CF_SUBST_IF(["x$cf_cv_have_tcgetattr" = xyes], HAVE_TCGETATTR, 1, 0)
++CF_SUBST_IF(["x$ac_cv_header_termio_h" = xyes], HAVE_TERMIO_H, 1, 0)
++CF_SUBST_IF(["x$ac_cv_header_termios_h" = xyes], HAVE_TERMIOS_H, 1, 0)
+
+ ################################################################################
+-test "$use_database" = yes && \
++test "x$use_database" = xyes && \
+ SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
+
+ SUB_MAKEFILES="$SUB_MAKEFILES misc/ncurses-config:misc/ncurses-config.in"
+ SUB_MAKEFILES="$SUB_MAKEFILES man/ncurses${DFT_ARG_SUFFIX}${cf_cv_abi_version}-config.1:man/MKncu_config.in"
+
+-if test x"$enable_pc_files" = xyes ; then \
++if test "x$enable_pc_files" = xyes ; then \
+ SUB_MAKEFILES="$SUB_MAKEFILES misc/gen-pkgconfig:misc/gen-pkgconfig.in"
+ MAKE_PC_FILES=
+ else
+@@ -1917,12 +1903,18 @@
+ ADAHTML_DIR=../../doc/html/ada
+ AC_SUBST(ADAHTML_DIR)
+
++# these could be configurable, but are not currently
++PANEL_NAME=panel
++MENU_NAME=menu
++FORM_NAME=form
++CXX_NAME=ncurses++
++
++AC_SUBST(PANEL_NAME)
++AC_SUBST(MENU_NAME)
++AC_SUBST(FORM_NAME)
++AC_SUBST(CXX_NAME)
++
+ SUB_SCRIPTS=
+-case $cf_cv_system_name in #(vi
+-*mingw32*) #(vi
+- SUB_SCRIPTS="mk-dlls.sh"
+- ;;
+-esac
+
+ AC_OUTPUT( \
+ include/MKterm.h.awk \
+@@ -1934,11 +1926,11 @@
+ $SUB_MAKEFILES \
+ Makefile,[
+ if test "x$cf_with_tests" != xno ; then
+- CF_PRG_RULES([$srcdir/test/mk-test.awk INSTALL=no ECHO_LINK="$ECHO_LINK"], test)
++ CF_PRG_RULES([$srcdir/test/mk-test.awk INSTALL=no ECHO_LINK="$ECHO_LD"], test)
+ fi
+ CF_LIB_RULES($SRC_SUBDIRS)
+
+-if test "x$cf_with_ada" != xno ; then
++if test "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = "xyes"; then
+ if test -z "$USE_OLD_MAKERULES" ; then
+ $AWK -f $srcdir/Ada95/mk-1st.awk <$srcdir/Ada95/src/modules >>Ada95/src/Makefile
+ fi
+@@ -1950,10 +1942,11 @@
+ AWK="$AWK"
+ DFT_ARG_SUFFIX="$DFT_ARG_SUFFIX"
+ DFT_LWR_MODEL="$DFT_LWR_MODEL"
+-ECHO_LINK="$ECHO_LINK"
++ECHO_LD="$ECHO_LD"
+ LDCONFIG="$LDCONFIG"
+ LIBTOOL_VERSION="$LIBTOOL_VERSION"
+ LIB_NAME="$LIB_NAME"
++LIB_PREFIX="$LIB_PREFIX"
+ LIB_SUBSETS="$LIB_SUBSETS"
+ LIB_SUFFIX="$LIB_SUFFIX"
+ LIB_TRACING="$LIB_TRACING"
+@@ -1975,7 +1968,7 @@
+ TINFO_SUFFIX="$TINFO_SUFFIX"
+ USE_OLD_MAKERULES="$USE_OLD_MAKERULES"
+ WITH_CURSES_H="$with_curses_h"
+-WITH_ECHO="$with_echo"
++WITH_ECHO="${enable_echo:=yes}"
+ WITH_OVERWRITE="$with_overwrite"
+ cf_LIST_MODELS="$cf_list_models"
+ cf_cv_abi_version="$cf_cv_abi_version"
+@@ -1985,16 +1978,19 @@
+ cf_cv_enable_opaque="$cf_cv_enable_opaque"
+ cf_cv_prog_CC_c_o=$cf_cv_prog_CC_c_o
+ cf_cv_prog_CXX_c_o=$cf_cv_prog_CXX_c_o
++cf_cv_prog_gnat_correct=$cf_cv_prog_gnat_correct
+ cf_cv_rel_version="$cf_cv_rel_version"
+ cf_cv_rm_so_locs="$cf_cv_rm_so_locs"
+ cf_cv_shared_soname='$cf_cv_shared_soname'
+ cf_cv_shlib_version="$cf_cv_shlib_version"
+ cf_cv_shlib_version_infix="$cf_cv_shlib_version_infix"
+ cf_cv_system_name="$cf_cv_system_name"
++cf_cv_term_driver="$with_term_driver"
+ cf_with_ada="$cf_with_ada"
+ cf_with_cxx_binding="$cf_with_cxx_binding"
+ cf_with_manpages="$cf_with_manpages"
+ cf_with_tests="$cf_with_tests"
++with_shared_cxx="$with_shared_cxx"
+ host="$host"
+ target="$target"
+
+Index: dist.mk
+Prereq: 1.810
+--- ncurses-5.9/dist.mk 2011-04-04 22:42:20.000000000 +0000
++++ ncurses-5.9-20130504/dist.mk 2013-05-04 14:55:13.000000000 +0000
+@@ -1,5 +1,5 @@
+ ##############################################################################
+-# Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -25,7 +25,7 @@
+ # use or other dealings in this Software without prior written #
+ # authorization. #
+ ##############################################################################
+-# $Id: dist.mk,v 1.810 2011/04/04 22:42:20 tom Exp $
++# $Id: dist.mk,v 1.926 2013/05/04 14:55:13 tom Exp $
+ # Makefile for creating ncurses distributions.
+ #
+ # This only needs to be used directly as a makefile by developers, but
+@@ -37,7 +37,7 @@
+ # These define the major/minor/patch versions of ncurses.
+ NCURSES_MAJOR = 5
+ NCURSES_MINOR = 9
+-NCURSES_PATCH = 20110404
++NCURSES_PATCH = 20130504
+
+ # We don't append the patch to the version, since this only applies to releases
+ VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
+Index: doc/html/man/adacurses-config.1.html
+--- ncurses-5.9/doc/html/man/adacurses-config.1.html 2011-04-04 22:46:28.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/adacurses-config.1.html 2013-03-09 22:11:58.000000000 +0000
+@@ -83,7 +83,7 @@
+ <H2>SEE ALSO</H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
+
+- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+
+
+Index: doc/html/man/captoinfo.1m.html
+--- ncurses-5.9/doc/html/man/captoinfo.1m.html 2011-04-04 22:46:28.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/captoinfo.1m.html 2013-03-09 22:11:58.000000000 +0000
+@@ -87,8 +87,8 @@
+
+ </PRE>
+ <H2>FILES</H2><PRE>
+- /usr/share/terminfo Compiled terminal description
+- database.
++ /usr/share/terminfo Compiled terminal description data-
++ base.
+
+
+ </PRE>
+@@ -101,7 +101,6 @@
+ has not mistakenly translated a completely unknown and
+ random capability and/or syntax error.
+
+-
+ Nonstd Std From Terminfo
+ name name capability
+ -----------------------------------------------
+@@ -116,8 +115,8 @@
+ EN @7 XENIX key_end
+ GE ae XENIX exit_alt_charset_mode
+ GS as XENIX enter_alt_charset_mode
+-
+ HM kh XENIX key_home
++
+ LD kL XENIX key_dl
+ PD kN XENIX key_npage
+ PN po XENIX prtr_off
+@@ -139,7 +138,6 @@
+ bilities for forms drawing, designed to take advantage of
+ the IBM PC high-half graphics. They were as follows:
+
+-
+ Cap Graphic
+ -----------------------------
+ G2 upper left
+@@ -182,7 +180,6 @@
+ font0 s0ds
+ font1 s1ds
+ font2 s2ds
+-
+ font3 s3ds
+
+ Additionally, the AIX <EM>box1</EM> capability will be automati-
+@@ -208,7 +205,7 @@
+ <H2>SEE ALSO</H2><PRE>
+ <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+
+- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+
+ </PRE>
+Index: doc/html/man/clear.1.html
+--- ncurses-5.9/doc/html/man/clear.1.html 2011-04-04 22:46:28.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/clear.1.html 2013-03-09 22:11:58.000000000 +0000
+@@ -69,7 +69,7 @@
+ <H2>SEE ALSO</H2><PRE>
+ <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+
+- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+
+
+Index: doc/html/man/curs_add_wch.3x.html
+--- ncurses-5.9/doc/html/man/curs_add_wch.3x.html 2011-02-25 23:24:49.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_add_wch.3x.html 2013-03-09 22:11:58.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 2001-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 2001-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_add_wch.3x,v 1.14 2011/01/15 15:27:43 tom Exp @
++ * @Id: curs_add_wch.3x,v 1.15 2012/11/03 23:03:59 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -77,17 +77,17 @@
+ ous character at that location is removed. A new
+ character specified by <EM>wch</EM> is placed at that location
+ with rendition specified by <EM>wch</EM>. The cursor then
+- advances to the next spacing character on the screen.
++ advances to the next spacing character on the screen.
+
+ <STRONG>o</STRONG> If <EM>wch</EM> refers to a non-spacing character, all previous
+- characters at that location are preserved. The non-
+- spacing characters of <EM>wch</EM> are added to the spacing
+- complex character, and the rendition specified by <EM>wch</EM>
++ characters at that location are preserved. The non-
++ spacing characters of <EM>wch</EM> are added to the spacing
++ complex character, and the rendition specified by <EM>wch</EM>
+ is ignored.
+
+- <STRONG>o</STRONG> If the character part of <EM>wch</EM> is a tab, newline,
+- backspace or other control character, the window is
+- updated and the cursor moves as if <STRONG>addch</STRONG> were called.
++ <STRONG>o</STRONG> If the character part of <EM>wch</EM> is a tab, newline,
++ backspace or other control character, the window is
++ updated and the cursor moves as if <STRONG>addch</STRONG> were called.
+
+ The <STRONG>echo_wchar</STRONG> function is functionally equivalent to a
+ call to <STRONG>add_wch</STRONG> followed by a call to <STRONG>refresh</STRONG>. Similarly,
+@@ -104,15 +104,14 @@
+ characters. These symbols correspond to the same VT100
+ line-drawing set as <STRONG><A HREF="addch.3x.html">addch(3x)</A></STRONG>.
+
+-
+ <EM>Name</EM> <EM>Unicode</EM> <EM>Default</EM> <EM>Description</EM>
+ ----------------------------------------------------------------
+ WACS_BLOCK 0x25ae # solid square block
+ WACS_BOARD 0x2592 # board of squares
+ WACS_BTEE 0x2534 + bottom tee
+ WACS_BULLET 0x00b7 o bullet
+-
+ WACS_CKBOARD 0x2592 : checker board (stipple)
++
+ WACS_DARROW 0x2193 v arrow pointing down
+ WACS_DEGREE 0x00b0 ' degree symbol
+ WACS_DIAMOND 0x25c6 + diamond
+@@ -144,7 +143,6 @@
+ The wide-character configuration of ncurses also defines
+ symbols for thick- and double-lines:
+
+-
+ <EM>Name</EM> <EM>Unicode</EM> <EM>Default</EM> <EM>Description</EM>
+ ---------------------------------------------------------------------
+ WACS_T_ULCORNER 0x250f + thick upper left corner
+@@ -172,7 +170,7 @@
+
+
+ </PRE>
+-<H2>RETURN VALUES</H2><PRE>
++<H2>RETURN VALUE</H2><PRE>
+ All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on
+ success.
+
+Index: doc/html/man/curs_add_wchstr.3x.html
+--- ncurses-5.9/doc/html/man/curs_add_wchstr.3x.html 2011-01-09 01:03:05.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_add_wchstr.3x.html 2013-03-09 22:11:58.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 2002-2005,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_add_wchstr.3x,v 1.9 2010/12/04 18:36:44 tom Exp @
++ * @Id: curs_add_wchstr.3x,v 1.10 2012/11/03 22:54:43 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -47,7 +47,7 @@
+
+ </PRE>
+ <H2>NAME</H2><PRE>
+- <STRONG>add_wchstr</STRONG>, <STRONG>add_wchnstr</STRONG>, <STRONG>wadd_wchstr</STRONG>, <STRONG>wadd_wchnstr</STRONG>,
++ <STRONG>add_wchstr</STRONG>, <STRONG>add_wchnstr</STRONG>, <STRONG>wadd_wchstr</STRONG>, <STRONG>wadd_wchnstr</STRONG>,
+ <STRONG>mvadd_wchstr</STRONG>, <STRONG>mvadd_wchnstr</STRONG>, <STRONG>mvwadd_wchstr</STRONG>, <STRONG>mvwadd_wchnstr</STRONG>
+ - add an array of complex characters (and attributes) to a
+ curses window
+@@ -69,39 +69,42 @@
+
+ </PRE>
+ <H2>DESCRIPTION</H2><PRE>
+- These routines copy the array of complex characters <EM>wchstr</EM>
+- into the window image structure at and after the current
+- cursor position. The four routines with <EM>n</EM> as the last
+- argument copy at most <EM>n</EM> elements, but no more than will
+- fit on the line. If <STRONG>n</STRONG>=<STRONG>-1</STRONG> then the whole array is copied,
+- to the maximum number of characters that will fit on the
+- line.
+-
+- The window cursor is <EM>not</EM> advanced. These routines work
+- faster than <STRONG>waddnstr</STRONG>. On the other hand, they do not per-
+- form checking (such as for the newline, backspace, or car-
+- riage return characters), they do not advance the current
+- cursor position, they do not expand other control charac-
+- ters to ^-escapes, and they truncate the string if it
+- crosses the right margin, rather than wrapping it around
+- to the new line.
+-
+- These routines end successfully on encountering a null
+- <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>, or when they have filled the current line. If a
+- complex character cannot completely fit at the end of the
+- current line, the remaining columns are filled with the
++ These functions copy the (null-terminated) array of com-
++ plex characters <EM>wchstr</EM> into the window image structure
++ starting at the current cursor position. The four func-
++ tions with <EM>n</EM> as the last argument copy at most <EM>n</EM> elements,
++ but no more than will fit on the line. If <STRONG>n</STRONG>=<STRONG>-1</STRONG> then the
++ whole array is copied, to the maximum number of characters
++ that will fit on the line.
++
++ The window cursor is <EM>not</EM> advanced. These functions work
++ faster than <STRONG>waddnstr</STRONG>. On the other hand:
++
++ <STRONG>o</STRONG> they do not perform checking (such as for the newline,
++ backspace, or carriage return characters),
++
++ <STRONG>o</STRONG> they do not advance the current cursor position,
++
++ <STRONG>o</STRONG> they do not expand other control characters to ^-es-
++ capes, and
++
++ <STRONG>o</STRONG> they truncate the string if it crosses the right mar-
++ gin, rather than wrapping it around to the new line.
++
++ These functions end successfully on encountering a null
++ <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>, or when they have filled the current line. If a
++ complex character cannot completely fit at the end of the
++ current line, the remaining columns are filled with the
+ background character and rendition.
+
+
+ </PRE>
+-<H2>NOTES</H2><PRE>
+- All functions except <STRONG>wadd_wchnstr</STRONG> may be macros.
++<H2>RETURN VALUE</H2><PRE>
++ All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
++ on success.
+
+-
+-</PRE>
+-<H2>RETURN VALUES</H2><PRE>
+- All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on
+- success.
++ X/Open does not define any error conditions. This imple-
++ mentation returns an error if the window pointer is null.
+
+ Functions with a "mv" prefix first perform a cursor move-
+ ment using <STRONG>wmove</STRONG>, and return an error if the position is
+@@ -109,14 +112,22 @@
+
+
+ </PRE>
++<H2>NOTES</H2><PRE>
++ All functions except <STRONG>wadd_wchnstr</STRONG> may be macros.
++
++
++</PRE>
+ <H2>PORTABILITY</H2><PRE>
+- All these entry points are described in the XSI Curses
+- standard, Issue 4.
++ These entry points are described in the XSI Curses stan-
++ dard, Issue 4.
+
+
+ </PRE>
+ <H2>SEE ALSO</H2><PRE>
+- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>, <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
++ <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
++
++ Comparable functions in the narrow-character (ncurses) li-
++ brary are described in <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>.
+
+
+
+Index: doc/html/man/curs_addch.3x.html
+--- ncurses-5.9/doc/html/man/curs_addch.3x.html 2011-02-25 23:24:50.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_addch.3x.html 2013-03-09 22:11:58.000000000 +0000
+@@ -112,9 +112,8 @@
+ characters to the screen with routines of the <STRONG>addch</STRONG> fam-
+ ily. The default character listed below is used if the
+ <STRONG>acsc</STRONG> capability does not define a terminal-specific
+- replacement for it. The names are taken from VT100
+- nomenclature.
+-
++ replacement for it. The names are taken from VT100 nomen-
++ clature.
+
+ <EM>Name</EM> <EM>Default</EM> <EM>Description</EM>
+ --------------------------------------------------
+Index: doc/html/man/curs_addchstr.3x.html
+--- ncurses-5.9/doc/html/man/curs_addchstr.3x.html 2011-01-09 01:03:04.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_addchstr.3x.html 2013-03-09 22:11:58.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_addchstr.3x,v 1.15 2010/12/04 18:36:44 tom Exp @
++ * @Id: curs_addchstr.3x,v 1.16 2012/11/03 22:54:43 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -62,62 +62,63 @@
+ <STRONG>int</STRONG> <STRONG>waddchnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvaddchstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvaddchnstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvwaddchstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG>
+- <STRONG>*chstr);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvwaddchnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG>
+- <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvwaddchstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvwaddchnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+
+
+ </PRE>
+ <H2>DESCRIPTION</H2><PRE>
+- These routines copy <EM>chstr</EM> into the window image structure
+- at and after the current cursor position. The four rou-
+- tines with <EM>n</EM> as the last argument copy at most <EM>n</EM> elements,
+- but no more than will fit on the line. If <STRONG>n</STRONG>=<STRONG>-1</STRONG> then the
+- whole string is copied, to the maximum number of charac-
+- ters that will fit on the line.
+-
+- The window cursor is <EM>not</EM> advanced, and these routines work
+- faster than <STRONG>waddnstr</STRONG>. On the other hand, they do not per-
+- form any kind of checking (such as for the newline,
+- backspace, or carriage return characters), they do not ad-
+- vance the current cursor position, they do not expand oth-
+- er control characters to ^-escapes, and they truncate the
+- string if it crosses the right margin, rather than wrap-
+- ping it around to the new line.
++ These functions copy the (null-terminated) <EM>chstr</EM> array in-
++ to the window image structure starting at the current cur-
++ sor position. The four functions with <EM>n</EM> as the last argu-
++ ment copy at most <EM>n</EM> elements, but no more than will fit on
++ the line. If <STRONG>n</STRONG>=<STRONG>-1</STRONG> then the whole array is copied, to the
++ maximum number of characters that will fit on the line.
++
++ The window cursor is <EM>not</EM> advanced. These functions work
++ faster than <STRONG>waddnstr</STRONG>. On the other hand:
++
++ <STRONG>o</STRONG> they do not perform checking (such as for the newline,
++ backspace, or carriage return characters),
++
++ <STRONG>o</STRONG> they do not advance the current cursor position,
++
++ <STRONG>o</STRONG> they do not expand other control characters to ^-es-
++ capes, and
++
++ <STRONG>o</STRONG> they truncate the string if it crosses the right mar-
++ gin, rather than wrapping it around to the new line.
+
+
+ </PRE>
+-<H2>RETURN VALUES</H2><PRE>
+- All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on
+- success (the SVr4 manuals specify only "an integer value
+- other than <STRONG>ERR</STRONG>") upon successful completion, unless other-
+- wise noted in the preceding routine descriptions.
++<H2>RETURN VALUE</H2><PRE>
++ All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
++ on success.
+
+- X/Open does not define any error conditions. This imple-
++ X/Open does not define any error conditions. This imple-
+ mentation returns an error if the window pointer is null.
+
+- Functions with a "mv" prefix first perform a cursor move-
+- ment using <STRONG>wmove</STRONG>, and return an error if the position is
++ Functions with a "mv" prefix first perform a cursor move-
++ ment using <STRONG>wmove</STRONG>, and return an error if the position is
+ outside the window, or if the window pointer is null.
+
+
+ </PRE>
+ <H2>NOTES</H2><PRE>
+- Note that all routines except <STRONG>waddchnstr</STRONG> may be macros.
++ All functions except <STRONG>waddchnstr</STRONG> may be macros.
+
+
+ </PRE>
+ <H2>PORTABILITY</H2><PRE>
+- These entry points are described in the XSI Curses stan-
++ These entry points are described in the XSI Curses stan-
+ dard, Issue 4.
+
+
+ </PRE>
+ <H2>SEE ALSO</H2><PRE>
+- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
++ <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
+
+- Comparable functions in the wide-character (ncursesw) li-
++ Comparable functions in the wide-character (ncursesw) li-
+ brary are described in <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>.
+
+
+Index: doc/html/man/curs_addstr.3x.html
+--- ncurses-5.9/doc/html/man/curs_addstr.3x.html 2011-01-09 01:03:05.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_addstr.3x.html 2013-03-09 22:11:58.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_addstr.3x,v 1.16 2010/12/04 18:36:44 tom Exp @
++ * @Id: curs_addstr.3x,v 1.17 2012/11/03 22:57:31 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -68,26 +68,32 @@
+
+ </PRE>
+ <H2>DESCRIPTION</H2><PRE>
+- These routines write the characters of the (null-terminat-
+- ed) character string <EM>str</EM> on the given window. It is simi-
+- lar to calling <STRONG>waddch</STRONG> once for each character in the
+- string. The four routines with <EM>n</EM> as the last argument
+- write at most <EM>n</EM> characters. If <EM>n</EM> is -1, then the entire
+- string will be added, up to the maximum number of charac-
+- ters that will fit on the line, or until a terminating
+- null is reached.
++ These functions write the (null-terminated) character
++ string <EM>str</EM> on the given window. It is similar to calling
++ <STRONG>waddch</STRONG> once for each character in the string.
++
++ The <EM>mv</EM> functions perform cursor movement once, before
++ writing any characters. Thereafter, the cursor is ad-
++ vanced as a side-effect of writing to the window.
++
++ The four functions with <EM>n</EM> as the last argument write at
++ most <EM>n</EM> characters, or until a terminating null is reached.
++ If <EM>n</EM> is -1, then the entire string will be added.
+
+
+ </PRE>
+ <H2>RETURN VALUE</H2><PRE>
+- All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on
+- success (the SVr4 manuals specify only "an integer value
+- other than <STRONG>ERR</STRONG>") upon successful completion.
++ All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
++ on success.
+
+ X/Open does not define any error conditions. This imple-
+- mentation returns an error if the window pointer is null
+- or if the string pointer is null or if the corresponding
+- calls to <STRONG>waddch</STRONG> return an error.
++ mentation returns an error
++
++ <STRONG>o</STRONG> if the window pointer is null or
++
++ <STRONG>o</STRONG> if the string pointer is null or
++
++ <STRONG>o</STRONG> if the corresponding calls to <STRONG>waddch</STRONG> return an error.
+
+ Functions with a "mv" prefix first perform a cursor move-
+ ment using <STRONG>wmove</STRONG>, and return an error if the position is
+@@ -96,16 +102,13 @@
+
+ </PRE>
+ <H2>NOTES</H2><PRE>
+- Note that all of these routines except <STRONG>waddstr</STRONG> and
+- <STRONG>waddnstr</STRONG> may be macros.
++ All of these functions except <STRONG>waddnstr</STRONG> may be macros.
+
+
+ </PRE>
+ <H2>PORTABILITY</H2><PRE>
+- All these entry points are described in the XSI Curses
+- standard, Issue 4. The XSI errors EILSEQ and EOVERFLOW,
+- associated with extended-level conformance, are not yet
+- detected.
++ These functions are described in the XSI Curses standard,
++ Issue 4.
+
+
+ </PRE>
+Index: doc/html/man/curs_addwstr.3x.html
+--- ncurses-5.9/doc/html/man/curs_addwstr.3x.html 2011-01-09 01:03:05.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_addwstr.3x.html 2013-03-09 22:11:58.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_addwstr.3x,v 1.10 2010/12/04 18:36:44 tom Exp @
++ * @Id: curs_addwstr.3x,v 1.11 2012/11/03 22:57:31 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -68,43 +68,51 @@
+
+ </PRE>
+ <H2>DESCRIPTION</H2><PRE>
+- These routines write the characters of the (null-terminat-
+- ed) <STRONG>wchar_t</STRONG> character string <EM>wstr</EM> on the given window. It
+- is similar to constructing a <STRONG>cchar_t</STRONG> for each wchar_t in
+- the string, then calling <STRONG>wadd_wch</STRONG> for the resulting
++ These functions write the characters of the (null-termi-
++ nated) <STRONG>wchar_t</STRONG> character string <EM>wstr</EM> on the given window.
++ It is similar to constructing a <STRONG>cchar_t</STRONG> for each wchar_t
++ in the string, then calling <STRONG>wadd_wch</STRONG> for the resulting
+ <STRONG>cchar_t</STRONG>.
+
+- The <EM>mv</EM> routines perform cursor movement once, before writ-
+- ing any characters. Thereafter, the cursor is advanced as
+- a side-effect of writing to the window.
++ The <EM>mv</EM> functions perform cursor movement once, before
++ writing any characters. Thereafter, the cursor is ad-
++ vanced as a side-effect of writing to the window.
+
+- The four routines with <EM>n</EM> as the last argument write at
+- most <EM>n</EM> <STRONG>wchar_t</STRONG> characters. If <EM>n</EM> is -1, then the entire
+- string will be added, up to the maximum number of charac-
+- ters that will fit on the line, or until a terminating
+- null is reached.
++ The four functions with <EM>n</EM> as the last argument write at
++ most <EM>n</EM> <STRONG>wchar_t</STRONG> characters, or until a terminating null is
++ reached. If <EM>n</EM> is -1, then the entire string will be
++ added.
+
+
+ </PRE>
+-<H2>RETURN VALUES</H2><PRE>
+- All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on
+- success.
++<H2>RETURN VALUE</H2><PRE>
++ All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
++ on success.
+
+- Functions with a "mv" prefix first perform a cursor move-
+- ment using <STRONG>wmove</STRONG>, and return an error if the position is
++ X/Open does not define any error conditions. This imple-
++ mentation returns an error
++
++ <STRONG>o</STRONG> if the window pointer is null or
++
++ <STRONG>o</STRONG> if the string pointer is null or
++
++ <STRONG>o</STRONG> if the corresponding calls to <STRONG>wadd_wch</STRONG> return an er-
++ ror.
++
++ Functions with a "mv" prefix first perform a cursor move-
++ ment using <STRONG>wmove</STRONG>, and return an error if the position is
+ outside the window, or if the window pointer is null.
+
+
+ </PRE>
+ <H2>NOTES</H2><PRE>
+- Note that all of these routines except <STRONG>waddnwstr</STRONG> may be
+- macros.
++ All of these functions except <STRONG>waddnwstr</STRONG> may be macros.
+
+
+ </PRE>
+ <H2>PORTABILITY</H2><PRE>
+- All these entry points are described in the XSI Curses
+- standard, Issue 4.
++ These functions are described in the XSI Curses standard,
++ Issue 4.
+
+
+ </PRE>
+Index: doc/html/man/curs_attr.3x.html
+--- ncurses-5.9/doc/html/man/curs_attr.3x.html 2011-02-25 23:24:50.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_attr.3x.html 2013-03-09 22:11:58.000000000 +0000
+@@ -148,7 +148,6 @@
+ be passed to the routines <STRONG>attron</STRONG>, <STRONG>attroff</STRONG>, and <STRONG>attrset</STRONG>, or
+ OR'd with the characters passed to <STRONG>addch</STRONG>.
+
+-
+ <STRONG>A_NORMAL</STRONG> Normal display (no highlight)
+ <STRONG>A_STANDOUT</STRONG> Best highlighting mode of the terminal.
+ <STRONG>A_UNDERLINE</STRONG> Underlining
+@@ -211,7 +210,6 @@
+ the screen when changing the attributes. Use <STRONG>touchwin</STRONG> to
+ force the screen to match the updated attributes.
+
+-
+ <STRONG>WA_NORMAL</STRONG> Normal display (no highlight)
+ <STRONG>WA_STANDOUT</STRONG> Best highlighting mode of the terminal.
+ <STRONG>WA_UNDERLINE</STRONG> Underlining
+Index: doc/html/man/curs_bkgrnd.3x.html
+--- ncurses-5.9/doc/html/man/curs_bkgrnd.3x.html 2011-01-09 01:03:06.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_bkgrnd.3x.html 2013-03-09 22:11:58.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_bkgrnd.3x,v 1.4 2010/12/04 18:49:20 tom Exp @
++ * @Id: curs_bkgrnd.3x,v 1.5 2012/11/03 23:03:59 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -102,7 +102,7 @@
+
+
+ </PRE>
+-<H2>RETURN VALUES</H2><PRE>
++<H2>RETURN VALUE</H2><PRE>
+ The <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> routines do not return a
+ value.
+
+Index: doc/html/man/curs_border_set.3x.html
+--- ncurses-5.9/doc/html/man/curs_border_set.3x.html 2011-01-22 21:01:21.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_border_set.3x.html 2013-03-09 22:11:58.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 2002-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_border_set.3x,v 1.10 2011/01/15 12:56:18 tom Exp @
++ * @Id: curs_border_set.3x,v 1.11 2012/11/03 23:03:59 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -154,7 +154,7 @@
+
+
+ </PRE>
+-<H2>RETURN VALUES</H2><PRE>
++<H2>RETURN VALUE</H2><PRE>
+ Upon successful completion, these functions return <STRONG>OK</STRONG>.
+ Otherwise, they return <STRONG>ERR</STRONG>.
+
+Index: doc/html/man/curs_get_wch.3x.html
+--- ncurses-5.9/doc/html/man/curs_get_wch.3x.html 2010-09-18 21:35:17.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_get_wch.3x.html 2013-03-09 22:11:59.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_get_wch.3x,v 1.7 2010/08/14 23:31:42 tom Exp @
++ * @Id: curs_get_wch.3x,v 1.8 2012/11/03 23:03:59 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -122,7 +122,7 @@
+
+
+ </PRE>
+-<H2>RETURN VALUES</H2><PRE>
++<H2>RETURN VALUE</H2><PRE>
+ When <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, and <STRONG>mvwget_wch</STRONG> func-
+ tions successfully report the pressing of a function key,
+ they return <STRONG>KEY_CODE_YES</STRONG>. When they successfully report a
+Index: doc/html/man/curs_get_wstr.3x.html
+--- ncurses-5.9/doc/html/man/curs_get_wstr.3x.html 2011-01-09 01:03:08.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_get_wstr.3x.html 2013-03-09 22:11:59.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_get_wstr.3x,v 1.8 2010/12/04 18:36:44 tom Exp @
++ * @Id: curs_get_wstr.3x,v 1.9 2012/11/03 23:03:59 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -118,7 +118,7 @@
+
+
+ </PRE>
+-<H2>RETURN VALUES</H2><PRE>
++<H2>RETURN VALUE</H2><PRE>
+ All of these functions return <STRONG>OK</STRONG> upon successful comple-
+ tion. Otherwise, they return <STRONG>ERR</STRONG>.
+
+Index: doc/html/man/curs_getcchar.3x.html
+--- ncurses-5.9/doc/html/man/curs_getcchar.3x.html 2011-01-09 01:03:07.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_getcchar.3x.html 2013-03-09 22:11:59.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 2001-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2001-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_getcchar.3x,v 1.15 2010/12/04 18:36:44 tom Exp @
++ * @Id: curs_getcchar.3x,v 1.16 2012/11/03 23:03:59 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -128,7 +128,7 @@
+
+
+ </PRE>
+-<H2>RETURN VALUES</H2><PRE>
++<H2>RETURN VALUE</H2><PRE>
+ When <EM>wch</EM> is a null pointer, <STRONG>getcchar</STRONG> returns the number of
+ wide characters referenced by <EM>wcval</EM>, including one for a
+ trailing null.
+Index: doc/html/man/curs_getch.3x.html
+--- ncurses-5.9/doc/html/man/curs_getch.3x.html 2011-02-25 23:24:52.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_getch.3x.html 2013-03-09 22:11:59.000000000 +0000
+@@ -2,7 +2,7 @@
+ <!--
+ * t
+ ****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_getch.3x,v 1.36 2011/01/22 19:38:51 tom Exp @
++ * @Id: curs_getch.3x,v 1.37 2012/07/07 20:04:56 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -110,7 +110,6 @@
+ be returned by the next call to <STRONG>wgetch</STRONG>. There is just one
+ input queue for all windows.
+
+-
+ <STRONG>Function</STRONG> <STRONG>Keys</STRONG>
+ The following function keys, defined in <STRONG>&lt;curses.h&gt;</STRONG>, might
+ be returned by <STRONG>getch</STRONG> if <STRONG>keypad</STRONG> has been enabled. Note
+@@ -179,8 +178,8 @@
+ KEY_REPLACE Replace key
+ KEY_RESIZE Screen resized
+ KEY_RESTART Restart key
+- KEY_RESUME Resume key
+
++ KEY_RESUME Resume key
+ KEY_SAVE Save key
+ KEY_SBEG Shifted beginning key
+ KEY_SCANCEL Shifted cancel key
+@@ -233,21 +232,18 @@
+ sion of <STRONG>KEY_MOUSE</STRONG>.
+
+
+-
+ </PRE>
+ <H2>RETURN VALUE</H2><PRE>
+ All routines return the integer <STRONG>ERR</STRONG> upon failure and an
+ integer value other than <STRONG>ERR</STRONG> (<STRONG>OK</STRONG> in the case of ungetch())
+ upon successful completion.
+
+- <STRONG>ungetch</STRONG>
+- returns an error if there is no more room in
+- the FIFO.
+-
+- <STRONG>wgetch</STRONG>
+- returns an error if the window pointer is
+- null, or if its timeout expires without having
+- any data.
++ <STRONG>ungetch</STRONG>
++ returns ERR if there is no more room in the FIFO.
++
++ <STRONG>wgetch</STRONG>
++ returns ERR if the window pointer is null, or if
++ its timeout expires without having any data.
+
+ Functions with a "mv" prefix first perform a cursor move-
+ ment using <STRONG>wmove</STRONG>, and return an error if the position is
+Index: doc/html/man/curs_in_wchstr.3x.html
+--- ncurses-5.9/doc/html/man/curs_in_wchstr.3x.html 2011-01-09 01:03:10.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_in_wchstr.3x.html 2013-03-09 22:11:59.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_in_wchstr.3x,v 1.8 2010/12/04 18:36:44 tom Exp @
++ * @Id: curs_in_wchstr.3x,v 1.9 2012/11/03 23:03:59 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -90,7 +90,7 @@
+
+
+ </PRE>
+-<H2>RETURN VALUES</H2><PRE>
++<H2>RETURN VALUE</H2><PRE>
+ Upon successful completion, these functions return <STRONG>OK</STRONG>.
+ Otherwise, they return <STRONG>ERR</STRONG>.
+
+Index: doc/html/man/curs_inopts.3x.html
+--- ncurses-5.9/doc/html/man/curs_inopts.3x.html 2011-01-09 01:03:09.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_inopts.3x.html 2013-03-09 22:11:59.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_inopts.3x,v 1.15 2010/12/04 18:40:45 tom Exp @
++ * @Id: curs_inopts.3x,v 1.17 2012/04/28 19:09:15 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -229,24 +229,58 @@
+ ty, set echo or noecho explicitly just after initializa-
+ tion, even if your program remains in cooked mode.
+
++ When <STRONG>keypad</STRONG> is first enabled, ncurses loads the key-defi-
++ nitions for the current terminal description. If the ter-
++ minal description includes extended string capabilities,
++ e.g., from using the <STRONG>-x</STRONG> option of tic, then ncurses also
++ defines keys for the capabilities whose names begin with
++ "k". The corresponding keycodes are generated and (de-
++ pending on previous loads of terminal descriptions) may
++ differ from one execution of a program to the next. The
++ generated keycodes are recognized by the <STRONG>keyname</STRONG> function
++ (which will then return a name beginning with "k" denoting
++ the terminfo capability name rather than "K", used for
++ curses key-names). On the other hand, an application can
++ use <STRONG>define_key</STRONG> to establish a specific keycode for a given
++ string. This makes it possible for an application to
++ check for an extended capability's presence with <EM>tigetstr</EM>,
++ and reassign the keycode to match its own needs.
++
++ Low-level applications can use <STRONG>tigetstr</STRONG> to obtain the def-
++ inition of any particular string capability. Higher-level
++ applications which use the curses <STRONG>wgetch</STRONG> and similar func-
++ tions to return keycodes rely upon the order in which the
++ strings are loaded. If more than one key definition has
++ the same string value, then <STRONG>wgetch</STRONG> can return only one
++ keycode. Most curses implementations (including ncurses)
++ load key definitions in the order defined by the array of
++ string capability names. The last key to be loaded deter-
++ mines the keycode which will be returned. In ncurses, you
++ may also have extended capabilities interpreted as key
++ definitions. These are loaded after the predefined keys,
++ and if a capability's value is the same as a previously-
++ loaded key definition, the later definition is the one
++ used.
++
+
+ </PRE>
+ <H2>NOTES</H2><PRE>
+- Note that <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>meta</STRONG>, <STRONG>node-</STRONG>
+- <STRONG>lay</STRONG>, <STRONG>notimeout</STRONG>, <STRONG>noqiflush</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>timeout</STRONG>, and <STRONG>wtimeout</STRONG>
++ Note that <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>meta</STRONG>, <STRONG>node-</STRONG>
++ <STRONG>lay</STRONG>, <STRONG>notimeout</STRONG>, <STRONG>noqiflush</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>timeout</STRONG>, and <STRONG>wtimeout</STRONG>
+ may be macros.
+
+ The <STRONG>noraw</STRONG> and <STRONG>nocbreak</STRONG> calls follow historical practice in
+- that they attempt to restore to normal (`cooked') mode
+- from raw and cbreak modes respectively. Mixing raw/noraw
+- and cbreak/nocbreak calls leads to tty driver control
+- states that are hard to predict or understand; it is not
++ that they attempt to restore to normal (`cooked') mode
++ from raw and cbreak modes respectively. Mixing raw/noraw
++ and cbreak/nocbreak calls leads to tty driver control
++ states that are hard to predict or understand; it is not
+ recommended.
+
+
+ </PRE>
+ <H2>SEE ALSO</H2><PRE>
+- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="termio.7.html">termio(7)</A></STRONG>
++ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,
++ <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>, <STRONG><A HREF="termio.7.html">termio(7)</A></STRONG>
+
+
+
+Index: doc/html/man/curs_ins_wstr.3x.html
+--- ncurses-5.9/doc/html/man/curs_ins_wstr.3x.html 2011-01-09 01:03:10.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_ins_wstr.3x.html 2013-03-09 22:11:59.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 2002-2005,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_ins_wstr.3x,v 1.6 2010/12/04 18:38:55 tom Exp @
++ * @Id: curs_ins_wstr.3x,v 1.7 2012/11/03 23:03:59 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -102,7 +102,7 @@
+
+
+ </PRE>
+-<H2>RETURN VALUES</H2><PRE>
++<H2>RETURN VALUE</H2><PRE>
+ Upon successful completion, these functions return OK.
+ Otherwise, they return ERR.
+
+Index: doc/html/man/curs_inwstr.3x.html
+--- ncurses-5.9/doc/html/man/curs_inwstr.3x.html 2011-01-09 01:03:11.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_inwstr.3x.html 2013-03-09 22:12:00.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_inwstr.3x,v 1.7 2010/12/04 18:38:55 tom Exp @
++ * @Id: curs_inwstr.3x,v 1.8 2012/11/03 23:03:59 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -87,7 +87,7 @@
+
+
+ </PRE>
+-<H2>RETURN VALUES</H2><PRE>
++<H2>RETURN VALUE</H2><PRE>
+ All routines return <STRONG>ERR</STRONG> upon failure. Upon successful com-
+ pletion, the *<STRONG>inwstr</STRONG> routines return <STRONG>OK</STRONG>, and the *<STRONG>innwstr</STRONG>
+ routines return the number of characters read into the
+Index: doc/html/man/curs_mouse.3x.html
+--- ncurses-5.9/doc/html/man/curs_mouse.3x.html 2011-02-25 23:24:55.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_mouse.3x.html 2013-03-09 22:12:00.000000000 +0000
+@@ -98,7 +98,6 @@
+
+ Here are the mouse event type masks which may be defined:
+
+-
+ <EM>Name</EM> <EM>Description</EM>
+ ---------------------------------------------------------------------
+ BUTTON1_PRESSED mouse button 1 down
+@@ -111,10 +110,9 @@
+ BUTTON2_RELEASED mouse button 2 up
+ BUTTON2_CLICKED mouse button 2 clicked
+ BUTTON2_DOUBLE_CLICKED mouse button 2 double clicked
+-
+-
+ BUTTON2_TRIPLE_CLICKED mouse button 2 triple clicked
+ ---------------------------------------------------------------------
++
+ BUTTON3_PRESSED mouse button 3 down
+ BUTTON3_RELEASED mouse button 3 up
+ BUTTON3_CLICKED mouse button 3 clicked
+Index: doc/html/man/curs_sp_funcs.3x.html
+--- ncurses-5.9/doc/html/man/curs_sp_funcs.3x.html 2011-02-25 23:24:57.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_sp_funcs.3x.html 2013-03-09 22:12:01.000000000 +0000
+@@ -193,16 +193,15 @@
+ functions which improve the ability to manage multiple
+ screens. This feature can be added to any of the configu-
+ rations supported by ncurses; it adds new entrypoints
+- without changing the meaning of any of the existing ones.
+-
++ without changing the meaning of any of the existing ones.
+
+ <STRONG>IMPROVED</STRONG> <STRONG>FUNCTIONS</STRONG>
+- Most of the functions are new versions of existing func-
++ Most of the functions are new versions of existing func-
+ tions. A parameter is added at the front of the parameter
+ list. It is a SCREEN pointer.
+
+- The existing functions all use the current screen, which
+- is a static variable. The extended functions use the
++ The existing functions all use the current screen, which
++ is a static variable. The extended functions use the
+ specified screen, thereby reducing the number of variables
+ which must be modified to update multiple screens.
+
+@@ -210,22 +209,22 @@
+ Here are the new functions:
+
+ ceiling_panel
+- this returns a pointer to the topmost panel in the
++ this returns a pointer to the topmost panel in the
+ given screen.
+
+ ground_panel
+- this returns a pointer to the lowest panel in the
++ this returns a pointer to the lowest panel in the
+ given screen.
+
+ new_prescr
+- when creating a new screen, the library uses static
+- variables which have been preset, e.g., by
++ when creating a new screen, the library uses static
++ variables which have been preset, e.g., by
+ <STRONG><A HREF="use_env.3x.html">use_env(3x)</A></STRONG>, <STRONG><A HREF="filter.3x.html">filter(3x)</A></STRONG>, etc. With the screen-point-
+ er extension, there are situations where it must cre-
+- ate a current screen before the unextended library
+- does. The <STRONG>new_prescr</STRONG> function is used internally to
++ ate a current screen before the unextended library
++ does. The <STRONG>new_prescr</STRONG> function is used internally to
+ handle these cases. It is also provided as an entry-
+- point to allow applications to customize the library
++ point to allow applications to customize the library
+ initialization.
+
+
+@@ -234,37 +233,36 @@
+ This extension introduces some new names:
+
+ NCURSES_SP_FUNCS
+- This is set to the library patch-level number. In
+- the unextended library, this is zero (0), to make it
++ This is set to the library patch-level number. In
++ the unextended library, this is zero (0), to make it
+ useful for checking if the extension is provided.
+
+ NCURSES_SP_NAME
+- The new functions are named using the macro <EM>NCURS-</EM>
+- <EM>ES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>NAME</EM>, which hides the actual implementation.
++ The new functions are named using the macro <EM>NCURS-</EM>
++ <EM>ES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>NAME</EM>, which hides the actual implementation.
+ Currently this adds a "_sp" suffix to the name of the
+- unextended function. This manual page indexes the
++ unextended function. This manual page indexes the
+ extensions showing the full name. However the proper
+- usage of these functions uses the macro, to provide
++ usage of these functions uses the macro, to provide
+ for the possibility of changing the naming convention
+ for specific library configurations.
+
+ NCURSES_SP_OUTC
+- This is a new function-pointer type to use in the
+- screen-pointer functions where an <EM>NCURSES</EM><STRONG>_</STRONG><EM>OUTC</EM> is
++ This is a new function-pointer type to use in the
++ screen-pointer functions where an <EM>NCURSES</EM><STRONG>_</STRONG><EM>OUTC</EM> is
+ used in the unextended library.
+
+ NCURSES_OUTC
+- This is a function-pointer type used for the cases
+- where a function passes characters to the output
++ This is a function-pointer type used for the cases
++ where a function passes characters to the output
+ stream, e.g., <STRONG><A HREF="vidputs.3x.html">vidputs(3x)</A></STRONG>.
+
+
+-
+ </PRE>
+ <H2>PORTABILITY</H2><PRE>
+- These routines are specific to ncurses. They were not
+- supported on Version 7, BSD or System V implementations.
+- It is recommended that any code depending on ncurses ex-
++ These routines are specific to ncurses. They were not
++ supported on Version 7, BSD or System V implementations.
++ It is recommended that any code depending on ncurses ex-
+ tensions be conditioned using <EM>NCURSES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>FUNCS</EM>.
+
+
+Index: doc/html/man/curs_termattrs.3x.html
+--- ncurses-5.9/doc/html/man/curs_termattrs.3x.html 2011-02-25 23:24:58.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_termattrs.3x.html 2013-03-09 22:12:01.000000000 +0000
+@@ -111,11 +111,11 @@
+
+ If a given terminal does not support a video attribute
+ that an application program is trying to use, <STRONG>curses</STRONG> may
+- substitute a different video attribute for it. The
+- <STRONG>termattrs</STRONG> and <STRONG>term_attrs</STRONG> functions return a logical <STRONG>OR</STRONG> of
+- all video attributes supported by the terminal using <EM>A</EM><STRONG>_</STRONG>
+- and <EM>WA</EM><STRONG>_</STRONG> constants respectively. This information is use-
+- ful when a <STRONG>curses</STRONG> program needs complete control over the
++ substitute a different video attribute for it. The <STRONG>ter-</STRONG>
++ <STRONG>mattrs</STRONG> and <STRONG>term_attrs</STRONG> functions return a logical <STRONG>OR</STRONG> of all
++ video attributes supported by the terminal using <EM>A</EM><STRONG>_</STRONG> and
++ <EM>WA</EM><STRONG>_</STRONG> constants respectively. This information is useful
++ when a <STRONG>curses</STRONG> program needs complete control over the
+ appearance of the screen.
+
+ The <STRONG>termname</STRONG> routine returns the terminal name used by
+Index: doc/html/man/curs_termcap.3x.html
+--- ncurses-5.9/doc/html/man/curs_termcap.3x.html 2011-01-09 01:03:14.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_termcap.3x.html 2013-03-09 22:12:01.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_termcap.3x,v 1.26 2010/12/04 18:38:55 tom Exp @
++ * @Id: curs_termcap.3x,v 1.30 2013/01/19 15:58:48 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -79,39 +79,62 @@
+ bilities of entries for which a terminfo entry has been
+ compiled.
+
+- The <STRONG>tgetent</STRONG> routine loads the entry for <EM>name</EM>. It returns
+- 1 on success, 0 if there is no such entry, and -1 if the
+- terminfo database could not be found. The emulation ig-
+- nores the buffer pointer <EM>bp</EM>.
++ <STRONG>INITIALIZATION</STRONG>
++ The <STRONG>tgetent</STRONG> routine loads the entry for <EM>name</EM>. It returns:
+
++ 1 on success,
++
++ 0 if there is no such entry (or that it is a generic
++ type, having too little information for curses ap-
++ plications to run), and
++
++ -1 if the terminfo database could not be found.
++
++ This differs from the <EM>termcap</EM> library in two ways:
++
++ <STRONG>o</STRONG> The emulation ignores the buffer pointer <EM>bp</EM>. The
++ <EM>termcap</EM> library would store a copy of the terminal
++ description in the area referenced by this pointer.
++ However, ncurses stores its terminal descriptions
++ in compiled binary form, which is not the same
++ thing.
++
++ <STRONG>o</STRONG> There is a difference in return codes. The <EM>termcap</EM>
++ library does not check if the terminal description
++ is marked with the <EM>generic</EM> capability, or if the
++ terminal description has cursor-addressing.
++
++ <STRONG>CAPABILITY</STRONG> <STRONG>VALUES</STRONG>
+ The <STRONG>tgetflag</STRONG> routine gets the boolean entry for <EM>id</EM>, or ze-
+ ro if it is not available.
+
+- The <STRONG>tgetnum</STRONG> routine gets the numeric entry for <EM>id</EM>, or -1
++ The <STRONG>tgetnum</STRONG> routine gets the numeric entry for <EM>id</EM>, or -1
+ if it is not available.
+
+- The <STRONG>tgetstr</STRONG> routine returns the string entry for <EM>id</EM>, or
+- zero if it is not available. Use <STRONG>tputs</STRONG> to output the re-
+- turned string. The return value will also be copied to
+- the buffer pointed to by <EM>area</EM>, and the <EM>area</EM> value will be
++ The <STRONG>tgetstr</STRONG> routine returns the string entry for <EM>id</EM>, or
++ zero if it is not available. Use <STRONG>tputs</STRONG> to output the re-
++ turned string. The return value will also be copied to
++ the buffer pointed to by <EM>area</EM>, and the <EM>area</EM> value will be
+ updated to point past the null ending this value.
+
+ Only the first two characters of the <STRONG>id</STRONG> parameter of <STRONG>tget-</STRONG>
+ <STRONG>flag</STRONG>, <STRONG>tgetnum</STRONG> and <STRONG>tgetstr</STRONG> are compared in lookups.
+
+- The <STRONG>tgoto</STRONG> routine instantiates the parameters into the
+- given capability. The output from this routine is to be
++ <STRONG>FORMATTING</STRONG> <STRONG>CAPABILITIES</STRONG>
++ The <STRONG>tgoto</STRONG> routine instantiates the parameters into the
++ given capability. The output from this routine is to be
+ passed to <STRONG>tputs</STRONG>.
+
+- The <STRONG>tputs</STRONG> routine is described on the <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
++ The <STRONG>tputs</STRONG> routine is described on the <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ manual page. It can retrieve capabilities by either term-
+ cap or terminfo name.
+
++ <STRONG>GLOBAL</STRONG> <STRONG>VARIABLES</STRONG>
+ The variables <STRONG>PC</STRONG>, <STRONG>UP</STRONG> and <STRONG>BC</STRONG> are set by <STRONG>tgetent</STRONG> to the ter-
+ minfo entry's data for <STRONG>pad_char</STRONG>, <STRONG>cursor_up</STRONG> and
+- <STRONG>backspace_if_not_bs</STRONG>, respectively. <STRONG>UP</STRONG> is not used by
++ <STRONG>backspace_if_not_bs</STRONG>, respectively. <STRONG>UP</STRONG> is not used by
+ ncurses. <STRONG>PC</STRONG> is used in the <STRONG>tdelay_output</STRONG> function. <STRONG>BC</STRONG> is
+- used in the <STRONG>tgoto</STRONG> emulation. The variable <STRONG>ospeed</STRONG> is set
++ used in the <STRONG>tgoto</STRONG> emulation. The variable <STRONG>ospeed</STRONG> is set
+ by ncurses in a system-specific coding to reflect the ter-
+ minal speed.
+
+@@ -119,7 +142,7 @@
+ </PRE>
+ <H2>RETURN VALUE</H2><PRE>
+ Except where explicitly noted, routines that return an in-
+- teger return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 only specifies
++ teger return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 only specifies
+ "an integer value other than <STRONG>ERR</STRONG>") upon successful comple-
+ tion.
+
+@@ -129,55 +152,77 @@
+ </PRE>
+ <H2>BUGS</H2><PRE>
+ If you call <STRONG>tgetstr</STRONG> to fetch <STRONG>ca</STRONG> or any other parameterized
+- string, be aware that it will be returned in terminfo no-
++ string, be aware that it will be returned in terminfo no-
+ tation, not the older and not-quite-compatible termcap no-
+- tation. This will not cause problems if all you do with
+- it is call <STRONG>tgoto</STRONG> or <STRONG>tparm</STRONG>, which both expand terminfo-
+- style strings as terminfo. (The <STRONG>tgoto</STRONG> function, if con-
+- figured to support termcap, will check if the string is
+- indeed terminfo-style by looking for "%p" parameters or
+- "$&lt;..&gt;" delays, and invoke a termcap-style parser if the
++ tation. This will not cause problems if all you do with
++ it is call <STRONG>tgoto</STRONG> or <STRONG>tparm</STRONG>, which both expand terminfo-
++ style strings as terminfo. (The <STRONG>tgoto</STRONG> function, if con-
++ figured to support termcap, will check if the string is
++ indeed terminfo-style by looking for "%p" parameters or
++ "$&lt;..&gt;" delays, and invoke a termcap-style parser if the
+ string does not appear to be terminfo).
+
+- Because terminfo conventions for representing padding in
+- string capabilities differ from termcap's, <STRONG>tputs("50");</STRONG>
+- will put out a literal "50" rather than busy-waiting for
++ Because terminfo conventions for representing padding in
++ string capabilities differ from termcap's, <STRONG>tputs("50");</STRONG>
++ will put out a literal "50" rather than busy-waiting for
+ 50 milliseconds. Cope with it.
+
+- Note that termcap has nothing analogous to terminfo's <STRONG>sgr</STRONG>
+- string. One consequence of this is that termcap applica-
+- tions assume me (terminfo <STRONG>sgr0</STRONG>) does not reset the alter-
+- nate character set. This implementation checks for, and
++ Note that termcap has nothing analogous to terminfo's <STRONG>sgr</STRONG>
++ string. One consequence of this is that termcap applica-
++ tions assume me (terminfo <STRONG>sgr0</STRONG>) does not reset the alter-
++ nate character set. This implementation checks for, and
+ modifies the data shown to the termcap interface to accom-
+ modate termcap's limitation in this respect.
+
+
+ </PRE>
+ <H2>PORTABILITY</H2><PRE>
+- The XSI Curses standard, Issue 4 describes these func-
+- tions. However, they are marked TO BE WITHDRAWN and may
++ The XSI Curses standard, Issue 4 describes these func-
++ tions. However, they are marked TO BE WITHDRAWN and may
+ be removed in future versions.
+
+- Neither the XSI Curses standard nor the SVr4 man pages
+- documented the return values of <STRONG>tgetent</STRONG> correctly, though
+- all three were in fact returned ever since SVr1. In par-
+- ticular, an omission in the XSI Curses documentation has
+- been misinterpreted to mean that <STRONG>tgetent</STRONG> returns <STRONG>OK</STRONG> or
++ Neither the XSI Curses standard nor the SVr4 man pages
++ documented the return values of <STRONG>tgetent</STRONG> correctly, though
++ all three were in fact returned ever since SVr1. In par-
++ ticular, an omission in the XSI Curses documentation has
++ been misinterpreted to mean that <STRONG>tgetent</STRONG> returns <STRONG>OK</STRONG> or
+ <STRONG>ERR</STRONG>. Because the purpose of these functions is to provide
+- compatibility with the <EM>termcap</EM> library, that is a defect
++ compatibility with the <EM>termcap</EM> library, that is a defect
+ in XCurses, Issue 4, Version 2 rather than in ncurses.
+
+- External variables are provided for support of certain
+- termcap applications. However, termcap applications' use
++ External variables are provided for support of certain
++ termcap applications. However, termcap applications' use
+ of those variables is poorly documented, e.g., not distin-
+- guishing between input and output. In particular, some
++ guishing between input and output. In particular, some
+ applications are reported to declare and/or modify <STRONG>ospeed</STRONG>.
+
++ The comment that only the first two characters of the <STRONG>id</STRONG>
++ parameter are used escapes many application developers.
++ The original BSD 4.2 termcap library (and historical
++ relics thereof) did not require a trailing null NUL on the
++ parameter name passed to <STRONG>tgetstr</STRONG>, <STRONG>tgetnum</STRONG> and <STRONG>tgetflag</STRONG>.
++ Some applications assume that the termcap interface does
++ not require the trailing NUL for the parameter name. Tak-
++ ing into account these issues:
++
++ <STRONG>o</STRONG> As a special case, <STRONG>tgetflag</STRONG> matched against a single-
++ character identifier provided that was at the end of
++ the terminal description. You should not rely upon
++ this behavior in portable programs. This implementa-
++ tion disallows matches against single-character capa-
++ bility names.
++
++ <STRONG>o</STRONG> This implementation disallows matches by the termcap
++ interface against extended capability names which are
++ longer than two characters.
++
+
+ </PRE>
+ <H2>SEE ALSO</H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG><A HREF="putc.3.html">putc(3)</A></STRONG>.
+
++ http://invisible-island.net/ncurses/tctest.html
++
+
+
+ <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+Index: doc/html/man/curs_terminfo.3x.html
+--- ncurses-5.9/doc/html/man/curs_terminfo.3x.html 2011-01-09 01:03:15.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_terminfo.3x.html 2013-03-09 22:12:01.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1999-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1999-2011,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_terminfo.3x,v 1.35 2010/12/04 18:38:55 tom Exp @
++ * @Id: curs_terminfo.3x,v 1.37 2013/01/12 18:11:40 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -68,7 +68,7 @@
+ <STRONG>int</STRONG> <STRONG>putp(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>vidputs(chtype</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>putc</EM><STRONG>)(int));</STRONG>
+ <STRONG>int</STRONG> <STRONG>vidattr(chtype</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>vid_puts(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>putc</EM><STRONG>)(char));</STRONG>
++ <STRONG>int</STRONG> <STRONG>vid_puts(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>putc</EM><STRONG>)(int));</STRONG>
+ <STRONG>int</STRONG> <STRONG>vid_attr(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvcur(int</STRONG> <EM>oldrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>oldcol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>newrow</EM>, int <EM>newcol</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>tigetflag(char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
+Index: doc/html/man/curs_threads.3x.html
+--- ncurses-5.9/doc/html/man/curs_threads.3x.html 2011-01-09 01:03:15.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_threads.3x.html 2013-03-09 22:12:01.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2008-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_threads.3x,v 1.18 2010/12/04 18:38:55 tom Exp @
++ * @Id: curs_threads.3x,v 1.19 2012/05/26 17:03:26 tom Exp @
+ * ***************************************************************************
+ * ***************************************************************************
+ -->
+@@ -61,9 +61,9 @@
+ <STRONG>int</STRONG> <STRONG>get_escdelay(void);</STRONG>
+ <STRONG>int</STRONG> <STRONG>set_escdelay(int</STRONG> <STRONG>size);</STRONG>
+ <STRONG>int</STRONG> <STRONG>set_tabsize(int</STRONG> <STRONG>size);</STRONG>
+- <STRONG>int</STRONG> <STRONG>use_screen(SCREEN</STRONG> <STRONG>*scr,</STRONG> <STRONG>NCURSES_WINDOW_CB</STRONG> <STRONG>func,</STRONG> <STRONG>void</STRONG>
++ <STRONG>int</STRONG> <STRONG>use_screen(SCREEN</STRONG> <STRONG>*scr,</STRONG> <STRONG>NCURSES_SCREEN_CB</STRONG> <STRONG>func,</STRONG> <STRONG>void</STRONG>
+ <STRONG>*data);</STRONG>
+- <STRONG>int</STRONG> <STRONG>use_window(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>NCURSES_SCREEN_CB</STRONG> <STRONG>func,</STRONG> <STRONG>void</STRONG>
++ <STRONG>int</STRONG> <STRONG>use_window(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>NCURSES_WINDOW_CB</STRONG> <STRONG>func,</STRONG> <STRONG>void</STRONG>
+ <STRONG>*data);</STRONG>
+
+
+Index: doc/html/man/curs_util.3x.html
+--- ncurses-5.9/doc/html/man/curs_util.3x.html 2011-02-25 23:24:59.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_util.3x.html 2013-03-09 22:12:01.000000000 +0000
+@@ -1,7 +1,8 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
++ * t
+ ****************************************************************************
+- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +28,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_util.3x,v 1.32 2010/12/04 18:38:55 tom Exp @
++ * @Id: curs_util.3x,v 1.36 2012/07/21 18:51:10 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -48,8 +49,8 @@
+ </PRE>
+ <H2>NAME</H2><PRE>
+ <STRONG>delay_output</STRONG>, <STRONG>filter</STRONG>, <STRONG>flushinp</STRONG>, <STRONG>getwin</STRONG>, <STRONG>key_name</STRONG>, <STRONG>keyname</STRONG>,
+- <STRONG>nofilter</STRONG>, <STRONG>putwin</STRONG>, <STRONG>unctrl</STRONG>, <STRONG>use_env</STRONG>, <STRONG>wunctrl</STRONG> - miscellaneous
+- <STRONG>curses</STRONG> utility routines
++ <STRONG>nofilter</STRONG>, <STRONG>putwin</STRONG>, <STRONG>unctrl</STRONG>, <STRONG>use_env</STRONG>, <STRONG>use_tioctl</STRONG>, <STRONG>wunctrl</STRONG> -
++ miscellaneous <STRONG>curses</STRONG> utility routines
+
+
+ </PRE>
+@@ -63,6 +64,7 @@
+ <STRONG>void</STRONG> <STRONG>filter(void);</STRONG>
+ <STRONG>void</STRONG> <STRONG>nofilter(void);</STRONG>
+ <STRONG>void</STRONG> <STRONG>use_env(bool</STRONG> <STRONG>f);</STRONG>
++ <STRONG>void</STRONG> <STRONG>use_tioctl(bool</STRONG> <STRONG>f);</STRONG>
+ <STRONG>int</STRONG> <STRONG>putwin(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>FILE</STRONG> <STRONG>*filep);</STRONG>
+ <STRONG>WINDOW</STRONG> <STRONG>*getwin(FILE</STRONG> <STRONG>*filep);</STRONG>
+ <STRONG>int</STRONG> <STRONG>delay_output(int</STRONG> <STRONG>ms);</STRONG>
+@@ -122,16 +124,66 @@
+ <STRONG>$TERM</STRONG>. The limitation arises because the <STRONG>filter</STRONG> routine
+ modifies the in-memory copy of the terminal information.
+
+- The <STRONG>use_env</STRONG> routine, if used, is called before <STRONG>initscr</STRONG> or
+- <STRONG>newterm</STRONG> are called. When called with <STRONG>FALSE</STRONG> as an argu-
+- ment, the values of <STRONG>lines</STRONG> and <STRONG>columns</STRONG> specified in the
+- <EM>terminfo</EM> database will be used, even if environment vari-
+- ables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> (used by default) are set, or if
+- <STRONG>curses</STRONG> is running in a window (in which case default be-
+- havior would be to use the window size if <STRONG>LINES</STRONG> and
+- <STRONG>COLUMNS</STRONG> are not set). Note that setting <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG>
+- overrides the corresponding size which may be obtained
+- from the operating system.
++ The <STRONG>use_env</STRONG> routine, if used, should be called before
++ <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> are called (because those compute the
++ screen size). It modifies the way <STRONG>ncurses</STRONG> treats environ-
++ ment variables when determining the screen size.
++
++ <STRONG>o</STRONG> Normally ncurses looks first at the terminal database
++ for the screen size.
++
++ If <STRONG>use_env</STRONG> was called with <STRONG>FALSE</STRONG> for parameter, it
++ stops here unless If <STRONG>use_tioctl</STRONG> was also called with
++ <STRONG>TRUE</STRONG> for parameter.
++
++ <STRONG>o</STRONG> Then it asks for the screen size via operating system
++ calls. If successful, it overrides the values from
++ the terminal database.
++
++ <STRONG>o</STRONG> Finally (unless <STRONG>use_env</STRONG> was called with <STRONG>FALSE</STRONG> parame-
++ ter), ncurses examines the <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> environ-
++ ment variables, using a value in those to override the
++ results from the operating system or terminal data-
++ base.
++
++ Ncurses also updates the screen size in response to
++ SIGWINCH, unless overridden by the <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG>
++ environment variables,
++
++ The <STRONG>use_tioctl</STRONG> routine, if used, should be called before
++ <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> are called (because those compute the
++ screen size). After <STRONG>use_tioctl</STRONG> is called with <STRONG>TRUE</STRONG> as an
++ argument, ncurses modifies the last step in its computa-
++ tion of screen size as follows:
++
++ <STRONG>o</STRONG> checks if the <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> environment variables
++ are set to a number greater than zero.
++
++ <STRONG>o</STRONG> for each, ncurses updates the corresponding environ-
++ ment variable with the value that it has obtained via
++ operating system call or from the terminal database.
++
++ <STRONG>o</STRONG> ncurses re-fetches the value of the environment vari-
++ ables so that it is still the environment variables
++ which set the screen size.
++
++ The <STRONG>use_env</STRONG> and <STRONG>use_tioctl</STRONG> routines combine as summarized
++ here:
++
++ <EM>use</EM><STRONG>_</STRONG><EM>env</EM> <EM>use</EM><STRONG>_</STRONG><EM>tioctl</EM> <EM>Summary</EM>
++ ----------------------------------------------------------------
++ TRUE FALSE This is the default behavior. ncurses
++ uses operating system calls unless over-
++ ridden by $LINES or $COLUMNS environment
++ variables.
++ TRUE TRUE ncurses updates $LINES and $COLUMNS
++ based on operating system calls.
++
++ FALSE TRUE ncurses ignores $LINES and $COLUMNS, us-
++ es operating system calls to obtain
++ size.
++ FALSE FALSE ncurses relies on the terminal database
++ to determine size.
+
+ The <STRONG>putwin</STRONG> routine writes all data associated with window
+ <EM>win</EM> into the file to which <EM>filep</EM> points. This information
+@@ -241,16 +293,17 @@
+ loaded when the terminal description is read by the li-
+ brary.
+
+- The <STRONG>nofilter</STRONG> routine is specific to ncurses. It was not
+- supported on Version 7, BSD or System V implementations.
+- It is recommended that any code depending on ncurses ex-
+- tensions be conditioned using NCURSES_VERSION.
++ The <STRONG>nofilter</STRONG> and <STRONG>use_tioctl</STRONG> routines are specific to
++ ncurses. They were not supported on Version 7, BSD or
++ System V implementations. It is recommended that any code
++ depending on ncurses extensions be conditioned using
++ NCURSES_VERSION.
+
+
+ </PRE>
+ <H2>SEE ALSO</H2><PRE>
+ <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG>curs_ker-</STRONG>
+- <STRONG><A HREF="curs_kernel.3x.html">nel(3x)</A></STRONG>, <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>lega-</STRONG>
++ <STRONG><A HREF="curs_kernel.3x.html">nel(3x)</A></STRONG>, <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>lega-</STRONG>
+ <STRONG><A HREF="legacy_coding.3x.html">cy_coding(3x)</A></STRONG>.
+
+
+Index: doc/html/man/form.3x.html
+--- ncurses-5.9/doc/html/man/form.3x.html 2011-04-04 22:46:40.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/form.3x.html 2013-03-09 22:12:01.000000000 +0000
+@@ -243,7 +243,7 @@
+
+ </PRE>
+ <H2>SEE ALSO</H2><PRE>
+- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+
+
+Index: doc/html/man/form_field.3x.html
+--- ncurses-5.9/doc/html/man/form_field.3x.html 2011-01-09 01:03:18.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/form_field.3x.html 2013-03-09 22:12:01.000000000 +0000
+@@ -2,7 +2,7 @@
+ <!--
+ * t
+ ****************************************************************************
+- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: form_field.3x,v 1.10 2010/12/04 18:40:45 tom Exp @
++ * @Id: form_field.3x,v 1.11 2012/11/03 23:03:59 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -78,7 +78,7 @@
+
+
+ </PRE>
+-<H2>RETURN VALUES</H2><PRE>
++<H2>RETURN VALUE</H2><PRE>
+ The function <STRONG>form_fields</STRONG> returns a pointer (which may be
+ <STRONG>NULL</STRONG>). It does not set errno.
+
+Index: doc/html/man/form_field_buffer.3x.html
+--- ncurses-5.9/doc/html/man/form_field_buffer.3x.html 2011-02-25 23:25:01.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/form_field_buffer.3x.html 2013-03-09 22:12:02.000000000 +0000
+@@ -151,8 +151,8 @@
+ When configured for wide characters, <STRONG>field_buffer</STRONG> returns
+ a pointer to temporary storage (allocated and freed by the
+ library). The application should not attempt to modify
+- the data. It will be freed on the next call to
+- <STRONG>field_buffer</STRONG> to return the same buffer. <STRONG>&lt;curses.h&gt;</STRONG>.
++ the data. It will be freed on the next call to <STRONG>field_buf-</STRONG>
++ <STRONG>fer</STRONG> to return the same buffer. <STRONG>&lt;curses.h&gt;</STRONG>.
+
+
+ </PRE>
+Index: doc/html/man/form_fieldtype.3x.html
+--- ncurses-5.9/doc/html/man/form_fieldtype.3x.html 2011-02-25 23:25:02.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/form_fieldtype.3x.html 2013-03-09 22:12:02.000000000 +0000
+@@ -112,8 +112,8 @@
+ <STRONG>REQ_PREV_CHOICE</STRONG> assume that the possible values of a field
+ form an ordered set, and provide the forms user with a way
+ to move through the set. The <STRONG>set_fieldtype_choice</STRONG> func-
+- tion allows forms programmers to define successor and
+- predecessor functions for the field type. These functions
++ tion allows forms programmers to define successor and pre-
++ decessor functions for the field type. These functions
+ take the field pointer and an argument-block structure as
+ arguments.
+
+Index: doc/html/man/infocmp.1m.html
+--- ncurses-5.9/doc/html/man/infocmp.1m.html 2011-04-04 22:46:44.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/infocmp.1m.html 2013-03-09 22:12:03.000000000 +0000
+@@ -2,7 +2,7 @@
+ <!--
+ * t
+ ****************************************************************************
+- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: infocmp.1m,v 1.46 2010/12/04 18:40:45 tom Exp @
++ * @Id: infocmp.1m,v 1.53 2013/02/02 22:07:35 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -53,7 +53,7 @@
+
+ </PRE>
+ <H2>SYNOPSIS</H2><PRE>
+- <STRONG>infocmp</STRONG> [<STRONG>-1CEFGILTUVcdegilnpqrtux</STRONG>]
++ <STRONG>infocmp</STRONG> [<STRONG>-1CDEFGIKLTUVcdegilnpqrtux</STRONG>]
+ [<STRONG>-v</STRONG> <EM>n</EM>] [<STRONG>-s</STRONG> <STRONG>d</STRONG>| <STRONG>i</STRONG>| <STRONG>l</STRONG>| <STRONG>c</STRONG>] [<STRONG>-R</STRONG> <STRONG>subset</STRONG>]
+ [<STRONG>-w</STRONG> <EM>width</EM>] [<STRONG>-A</STRONG> <EM>directory</EM>] [<STRONG>-B</STRONG> <EM>directory</EM>]
+ [<EM>termname</EM>...]
+@@ -72,76 +72,91 @@
+ <STRONG>Default</STRONG> <STRONG>Options</STRONG>
+ If no options are specified and zero or one <EM>termnames</EM> are
+ specified, the <STRONG>-I</STRONG> option will be assumed. If more than
+- one <EM>termname</EM> is specified, the <STRONG>-d</STRONG> option will be assumed.
++ one <EM>termname</EM> is specified, the <STRONG>-d</STRONG> option will be assumed.
+
+ <STRONG>Comparison</STRONG> <STRONG>Options</STRONG> <STRONG>[-d]</STRONG> <STRONG>[-c]</STRONG> <STRONG>[-n]</STRONG>
+- <STRONG>infocmp</STRONG> compares the <STRONG>terminfo</STRONG> description of the first
+- terminal <EM>termname</EM> with each of the descriptions given by
+- the entries for the other terminal's <EM>termnames</EM>. If a
+- capability is defined for only one of the terminals, the
+- value returned will depend on the type of the capability:
+- <STRONG>F</STRONG> for boolean variables, <STRONG>-1</STRONG> for integer variables, and
++ <STRONG>infocmp</STRONG> compares the <STRONG>terminfo</STRONG> description of the first
++ terminal <EM>termname</EM> with each of the descriptions given by
++ the entries for the other terminal's <EM>termnames</EM>. If a
++ capability is defined for only one of the terminals, the
++ value returned will depend on the type of the capability:
++ <STRONG>F</STRONG> for boolean variables, <STRONG>-1</STRONG> for integer variables, and
+ <STRONG>NULL</STRONG> for string variables.
+
+- The <STRONG>-d</STRONG> option produces a list of each capability that is
+- different between two entries. This option is useful to
+- show the difference between two entries, created by dif-
++ The <STRONG>-d</STRONG> option produces a list of each capability that is
++ different between two entries. This option is useful to
++ show the difference between two entries, created by dif-
+ ferent people, for the same or similar terminals.
+
+- The <STRONG>-c</STRONG> option produces a list of each capability that is
+- common between two entries. Capabilities that are not set
+- are ignored. This option can be used as a quick check to
+- see if the <STRONG>-u</STRONG> option is worth using.
+-
+- The <STRONG>-n</STRONG> option produces a list of each capability that is
+- in neither entry. If no <EM>termnames</EM> are given, the environ-
+- ment variable <STRONG>TERM</STRONG> will be used for both of the <EM>termnames</EM>.
+- This can be used as a quick check to see if anything was
+- left out of a description.
++ The <STRONG>-c</STRONG> option produces a list of each capability that is
++ common between two or more entries. Capabilities that are
++ not set are ignored. This option can be used as a quick
++ check to see if the <STRONG>-u</STRONG> option is worth using.
++
++ The <STRONG>-n</STRONG> option produces a list of each capability that is
++ in none of the given entries. If no <EM>termnames</EM> are given,
++ the environment variable <STRONG>TERM</STRONG> will be used for both of the
++ <EM>termnames</EM>. This can be used as a quick check to see if
++ anything was left out of a description.
+
+ <STRONG>Source</STRONG> <STRONG>Listing</STRONG> <STRONG>Options</STRONG> <STRONG>[-I]</STRONG> <STRONG>[-L]</STRONG> <STRONG>[-C]</STRONG> <STRONG>[-r]</STRONG>
+- The <STRONG>-I</STRONG>, <STRONG>-L</STRONG>, and <STRONG>-C</STRONG> options will produce a source listing
++ The <STRONG>-I</STRONG>, <STRONG>-L</STRONG>, and <STRONG>-C</STRONG> options will produce a source listing
+ for each terminal named.
+
+ <STRONG>-I</STRONG> use the <STRONG>terminfo</STRONG> names
+ <STRONG>-L</STRONG> use the long C variable name listed in &lt;<STRONG>term.h</STRONG>&gt;
+ <STRONG>-C</STRONG> use the <STRONG>termcap</STRONG> names
+ <STRONG>-r</STRONG> when using <STRONG>-C</STRONG>, put out all capabilities in <STRONG>termcap</STRONG> form
++ <STRONG>-K</STRONG> modifies the <STRONG>-C</STRONG> option, improving BSD-compatibility.
+
+- If no <EM>termnames</EM> are given, the environment variable <STRONG>TERM</STRONG>
++ If no <EM>termnames</EM> are given, the environment variable <STRONG>TERM</STRONG>
+ will be used for the terminal name.
+
+- The source produced by the <STRONG>-C</STRONG> option may be used directly
+- as a <STRONG>termcap</STRONG> entry, but not all parameterized strings can
++ The source produced by the <STRONG>-C</STRONG> option may be used directly
++ as a <STRONG>termcap</STRONG> entry, but not all parameterized strings can
+ be changed to the <STRONG>termcap</STRONG> format. <STRONG>infocmp</STRONG> will attempt to
+- convert most of the parameterized information, and any-
+- thing not converted will be plainly marked in the output
++ convert most of the parameterized information, and any-
++ thing not converted will be plainly marked in the output
+ and commented out. These should be edited by hand.
+
+- All padding information for strings will be collected
+- together and placed at the beginning of the string where
+- <STRONG>termcap</STRONG> expects it. Mandatory padding (padding informa-
++ For best results when converting to <STRONG>termcap</STRONG> format, you
++ should use both <STRONG>-C</STRONG> and <STRONG>-r</STRONG>. Normally a termcap description
++ is limited to 1023 bytes. infocmp trims away less essen-
++ tial parts to make it fit. If you are converting to one
++ of the (rare) termcap implementations which accept an
++ unlimited size of termcap, you may want to add the <STRONG>-T</STRONG>
++ option. More often however, you must help the termcap
++ implementation, and trim excess whitespace (use the <STRONG>-0</STRONG>
++ option for that).
++
++ All padding information for strings will be collected
++ together and placed at the beginning of the string where
++ <STRONG>termcap</STRONG> expects it. Mandatory padding (padding informa-
+ tion with a trailing '/') will become optional.
+
+ All <STRONG>termcap</STRONG> variables no longer supported by <STRONG>terminfo</STRONG>, but
+ which are derivable from other <STRONG>terminfo</STRONG> variables, will be
+ output. Not all <STRONG>terminfo</STRONG> capabilities will be translated;
+- only those variables which were part of <STRONG>termcap</STRONG> will nor-
+- mally be output. Specifying the <STRONG>-r</STRONG> option will take off
+- this restriction, allowing all capabilities to be output
+- in <EM>termcap</EM> form.
++ only those variables which were part of <STRONG>termcap</STRONG> will nor-
++ mally be output. Specifying the <STRONG>-r</STRONG> option will take off
++ this restriction, allowing all capabilities to be output
++ in <EM>termcap</EM> form. Normally you would use both the <STRONG>-C</STRONG> and
++ <STRONG>-r</STRONG> options. The actual format used incorporates some
++ improvements for escaped characters from terminfo format.
++ For a stricter BSD-compatible translation, use the <STRONG>-K</STRONG>
++ option rather than <STRONG>-C</STRONG>.
+
+ Note that because padding is collected to the beginning of
+- the capability, not all capabilities are output. Manda-
+- tory padding is not supported. Because <STRONG>termcap</STRONG> strings
+- are not as flexible, it is not always possible to convert
+- a <STRONG>terminfo</STRONG> string capability into an equivalent <STRONG>termcap</STRONG>
+- format. A subsequent conversion of the <STRONG>termcap</STRONG> file back
+- into <STRONG>terminfo</STRONG> format will not necessarily reproduce the
++ the capability, not all capabilities are output. Manda-
++ tory padding is not supported. Because <STRONG>termcap</STRONG> strings
++ are not as flexible, it is not always possible to convert
++ a <STRONG>terminfo</STRONG> string capability into an equivalent <STRONG>termcap</STRONG>
++ format. A subsequent conversion of the <STRONG>termcap</STRONG> file back
++ into <STRONG>terminfo</STRONG> format will not necessarily reproduce the
+ original <STRONG>terminfo</STRONG> source.
+
+- Some common <STRONG>terminfo</STRONG> parameter sequences, their <STRONG>termcap</STRONG>
+- equivalents, and some terminal types which commonly have
++ Some common <STRONG>terminfo</STRONG> parameter sequences, their <STRONG>termcap</STRONG>
++ equivalents, and some terminal types which commonly have
+ such sequences, are:
+
+ <STRONG>terminfo</STRONG> <STRONG>termcap</STRONG> Representative Terminals
+@@ -154,66 +169,77 @@
+ <STRONG>%p2</STRONG> is printed before <STRONG>%p1</STRONG> <STRONG>%r</STRONG> hp
+
+ <STRONG>Use=</STRONG> <STRONG>Option</STRONG> <STRONG>[-u]</STRONG>
+- The <STRONG>-u</STRONG> option produces a <STRONG>terminfo</STRONG> source description of
+- the first terminal <EM>termname</EM> which is relative to the sum
+- of the descriptions given by the entries for the other
+- terminals <EM>termnames</EM>. It does this by analyzing the dif-
+- ferences between the first <EM>termname</EM> and the other
++ The <STRONG>-u</STRONG> option produces a <STRONG>terminfo</STRONG> source description of
++ the first terminal <EM>termname</EM> which is relative to the sum
++ of the descriptions given by the entries for the other
++ terminals <EM>termnames</EM>. It does this by analyzing the dif-
++ ferences between the first <EM>termname</EM> and the other
+ <EM>termnames</EM> and producing a description with <STRONG>use=</STRONG> fields for
+- the other terminals. In this manner, it is possible to
+- retrofit generic terminfo entries into a terminal's
++ the other terminals. In this manner, it is possible to
++ retrofit generic terminfo entries into a terminal's
+ description. Or, if two similar terminals exist, but were
+- coded at different times or by different people so that
++ coded at different times or by different people so that
+ each description is a full description, using <STRONG>infocmp</STRONG> will
+ show what can be done to change one description to be rel-
+ ative to the other.
+
+ A capability will get printed with an at-sign (@) if it no
+- longer exists in the first <EM>termname</EM>, but one of the other
+- <EM>termname</EM> entries contains a value for it. A capability's
+- value gets printed if the value in the first <EM>termname</EM> is
+- not found in any of the other <EM>termname</EM> entries, or if the
++ longer exists in the first <EM>termname</EM>, but one of the other
++ <EM>termname</EM> entries contains a value for it. A capability's
++ value gets printed if the value in the first <EM>termname</EM> is
++ not found in any of the other <EM>termname</EM> entries, or if the
+ first of the other <EM>termname</EM> entries that has this capabil-
+- ity gives a different value for the capability than that
++ ity gives a different value for the capability than that
+ in the first <EM>termname</EM>.
+
+- The order of the other <EM>termname</EM> entries is significant.
+- Since the terminfo compiler <STRONG>tic</STRONG> does a left-to-right scan
++ The order of the other <EM>termname</EM> entries is significant.
++ Since the terminfo compiler <STRONG>tic</STRONG> does a left-to-right scan
+ of the capabilities, specifying two <STRONG>use=</STRONG> entries that con-
+ tain differing entries for the same capabilities will pro-
+- duce different results depending on the order that the
+- entries are given in. <STRONG>infocmp</STRONG> will flag any such incon-
+- sistencies between the other <EM>termname</EM> entries as they are
++ duce different results depending on the order that the
++ entries are given in. <STRONG>infocmp</STRONG> will flag any such incon-
++ sistencies between the other <EM>termname</EM> entries as they are
+ found.
+
+- Alternatively, specifying a capability <EM>after</EM> a <STRONG>use=</STRONG> entry
++ Alternatively, specifying a capability <EM>after</EM> a <STRONG>use=</STRONG> entry
+ that contains that capability will cause the second speci-
+- fication to be ignored. Using <STRONG>infocmp</STRONG> to recreate a
++ fication to be ignored. Using <STRONG>infocmp</STRONG> to recreate a
+ description can be a useful check to make sure that every-
+- thing was specified correctly in the original source
++ thing was specified correctly in the original source
+ description.
+
+- Another error that does not cause incorrect compiled
+- files, but will slow down the compilation time, is speci-
+- fying extra <STRONG>use=</STRONG> fields that are superfluous. <STRONG>infocmp</STRONG>
+- will flag any other <EM>termname</EM> <EM>use=</EM> fields that were not
++ Another error that does not cause incorrect compiled
++ files, but will slow down the compilation time, is speci-
++ fying extra <STRONG>use=</STRONG> fields that are superfluous. <STRONG>infocmp</STRONG>
++ will flag any other <EM>termname</EM> <EM>use=</EM> fields that were not
+ needed.
+
+ <STRONG>Changing</STRONG> <STRONG>Databases</STRONG> <STRONG>[-A</STRONG> <EM>directory</EM>] [-B <EM>directory</EM>]
+- The location of the compiled <STRONG>terminfo</STRONG> database is taken
+- from the environment variable <STRONG>TERMINFO</STRONG> . If the variable
+- is not defined, or the terminal is not found in that loca-
+- tion, the system <STRONG>terminfo</STRONG> database, in <STRONG>/usr/share/ter-</STRONG>
+- <STRONG>minfo</STRONG>, will be used. The options <STRONG>-A</STRONG> and <STRONG>-B</STRONG> may be used to
+- override this location. The <STRONG>-A</STRONG> option will set <STRONG>TERMINFO</STRONG>
+- for the first <EM>termname</EM> and the <STRONG>-B</STRONG> option will set <STRONG>TERMINFO</STRONG>
+- for the other <EM>termnames</EM>. With this, it is possible to
+- compare descriptions for a terminal with the same name
+- located in two different databases. This is useful for
+- comparing descriptions for the same terminal created by
+- different people.
++ Like other <STRONG>ncurses</STRONG> utilities, infocmp looks for the termi-
++ nal descriptions in several places. You can use the <STRONG>TER-</STRONG>
++ <STRONG>MINFO</STRONG> and <STRONG>TERMINFO_DIRS</STRONG> environment variables to override
++ the compiled-in default list of places to search (see
++ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> for details).
++
++ You can also use the options <STRONG>-A</STRONG> and <STRONG>-B</STRONG> to override the
++ list of places to search when comparing terminal descrip-
++ tions:
++
++ <STRONG>o</STRONG> The <STRONG>-A</STRONG> option sets the location for the first <EM>termname</EM>
++
++ <STRONG>o</STRONG> The <STRONG>-B</STRONG> option sets the location for the other
++ <EM>termnames</EM>.
++
++ Using these options, it is possible to compare descrip-
++ tions for a terminal with the same name located in two
++ different databases. For instance, you can use this fea-
++ ture for comparing descriptions for the same terminal cre-
++ ated by different people.
+
+ <STRONG>Other</STRONG> <STRONG>Options</STRONG>
++ <STRONG>-0</STRONG> causes the fields to be printed on one line, without
++ wrapping.
++
+ <STRONG>-1</STRONG> causes the fields to be printed out one to a line.
+ Otherwise, the fields will be printed several to a
+ line to a maximum width of 60 characters.
+@@ -222,67 +248,71 @@
+ rather than discarding them. Capabilities are com-
+ mented by prefixing them with a period.
+
++ <STRONG>-D</STRONG> tells <STRONG>infocmp</STRONG> to print the database locations that it
++ knows about, and exit.
++
+ <STRONG>-E</STRONG> Dump the capabilities of the given terminal as
+- tables, needed in the C initializer for a TERMTYPE
+- structure (the terminal capability structure in the
+- <STRONG>&lt;term.h&gt;</STRONG>). This option is useful for preparing ver-
+- sions of the curses library hardwired for a given
+- terminal type. The tables are all declared static,
+- and are named according to the type and the name of
++ tables, needed in the C initializer for a TERMTYPE
++ structure (the terminal capability structure in the
++ <STRONG>&lt;term.h&gt;</STRONG>). This option is useful for preparing ver-
++ sions of the curses library hardwired for a given
++ terminal type. The tables are all declared static,
++ and are named according to the type and the name of
+ the corresponding terminal entry.
+
+- Before ncurses 5.0, the split between the <STRONG>-e</STRONG> and <STRONG>-E</STRONG>
+- options was not needed; but support for extended
++ Before ncurses 5.0, the split between the <STRONG>-e</STRONG> and <STRONG>-E</STRONG>
++ options was not needed; but support for extended
+ names required making the arrays of terminal capabil-
+ ities separate from the TERMTYPE structure.
+
+- <STRONG>-e</STRONG> Dump the capabilities of the given terminal as a C
+- initializer for a TERMTYPE structure (the terminal
+- capability structure in the <STRONG>&lt;term.h&gt;</STRONG>). This option
++ <STRONG>-e</STRONG> Dump the capabilities of the given terminal as a C
++ initializer for a TERMTYPE structure (the terminal
++ capability structure in the <STRONG>&lt;term.h&gt;</STRONG>). This option
+ is useful for preparing versions of the curses
+ library hardwired for a given terminal type.
+
+- <STRONG>-F</STRONG> compare terminfo files. This assumes that two fol-
+- lowing arguments are filenames. The files are
+- searched for pairwise matches between entries, with
++ <STRONG>-F</STRONG> compare terminfo files. This assumes that two fol-
++ lowing arguments are filenames. The files are
++ searched for pairwise matches between entries, with
+ two entries considered to match if any of their names
+- do. The report printed to standard output lists
+- entries with no matches in the other file, and
+- entries with more than one match. For entries with
+- exactly one match it includes a difference report.
+- Normally, to reduce the volume of the report, use
+- references are not resolved before looking for dif-
++ do. The report printed to standard output lists
++ entries with no matches in the other file, and
++ entries with more than one match. For entries with
++ exactly one match it includes a difference report.
++ Normally, to reduce the volume of the report, use
++ references are not resolved before looking for dif-
+ ferences, but resolution can be forced by also speci-
+ fying <STRONG>-r</STRONG>.
+
+- <STRONG>-f</STRONG> Display complex terminfo strings which contain
++ <STRONG>-f</STRONG> Display complex terminfo strings which contain
+ if/then/else/endif expressions indented for readabil-
+ ity.
+
+ <STRONG>-G</STRONG> Display constant literals in decimal form rather than
+ their character equivalents.
+
+- <STRONG>-g</STRONG> Display constant character literals in quoted form
++ <STRONG>-g</STRONG> Display constant character literals in quoted form
+ rather than their decimal equivalents.
+
+ <STRONG>-i</STRONG> Analyze the initialization (<STRONG>is1</STRONG>, <STRONG>is2</STRONG>, <STRONG>is3</STRONG>), and reset
+- (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>), strings in the entry. For each
+- string, the code tries to analyze it into actions in
++ (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>), strings in the entry. For each
++ string, the code tries to analyze it into actions in
+ terms of the other capabilities in the entry, certain
+- X3.64/ISO 6429/ECMA-48 capabilities, and certain DEC
+- VT-series private modes (the set of recognized spe-
+- cial sequences has been selected for completeness
+- over the existing terminfo database). Each report
+- line consists of the capability name, followed by a
++ X3.64/ISO 6429/ECMA-48 capabilities, and certain DEC
++ VT-series private modes (the set of recognized spe-
++ cial sequences has been selected for completeness
++ over the existing terminfo database). Each report
++ line consists of the capability name, followed by a
+ colon and space, followed by a printable expansion of
+- the capability string with sections matching recog-
+- nized actions translated into {}-bracketed descrip-
+- tions. Here is a list of the DEC/ANSI special
++ the capability string with sections matching recog-
++ nized actions translated into {}-bracketed descrip-
++ tions. Here is a list of the DEC/ANSI special
+ sequences recognized: i.
+
+ Action Meaning
+ -----------------------------------------
+ RIS full reset
++
+ SC save cursor
+ RC restore cursor
+ LL home-down
+@@ -310,17 +340,16 @@
+ DEC[+-]CKM application cursor keys
+ DEC[+-]ANM set VT52 mode
+ DEC[+-]COLM 132-column mode
+-
+ DEC[+-]SCLM smooth scroll
+ DEC[+-]SCNM reverse video mode
+ DEC[+-]OM origin mode
+ DEC[+-]AWM wraparound mode
+ DEC[+-]ARM auto-repeat mode
+
+- It also recognizes a SGR action corresponding to
+- ANSI/ISO 6429/ECMA Set Graphics Rendition, with the
+- values NORMAL, BOLD, UNDERLINE, BLINK, and REVERSE.
+- All but NORMAL may be prefixed with `+' (turn on) or
++ It also recognizes a SGR action corresponding to
++ ANSI/ISO 6429/ECMA Set Graphics Rendition, with the
++ values NORMAL, BOLD, UNDERLINE, BLINK, and REVERSE.
++ All but NORMAL may be prefixed with `+' (turn on) or
+ `-' (turn off).
+
+ An SGR0 designates an empty highlight sequence (equivalent
+@@ -398,18 +427,19 @@
+
+ </PRE>
+ <H2>FILES</H2><PRE>
+- /usr/share/terminfo Compiled terminal description
+- database.
++ /usr/share/terminfo Compiled terminal description data-
++ base.
+
+
+ </PRE>
+ <H2>EXTENSIONS</H2><PRE>
+- The <STRONG>-E</STRONG>, <STRONG>-F</STRONG>, <STRONG>-G</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-f</STRONG>, <STRONG>-g</STRONG>, <STRONG>-i</STRONG>, <STRONG>-l</STRONG>, <STRONG>-p</STRONG>, <STRONG>-q</STRONG>
+- and <STRONG>-t</STRONG> options are not supported in SVr4 curses.
++ The <STRONG>-0</STRONG>, <STRONG>-1</STRONG>, <STRONG>-E</STRONG>, <STRONG>-F</STRONG>, <STRONG>-G</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-f</STRONG>, <STRONG>-g</STRONG>, <STRONG>-i</STRONG>,
++ <STRONG>-l</STRONG>, <STRONG>-p</STRONG>, <STRONG>-q</STRONG> and <STRONG>-t</STRONG> options are not supported in SVr4
++ curses.
+
+ The <STRONG>-r</STRONG> option's notion of `termcap' capabilities is System
+- V Release 4's. Actual BSD curses versions will have a
+- more restricted set. To see only the 4.4BSD set, use <STRONG>-r</STRONG>
++ V Release 4's. Actual BSD curses versions will have a
++ more restricted set. To see only the 4.4BSD set, use <STRONG>-r</STRONG>
+ <STRONG>-RBSD</STRONG>.
+
+
+@@ -420,10 +450,12 @@
+
+ </PRE>
+ <H2>SEE ALSO</H2><PRE>
+- <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>,
++ <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>,
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+
+- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ http://invisible-island.net/ncurses/tctest.html
++
++ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+
+ </PRE>
+Index: doc/html/man/infotocap.1m.html
+--- ncurses-5.9/doc/html/man/infotocap.1m.html 2011-04-04 22:46:44.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/infotocap.1m.html 2013-03-09 22:12:03.000000000 +0000
+@@ -80,8 +80,8 @@
+
+ </PRE>
+ <H2>FILES</H2><PRE>
+- /usr/share/terminfo Compiled terminal description
+- database.
++ /usr/share/terminfo Compiled terminal description data-
++ base.
+
+
+ </PRE>
+@@ -94,7 +94,7 @@
+ <H2>SEE ALSO</H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+
+- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+
+ </PRE>
+Index: doc/html/man/menu.3x.html
+--- ncurses-5.9/doc/html/man/menu.3x.html 2011-04-04 22:46:45.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/menu.3x.html 2013-03-09 22:12:03.000000000 +0000
+@@ -226,7 +226,7 @@
+
+ </PRE>
+ <H2>SEE ALSO</H2><PRE>
+- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+
+
+Index: doc/html/man/menu_driver.3x.html
+--- ncurses-5.9/doc/html/man/menu_driver.3x.html 2011-02-25 23:25:05.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/menu_driver.3x.html 2013-03-09 22:12:03.000000000 +0000
+@@ -119,8 +119,8 @@
+ Clear the menu pattern buffer.
+
+ REQ_BACK_PATTERN
+- Delete the previous character from the pattern
+- buffer.
++ Delete the previous character from the pattern buf-
++ fer.
+
+ REQ_NEXT_MATCH
+ Move to the next item matching the pattern match.
+@@ -128,20 +128,20 @@
+ REQ_PREV_MATCH
+ Move to the previous item matching the pattern match.
+
+- If the second argument is a printable character, the code
+- appends it to the pattern buffer and attempts to move to
+- the next item matching the new pattern. If there is no
++ If the second argument is a printable character, the code
++ appends it to the pattern buffer and attempts to move to
++ the next item matching the new pattern. If there is no
+ such match, <STRONG>menu_driver</STRONG> returns <STRONG>E_NO_MATCH</STRONG> and deletes the
+ appended character from the buffer.
+
+- If the second argument is one of the above pre-defined
++ If the second argument is one of the above pre-defined
+ requests, the corresponding action is performed.
+
+ <STRONG>MOUSE</STRONG> <STRONG>HANDLING</STRONG>
+- If the second argument is the KEY_MOUSE special key, the
++ If the second argument is the KEY_MOUSE special key, the
+ associated mouse event is translated into one of the above
+- pre-defined requests. Currently only clicks in the user
+- window (e.g., inside the menu display area or the decora-
++ pre-defined requests. Currently only clicks in the user
++ window (e.g., inside the menu display area or the decora-
+ tion window) are handled.
+
+ If you click above the display region of the menu:
+@@ -160,32 +160,32 @@
+
+ <STRONG>o</STRONG> a REQ_LAST_ITEM is generated for a triple-click.
+
+- If you click at an item inside the display area of the
++ If you click at an item inside the display area of the
+ menu:
+
+ <STRONG>o</STRONG> the menu cursor is positioned to that item.
+
+- <STRONG>o</STRONG> If you double-click an item a REQ_TOGGLE_ITEM is gen-
++ <STRONG>o</STRONG> If you double-click an item a REQ_TOGGLE_ITEM is gen-
+ erated and <STRONG>E_UNKNOWN_COMMAND</STRONG> is returned. This return
+- value makes sense, because a double click usually
++ value makes sense, because a double click usually
+ means that an item-specific action should be returned.
+ It is exactly the purpose of this return value to sig-
+- nal that an application specific command should be
++ nal that an application specific command should be
+ executed.
+
+- <STRONG>o</STRONG> If a translation into a request was done, <STRONG>menu_driver</STRONG>
++ <STRONG>o</STRONG> If a translation into a request was done, <STRONG>menu_driver</STRONG>
+ returns the result of this request.
+
+- If you clicked outside the user window or the mouse event
+- could not be translated into a menu request an
++ If you clicked outside the user window or the mouse event
++ could not be translated into a menu request an
+ <STRONG>E_REQUEST_DENIED</STRONG> is returned.
+
+ <STRONG>APPLICATION-DEFINED</STRONG> <STRONG>COMMANDS</STRONG>
+ If the second argument is neither printable nor one of the
+- above pre-defined menu requests or KEY_MOUSE, the drive
+- assumes it is an application-specific command and returns
++ above pre-defined menu requests or KEY_MOUSE, the drive
++ assumes it is an application-specific command and returns
+ <STRONG>E_UNKNOWN_COMMAND</STRONG>. Application-defined commands should be
+- defined relative to <STRONG>MAX_COMMAND</STRONG>, the maximum value of
++ defined relative to <STRONG>MAX_COMMAND</STRONG>, the maximum value of
+ these pre-defined requests.
+
+
+@@ -199,7 +199,7 @@
+ System error occurred (see <STRONG>errno</STRONG>).
+
+ <STRONG>E_BAD_ARGUMENT</STRONG>
+- Routine detected an incorrect or out-of-range argu-
++ Routine detected an incorrect or out-of-range argu-
+ ment.
+
+ <STRONG>E_BAD_STATE</STRONG>
+@@ -232,14 +232,14 @@
+
+ </PRE>
+ <H2>PORTABILITY</H2><PRE>
+- These routines emulate the System V menu library. They
+- were not supported on Version 7 or BSD versions. The sup-
++ These routines emulate the System V menu library. They
++ were not supported on Version 7 or BSD versions. The sup-
+ port for mouse events is ncurses specific.
+
+
+ </PRE>
+ <H2>AUTHORS</H2><PRE>
+- Juergen Pfeifer. Manual pages and adaptation for new
++ Juergen Pfeifer. Manual pages and adaptation for new
+ curses by Eric S. Raymond.
+
+
+Index: doc/html/man/menu_items.3x.html
+--- ncurses-5.9/doc/html/man/menu_items.3x.html 2011-01-09 01:03:24.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/menu_items.3x.html 2013-03-09 22:12:03.000000000 +0000
+@@ -2,7 +2,7 @@
+ <!--
+ * t
+ ****************************************************************************
+- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: menu_items.3x,v 1.9 2010/12/04 18:40:45 tom Exp @
++ * @Id: menu_items.3x,v 1.10 2012/11/03 23:03:59 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -74,7 +74,7 @@
+
+
+ </PRE>
+-<H2>RETURN VALUES</H2><PRE>
++<H2>RETURN VALUE</H2><PRE>
+ The function <STRONG>menu_items</STRONG> returns a pointer (which may be
+ <STRONG>NULL</STRONG>). It does not set errno.
+
+Index: doc/html/man/ncurses.3x.html
+--- ncurses-5.9/doc/html/man/ncurses.3x.html 2011-04-04 22:46:49.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/ncurses.3x.html 2013-03-09 22:12:04.000000000 +0000
+@@ -2,7 +2,7 @@
+ <!--
+ * t
+ ****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: ncurses.3x,v 1.103 2011/02/05 23:21:29 tom Exp @
++ * @Id: ncurses.3x,v 1.111 2013/03/02 22:15:25 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -63,7 +63,7 @@
+ sonable optimization. This implementation is ``new
+ curses'' (ncurses) and is the approved replacement for
+ 4.4BSD classic curses, which has been discontinued. This
+- describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+ The <STRONG>ncurses</STRONG> library emulates the curses library of System
+ V Release 4 UNIX, and XPG4 (X/Open Portability Guide)
+@@ -150,48 +150,48 @@
+ Among those, the most basic routines are <STRONG>move</STRONG> and <STRONG>addch</STRONG>.
+ More general versions of these routines are included with
+ names beginning with <STRONG>w</STRONG>, allowing the user to specify a
+- window. The routines not beginning with <STRONG>w</STRONG> affect <STRONG>stdscr</STRONG>.
++ window. The routines not beginning with <STRONG>w</STRONG> affect <STRONG>stdscr</STRONG>.
+
+- After using routines to manipulate a window, <STRONG>refresh</STRONG> is
+- called, telling <STRONG>curses</STRONG> to make the user's CRT screen look
+- like <STRONG>stdscr</STRONG>. The characters in a window are actually of
+- type <STRONG>chtype</STRONG>, (character and attribute data) so that other
+- information about the character may also be stored with
++ After using routines to manipulate a window, <STRONG>refresh</STRONG> is
++ called, telling <STRONG>curses</STRONG> to make the user's CRT screen look
++ like <STRONG>stdscr</STRONG>. The characters in a window are actually of
++ type <STRONG>chtype</STRONG>, (character and attribute data) so that other
++ information about the character may also be stored with
+ each character.
+
+- Special windows called <EM>pads</EM> may also be manipulated.
++ Special windows called <EM>pads</EM> may also be manipulated.
+ These are windows which are not constrained to the size of
+- the screen and whose contents need not be completely dis-
++ the screen and whose contents need not be completely dis-
+ played. See <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> for more information.
+
+- In addition to drawing characters on the screen, video
+- attributes and colors may be supported, causing the char-
+- acters to show up in such modes as underlined, in reverse
+- video, or in color on terminals that support such display
++ In addition to drawing characters on the screen, video
++ attributes and colors may be supported, causing the char-
++ acters to show up in such modes as underlined, in reverse
++ video, or in color on terminals that support such display
+ enhancements. Line drawing characters may be specified to
+- be output. On input, <STRONG>curses</STRONG> is also able to translate
+- arrow and function keys that transmit escape sequences
+- into single values. The video attributes, line drawing
+- characters, and input values use names, defined in
++ be output. On input, <STRONG>curses</STRONG> is also able to translate
++ arrow and function keys that transmit escape sequences
++ into single values. The video attributes, line drawing
++ characters, and input values use names, defined in
+ <STRONG>&lt;curses.h&gt;</STRONG>, such as <STRONG>A_REVERSE</STRONG>, <STRONG>ACS_HLINE</STRONG>, and <STRONG>KEY_LEFT</STRONG>.
+
+ If the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> are set, or
+- if the program is executing in a window environment, line
+- and column information in the environment will override
++ if the program is executing in a window environment, line
++ and column information in the environment will override
+ information read by <EM>terminfo</EM>. This would affect a program
+- running in an AT&amp;T 630 layer, for example, where the size
++ running in an AT&amp;T 630 layer, for example, where the size
+ of a screen is changeable (see <STRONG>ENVIRONMENT</STRONG>).
+
+- If the environment variable <STRONG>TERMINFO</STRONG> is defined, any pro-
+- gram using <STRONG>curses</STRONG> checks for a local terminal definition
+- before checking in the standard place. For example, if
++ If the environment variable <STRONG>TERMINFO</STRONG> is defined, any pro-
++ gram using <STRONG>curses</STRONG> checks for a local terminal definition
++ before checking in the standard place. For example, if
+ <STRONG>TERM</STRONG> is set to <STRONG>att4424</STRONG>, then the compiled terminal defini-
+ tion is found in
+
+ <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
+
+ (The <STRONG>a</STRONG> is copied from the first letter of <STRONG>att4424</STRONG> to avoid
+- creation of huge directories.) However, if <STRONG>TERMINFO</STRONG> is
++ creation of huge directories.) However, if <STRONG>TERMINFO</STRONG> is
+ set to <STRONG>$HOME/myterms</STRONG>, <STRONG>curses</STRONG> first checks
+
+ <STRONG>$HOME/myterms/a/att4424</STRONG>,
+@@ -200,119 +200,117 @@
+
+ <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
+
+- This is useful for developing experimental definitions or
++ This is useful for developing experimental definitions or
+ when write permission in <STRONG>/usr/share/terminfo</STRONG> is not avail-
+ able.
+
+- The integer variables <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG> are defined in
+- <STRONG>&lt;curses.h&gt;</STRONG> and will be filled in by <STRONG>initscr</STRONG> with the size
++ The integer variables <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG> are defined in
++ <STRONG>&lt;curses.h&gt;</STRONG> and will be filled in by <STRONG>initscr</STRONG> with the size
+ of the screen. The constants <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG> have the val-
+ ues <STRONG>1</STRONG> and <STRONG>0</STRONG>, respectively.
+
+- The <STRONG>curses</STRONG> routines also define the <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> variable
++ The <STRONG>curses</STRONG> routines also define the <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> variable
+ <STRONG>curscr</STRONG> which is used for certain low-level operations like
+- clearing and redrawing a screen containing garbage. The
++ clearing and redrawing a screen containing garbage. The
+ <STRONG>curscr</STRONG> can be used in only a few routines.
+
+ <STRONG>Routine</STRONG> <STRONG>and</STRONG> <STRONG>Argument</STRONG> <STRONG>Names</STRONG>
+- Many <STRONG>curses</STRONG> routines have two or more versions. The rou-
++ Many <STRONG>curses</STRONG> routines have two or more versions. The rou-
+ tines prefixed with <STRONG>w</STRONG> require a window argument. The rou-
+ tines prefixed with <STRONG>p</STRONG> require a pad argument. Those with-
+ out a prefix generally use <STRONG>stdscr</STRONG>.
+
+ The routines prefixed with <STRONG>mv</STRONG> require a <EM>y</EM> and <EM>x</EM> coordinate
+- to move to before performing the appropriate action. The
+- <STRONG>mv</STRONG> routines imply a call to <STRONG>move</STRONG> before the call to the
+- other routine. The coordinate <EM>y</EM> always refers to the row
+- (of the window), and <EM>x</EM> always refers to the column. The
++ to move to before performing the appropriate action. The
++ <STRONG>mv</STRONG> routines imply a call to <STRONG>move</STRONG> before the call to the
++ other routine. The coordinate <EM>y</EM> always refers to the row
++ (of the window), and <EM>x</EM> always refers to the column. The
+ upper left-hand corner is always (0,0), not (1,1).
+
+ The routines prefixed with <STRONG>mvw</STRONG> take both a window argument
+- and <EM>x</EM> and <EM>y</EM> coordinates. The window argument is always
++ and <EM>x</EM> and <EM>y</EM> coordinates. The window argument is always
+ specified before the coordinates.
+
+- In each case, <EM>win</EM> is the window affected, and <EM>pad</EM> is the
++ In each case, <EM>win</EM> is the window affected, and <EM>pad</EM> is the
+ pad affected; <EM>win</EM> and <EM>pad</EM> are always pointers to type <STRONG>WIN-</STRONG>
+ <STRONG>DOW</STRONG>.
+
+ Option setting routines require a Boolean flag <EM>bf</EM> with the
+- value <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>; <EM>bf</EM> is always of type <STRONG>bool</STRONG>. Most of
+- the data types used in the library routines, such as <STRONG>WIN-</STRONG>
+- <STRONG>DOW</STRONG>, <STRONG>SCREEN</STRONG>, <STRONG>bool</STRONG>, and <STRONG>chtype</STRONG> are defined in <STRONG>&lt;curses.h&gt;</STRONG>.
+- Types used for the terminfo routines such as <STRONG>TERMINAL</STRONG> are
++ value <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>; <EM>bf</EM> is always of type <STRONG>bool</STRONG>. Most of
++ the data types used in the library routines, such as <STRONG>WIN-</STRONG>
++ <STRONG>DOW</STRONG>, <STRONG>SCREEN</STRONG>, <STRONG>bool</STRONG>, and <STRONG>chtype</STRONG> are defined in <STRONG>&lt;curses.h&gt;</STRONG>.
++ Types used for the terminfo routines such as <STRONG>TERMINAL</STRONG> are
+ defined in <STRONG>&lt;term.h&gt;</STRONG>.
+
+- This manual page describes functions which may appear in
+- any configuration of the library. There are two common
++ This manual page describes functions which may appear in
++ any configuration of the library. There are two common
+ configurations of the library:
+
+ ncurses
+ the "normal" library, which handles 8-bit
+ characters. The normal (8-bit) library stores
+- characters combined with attributes in <STRONG>chtype</STRONG>
++ characters combined with attributes in <STRONG>chtype</STRONG>
+ data.
+
+- Attributes alone (no corresponding character)
+- may be stored in <STRONG>chtype</STRONG> or the equivalent
+- <STRONG>attr_t</STRONG> data. In either case, the data is
++ Attributes alone (no corresponding character)
++ may be stored in <STRONG>chtype</STRONG> or the equivalent
++ <STRONG>attr_t</STRONG> data. In either case, the data is
+ stored in something like an integer.
+
+- Each cell (row and column) in a <STRONG>WINDOW</STRONG> is
++ Each cell (row and column) in a <STRONG>WINDOW</STRONG> is
+ stored as a <STRONG>chtype</STRONG>.
+
+ ncursesw
+- the so-called "wide" library, which handles
+- multibyte characters (see the section on
++ the so-called "wide" library, which handles
++ multibyte characters (see the section on
+ <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>). The "wide" library
+- includes all of the calls from the "normal"
+- library. It adds about one third more calls
++ includes all of the calls from the "normal"
++ library. It adds about one third more calls
+ using data types which store multibyte charac-
+ ters:
+
+ <STRONG>cchar_t</STRONG>
+- corresponds to <STRONG>chtype</STRONG>. However it is a
+- structure, because more data is stored
+- than can fit into an integer. The char-
++ corresponds to <STRONG>chtype</STRONG>. However it is a
++ structure, because more data is stored
++ than can fit into an integer. The char-
+ acters are large enough to require a full
+- integer value - and there may be more
+- than one character per cell. The video
+- attributes and color are stored in sepa-
++ integer value - and there may be more
++ than one character per cell. The video
++ attributes and color are stored in sepa-
+ rate fields of the structure.
+
+ Each cell (row and column) in a <STRONG>WINDOW</STRONG> is
+ stored as a <STRONG>cchar_t</STRONG>.
+
+ <STRONG>wchar_t</STRONG>
+- stores a "wide" character. Like <STRONG>chtype</STRONG>,
++ stores a "wide" character. Like <STRONG>chtype</STRONG>,
+ this may be an integer.
+
+ <STRONG>wint_t</STRONG>
+- stores a <STRONG>wchar_t</STRONG> or <STRONG>WEOF</STRONG> - not the same,
++ stores a <STRONG>wchar_t</STRONG> or <STRONG>WEOF</STRONG> - not the same,
+ though both may have the same size.
+
+ The "wide" library provides new functions
+- which are analogous to functions in the "nor-
+- mal" library. There is a naming convention
+- which relates many of the normal/wide vari-
+- ants: a "_w" is inserted into the name. For
++ which are analogous to functions in the "nor-
++ mal" library. There is a naming convention
++ which relates many of the normal/wide vari-
++ ants: a "_w" is inserted into the name. For
+ example, <STRONG>waddch</STRONG> becomes <STRONG>wadd_wch</STRONG>.
+
+-
+ <STRONG>Routine</STRONG> <STRONG>Name</STRONG> <STRONG>Index</STRONG>
+ The following table lists each <STRONG>curses</STRONG> routine and the name
+- of the manual page on which it is described. Routines
+- flagged with `*' are ncurses-specific, not described by
++ of the manual page on which it is described. Routines
++ flagged with `*' are ncurses-specific, not described by
+ XPG4 or present in SVr4.
+
+-
+ <STRONG>curses</STRONG> Routine Name Manual Page Name
+ --------------------------------------------
+ COLOR_PAIR <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ PAIR_NUMBER <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ _nc_free_and_exit <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
+-
+ _nc_freeall <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
+ _nc_tracebits <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
++
+ _traceattr <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+ _traceattr2 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+ _tracechar <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+@@ -376,9 +374,9 @@
+ echo <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ echo_wchar <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ echochar <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+-
+ endwin <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+ erase <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
++
+ erasechar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ erasewchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ filter <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+@@ -442,9 +440,9 @@
+ intrflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ inwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+ is_cleared <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+-
+ is_idcok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ is_idlok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
++
+ is_immedok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ is_keypad <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ is_leaveok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+@@ -508,9 +506,9 @@
+ mvinsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+ mvinsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+ mvinsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+-
+ mvinstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+ mvinwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
++
+ mvprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+ mvscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+ mvvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+@@ -574,9 +572,9 @@
+ pair_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ pechochar <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+ pnoutrefresh <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+-
+ prefresh <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+ printw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
++
+ putp <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ putwin <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ qiflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+@@ -640,9 +638,9 @@
+ tigetstr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ timeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ touchline <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+-
+ touchwin <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+ tparm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
++
+ tputs <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+ tputs <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ trace <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+@@ -656,6 +654,7 @@
+ use_env <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ use_extended_names <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
+ use_legacy_coding <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>*
++ use_tioctl <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ vid_attr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ vid_puts <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ vidattr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+@@ -706,8 +705,8 @@
+ wgetbkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+ wgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+ wgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+-
+ wgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
++
+ wgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+ whline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ whline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+@@ -752,11 +751,14 @@
+
+ </PRE>
+ <H2>RETURN VALUE</H2><PRE>
+- Routines that return an integer return <STRONG>ERR</STRONG> upon failure
+- and an integer value other than <STRONG>ERR</STRONG> upon successful com-
+- pletion, unless otherwise noted in the routine descrip-
++ Routines that return an integer return <STRONG>ERR</STRONG> upon failure
++ and an integer value other than <STRONG>ERR</STRONG> upon successful com-
++ pletion, unless otherwise noted in the routine descrip-
+ tions.
+
++ As a general rule, routines check for null pointers passed
++ as parameters, and handle this as an error.
++
+ All macros return the value of the <STRONG>w</STRONG> version, except
+ <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>, and <STRONG>getmaxyx</STRONG>. The
+ return values of <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>,
+@@ -773,52 +775,56 @@
+ important ones have been already discussed in detail.
+
+ BAUDRATE
+- The debugging library checks this environment symbol
+- when the application has redirected output to a file.
+- The symbol's numeric value is used for the baudrate.
+- If no value is found, <STRONG>ncurses</STRONG> uses 9600. This allows
+- testers to construct repeatable test-cases that take
+- into account costs that depend on baudrate.
++ The debugging library checks this environment vari-
++ able when the application has redirected output to a
++ file. The variable's numeric value is used for the
++ baudrate. If no value is found, <STRONG>ncurses</STRONG> uses 9600.
++ This allows testers to construct repeatable test-
++ cases that take into account costs that depend on
++ baudrate.
+
+ CC When set, change occurrences of the command_character
+- (i.e., the <STRONG>cmdch</STRONG> capability) of the loaded terminfo
+- entries to the value of this symbol. Very few ter-
++ (i.e., the <STRONG>cmdch</STRONG> capability) of the loaded terminfo
++ entries to the value of this variable. Very few ter-
+ minfo entries provide this feature.
+
+- Because this name is also used in development envi-
+- ronments to represent the C compiler's name, <STRONG>ncurses</STRONG>
++ Because this name is also used in development envi-
++ ronments to represent the C compiler's name, <STRONG>ncurses</STRONG>
+ ignores it if it does not happen to be a single char-
+ acter.
+
+ COLUMNS
+ Specify the width of the screen in characters.
+- Applications running in a windowing environment usu-
+- ally are able to obtain the width of the window in
+- which they are executing. If neither the <STRONG>COLUMNS</STRONG>
+- value nor the terminal's screen size is available,
+- <STRONG>ncurses</STRONG> uses the size which may be specified in the
++ Applications running in a windowing environment usu-
++ ally are able to obtain the width of the window in
++ which they are executing. If neither the <STRONG>COLUMNS</STRONG>
++ value nor the terminal's screen size is available,
++ <STRONG>ncurses</STRONG> uses the size which may be specified in the
+ terminfo database (i.e., the <STRONG>cols</STRONG> capability).
+
+- It is important that your application use a correct
+- size for the screen. This is not always possible
+- because your application may be running on a host
+- which does not honor NAWS (Negotiations About Window
+- Size), or because you are temporarily running as
+- another user. However, setting <STRONG>COLUMNS</STRONG> and/or <STRONG>LINES</STRONG>
++ It is important that your application use a correct
++ size for the screen. This is not always possible
++ because your application may be running on a host
++ which does not honor NAWS (Negotiations About Window
++ Size), or because you are temporarily running as
++ another user. However, setting <STRONG>COLUMNS</STRONG> and/or <STRONG>LINES</STRONG>
+ overrides the library's use of the screen size
+ obtained from the operating system.
+
+- Either <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> symbols may be specified
+- independently. This is mainly useful to circumvent
+- legacy misfeatures of terminal descriptions, e.g.,
++ Either <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> symbols may be specified
++ independently. This is mainly useful to circumvent
++ legacy misfeatures of terminal descriptions, e.g.,
+ xterm which commonly specifies a 65 line screen. For
+- best results, <STRONG>lines</STRONG> and <STRONG>cols</STRONG> should not be specified
++ best results, <STRONG>lines</STRONG> and <STRONG>cols</STRONG> should not be specified
+ in a terminal description for terminals which are run
+ as emulations.
+
+ Use the <STRONG>use_env</STRONG> function to disable all use of exter-
+- nal environment (including system calls) to determine
+- the screen size.
++ nal environment (but not including system calls) to
++ determine the screen size. Use the <STRONG>use_tioctl</STRONG> func-
++ tion to update <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> to match the screen
++ size obtained from system calls or the terminal data-
++ base.
+
+ ESCDELAY
+ Specifies the total time, in milliseconds, for which
+@@ -858,234 +864,278 @@
+
+ LINES
+ Like COLUMNS, specify the height of the screen in
+- characters. See COLUMNS for a detailed description.
++ characters. See COLUMNS for a detailed description.
+
+ MOUSE_BUTTONS_123
+ This applies only to the OS/2 EMX port. It specifies
+- the order of buttons on the mouse. OS/2 numbers a
++ the order of buttons on the mouse. OS/2 numbers a
+ 3-button mouse inconsistently from other platforms:
+
+ 1 = left
+ 2 = right
+ 3 = middle.
+
+- This symbol lets you customize the mouse. The symbol
+- must be three numeric digits 1-3 in any order, e.g.,
+- 123 or 321. If it is not specified, <STRONG>ncurses</STRONG> uses
+- 132.
++ This variable lets you customize the mouse. The
++ variable must be three numeric digits 1-3 in any
++ order, e.g., 123 or 321. If it is not specified,
++ <STRONG>ncurses</STRONG> uses 132.
+
+ NCURSES_ASSUMED_COLORS
+- Override the compiled-in assumption that the termi-
+- nal's default colors are white-on-black (see
+- <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>). You may set the foreground and
+- background color values with this environment vari-
+- able by proving a 2-element list: foreground,back-
+- ground. For example, to tell ncurses to not assume
+- anything about the colors, set this to "-1,-1". To
+- make it green-on-black, set it to "2,0". Any posi-
++ Override the compiled-in assumption that the termi-
++ nal's default colors are white-on-black (see
++ <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>). You may set the foreground and
++ background color values with this environment vari-
++ able by proving a 2-element list: foreground,back-
++ ground. For example, to tell ncurses to not assume
++ anything about the colors, set this to "-1,-1". To
++ make it green-on-black, set it to "2,0". Any posi-
+ tive value from zero to the terminfo <STRONG>max_colors</STRONG> value
+ is allowed.
+
+ NCURSES_GPM_TERMS
+- This applies only to ncurses configured to use the
++ This applies only to ncurses configured to use the
+ GPM interface.
+
+ If present, the environment variable is a list of one
+- or more terminal names against which the TERM envi-
+- ronment variable is matched. Setting it to an empty
+- value disables the GPM interface; using the built-in
++ or more terminal names against which the TERM envi-
++ ronment variable is matched. Setting it to an empty
++ value disables the GPM interface; using the built-in
+ support for xterm, etc.
+
+- If the environment variable is absent, ncurses will
++ If the environment variable is absent, ncurses will
+ attempt to open GPM if TERM contains "linux".
+
+ NCURSES_NO_HARD_TABS
+- <STRONG>Ncurses</STRONG> may use tabs as part of the cursor movement
+- optimization. In some cases, your terminal driver
+- may not handle these properly. Set this environment
++ <STRONG>Ncurses</STRONG> may use tabs as part of the cursor movement
++ optimization. In some cases, your terminal driver
++ may not handle these properly. Set this environment
+ variable to disable the feature. You can also adjust
+ your <STRONG>stty</STRONG> settings to avoid the problem.
+
+ NCURSES_NO_MAGIC_COOKIES
+ Some terminals use a magic-cookie feature which
+- requires special handling to make highlighting and
+- other video attributes display properly. You can
+- suppress the highlighting entirely for these termi-
++ requires special handling to make highlighting and
++ other video attributes display properly. You can
++ suppress the highlighting entirely for these termi-
+ nals by setting this environment variable.
+
+ NCURSES_NO_PADDING
+- Most of the terminal descriptions in the terminfo
+- database are written for real "hardware" terminals.
+- Many people use terminal emulators which run in a
+- windowing environment and use curses-based applica-
+- tions. Terminal emulators can duplicate all of the
++ Most of the terminal descriptions in the terminfo
++ database are written for real "hardware" terminals.
++ Many people use terminal emulators which run in a
++ windowing environment and use curses-based applica-
++ tions. Terminal emulators can duplicate all of the
+ important aspects of a hardware terminal, but they do
+- not have the same limitations. The chief limitation
+- of a hardware terminal from the standpoint of your
++ not have the same limitations. The chief limitation
++ of a hardware terminal from the standpoint of your
+ application is the management of dataflow, i.e., tim-
+ ing. Unless a hardware terminal is interfaced into a
+- terminal concentrator (which does flow control), it
+- (or your application) must manage dataflow, prevent-
+- ing overruns. The cheapest solution (no hardware
++ terminal concentrator (which does flow control), it
++ (or your application) must manage dataflow, prevent-
++ ing overruns. The cheapest solution (no hardware
+ cost) is for your program to do this by pausing after
+- operations that the terminal does slowly, such as
++ operations that the terminal does slowly, such as
+ clearing the display.
+
+- As a result, many terminal descriptions (including
+- the vt100) have delay times embedded. You may wish
+- to use these descriptions, but not want to pay the
++ As a result, many terminal descriptions (including
++ the vt100) have delay times embedded. You may wish
++ to use these descriptions, but not want to pay the
+ performance penalty.
+
+- Set the NCURSES_NO_PADDING symbol to disable all but
+- mandatory padding. Mandatory padding is used as a
+- part of special control sequences such as <EM>flash</EM>.
++ Set the NCURSES_NO_PADDING environment variable to
++ disable all but mandatory padding. Mandatory padding
++ is used as a part of special control sequences such
++ as <EM>flash</EM>.
+
+ NCURSES_NO_SETBUF
+- Normally <STRONG>ncurses</STRONG> enables buffered output during ter-
+- minal initialization. This is done (as in SVr4
+- curses) for performance reasons. For testing pur-
+- poses, both of <STRONG>ncurses</STRONG> and certain applications, this
+- feature is made optional. Setting the
+- NCURSES_NO_SETBUF variable disables output buffering,
+- leaving the output in the original (usually line
+- buffered) mode.
++ This setting is obsolete. Before changes
++
++ <STRONG>o</STRONG> started with 5.9 patch 20120825 and
++
++ <STRONG>o</STRONG> continued though 5.9 patch 20130126
++
++ <STRONG>ncurses</STRONG> enabled buffered output during terminal ini-
++ tialization. This was done (as in SVr4 curses) for
++ performance reasons. For testing purposes, both of
++ <STRONG>ncurses</STRONG> and certain applications, this feature was
++ made optional. Setting the NCURSES_NO_SETBUF vari-
++ able disabled output buffering, leaving the output in
++ the original (usually line buffered) mode.
++
++ In the current implementation, ncurses performs its
++ own buffering and does not require this workaround.
++ It does not modify the buffering of the standard out-
++ put.
++
++ The reason for the change was to make the behavior
++ for interrupts and other signals more robust. One
++ drawback is that certain nonconventional programs
++ would mix ordinary stdio calls with ncurses calls and
++ (usually) work. This is no longer possible since
++ ncurses is not using the buffered standard output but
++ its own output (to the same file descriptor). As a
++ special case, the low-level calls such as <STRONG>putp</STRONG> still
++ use the standard output. But high-level curses calls
++ do not.
+
+ NCURSES_NO_UTF8_ACS
+ During initialization, the <STRONG>ncurses</STRONG> library checks for
+- special cases where VT100 line-drawing (and the cor-
+- responding alternate character set capabilities)
+- described in the terminfo are known to be missing.
+- Specifically, when running in a UTF-8 locale, the
+- Linux console emulator and the GNU screen program
+- ignore these. Ncurses checks the TERM environment
+- variable for these. For other special cases, you
+- should set this environment variable. Doing this
+- tells ncurses to use Unicode values which correspond
++ special cases where VT100 line-drawing (and the cor-
++ responding alternate character set capabilities)
++ described in the terminfo are known to be missing.
++ Specifically, when running in a UTF-8 locale, the
++ Linux console emulator and the GNU screen program
++ ignore these. Ncurses checks the TERM environment
++ variable for these. For other special cases, you
++ should set this environment variable. Doing this
++ tells ncurses to use Unicode values which correspond
+ to the VT100 line-drawing glyphs. That works for the
+ special cases cited, and is likely to work for termi-
+ nal emulators.
+
+- When setting this variable, you should set it to a
+- nonzero value. Setting it to zero (or to a nonnum-
+- ber) disables the special check for "linux" and
++ When setting this variable, you should set it to a
++ nonzero value. Setting it to zero (or to a nonnum-
++ ber) disables the special check for "linux" and
+ "screen".
+
+- As an alternative to the environment variable,
+- ncurses checks for an extended terminfo capability
+- <STRONG>U8</STRONG>. This is a numeric capability which can be com-
++ As an alternative to the environment variable,
++ ncurses checks for an extended terminfo capability
++ <STRONG>U8</STRONG>. This is a numeric capability which can be com-
+ piled using <STRONG>tic</STRONG> <STRONG>-x</STRONG>. For example
+
+ # linux console, if patched to provide working
+ # VT100 shift-in/shift-out, with corresponding font.
+ linux-vt100|linux console with VT100 line-graphics,
+- U8#0, use=linux,
++ U8#0, use=linux,
+
+ # uxterm with vt100Graphics resource set to false
+ xterm-utf8|xterm relying on UTF-8 line-graphics,
+- U8#1, use=xterm,
++ U8#1, use=xterm,
+
+ The name "U8" is chosen to be two characters, to per-
+- mit it to be used by applications that use ncurses'
++ mit it to be used by applications that use ncurses'
+ termcap interface.
+
+ NCURSES_TRACE
+- During initialization, the <STRONG>ncurses</STRONG> debugging library
+- checks the NCURSES_TRACE symbol. If it is defined,
+- to a numeric value, <STRONG>ncurses</STRONG> calls the <STRONG>trace</STRONG> function,
+- using that value as the argument.
+-
+- The argument values, which are defined in <STRONG>curses.h</STRONG>,
+- provide several types of information. When running
+- with traces enabled, your application will write the
++ During initialization, the <STRONG>ncurses</STRONG> debugging library
++ checks the NCURSES_TRACE environment variable. If it
++ is defined, to a numeric value, <STRONG>ncurses</STRONG> calls the
++ <STRONG>trace</STRONG> function, using that value as the argument.
++
++ The argument values, which are defined in <STRONG>curses.h</STRONG>,
++ provide several types of information. When running
++ with traces enabled, your application will write the
+ file <STRONG>trace</STRONG> to the current directory.
+
+- TERM Denotes your terminal type. Each terminal type is
++ TERM Denotes your terminal type. Each terminal type is
+ distinct, though many are similar.
+
+ TERMCAP
+ If the <STRONG>ncurses</STRONG> library has been configured with <EM>term-</EM>
+- <EM>cap</EM> support, <STRONG>ncurses</STRONG> will check for a terminal's
++ <EM>cap</EM> support, <STRONG>ncurses</STRONG> will check for a terminal's
+ description in termcap form if it is not available in
+ the terminfo database.
+
+- The TERMCAP symbol contains either a terminal
+- description (with newlines stripped out), or a file
+- name telling where the information denoted by the
+- TERM symbol exists. In either case, setting it
+- directs <STRONG>ncurses</STRONG> to ignore the usual place for this
+- information, e.g., /etc/termcap.
++ The TERMCAP environment variable contains either a
++ terminal description (with newlines stripped out), or
++ a file name telling where the information denoted by
++ the TERM environment variable exists. In either
++ case, setting it directs <STRONG>ncurses</STRONG> to ignore the usual
++ place for this information, e.g., /etc/termcap.
+
+ TERMINFO
+ Overrides the directory in which <STRONG>ncurses</STRONG> searches for
+ your terminal description. This is the simplest, but
+- not the only way to change the list of directories.
++ not the only way to change the list of directories.
+ The complete list of directories in order follows:
+
+- <STRONG>o</STRONG> the last directory to which <STRONG>ncurses</STRONG> wrote, if
++ <STRONG>o</STRONG> the last directory to which <STRONG>ncurses</STRONG> wrote, if
+ any, is searched first
+
+- <STRONG>o</STRONG> the directory specified by the TERMINFO symbol
++ <STRONG>o</STRONG> the directory specified by the TERMINFO environ-
++ ment variable
+
+ <STRONG>o</STRONG> $HOME/.terminfo
+
+- <STRONG>o</STRONG> directories listed in the TERMINFO_DIRS symbol
++ <STRONG>o</STRONG> directories listed in the TERMINFO_DIRS environ-
++ ment variable
++
++ <STRONG>o</STRONG> one or more directories whose names are config-
++ ured and compiled into the ncurses library, i.e.,
+
+- <STRONG>o</STRONG> one or more directories whose names are config-
+- ured and compiled into the ncurses library, e.g.,
+- /usr/share/terminfo
++ <STRONG>o</STRONG> /usr/local/ncurses/share/ter-
++ minfo:/usr/share/terminfo (corresponding to
++ the TERMINFO_DIRS variable)
++
++ <STRONG>o</STRONG> /usr/share/terminfo (corresponding to the
++ TERMINFO variable)
+
+ TERMINFO_DIRS
+- Specifies a list of directories to search for termi-
+- nal descriptions. The list is separated by colons
+- (i.e., ":") on Unix, semicolons on OS/2 EMX. All of
+- the terminal descriptions are in terminfo form, which
+- makes a subdirectory named for the first letter of
+- the terminal names therein.
++ Specifies a list of directories to search for termi-
++ nal descriptions. The list is separated by colons
++ (i.e., ":") on Unix, semicolons on OS/2 EMX.
++
++ All of the terminal descriptions are in terminfo
++ form. Normally these are stored in a directory tree,
++ using subdirectories named by the first letter of the
++ terminal names therein.
++
++ If <STRONG>ncurses</STRONG> is built with a hashed database, then each
++ entry in this list can also be the path of the corre-
++ sponding database file.
++
++ If <STRONG>ncurses</STRONG> is built with a support for reading term-
++ cap files directly, then an entry in this list may be
++ the path of a termcap file.
+
+ TERMPATH
+- If TERMCAP does not hold a file name then <STRONG>ncurses</STRONG>
+- checks the TERMPATH symbol. This is a list of file-
+- names separated by spaces or colons (i.e., ":") on
+- Unix, semicolons on OS/2 EMX. If the TERMPATH symbol
+- is not set, <STRONG>ncurses</STRONG> looks in the files /etc/termcap,
+- /usr/share/misc/termcap and $HOME/.termcap, in that
++ If TERMCAP does not hold a file name then <STRONG>ncurses</STRONG>
++ checks the TERMPATH environment variable. This is a
++ list of filenames separated by spaces or colons
++ (i.e., ":") on Unix, semicolons on OS/2 EMX.
++
++ If the TERMPATH environment variable is not set,
++ <STRONG>ncurses</STRONG> looks in the files /etc/termcap,
++ /usr/share/misc/termcap and $HOME/.termcap, in that
+ order.
+
+- The library may be configured to disregard the following
+- variables when the current user is the superuser (root),
+- or if the application uses setuid or setgid permissions:
+- $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
++ The library may be configured to disregard the following
++ variables when the current user is the superuser (root),
++ or if the application uses setuid or setgid permissions:
++
++ $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as
++ $HOME.
+
+
+ </PRE>
+ <H2>ALTERNATE CONFIGURATIONS</H2><PRE>
+- Several different configurations are possible, depending
+- on the configure script options used when building
+- <STRONG>ncurses</STRONG>. There are a few main options whose effects are
++ Several different configurations are possible, depending
++ on the configure script options used when building
++ <STRONG>ncurses</STRONG>. There are a few main options whose effects are
+ visible to the applications developer using <STRONG>ncurses</STRONG>:
+
+ --disable-overwrite
+- The standard include for <STRONG>ncurses</STRONG> is as noted in <STRONG>SYN-</STRONG>
++ The standard include for <STRONG>ncurses</STRONG> is as noted in <STRONG>SYN-</STRONG>
+ <STRONG>OPSIS</STRONG>:
+
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+- This option is used to avoid filename conflicts when
+- <STRONG>ncurses</STRONG> is not the main implementation of curses of
+- the computer. If <STRONG>ncurses</STRONG> is installed disabling
+- overwrite, it puts its headers in a subdirectory,
++ This option is used to avoid filename conflicts when
++ <STRONG>ncurses</STRONG> is not the main implementation of curses of
++ the computer. If <STRONG>ncurses</STRONG> is installed disabling
++ overwrite, it puts its headers in a subdirectory,
+ e.g.,
+
+ <STRONG>#include</STRONG> <STRONG>&lt;ncurses/curses.h&gt;</STRONG>
+
+- It also omits a symbolic link which would allow you
++ It also omits a symbolic link which would allow you
+ to use <STRONG>-lcurses</STRONG> to build executables.
+
+ --enable-widec
+- The configure script renames the library and (if the
+- <STRONG>--disable-overwrite</STRONG> option is used) puts the header
++ The configure script renames the library and (if the
++ <STRONG>--disable-overwrite</STRONG> option is used) puts the header
+ files in a different subdirectory. All of the
+- library names have a "w" appended to them, i.e.,
++ library names have a "w" appended to them, i.e.,
+ instead of
+
+ <STRONG>-lncurses</STRONG>
+@@ -1095,16 +1145,16 @@
+ <STRONG>-lncursesw</STRONG>
+
+ You must also define <STRONG>_XOPEN_SOURCE_EXTENDED</STRONG> when com-
+- piling for the wide-character library to use the
+- extended (wide-character) functions. The <STRONG>curses.h</STRONG>
+- file which is installed for the wide-character
+- library is designed to be compatible with the normal
++ piling for the wide-character library to use the
++ extended (wide-character) functions. The <STRONG>curses.h</STRONG>
++ file which is installed for the wide-character
++ library is designed to be compatible with the normal
+ library's header. Only the size of the <STRONG>WINDOW</STRONG> struc-
+- ture differs, and very few applications require more
+- than a pointer to <STRONG>WINDOW</STRONG>s. If the headers are
+- installed allowing overwrite, the wide-character
+- library's headers should be installed last, to allow
+- applications to be built using either library from
++ ture differs, and very few applications require more
++ than a pointer to <STRONG>WINDOW</STRONG>s. If the headers are
++ installed allowing overwrite, the wide-character
++ library's headers should be installed last, to allow
++ applications to be built using either library from
+ the same set of headers.
+
+ --with-shared
+@@ -1114,16 +1164,16 @@
+ --with-debug
+
+ --with-profile
+- The shared and normal (static) library names differ
+- by their suffixes, e.g., <STRONG>libncurses.so</STRONG> and
+- <STRONG>libncurses.a</STRONG>. The debug and profiling libraries add
+- a "_g" and a "_p" to the root names respectively,
+- e.g., <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
++ The shared and normal (static) library names differ
++ by their suffixes, e.g., <STRONG>libncurses.so</STRONG> and <STRONG>libn-</STRONG>
++ <STRONG>curses.a</STRONG>. The debug and profiling libraries add a
++ "_g" and a "_p" to the root names respectively, e.g.,
++ <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
+
+ --with-trace
+- The <STRONG>trace</STRONG> function normally resides in the debug
++ The <STRONG>trace</STRONG> function normally resides in the debug
+ library, but it is sometimes useful to configure this
+- in the shared library. Configure scripts should
++ in the shared library. Configure scripts should
+ check for the function's existence rather than assum-
+ ing it is always in the debug library.
+
+@@ -1131,14 +1181,14 @@
+ </PRE>
+ <H2>FILES</H2><PRE>
+ /usr/share/tabset
+- directory containing initialization files for the
++ directory containing initialization files for the
+ terminal capability database /usr/share/terminfo ter-
+ minal capability database
+
+
+ </PRE>
+ <H2>SEE ALSO</H2><PRE>
+- <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> and related pages whose names begin "curs_"
++ <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> and related pages whose names begin "curs_"
+ for detailed routine descriptions.
+ <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
+
+@@ -1148,52 +1198,61 @@
+ The <STRONG>ncurses</STRONG> library can be compiled with an option
+ (<STRONG>-DUSE_GETCAP</STRONG>) that falls back to the old-style /etc/term-
+ cap file if the terminal setup code cannot find a terminfo
+- entry corresponding to <STRONG>TERM</STRONG>. Use of this feature is not
+- recommended, as it essentially includes an entire termcap
+- compiler in the <STRONG>ncurses</STRONG> startup code, at significant cost
++ entry corresponding to <STRONG>TERM</STRONG>. Use of this feature is not
++ recommended, as it essentially includes an entire termcap
++ compiler in the <STRONG>ncurses</STRONG> startup code, at significant cost
+ in core and startup cycles.
+
+- The <STRONG>ncurses</STRONG> library includes facilities for capturing
+- mouse events on certain terminals (including xterm). See
++ The <STRONG>ncurses</STRONG> library includes facilities for capturing
++ mouse events on certain terminals (including xterm). See
+ the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for details.
+
+- The <STRONG>ncurses</STRONG> library includes facilities for responding to
+- window resizing events, e.g., when running in an xterm.
+- See the <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> and <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual pages for
+- details. In addition, the library may be configured with
++ The <STRONG>ncurses</STRONG> library includes facilities for responding to
++ window resizing events, e.g., when running in an xterm.
++ See the <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> and <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual pages for
++ details. In addition, the library may be configured with
+ a SIGWINCH handler.
+
+- The <STRONG>ncurses</STRONG> library extends the fixed set of function key
+- capabilities of terminals by allowing the application
+- designer to define additional key sequences at runtime.
++ The <STRONG>ncurses</STRONG> library extends the fixed set of function key
++ capabilities of terminals by allowing the application
++ designer to define additional key sequences at runtime.
+ See the <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> man-
+ ual pages for details.
+
+ The <STRONG>ncurses</STRONG> library can exploit the capabilities of termi-
+- nals which implement the ISO-6429 SGR 39 and SGR 49 con-
++ nals which implement the ISO-6429 SGR 39 and SGR 49 con-
+ trols, which allow an application to reset the terminal to
+- its original foreground and background colors. From the
+- users' perspective, the application is able to draw col-
+- ored text on a background whose color is set indepen-
+- dently, providing better control over color contrasts.
++ its original foreground and background colors. From the
++ users' perspective, the application is able to draw col-
++ ored text on a background whose color is set indepen-
++ dently, providing better control over color contrasts.
+ See the <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> manual page for details.
+
+- The <STRONG>ncurses</STRONG> library includes a function for directing
+- application output to a printer attached to the terminal
++ The <STRONG>ncurses</STRONG> library includes a function for directing
++ application output to a printer attached to the terminal
+ device. See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details.
+
+
+ </PRE>
+ <H2>PORTABILITY</H2><PRE>
+- The <STRONG>ncurses</STRONG> library is intended to be BASE-level confor-
++ The <STRONG>ncurses</STRONG> library is intended to be BASE-level confor-
+ mant with XSI Curses. The EXTENDED XSI Curses functional-
+ ity (including color support) is supported.
+
+- A small number of local differences (that is, individual
+- differences between the XSI Curses and <STRONG>ncurses</STRONG> calls) are
+- described in <STRONG>PORTABILITY</STRONG> sections of the library man
++ A small number of local differences (that is, individual
++ differences between the XSI Curses and <STRONG>ncurses</STRONG> calls) are
++ described in <STRONG>PORTABILITY</STRONG> sections of the library man
+ pages.
+
++ Unlike other implementations, this one checks parameters
++ such as pointers to WINDOW structures to ensure they are
++ not null. The main reason for providing this behavior is
++ to guard against programmer error. The standard interface
++ does not provide a way for the library to tell an applica-
++ tion which of several possible errors were detected.
++ Relying on this (or some other) extension will adversely
++ affect the portability of curses applications.
++
+ This implementation also contains several extensions:
+
+ <STRONG>o</STRONG> The routine <STRONG>has_key</STRONG> is not part of XPG4, nor is it
+@@ -1227,31 +1286,31 @@
+
+ <STRONG>o</STRONG> This implementation can also be configured to provide
+ a set of functions which improve the ability to manage
+- multiple screens. See <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> for details.
++ multiple screens. See <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> for details.
+
+- In historic curses versions, delays embedded in the capa-
++ In historic curses versions, delays embedded in the capa-
+ bilities <STRONG>cr</STRONG>, <STRONG>ind</STRONG>, <STRONG>cub1</STRONG>, <STRONG>ff</STRONG> and <STRONG>tab</STRONG> activated corresponding
+- delay bits in the UNIX tty driver. In this implementa-
+- tion, all padding is done by sending NUL bytes. This
+- method is slightly more expensive, but narrows the inter-
+- face to the UNIX kernel significantly and increases the
++ delay bits in the UNIX tty driver. In this implementa-
++ tion, all padding is done by sending NUL bytes. This
++ method is slightly more expensive, but narrows the inter-
++ face to the UNIX kernel significantly and increases the
+ package's portability correspondingly.
+
+
+ </PRE>
+ <H2>NOTES</H2><PRE>
+- The header file <STRONG>&lt;curses.h&gt;</STRONG> automatically includes the
++ The header file <STRONG>&lt;curses.h&gt;</STRONG> automatically includes the
+ header files <STRONG>&lt;stdio.h&gt;</STRONG> and <STRONG>&lt;unctrl.h&gt;</STRONG>.
+
+- If standard output from a <STRONG>ncurses</STRONG> program is re-directed
+- to something which is not a tty, screen updates will be
++ If standard output from a <STRONG>ncurses</STRONG> program is re-directed
++ to something which is not a tty, screen updates will be
+ directed to standard error. This was an undocumented fea-
+ ture of AT&amp;T System V Release 3 curses.
+
+
+ </PRE>
+ <H2>AUTHORS</H2><PRE>
+- Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.
++ Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.
+ Based on pcurses by Pavel Curtis.
+
+
+Index: doc/html/man/ncurses5-config.1.html
+--- ncurses-5.9/doc/html/man/ncurses5-config.1.html 2011-04-04 22:46:49.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/ncurses5-config.1.html 2013-03-09 22:12:04.000000000 +0000
+@@ -105,10 +105,11 @@
+
+ <STRONG>--terminfo-dirs</STRONG>
+ echos the $TERMINFO_DIRS directory list, e.g.,
+- /usr/local/ncurses/lib/terminfo:/usr/share/terminfo
++ /usr/local/ncurses/share/terminfo:/usr/share/ter-
++ minfo
+
+ <STRONG>--termpath</STRONG>
+- echos the $TERMPATH termcap list, if support for
++ echos the $TERMPATH termcap list, if support for
+ termcap is configured.
+
+ <STRONG>--help</STRONG> prints this message
+@@ -118,7 +119,7 @@
+ <H2>SEE ALSO</H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
+
+- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+
+
+Index: doc/html/man/panel.3x.html
+--- ncurses-5.9/doc/html/man/panel.3x.html 2011-04-04 22:46:49.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/panel.3x.html 2013-03-09 22:12:04.000000000 +0000
+@@ -174,35 +174,35 @@
+
+ </PRE>
+ <H2>DIAGNOSTICS</H2><PRE>
+- Each routine that returns a pointer returns <STRONG>NULL</STRONG> if an
+- error occurs. Each routine that returns an int value
++ Each routine that returns a pointer returns <STRONG>NULL</STRONG> if an
++ error occurs. Each routine that returns an int value
+ returns <STRONG>OK</STRONG> if it executes successfully and <STRONG>ERR</STRONG> if not.
+
+
+ </PRE>
+ <H2>COMPATIBILITY</H2><PRE>
+- Reasonable care has been taken to ensure compatibility
+- with the native panel facility introduced in SVr3.2
+- (inspection of the SVr4 manual pages suggests the
+- programming interface is unchanged). The <STRONG>PANEL</STRONG> data
+- structures are merely similar. The programmer is cau-
+- tioned not to directly use <STRONG>PANEL</STRONG> fields.
++ Reasonable care has been taken to ensure compatibility
++ with the native panel facility introduced in SVr3.2
++ (inspection of the SVr4 manual pages suggests the program-
++ ming interface is unchanged). The <STRONG>PANEL</STRONG> data structures
++ are merely similar. The programmer is cautioned not to
++ directly use <STRONG>PANEL</STRONG> fields.
+
+- The functions <STRONG>show_panel()</STRONG> and <STRONG>top_panel()</STRONG> are identical
+- in this implementation, and work equally well with dis-
++ The functions <STRONG>show_panel()</STRONG> and <STRONG>top_panel()</STRONG> are identical
++ in this implementation, and work equally well with dis-
+ played or hidden panels. In the native System V implemen-
+ tation, <STRONG>show_panel()</STRONG> is intended for making a hidden panel
+- visible (at the top of the stack) and <STRONG>top_panel()</STRONG> is
+- intended for making an already-visible panel move to the
+- top of the stack. You are cautioned to use the correct
+- function to ensure compatibility with native panel
++ visible (at the top of the stack) and <STRONG>top_panel()</STRONG> is
++ intended for making an already-visible panel move to the
++ top of the stack. You are cautioned to use the correct
++ function to ensure compatibility with native panel
+ libraries.
+
+
+ </PRE>
+ <H2>NOTE</H2><PRE>
+- In your library list, libpanel.a should be before libn-
+- curses.a; that is, you want to say `-lpanel -lncurses',
++ In your library list, libpanel.a should be before libn-
++ curses.a; that is, you want to say `-lpanel -lncurses',
+ not the other way around (which would usually give a link-
+ error).
+
+@@ -218,14 +218,14 @@
+ <H2>SEE ALSO</H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
+
+- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+
+ </PRE>
+ <H2>AUTHOR</H2><PRE>
+- Originally written by Warren Tucker &lt;wht@n4hgf.mt-
+- park.ga.us&gt;, primarily to assist in porting u386mon to
+- systems without a native panels library. Repackaged for
++ Originally written by Warren Tucker &lt;wht@n4hgf.mt-
++ park.ga.us&gt;, primarily to assist in porting u386mon to
++ systems without a native panels library. Repackaged for
+ ncurses by Zeyd ben-Halim.
+
+
+Index: doc/html/man/resizeterm.3x.html
+--- ncurses-5.9/doc/html/man/resizeterm.3x.html 2011-01-09 01:03:28.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/resizeterm.3x.html 2013-03-09 22:12:04.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * authorization. *
+ ****************************************************************************
+ * Author: Thomas E. Dickey 1996-2005
+- * @Id: resizeterm.3x,v 1.14 2010/12/04 18:38:55 tom Exp @
++ * @Id: resizeterm.3x,v 1.15 2012/07/07 18:38:21 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -113,9 +113,7 @@
+ If the environment variables <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> are set,
+ this overrides the library's use of the window size
+ obtained from the operating system. Thus, even if a SIG-
+- WINCH is received, no screen size change may be recorded.
+- In that case, no <STRONG>KEY_RESIZE</STRONG> is queued for the next call to
+- <STRONG>getch</STRONG>; an <STRONG>ERR</STRONG> will be returned instead.
++ WINCH is received, no screen size change may be recorded.
+
+
+ </PRE>
+Index: doc/html/man/tabs.1.html
+--- ncurses-5.9/doc/html/man/tabs.1.html 2011-04-04 22:46:50.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/tabs.1.html 2013-03-09 22:12:04.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 2008-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2008-2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: tabs.1,v 1.8 2010/12/04 18:40:45 tom Exp @
++ * @Id: tabs.1,v 1.9 2011/12/17 23:31:59 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -156,7 +156,7 @@
+ <H2>SEE ALSO</H2><PRE>
+ <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+
+- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+
+
+Index: doc/html/man/term.7.html
+--- ncurses-5.9/doc/html/man/term.7.html 2011-02-25 23:25:09.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/term.7.html 2013-03-09 22:12:05.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: term.7,v 1.22 2010/12/04 18:41:07 tom Exp @
++ * @Id: term.7,v 1.23 2011/12/17 23:32:17 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -85,9 +85,9 @@
+ the tty device and baud rate.
+
+ Setting your own <STRONG>TERM</STRONG> value may also be useful if you have
+- created a custom entry incorporating options (such as
+- visual bell or reverse-video) which you wish to override
+- the system default type for your line.
++ created a custom entry incorporating options (such as vis-
++ ual bell or reverse-video) which you wish to override the
++ system default type for your line.
+
+ Terminal type descriptions are stored as files of capabil-
+ ity data underneath /usr/share/terminfo. To browse a list
+Index: doc/html/man/term_variables.3x.html
+--- ncurses-5.9/doc/html/man/term_variables.3x.html 2011-01-09 01:03:29.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/term_variables.3x.html 2012-01-09 18:36:45.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: term_variables.3x,v 1.2 2010/12/04 18:38:55 tom Exp @
++ * @Id: term_variables.3x,v 1.3 2011/12/17 23:31:50 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+Index: doc/html/man/terminfo.5.html
+--- ncurses-5.9/doc/html/man/terminfo.5.html 2011-04-04 22:46:51.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/terminfo.5.html 2013-03-09 22:12:05.000000000 +0000
+@@ -6,7 +6,7 @@
+ * Note: this must be run through tbl before nroff.
+ * The magic cookie on the first line triggers this under some man programs.
+ ****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,9 +32,9 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: terminfo.head,v 1.18 2010/07/31 16:08:48 tom Exp @
++ * @Id: terminfo.head,v 1.20 2013/03/02 23:52:37 tom Exp @
+ * Head of terminfo man page ends here
+- * @Id: terminfo.tail,v 1.53 2010/12/04 18:38:55 tom Exp @
++ * @Id: terminfo.tail,v 1.61 2013/03/03 00:06:39 tom Exp @
+ * Beginning of terminfo.tail file
+ * This file is part of ncurses.
+ * See "terminfo.head" for copyright.
+@@ -78,7 +78,7 @@
+ nals by giving a set of capabilities which they have, by
+ specifying how to perform screen operations, and by speci-
+ fying padding requirements and initialization sequences.
+- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+ Entries in <EM>terminfo</EM> consist of a sequence of `,' separated
+ fields (embedded commas may be escaped with a backslash or
+@@ -106,14 +106,13 @@
+ Terminal names (except for the last, verbose entry) should
+ be chosen using the following conventions. The particular
+ piece of hardware making up the terminal should have a
+- root name, thus ``hp2621''. This name should not contain
++ root name, thus "hp2621". This name should not contain
+ hyphens. Modes that the hardware can be in, or user pref-
+ erences, should be indicated by appending a hyphen and a
+ mode suffix. Thus, a vt100 in 132 column mode would be
+ vt100-w. The following suffixes should be used where pos-
+ sible:
+
+-
+ <STRONG>Suffix</STRONG> <STRONG>Meaning</STRONG> <STRONG>Example</STRONG>
+ -<EM>nn</EM> Number of lines on the screen aaa-60
+ -<EM>n</EM>p Number of pages of memory c100-4p
+@@ -126,14 +125,14 @@
+ -ns No status line hp2626-ns
+ -rv Reverse video c100-rv
+ -s Enable status line vt100-s
+-
+ -vb Use visible bell instead of beep wy370-vb
++
+ -w Wide mode (&gt; 80 columns, usually 132) vt100-w
+
+ For more on terminal naming conventions, see the <STRONG>term(7)</STRONG>
+ manual page.
+
+- <STRONG>Capabilities</STRONG>
++ <STRONG>Predefined</STRONG> <STRONG>Capabilities</STRONG>
+ The following is a complete table of the capabilities
+ included in a terminfo description block and available to
+ terminfo-using code. In each line of the table,
+@@ -176,133 +175,134 @@
+ These are the boolean capabilities:
+
+
+- <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
+- <STRONG>Booleans</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
+- auto_left_margin bw bw cub1 wraps from col-
++ <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
++ <STRONG>Booleans</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
++ auto_left_margin bw bw cub1 wraps from col-
+ umn 0 to last column
+- auto_right_margin am am terminal has auto-
++ auto_right_margin am am terminal has auto-
+ matic margins
+- back_color_erase bce ut screen erased with
++ back_color_erase bce ut screen erased with
+ background color
+- can_change ccc cc terminal can re-
++ can_change ccc cc terminal can re-
+ define existing col-
+ ors
+- ceol_standout_glitch xhp xs standout not erased
++ ceol_standout_glitch xhp xs standout not erased
+ by overwriting (hp)
+- col_addr_glitch xhpa YA only positive motion
++ col_addr_glitch xhpa YA only positive motion
+ for hpa/mhpa caps
+
+
+- cpi_changes_res cpix YF changing character
++
++ cpi_changes_res cpix YF changing character
+ pitch changes reso-
+ lution
+- cr_cancels_micro_mode crxm YB using cr turns off
++ cr_cancels_micro_mode crxm YB using cr turns off
+ micro mode
+- dest_tabs_magic_smso xt xt tabs destructive,
++ dest_tabs_magic_smso xt xt tabs destructive,
+ magic so char
+ (t1061)
+- eat_newline_glitch xenl xn newline ignored
++ eat_newline_glitch xenl xn newline ignored
+ after 80 cols (con-
+ cept)
+- erase_overstrike eo eo can erase over-
++ erase_overstrike eo eo can erase over-
+ strikes with a blank
+- generic_type gn gn generic line type
+- hard_copy hc hc hardcopy terminal
+- hard_cursor chts HC cursor is hard to
++ generic_type gn gn generic line type
++ hard_copy hc hc hardcopy terminal
++ hard_cursor chts HC cursor is hard to
+ see
+- has_meta_key km km Has a meta key
++ has_meta_key km km Has a meta key
+ (i.e., sets 8th-bit)
+- has_print_wheel daisy YC printer needs opera-
++ has_print_wheel daisy YC printer needs opera-
+ tor to change char-
+ acter set
+- has_status_line hs hs has extra status
++ has_status_line hs hs has extra status
+ line
+- hue_lightness_saturation hls hl terminal uses only
++ hue_lightness_saturation hls hl terminal uses only
+ HLS color notation
+ (Tektronix)
+- insert_null_glitch in in insert mode distin-
++ insert_null_glitch in in insert mode distin-
+ guishes nulls
+- lpi_changes_res lpix YG changing line pitch
++ lpi_changes_res lpix YG changing line pitch
+ changes resolution
+- memory_above da da display may be
++ memory_above da da display may be
+ retained above the
+ screen
+- memory_below db db display may be
++ memory_below db db display may be
+ retained below the
+ screen
+- move_insert_mode mir mi safe to move while
++ move_insert_mode mir mi safe to move while
+ in insert mode
+- move_standout_mode msgr ms safe to move while
++ move_standout_mode msgr ms safe to move while
+ in standout mode
+- needs_xon_xoff nxon nx padding will not
++ needs_xon_xoff nxon nx padding will not
+ work, xon/xoff
+ required
+- no_esc_ctlc xsb xb beehive (f1=escape,
++ no_esc_ctlc xsb xb beehive (f1=escape,
+ f2=ctrl C)
+- no_pad_char npc NP pad character does
++ no_pad_char npc NP pad character does
+ not exist
+- non_dest_scroll_region ndscr ND scrolling region is
++ non_dest_scroll_region ndscr ND scrolling region is
+ non-destructive
+- non_rev_rmcup nrrmc NR smcup does not
++ non_rev_rmcup nrrmc NR smcup does not
+ reverse rmcup
+- over_strike os os terminal can over-
++ over_strike os os terminal can over-
+ strike
+- prtr_silent mc5i 5i printer will not
++ prtr_silent mc5i 5i printer will not
+ echo on screen
+- row_addr_glitch xvpa YD only positive motion
++ row_addr_glitch xvpa YD only positive motion
+ for vpa/mvpa caps
+- semi_auto_right_margin sam YE printing in last
++ semi_auto_right_margin sam YE printing in last
+ column causes cr
+- status_line_esc_ok eslok es escape can be used
++ status_line_esc_ok eslok es escape can be used
+ on the status line
+- tilde_glitch hz hz cannot print ~'s
++ tilde_glitch hz hz cannot print ~'s
+ (hazeltine)
+
+
+- transparent_underline ul ul underline character
++ transparent_underline ul ul underline character
+ overstrikes
+- xon_xoff xon xo terminal uses
++ xon_xoff xon xo terminal uses
+ xon/xoff handshaking
+
+ These are the numeric capabilities:
+
+
+- <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
+- <STRONG>Numeric</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
+- columns cols co number of columns in
++ <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
++ <STRONG>Numeric</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
++ columns cols co number of columns in
+ a line
+- init_tabs it it tabs initially every
++ init_tabs it it tabs initially every
+ # spaces
+- label_height lh lh rows in each label
+- label_width lw lw columns in each
++ label_height lh lh rows in each label
++ label_width lw lw columns in each
+ label
+- lines lines li number of lines on
++ lines lines li number of lines on
+ screen or page
+- lines_of_memory lm lm lines of memory if &gt;
++ lines_of_memory lm lm lines of memory if &gt;
+ line. 0 means varies
+- magic_cookie_glitch xmc sg number of blank
++ magic_cookie_glitch xmc sg number of blank
+ characters left by
+ smso or rmso
+- max_attributes ma ma maximum combined
++ max_attributes ma ma maximum combined
+ attributes terminal
+ can handle
+- max_colors colors Co maximum number of
++ max_colors colors Co maximum number of
+ colors on screen
+- max_pairs pairs pa maximum number of
++ max_pairs pairs pa maximum number of
+ color-pairs on the
+ screen
+- maximum_windows wnum MW maximum number of
++ maximum_windows wnum MW maximum number of
+ defineable windows
+- no_color_video ncv NC video attributes
++ no_color_video ncv NC video attributes
+ that cannot be used
+ with colors
+- num_labels nlab Nl number of labels on
++ num_labels nlab Nl number of labels on
+ screen
+- padding_baud_rate pb pb lowest baud rate
++ padding_baud_rate pb pb lowest baud rate
+ where padding needed
+- virtual_terminal vt vt virtual terminal
++ virtual_terminal vt vt virtual terminal
+ number (CB/unix)
+- width_status_line wsl ws number of columns in
++ width_status_line wsl ws number of columns in
+ status line
+
+ The following numeric capabilities are present in the
+@@ -310,47 +310,47 @@
+ man page. They came in with SVr4's printer support.
+
+
+- <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
+- <STRONG>Numeric</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
+- bit_image_entwining bitwin Yo number of passes for
++ <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
++ <STRONG>Numeric</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
++ bit_image_entwining bitwin Yo number of passes for
+ each bit-image row
+- bit_image_type bitype Yp type of bit-image
++ bit_image_type bitype Yp type of bit-image
+ device
+- buffer_capacity bufsz Ya numbers of bytes
++ buffer_capacity bufsz Ya numbers of bytes
+ buffered before
+ printing
+- buttons btns BT number of buttons on
++ buttons btns BT number of buttons on
+ mouse
+- dot_horz_spacing spinh Yc spacing of dots hor-
++ dot_horz_spacing spinh Yc spacing of dots hor-
+ izontally in dots
+ per inch
+
+- dot_vert_spacing spinv Yb spacing of pins ver-
++ dot_vert_spacing spinv Yb spacing of pins ver-
+ tically in pins per
+ inch
+- max_micro_address maddr Yd maximum value in
++ max_micro_address maddr Yd maximum value in
+ micro_..._address
+- max_micro_jump mjump Ye maximum value in
++ max_micro_jump mjump Ye maximum value in
+ parm_..._micro
+- micro_col_size mcs Yf character step size
++ micro_col_size mcs Yf character step size
+ when in micro mode
+- micro_line_size mls Yg line step size when
++ micro_line_size mls Yg line step size when
+ in micro mode
+- number_of_pins npins Yh numbers of pins in
++ number_of_pins npins Yh numbers of pins in
+ print-head
+- output_res_char orc Yi horizontal resolu-
++ output_res_char orc Yi horizontal resolu-
+ tion in units per
+ line
+- output_res_horz_inch orhi Yk horizontal resolu-
++ output_res_horz_inch orhi Yk horizontal resolu-
+ tion in units per
+ inch
+- output_res_line orl Yj vertical resolution
++ output_res_line orl Yj vertical resolution
+ in units per line
+- output_res_vert_inch orvi Yl vertical resolution
++ output_res_vert_inch orvi Yl vertical resolution
+ in units per inch
+- print_rate cps Ym print rate in char-
++ print_rate cps Ym print rate in char-
+ acters per second
+- wide_char_size widcs Yn character step size
++ wide_char_size widcs Yn character step size
+ when in double wide
+ mode
+
+@@ -402,8 +402,8 @@
+ prototype !?
+ create_window cwin CW define a window #1
+ from #2,#3 to #4,#5
+- cursor_address cup cm move to row #1
+- columns #2
++ cursor_address cup cm move to row #1 col-
++ umns #2
+ cursor_down cud1 do down one line
+ cursor_home home ho home cursor (if no
+ cup)
+@@ -904,8 +904,8 @@
+ zero_motion zerom Zx No motion for subse-
+ quent character
+
+- The following string capabilities are present in the
+- SVr4.0 term structure, but were originally not documented
++ The following string capabilities are present in the
++ SVr4.0 term structure, but were originally not documented
+ in the man page.
+
+
+@@ -989,13 +989,14 @@
+ bottom margins to
+ #1, #2
+
+- The XSI Curses standard added these. They are some
+- post-4.1 versions of System V curses, e.g., Solaris 2.5
+- and IRIX 6.x. The <STRONG>ncurses</STRONG> termcap names for them are
+- invented; according to the XSI Curses standard, they have
+- no termcap names. If your compiled terminfo entries use
+- these, they may not be binary-compatible with System V
+- terminfo entries after SVr4.1; beware!
++ The XSI Curses standard added these hardcopy capabili-
++ ties. They were used in some post-4.1 versions of System
++ V curses, e.g., Solaris 2.5 and IRIX 6.x. Except for <STRONG>YI</STRONG>,
++ the <STRONG>ncurses</STRONG> termcap names for them are invented. Accord-
++ ing to the XSI Curses standard, they have no termcap
++ names. If your compiled terminfo entries use these, they
++ may not be binary-compatible with System V terminfo
++ entries after SVr4.1; beware!
+
+
+ <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
+@@ -1015,13 +1016,57 @@
+ set_a_attributes sgr1 sA Define second set of
+ video attributes
+ #1-#6
+- set_pglen_inch slengthsL YI Set page length
+- to #1 hundredth of
+- an inch
++ set_pglen_inch slengthYI Set page length to
++ #1 hundredth of an
++ inch (some implemen-
++ tations use sL for
++ termcap).
++
++ <STRONG>User-Defined</STRONG> <STRONG>Capabilities</STRONG>
++ The preceding section listed the <EM>predefined</EM> capabilities.
++ They deal with some special features for terminals no
++ longer (or possibly never) produced. Occasionally there
++ are special features of newer terminals which are awkward
++ or impossible to represent by reusing the predefined capa-
++ bilities.
++
++ <STRONG>ncurses</STRONG> addresses this limitation by allowing user-defined
++ capabilities. The <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> programs provide the <STRONG>-x</STRONG>
++ option for this purpose. When <STRONG>-x</STRONG> is set, <STRONG>tic</STRONG> treats
++ unknown capabilities as user-defined. That is, if <STRONG>tic</STRONG>
++ encounters a capability name which it does not recognize,
++ it infers its type (boolean, number or string) from the
++ syntax and makes an extended table entry for that capabil-
++ ity. The <STRONG>use_extended_names</STRONG> function makes this informa-
++ tion conditionally available to applications. The ncurses
++ library provides the data leaving most of the behavior to
++ applications:
++
++ <STRONG>o</STRONG> User-defined capability strings whose name begins with
++ "k" are treated as function keys.
++
++ <STRONG>o</STRONG> The types (boolean, number, string) determined by <STRONG>tic</STRONG>
++ can be inferred by successful calls on <STRONG>tigetflag</STRONG>, etc.
++
++ <STRONG>o</STRONG> If the capability name happens to be two characters,
++ the capability is also available through the termcap
++ interface.
++
++ While termcap is said to be extensible because it does not
++ use a predefined set of capabilities, in practice it has
++ been limited to the capabilities defined by terminfo
++ implementations. As a rule, user-defined capabilities
++ intended for use by termcap applications should be limited
++ to booleans and numbers to avoid running past the 1023
++ byte limit assumed by termcap implementations and their
++ applications. In particular, providing extended sets of
++ function keys (past the 60 numbered keys and the handful
++ of special named keys) is best done using the longer names
++ available using terminfo.
+
+ <STRONG>A</STRONG> <STRONG>Sample</STRONG> <STRONG>Entry</STRONG>
+ The following entry, describing an ANSI-standard terminal,
+- is representative of what a <STRONG>terminfo</STRONG> entry for a modern
++ is representative of what a <STRONG>terminfo</STRONG> entry for a modern
+ terminal typically looks like.
+
+ ansi|ansi/pc-term compatible with color,
+@@ -1045,93 +1090,126 @@
+ sgr0=\E[0;10m, tbc=\E[2g, u6=\E[%d;%dR, u7=\E[6n,
+ u8=\E[?%[;0123456789]c, u9=\E[c, vpa=\E[%p1%dd,
+
+- Entries may continue onto multiple lines by placing white
+- space at the beginning of each line except the first.
+- Comments may be included on lines beginning with ``#''.
+- Capabilities in <EM>terminfo</EM> are of three types: Boolean capa-
+- bilities which indicate that the terminal has some partic-
+- ular feature, numeric capabilities giving the size of the
+- terminal or the size of particular delays, and string
+- capabilities, which give a sequence which can be used to
+- perform particular terminal operations.
++ Entries may continue onto multiple lines by placing white
++ space at the beginning of each line except the first.
++ Comments may be included on lines beginning with "#".
++ Capabilities in <EM>terminfo</EM> are of three types:
++
++ <STRONG>o</STRONG> Boolean capabilities which indicate that the terminal
++ has some particular feature,
+
++ <STRONG>o</STRONG> numeric capabilities giving the size of the terminal
++ or the size of particular delays, and
++
++ <STRONG>o</STRONG> string capabilities, which give a sequence which can
++ be used to perform particular terminal operations.
+
+ <STRONG>Types</STRONG> <STRONG>of</STRONG> <STRONG>Capabilities</STRONG>
+- All capabilities have names. For instance, the fact that
+- ANSI-standard terminals have <EM>automatic</EM> <EM>margins</EM> (i.e., an
+- automatic return and line-feed when the end of a line is
+- reached) is indicated by the capability <STRONG>am</STRONG>. Hence the
++ All capabilities have names. For instance, the fact that
++ ANSI-standard terminals have <EM>automatic</EM> <EM>margins</EM> (i.e., an
++ automatic return and line-feed when the end of a line is
++ reached) is indicated by the capability <STRONG>am</STRONG>. Hence the
+ description of ansi includes <STRONG>am</STRONG>. Numeric capabilities are
+- followed by the character `#' and then a positive value.
+- Thus <STRONG>cols</STRONG>, which indicates the number of columns the ter-
+- minal has, gives the value `80' for ansi. Values for
++ followed by the character `#' and then a positive value.
++ Thus <STRONG>cols</STRONG>, which indicates the number of columns the ter-
++ minal has, gives the value `80' for ansi. Values for
+ numeric capabilities may be specified in decimal, octal or
+- hexadecimal, using the C programming language conventions
++ hexadecimal, using the C programming language conventions
+ (e.g., 255, 0377 and 0xff or 0xFF).
+
+- Finally, string valued capabilities, such as <STRONG>el</STRONG> (clear to
++ Finally, string valued capabilities, such as <STRONG>el</STRONG> (clear to
+ end of line sequence) are given by the two-character code,
+- an `=', and then a string ending at the next following
++ an `=', and then a string ending at the next following
+ `,'.
+
+- A number of escape sequences are provided in the string
++ A number of escape sequences are provided in the string
+ valued capabilities for easy encoding of characters there.
+- Both <STRONG>\E</STRONG> and <STRONG>\e</STRONG> map to an ESCAPE character, <STRONG>^x</STRONG> maps to a
+- control-x for any appropriate x, and the sequences <STRONG>\n</STRONG> <STRONG>\l</STRONG>
+- <STRONG>\r</STRONG> <STRONG>\t</STRONG> <STRONG>\b</STRONG> <STRONG>\f</STRONG> <STRONG>\s</STRONG> give a newline, line-feed, return, tab,
+- backspace, form-feed, and space. Other escapes include <STRONG>\^</STRONG>
+- for <STRONG>^</STRONG>, <STRONG>\\</STRONG> for <STRONG>\</STRONG>, <STRONG>\</STRONG>, for comma, <STRONG>\:</STRONG> for <STRONG>:</STRONG>, and <STRONG>\0</STRONG> for null.
+- (<STRONG>\0</STRONG> will produce \200, which does not terminate a string
+- but behaves as a null character on most terminals, provid-
+- ing CS7 is specified. See <STRONG><A HREF="stty.1.html">stty(1)</A></STRONG>.) Finally, characters
+- may be given as three octal digits after a <STRONG>\</STRONG>.
+-
+- A delay in milliseconds may appear anywhere in a string
+- capability, enclosed in $&lt;..&gt; brackets, as in <STRONG>el</STRONG>=\EK$&lt;5&gt;,
+- and padding characters are supplied by <EM>tputs</EM> to provide
+- this delay. The delay must be a number with at most one
++ Both <STRONG>\E</STRONG> and <STRONG>\e</STRONG> map to an ESCAPE character, <STRONG>^x</STRONG> maps to a
++ control-x for any appropriate x, and the sequences <STRONG>\n</STRONG> <STRONG>\l</STRONG>
++ <STRONG>\r</STRONG> <STRONG>\t</STRONG> <STRONG>\b</STRONG> <STRONG>\f</STRONG> <STRONG>\s</STRONG> give a newline, line-feed, return, tab,
++ backspace, form-feed, and space. Other escapes include
++
++ <STRONG>o</STRONG> <STRONG>\^</STRONG> for <STRONG>^</STRONG>,
++
++ <STRONG>o</STRONG> <STRONG>\\</STRONG> for <STRONG>\</STRONG>,
++
++ <STRONG>o</STRONG> <STRONG>\</STRONG>, for comma,
++
++ <STRONG>o</STRONG> <STRONG>\:</STRONG> for <STRONG>:</STRONG>,
++
++ <STRONG>o</STRONG> and <STRONG>\0</STRONG> for null.
++
++ <STRONG>\0</STRONG> will produce \200, which does not terminate a
++ string but behaves as a null character on most termi-
++ nals, providing CS7 is specified. See <STRONG><A HREF="stty.1.html">stty(1)</A></STRONG>.
++
++ The reason for this quirk is to maintain binary com-
++ patibility of the compiled terminfo files with other
++ implementations, e.g., the SVr4 systems, which docu-
++ ment this. Compiled terminfo files use null-termi-
++ nated strings, with no lengths. Modifying this would
++ require a new binary format, which would not work with
++ other implementations.
++
++ Finally, characters may be given as three octal digits
++ after a <STRONG>\</STRONG>.
++
++ A delay in milliseconds may appear anywhere in a string
++ capability, enclosed in $&lt;..&gt; brackets, as in <STRONG>el</STRONG>=\EK$&lt;5&gt;,
++ and padding characters are supplied by <EM>tputs</EM> to provide
++ this delay. The delay must be a number with at most one
+ decimal place of precision; it may be followed by suffixes
+- `*' or '/' or both. A `*' indicates that the padding
+- required is proportional to the number of lines affected
+- by the operation, and the amount given is the per-
+- affected-unit padding required. (In the case of insert
++ `*' or '/' or both. A `*' indicates that the padding
++ required is proportional to the number of lines affected
++ by the operation, and the amount given is the per-
++ affected-unit padding required. (In the case of insert
+ character, the factor is still the number of <EM>lines</EM>
+- affected.) Normally, padding is advisory if the device
+- has the <STRONG>xon</STRONG> capability; it is used for cost computation
+- but does not trigger delays. A `/' suffix indicates that
+- the padding is mandatory and forces a delay of the given
+- number of milliseconds even on devices for which <STRONG>xon</STRONG> is
++ affected.) Normally, padding is advisory if the device
++ has the <STRONG>xon</STRONG> capability; it is used for cost computation
++ but does not trigger delays. A `/' suffix indicates that
++ the padding is mandatory and forces a delay of the given
++ number of milliseconds even on devices for which <STRONG>xon</STRONG> is
+ present to indicate flow control.
+
+- Sometimes individual capabilities must be commented out.
+- To do this, put a period before the capability name. For
++ Sometimes individual capabilities must be commented out.
++ To do this, put a period before the capability name. For
+ example, see the second <STRONG>ind</STRONG> in the example above.
+
+-
+ <STRONG>Fetching</STRONG> <STRONG>Compiled</STRONG> <STRONG>Descriptions</STRONG>
+- If the environment variable TERMINFO is set, it is inter-
+- preted as the pathname of a directory containing the com-
+- piled description you are working on. Only that directory
+- is searched.
+-
+- If TERMINFO is not set, the <STRONG>ncurses</STRONG> version of the ter-
+- minfo reader code will instead look in the directory
+- <STRONG>$HOME/.terminfo</STRONG> for a compiled description. If it fails
+- to find one there, and the environment variable TER-
+- MINFO_DIRS is set, it will interpret the contents of that
+- variable as a list of colon- separated directories to be
+- searched (an empty entry is interpreted as a command to
+- search <EM>/usr/share/terminfo</EM>). If no description is found
+- in any of the TERMINFO_DIRS directories, the fetch fails.
+-
+- If neither TERMINFO nor TERMINFO_DIRS is set, the last
+- place tried will be the system terminfo directory,
+- <EM>/usr/share/terminfo</EM>.
+-
+- (Neither the <STRONG>$HOME/.terminfo</STRONG> lookups nor TERMINFO_DIRS
+- extensions are supported under stock System V ter-
+- minfo/curses.)
++ The <STRONG>ncurses</STRONG> library searches for terminal descriptions in
++ several places. It uses only the first description found.
++ The library has a compiled-in list of places to search
++ which can be overridden by environment variables. Before
++ starting to search, <STRONG>ncurses</STRONG> eliminates duplicates in its
++ search list.
++
++ <STRONG>o</STRONG> If the environment variable TERMINFO is set, it is
++ interpreted as the pathname of a directory containing
++ the compiled description you are working on. Only
++ that directory is searched.
++
++ <STRONG>o</STRONG> If TERMINFO is not set, <STRONG>ncurses</STRONG> will instead look in
++ the directory <STRONG>$HOME/.terminfo</STRONG> for a compiled descrip-
++ tion.
++
++ <STRONG>o</STRONG> Next, if the environment variable TERMINFO_DIRS is
++ set, <STRONG>ncurses</STRONG> will interpret the contents of that vari-
++ able as a list of colon-separated directories (or
++ database files) to be searched.
++
++ An empty directory name (i.e., if the variable begins
++ or ends with a colon, or contains adacent colons) is
++ interpreted as the system location <EM>/usr/share/ter-</EM>
++ <EM>minfo</EM>.
++
++ <STRONG>o</STRONG> Finally, <STRONG>ncurses</STRONG> searches these compiled-in locations:
++
++ <STRONG>o</STRONG> a list of directories
++ (/usr/local/ncurses/share/terminfo:/usr/share/ter-
++ minfo), and
+
++ <STRONG>o</STRONG> the system terminfo directory, <EM>/usr/share/terminfo</EM>
++ (the compiled-in default).
+
+ <STRONG>Preparing</STRONG> <STRONG>Descriptions</STRONG>
+ We now outline how to prepare descriptions of terminals.
+@@ -1152,7 +1230,6 @@
+ ally needed. A similar test can be used for insert char-
+ acter.
+
+-
+ <STRONG>Basic</STRONG> <STRONG>Capabilities</STRONG>
+ The number of columns on each line for the terminal is
+ given by the <STRONG>cols</STRONG> numeric capability. If the terminal is
+@@ -1190,35 +1267,35 @@
+ left corner of the screen and send the <STRONG>ind</STRONG> (index) string.
+
+ To scroll text down, a program goes to the top left corner
+- of the screen and sends the <STRONG>ri</STRONG> (reverse index) string.
+- The strings <STRONG>ind</STRONG> and <STRONG>ri</STRONG> are undefined when not on their
++ of the screen and sends the <STRONG>ri</STRONG> (reverse index) string.
++ The strings <STRONG>ind</STRONG> and <STRONG>ri</STRONG> are undefined when not on their
+ respective corners of the screen.
+
+ Parameterized versions of the scrolling sequences are <STRONG>indn</STRONG>
+ and <STRONG>rin</STRONG> which have the same semantics as <STRONG>ind</STRONG> and <STRONG>ri</STRONG> except
+- that they take one parameter, and scroll that many lines.
+- They are also undefined except at the appropriate edge of
++ that they take one parameter, and scroll that many lines.
++ They are also undefined except at the appropriate edge of
+ the screen.
+
+- The <STRONG>am</STRONG> capability tells whether the cursor sticks at the
+- right edge of the screen when text is output, but this
++ The <STRONG>am</STRONG> capability tells whether the cursor sticks at the
++ right edge of the screen when text is output, but this
+ does not necessarily apply to a <STRONG>cuf1</STRONG> from the last column.
+- The only local motion which is defined from the left edge
+- is if <STRONG>bw</STRONG> is given, then a <STRONG>cub1</STRONG> from the left edge will
+- move to the right edge of the previous row. If <STRONG>bw</STRONG> is not
+- given, the effect is undefined. This is useful for draw-
+- ing a box around the edge of the screen, for example. If
+- the terminal has switch selectable automatic margins, the
+- <EM>terminfo</EM> file usually assumes that this is on; i.e., <STRONG>am</STRONG>.
+- If the terminal has a command which moves to the first
+- column of the next line, that command can be given as <STRONG>nel</STRONG>
+- (newline). It does not matter if the command clears the
+- remainder of the current line, so if the terminal has no
+- <STRONG>cr</STRONG> and <STRONG>lf</STRONG> it may still be possible to craft a working <STRONG>nel</STRONG>
++ The only local motion which is defined from the left edge
++ is if <STRONG>bw</STRONG> is given, then a <STRONG>cub1</STRONG> from the left edge will
++ move to the right edge of the previous row. If <STRONG>bw</STRONG> is not
++ given, the effect is undefined. This is useful for draw-
++ ing a box around the edge of the screen, for example. If
++ the terminal has switch selectable automatic margins, the
++ <EM>terminfo</EM> file usually assumes that this is on; i.e., <STRONG>am</STRONG>.
++ If the terminal has a command which moves to the first
++ column of the next line, that command can be given as <STRONG>nel</STRONG>
++ (newline). It does not matter if the command clears the
++ remainder of the current line, so if the terminal has no
++ <STRONG>cr</STRONG> and <STRONG>lf</STRONG> it may still be possible to craft a working <STRONG>nel</STRONG>
+ out of one or both of them.
+
+ These capabilities suffice to describe hard-copy and
+- "glass-tty" terminals. Thus the model 33 teletype is
++ "glass-tty" terminals. Thus the model 33 teletype is
+ described as
+
+ 33|tty33|tty|model 33 teletype,
+@@ -1230,34 +1307,32 @@
+ am, bel=^G, clear=^Z, cols#80, cr=^M, cub1=^H, cud1=^J,
+ ind=^J, lines#24,
+
+-
+ <STRONG>Parameterized</STRONG> <STRONG>Strings</STRONG>
+- Cursor addressing and other strings requiring parameters
+- in the terminal are described by a parameterized string
+- capability, with <STRONG><A HREF="printf.3.html">printf(3)</A></STRONG> like escapes <STRONG>%x</STRONG> in it. For
+- example, to address the cursor, the <STRONG>cup</STRONG> capability is
++ Cursor addressing and other strings requiring parameters
++ in the terminal are described by a parameterized string
++ capability, with <STRONG><A HREF="printf.3.html">printf(3)</A></STRONG> like escapes <STRONG>%x</STRONG> in it. For
++ example, to address the cursor, the <STRONG>cup</STRONG> capability is
+ given, using two parameters: the row and column to address
+ to. (Rows and columns are numbered from zero and refer to
+ the physical screen visible to the user, not to any unseen
+- memory.) If the terminal has memory relative cursor
++ memory.) If the terminal has memory relative cursor
+ addressing, that can be indicated by <STRONG>mrcup</STRONG>.
+
+- The parameter mechanism uses a stack and special <STRONG>%</STRONG> codes
+- to manipulate it. Typically a sequence will push one of
+- the parameters onto the stack and then print it in some
+- format. Print (e.g., "%d") is a special case. Other
+- operations, including "%t" pop their operand from the
++ The parameter mechanism uses a stack and special <STRONG>%</STRONG> codes
++ to manipulate it. Typically a sequence will push one of
++ the parameters onto the stack and then print it in some
++ format. Print (e.g., "%d") is a special case. Other
++ operations, including "%t" pop their operand from the
+ stack. It is noted that more complex operations are often
+ necessary, e.g., in the <STRONG>sgr</STRONG> string.
+
+ The <STRONG>%</STRONG> encodings have the following meanings:
+
+-
+ %% outputs `%'
+
+ %<EM>[[</EM>:<EM>]flags][width[.precision]][</EM>doxXs<EM>]</EM>
+- as in <STRONG>printf</STRONG>, flags are [-+#] and space. Use a `:'
+- to allow the next character to be a `-' flag, avoid-
++ as in <STRONG>printf</STRONG>, flags are [-+#] and space. Use a `:'
++ to allow the next character to be a `-' flag, avoid-
+ ing interpreting "%-" as an operator.
+
+ %c print pop() like %c in <STRONG>printf</STRONG>
+@@ -1279,11 +1354,11 @@
+ %g[A-Z]
+ get static variable [a-z] and push it
+
+- The terms "static" and "dynamic" are misleading.
+- Historically, these are simply two different sets of
+- variables, whose values are not reset between calls
+- to <STRONG>tparm</STRONG>. However, that fact is not documented in
+- other implementations. Relying on it will adversely
++ The terms "static" and "dynamic" are misleading.
++ Historically, these are simply two different sets of
++ variables, whose values are not reset between calls
++ to <STRONG>tparm</STRONG>. However, that fact is not documented in
++ other implementations. Relying on it will adversely
+ impact portability to other implementations.
+
+ %'<EM>c</EM>' char constant <EM>c</EM>
+@@ -1307,16 +1382,16 @@
+ logical AND and OR operations (for conditionals)
+
+ %! %~
+- unary operations (logical and bit complement):
++ unary operations (logical and bit complement):
+ push(op pop())
+
+ %i add 1 to first two parameters (for ANSI terminals)
+
+ %? <EM>expr</EM> %t <EM>thenpart</EM> %e <EM>elsepart</EM> %;
+- This forms an if-then-else. The %e <EM>elsepart</EM> is
+- optional. Usually the %? <EM>expr</EM> part pushes a value
+- onto the stack, and %t pops it from the stack, test-
+- ing if it is nonzero (true). If it is zero (false),
++ This forms an if-then-else. The %e <EM>elsepart</EM> is
++ optional. Usually the %? <EM>expr</EM> part pushes a value
++ onto the stack, and %t pops it from the stack, test-
++ ing if it is nonzero (true). If it is zero (false),
+ control passes to the %e (else) part.
+
+ It is possible to form else-if's a la Algol 68:
+@@ -1342,241 +1417,238 @@
+ its. Thus its <STRONG>cup</STRONG> capability is "cup=6\E&amp;%p2%2dc%p1%2dY".
+
+ The Microterm ACT-IV needs the current row and column sent
+- preceded by a <STRONG>^T</STRONG>, with the row and column simply encoded
+- in binary, "cup=^T%p1%c%p2%c". Terminals which use "%c"
+- need to be able to backspace the cursor (<STRONG>cub1</STRONG>), and to
++ preceded by a <STRONG>^T</STRONG>, with the row and column simply encoded
++ in binary, "cup=^T%p1%c%p2%c". Terminals which use "%c"
++ need to be able to backspace the cursor (<STRONG>cub1</STRONG>), and to
+ move the cursor up one line on the screen (<STRONG>cuu1</STRONG>). This is
+- necessary because it is not always safe to transmit <STRONG>\n</STRONG> <STRONG>^D</STRONG>
+- and <STRONG>\r</STRONG>, as the system may change or discard them. (The
+- library routines dealing with terminfo set tty modes so
++ necessary because it is not always safe to transmit <STRONG>\n</STRONG> <STRONG>^D</STRONG>
++ and <STRONG>\r</STRONG>, as the system may change or discard them. (The
++ library routines dealing with terminfo set tty modes so
+ that tabs are never expanded, so \t is safe to send. This
+ turns out to be essential for the Ann Arbor 4080.)
+
+ A final example is the LSI ADM-3a, which uses row and col-
+ umn offset by a blank character, thus "cup=\E=%p1%'
+- '%+%c%p2%' '%+%c". After sending `\E=', this pushes the
+- first parameter, pushes the ASCII value for a space (32),
+- adds them (pushing the sum on the stack in place of the
+- two previous values) and outputs that value as a charac-
+- ter. Then the same is done for the second parameter.
++ '%+%c%p2%' '%+%c". After sending `\E=', this pushes the
++ first parameter, pushes the ASCII value for a space (32),
++ adds them (pushing the sum on the stack in place of the
++ two previous values) and outputs that value as a charac-
++ ter. Then the same is done for the second parameter.
+ More complex arithmetic is possible using the stack.
+
+-
+ <STRONG>Cursor</STRONG> <STRONG>Motions</STRONG>
+ If the terminal has a fast way to home the cursor (to very
+- upper left corner of screen) then this can be given as
+- <STRONG>home</STRONG>; similarly a fast way of getting to the lower left-
+- hand corner can be given as <STRONG>ll</STRONG>; this may involve going up
+- with <STRONG>cuu1</STRONG> from the home position, but a program should
+- never do this itself (unless <STRONG>ll</STRONG> does) because it can make
+- no assumption about the effect of moving up from the home
+- position. Note that the home position is the same as
++ upper left corner of screen) then this can be given as
++ <STRONG>home</STRONG>; similarly a fast way of getting to the lower left-
++ hand corner can be given as <STRONG>ll</STRONG>; this may involve going up
++ with <STRONG>cuu1</STRONG> from the home position, but a program should
++ never do this itself (unless <STRONG>ll</STRONG> does) because it can make
++ no assumption about the effect of moving up from the home
++ position. Note that the home position is the same as
+ addressing to (0,0): to the top left corner of the screen,
+- not of memory. (Thus, the \EH sequence on HP terminals
++ not of memory. (Thus, the \EH sequence on HP terminals
+ cannot be used for <STRONG>home</STRONG>.)
+
+ If the terminal has row or column absolute cursor address-
+- ing, these can be given as single parameter capabilities
++ ing, these can be given as single parameter capabilities
+ <STRONG>hpa</STRONG> (horizontal position absolute) and <STRONG>vpa</STRONG> (vertical posi-
+ tion absolute). Sometimes these are shorter than the more
+- general two parameter sequence (as with the hp2645) and
+- can be used in preference to <STRONG>cup</STRONG>. If there are
+- parameterized local motions (e.g., move <EM>n</EM> spaces to the
+- right) these can be given as <STRONG>cud</STRONG>, <STRONG>cub</STRONG>, <STRONG>cuf</STRONG>, and <STRONG>cuu</STRONG> with a
+- single parameter indicating how many spaces to move.
+- These are primarily useful if the terminal does not have
+- <STRONG>cup</STRONG>, such as the TEKTRONIX 4025.
++ general two parameter sequence (as with the hp2645) and
++ can be used in preference to <STRONG>cup</STRONG>. If there are parameter-
++ ized local motions (e.g., move <EM>n</EM> spaces to the right)
++ these can be given as <STRONG>cud</STRONG>, <STRONG>cub</STRONG>, <STRONG>cuf</STRONG>, and <STRONG>cuu</STRONG> with a single
++ parameter indicating how many spaces to move. These are
++ primarily useful if the terminal does not have <STRONG>cup</STRONG>, such
++ as the TEKTRONIX 4025.
+
+ If the terminal needs to be in a special mode when running
+ a program that uses these capabilities, the codes to enter
+- and exit this mode can be given as <STRONG>smcup</STRONG> and <STRONG>rmcup</STRONG>. This
+- arises, for example, from terminals like the Concept with
+- more than one page of memory. If the terminal has only
+- memory relative cursor addressing and not screen relative
++ and exit this mode can be given as <STRONG>smcup</STRONG> and <STRONG>rmcup</STRONG>. This
++ arises, for example, from terminals like the Concept with
++ more than one page of memory. If the terminal has only
++ memory relative cursor addressing and not screen relative
+ cursor addressing, a one screen-sized window must be fixed
+- into the terminal for cursor addressing to work properly.
++ into the terminal for cursor addressing to work properly.
+ This is also used for the TEKTRONIX 4025, where <STRONG>smcup</STRONG> sets
+- the command character to be the one used by terminfo. If
+- the <STRONG>smcup</STRONG> sequence will not restore the screen after an
++ the command character to be the one used by terminfo. If
++ the <STRONG>smcup</STRONG> sequence will not restore the screen after an
+ <STRONG>rmcup</STRONG> sequence is output (to the state prior to outputting
+ <STRONG>rmcup</STRONG>), specify <STRONG>nrrmc</STRONG>.
+
+-
+ <STRONG>Area</STRONG> <STRONG>Clears</STRONG>
+ If the terminal can clear from the current position to the
+- end of the line, leaving the cursor where it is, this
++ end of the line, leaving the cursor where it is, this
+ should be given as <STRONG>el</STRONG>. If the terminal can clear from the
+- beginning of the line to the current position inclusive,
+- leaving the cursor where it is, this should be given as
+- <STRONG>el1</STRONG>. If the terminal can clear from the current position
+- to the end of the display, then this should be given as
+- <STRONG>ed</STRONG>. <STRONG>Ed</STRONG> is only defined from the first column of a line.
+- (Thus, it can be simulated by a request to delete a large
++ beginning of the line to the current position inclusive,
++ leaving the cursor where it is, this should be given as
++ <STRONG>el1</STRONG>. If the terminal can clear from the current position
++ to the end of the display, then this should be given as
++ <STRONG>ed</STRONG>. <STRONG>Ed</STRONG> is only defined from the first column of a line.
++ (Thus, it can be simulated by a request to delete a large
+ number of lines, if a true <STRONG>ed</STRONG> is not available.)
+
+-
+ <STRONG>Insert/delete</STRONG> <STRONG>line</STRONG> <STRONG>and</STRONG> <STRONG>vertical</STRONG> <STRONG>motions</STRONG>
+- If the terminal can open a new blank line before the line
+- where the cursor is, this should be given as <STRONG>il1</STRONG>; this is
+- done only from the first position of a line. The cursor
++ If the terminal can open a new blank line before the line
++ where the cursor is, this should be given as <STRONG>il1</STRONG>; this is
++ done only from the first position of a line. The cursor
+ must then appear on the newly blank line. If the terminal
+- can delete the line which the cursor is on, then this
+- should be given as <STRONG>dl1</STRONG>; this is done only from the first
+- position on the line to be deleted. Versions of <STRONG>il1</STRONG> and
+- <STRONG>dl1</STRONG> which take a single parameter and insert or delete
++ can delete the line which the cursor is on, then this
++ should be given as <STRONG>dl1</STRONG>; this is done only from the first
++ position on the line to be deleted. Versions of <STRONG>il1</STRONG> and
++ <STRONG>dl1</STRONG> which take a single parameter and insert or delete
+ that many lines can be given as <STRONG>il</STRONG> and <STRONG>dl</STRONG>.
+
+- If the terminal has a settable scrolling region (like the
+- vt100) the command to set this can be described with the
+- <STRONG>csr</STRONG> capability, which takes two parameters: the top and
++ If the terminal has a settable scrolling region (like the
++ vt100) the command to set this can be described with the
++ <STRONG>csr</STRONG> capability, which takes two parameters: the top and
+ bottom lines of the scrolling region. The cursor position
+ is, alas, undefined after using this command.
+
+- It is possible to get the effect of insert or delete line
++ It is possible to get the effect of insert or delete line
+ using <STRONG>csr</STRONG> on a properly chosen region; the <STRONG>sc</STRONG> and <STRONG>rc</STRONG> (save
+- and restore cursor) commands may be useful for ensuring
+- that your synthesized insert/delete string does not move
+- the cursor. (Note that the <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> library does this
+- synthesis automatically, so you need not compose
++ and restore cursor) commands may be useful for ensuring
++ that your synthesized insert/delete string does not move
++ the cursor. (Note that the <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> library does this
++ synthesis automatically, so you need not compose
+ insert/delete strings for an entry with <STRONG>csr</STRONG>).
+
+ Yet another way to construct insert and delete might be to
+- use a combination of index with the memory-lock feature
+- found on some terminals (like the HP-700/90 series, which
++ use a combination of index with the memory-lock feature
++ found on some terminals (like the HP-700/90 series, which
+ however also has insert/delete).
+
+- Inserting lines at the top or bottom of the screen can
+- also be done using <STRONG>ri</STRONG> or <STRONG>ind</STRONG> on many terminals without a
+- true insert/delete line, and is often faster even on ter-
++ Inserting lines at the top or bottom of the screen can
++ also be done using <STRONG>ri</STRONG> or <STRONG>ind</STRONG> on many terminals without a
++ true insert/delete line, and is often faster even on ter-
+ minals with those features.
+
+- The boolean <STRONG>non_dest_scroll_region</STRONG> should be set if each
+- scrolling window is effectively a view port on a screen-
+- sized canvas. To test for this capability, create a
+- scrolling region in the middle of the screen, write some-
+- thing to the bottom line, move the cursor to the top of
++ The boolean <STRONG>non_dest_scroll_region</STRONG> should be set if each
++ scrolling window is effectively a view port on a screen-
++ sized canvas. To test for this capability, create a
++ scrolling region in the middle of the screen, write some-
++ thing to the bottom line, move the cursor to the top of
+ the region, and do <STRONG>ri</STRONG> followed by <STRONG>dl1</STRONG> or <STRONG>ind</STRONG>. If the data
+- scrolled off the bottom of the region by the <STRONG>ri</STRONG> re-
+- appears, then scrolling is non-destructive. System V and
+- XSI Curses expect that <STRONG>ind</STRONG>, <STRONG>ri</STRONG>, <STRONG>indn</STRONG>, and <STRONG>rin</STRONG> will simu-
+- late destructive scrolling; their documentation cautions
+- you not to define <STRONG>csr</STRONG> unless this is true. This <STRONG>curses</STRONG>
++ scrolled off the bottom of the region by the <STRONG>ri</STRONG> re-
++ appears, then scrolling is non-destructive. System V and
++ XSI Curses expect that <STRONG>ind</STRONG>, <STRONG>ri</STRONG>, <STRONG>indn</STRONG>, and <STRONG>rin</STRONG> will simu-
++ late destructive scrolling; their documentation cautions
++ you not to define <STRONG>csr</STRONG> unless this is true. This <STRONG>curses</STRONG>
+ implementation is more liberal and will do explicit erases
+ after scrolling if <STRONG>ndstr</STRONG> is defined.
+
+ If the terminal has the ability to define a window as part
+- of memory, which all commands affect, it should be given
++ of memory, which all commands affect, it should be given
+ as the parameterized string <STRONG>wind</STRONG>. The four parameters are
+- the starting and ending lines in memory and the starting
++ the starting and ending lines in memory and the starting
+ and ending columns in memory, in that order.
+
+- If the terminal can retain display memory above, then the
+- <STRONG>da</STRONG> capability should be given; if display memory can be
+- retained below, then <STRONG>db</STRONG> should be given. These indicate
+- that deleting a line or scrolling may bring non-blank
+- lines up from below or that scrolling back with <STRONG>ri</STRONG> may
++ If the terminal can retain display memory above, then the
++ <STRONG>da</STRONG> capability should be given; if display memory can be
++ retained below, then <STRONG>db</STRONG> should be given. These indicate
++ that deleting a line or scrolling may bring non-blank
++ lines up from below or that scrolling back with <STRONG>ri</STRONG> may
+ bring down non-blank lines.
+
+-
+ <STRONG>Insert/Delete</STRONG> <STRONG>Character</STRONG>
+- There are two basic kinds of intelligent terminals with
+- respect to insert/delete character which can be described
+- using <EM>terminfo.</EM> The most common insert/delete character
+- operations affect only the characters on the current line
+- and shift characters off the end of the line rigidly.
+- Other terminals, such as the Concept 100 and the Perkin
+- Elmer Owl, make a distinction between typed and untyped
+- blanks on the screen, shifting upon an insert or delete
+- only to an untyped blank on the screen which is either
+- eliminated, or expanded to two untyped blanks. You can
+- determine the kind of terminal you have by clearing the
+- screen and then typing text separated by cursor motions.
+- Type "abc def" using local cursor motions (not spaces)
+- between the "abc" and the "def". Then position the cursor
+- before the "abc" and put the terminal in insert mode. If
+- typing characters causes the rest of the line to shift
+- rigidly and characters to fall off the end, then your ter-
+- minal does not distinguish between blanks and untyped
+- positions. If the "abc" shifts over to the "def" which
+- then move together around the end of the current line and
+- onto the next as you insert, you have the second type of
+- terminal, and should give the capability <STRONG>in</STRONG>, which stands
+- for "insert null". While these are two logically separate
+- attributes (one line versus multi-line insert mode, and
+- special treatment of untyped spaces) we have seen no ter-
+- minals whose insert mode cannot be described with the sin-
+- gle attribute.
++ There are two basic kinds of intelligent terminals with
++ respect to insert/delete character which can be described
++ using <EM>terminfo.</EM> The most common insert/delete character
++ operations affect only the characters on the current line
++ and shift characters off the end of the line rigidly.
++ Other terminals, such as the Concept 100 and the Perkin
++ Elmer Owl, make a distinction between typed and untyped
++ blanks on the screen, shifting upon an insert or delete
++ only to an untyped blank on the screen which is either
++ eliminated, or expanded to two untyped blanks.
++
++ You can determine the kind of terminal you have by clear-
++ ing the screen and then typing text separated by cursor
++ motions. Type "abc def" using local cursor motions
++ (not spaces) between the "abc" and the "def". Then posi-
++ tion the cursor before the "abc" and put the terminal in
++ insert mode. If typing characters causes the rest of the
++ line to shift rigidly and characters to fall off the end,
++ then your terminal does not distinguish between blanks and
++ untyped positions. If the "abc" shifts over to the "def"
++ which then move together around the end of the current
++ line and onto the next as you insert, you have the second
++ type of terminal, and should give the capability <STRONG>in</STRONG>, which
++ stands for "insert null".
++
++ While these are two logically separate attributes (one
++ line versus multi-line insert mode, and special treatment
++ of untyped spaces) we have seen no terminals whose insert
++ mode cannot be described with the single attribute.
+
+- Terminfo can describe both terminals which have an insert
++ Terminfo can describe both terminals which have an insert
+ mode, and terminals which send a simple sequence to open a
+- blank position on the current line. Give as <STRONG>smir</STRONG> the
+- sequence to get into insert mode. Give as <STRONG>rmir</STRONG> the
+- sequence to leave insert mode. Now give as <STRONG>ich1</STRONG> any
+- sequence needed to be sent just before sending the
+- character to be inserted. Most terminals with a true
+- insert mode will not give <STRONG>ich1</STRONG>; terminals which send a
+- sequence to open a screen position should give it here.
+-
+- If your terminal has both, insert mode is usually prefer-
+- able to <STRONG>ich1</STRONG>. Technically, you should not give both
+- unless the terminal actually requires both to be used in
+- combination. Accordingly, some non-curses applications
+- get confused if both are present; the symptom is doubled
++ blank position on the current line. Give as <STRONG>smir</STRONG> the
++ sequence to get into insert mode. Give as <STRONG>rmir</STRONG> the
++ sequence to leave insert mode. Now give as <STRONG>ich1</STRONG> any
++ sequence needed to be sent just before sending the charac-
++ ter to be inserted. Most terminals with a true insert
++ mode will not give <STRONG>ich1</STRONG>; terminals which send a sequence
++ to open a screen position should give it here.
++
++ If your terminal has both, insert mode is usually prefer-
++ able to <STRONG>ich1</STRONG>. Technically, you should not give both
++ unless the terminal actually requires both to be used in
++ combination. Accordingly, some non-curses applications
++ get confused if both are present; the symptom is doubled
+ characters in an update using insert. This requirement is
+ now rare; most <STRONG>ich</STRONG> sequences do not require previous smir,
+ and most smir insert modes do not require <STRONG>ich1</STRONG> before each
+- character. Therefore, the new <STRONG>curses</STRONG> actually assumes
+- this is the case and uses either <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> or <STRONG>ich</STRONG>/<STRONG>ich1</STRONG> as
++ character. Therefore, the new <STRONG>curses</STRONG> actually assumes
++ this is the case and uses either <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> or <STRONG>ich</STRONG>/<STRONG>ich1</STRONG> as
+ appropriate (but not both). If you have to write an entry
+- to be used under new curses for a terminal old enough to
++ to be used under new curses for a terminal old enough to
+ need both, include the <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> sequences in <STRONG>ich1</STRONG>.
+
+ If post insert padding is needed, give this as a number of
+- milliseconds in <STRONG>ip</STRONG> (a string option). Any other sequence
+- which may need to be sent after an insert of a single
++ milliseconds in <STRONG>ip</STRONG> (a string option). Any other sequence
++ which may need to be sent after an insert of a single
+ character may also be given in <STRONG>ip</STRONG>. If your terminal needs
+ both to be placed into an `insert mode' and a special code
+- to precede each inserted character, then both <STRONG>smir</STRONG>/<STRONG>rmir</STRONG>
+- and <STRONG>ich1</STRONG> can be given, and both will be used. The <STRONG>ich</STRONG>
++ to precede each inserted character, then both <STRONG>smir</STRONG>/<STRONG>rmir</STRONG>
++ and <STRONG>ich1</STRONG> can be given, and both will be used. The <STRONG>ich</STRONG>
+ capability, with one parameter, <EM>n</EM>, will repeat the effects
+ of <STRONG>ich1</STRONG> <EM>n</EM> times.
+
+ If padding is necessary between characters typed while not
+- in insert mode, give this as a number of milliseconds
+- padding in <STRONG>rmp</STRONG>.
++ in insert mode, give this as a number of milliseconds pad-
++ ding in <STRONG>rmp</STRONG>.
+
+- It is occasionally necessary to move around while in
+- insert mode to delete characters on the same line (e.g.,
+- if there is a tab after the insertion position). If your
+- terminal allows motion while in insert mode you can give
+- the capability <STRONG>mir</STRONG> to speed up inserting in this case.
+- Omitting <STRONG>mir</STRONG> will affect only speed. Some terminals
++ It is occasionally necessary to move around while in
++ insert mode to delete characters on the same line (e.g.,
++ if there is a tab after the insertion position). If your
++ terminal allows motion while in insert mode you can give
++ the capability <STRONG>mir</STRONG> to speed up inserting in this case.
++ Omitting <STRONG>mir</STRONG> will affect only speed. Some terminals
+ (notably Datamedia's) must not have <STRONG>mir</STRONG> because of the way
+ their insert mode works.
+
+- Finally, you can specify <STRONG>dch1</STRONG> to delete a single charac-
+- ter, <STRONG>dch</STRONG> with one parameter, <EM>n</EM>, to delete <EM>n</EM> <EM>characters,</EM>
+- and delete mode by giving <STRONG>smdc</STRONG> and <STRONG>rmdc</STRONG> to enter and exit
+- delete mode (any mode the terminal needs to be placed in
++ Finally, you can specify <STRONG>dch1</STRONG> to delete a single charac-
++ ter, <STRONG>dch</STRONG> with one parameter, <EM>n</EM>, to delete <EM>n</EM> <EM>characters,</EM>
++ and delete mode by giving <STRONG>smdc</STRONG> and <STRONG>rmdc</STRONG> to enter and exit
++ delete mode (any mode the terminal needs to be placed in
+ for <STRONG>dch1</STRONG> to work).
+
+- A command to erase <EM>n</EM> characters (equivalent to outputting
+- <EM>n</EM> blanks without moving the cursor) can be given as <STRONG>ech</STRONG>
++ A command to erase <EM>n</EM> characters (equivalent to outputting
++ <EM>n</EM> blanks without moving the cursor) can be given as <STRONG>ech</STRONG>
+ with one parameter.
+
+-
+ <STRONG>Highlighting,</STRONG> <STRONG>Underlining,</STRONG> <STRONG>and</STRONG> <STRONG>Visible</STRONG> <STRONG>Bells</STRONG>
+ If your terminal has one or more kinds of display
+- attributes, these can be represented in a number of dif-
++ attributes, these can be represented in a number of dif-
+ ferent ways. You should choose one display form as <EM>stand-</EM>
+ <EM>out</EM> <EM>mode</EM>, representing a good, high contrast, easy-on-the-
+- eyes, format for highlighting error messages and other
+- attention getters. (If you have a choice, reverse video
+- plus half-bright is good, or reverse video alone.) The
+- sequences to enter and exit standout mode are given as
+- <STRONG>smso</STRONG> and <STRONG>rmso</STRONG>, respectively. If the code to change into
+- or out of standout mode leaves one or even two blank
+- spaces on the screen, as the TVI 912 and Teleray 1061 do,
++ eyes, format for highlighting error messages and other
++ attention getters. (If you have a choice, reverse video
++ plus half-bright is good, or reverse video alone.) The
++ sequences to enter and exit standout mode are given as
++ <STRONG>smso</STRONG> and <STRONG>rmso</STRONG>, respectively. If the code to change into
++ or out of standout mode leaves one or even two blank spa-
++ ces on the screen, as the TVI 912 and Teleray 1061 do,
+ then <STRONG>xmc</STRONG> should be given to tell how many spaces are left.
+
+ Codes to begin underlining and end underlining can be
+@@ -1605,19 +1677,18 @@
+
+ For example, the DEC vt220 supports most of the modes:
+
++ <STRONG>tparm</STRONG> <STRONG>parameter</STRONG> <STRONG>attribute</STRONG> <STRONG>escape</STRONG> <STRONG>sequence</STRONG>
+
+- <STRONG>tparm</STRONG> <STRONG>parameter</STRONG> <STRONG>attribute</STRONG> <STRONG>escape</STRONG> <STRONG>sequence</STRONG>
+-
+- none none \E[0m
+- p1 standout \E[0;1;7m
+- p2 underline \E[0;4m
+- p3 reverse \E[0;7m
+- p4 blink \E[0;5m
+- p5 dim not available
+- p6 bold \E[0;1m
+- p7 invis \E[0;8m
+- p8 protect not used
+- p9 altcharset ^O (off) ^N (on)
++ none none \E[0m
++ p1 standout \E[0;1;7m
++ p2 underline \E[0;4m
++ p3 reverse \E[0;7m
++ p4 blink \E[0;5m
++ p5 dim not available
++ p6 bold \E[0;1m
++ p7 invis \E[0;8m
++ p8 protect not used
++ p9 altcharset ^O (off) ^N (on)
+
+ We begin each escape sequence by turning off any existing
+ modes, since there is no quick way to determine whether
+@@ -1637,18 +1708,17 @@
+ Writing out the above sequences, along with their depen-
+ dencies yields
+
++ <STRONG>sequence</STRONG> <STRONG>when</STRONG> <STRONG>to</STRONG> <STRONG>output</STRONG> <STRONG>terminfo</STRONG> <STRONG>translation</STRONG>
+
+- <STRONG>sequence</STRONG> <STRONG>when</STRONG> <STRONG>to</STRONG> <STRONG>output</STRONG> <STRONG>terminfo</STRONG> <STRONG>translation</STRONG>
+
+- \E[0 always \E[0
+- ;1 if p1 or p6 %?%p1%p6%|%t;1%;
+- ;4 if p2 %?%p2%|%t;4%;
+- ;5 if p4 %?%p4%|%t;5%;
+-
+- ;7 if p1 or p3 %?%p1%p3%|%t;7%;
+- ;8 if p7 %?%p7%|%t;8%;
+- m always m
+- ^N or ^O if p9 ^N, else ^O %?%p9%t^N%e^O%;
++ \E[0 always \E[0
++ ;1 if p1 or p6 %?%p1%p6%|%t;1%;
++ ;4 if p2 %?%p2%|%t;4%;
++ ;5 if p4 %?%p4%|%t;5%;
++ ;7 if p1 or p3 %?%p1%p3%|%t;7%;
++ ;8 if p7 %?%p7%|%t;8%;
++ m always m
++ ^N or ^O if p9 ^N, else ^O %?%p9%t^N%e^O%;
+
+ Putting this all together into the sgr sequence gives:
+
+@@ -1664,8 +1734,8 @@
+ assumes that sgr0 does not exit alternate character set
+ mode.
+
+- Terminals with the ``magic cookie'' glitch (<STRONG>xmc</STRONG>) deposit
+- special ``cookies'' when they receive mode-setting
++ Terminals with the "magic cookie" glitch (<STRONG>xmc</STRONG>) deposit
++ special "cookies" when they receive mode-setting
+ sequences, which affect the display algorithm rather than
+ having extra bits for each character. Some terminals,
+ such as the HP 2621, automatically leave standout mode
+@@ -1695,7 +1765,6 @@
+ erasable with a blank, then this should be indicated by
+ giving <STRONG>eo</STRONG>.
+
+-
+ <STRONG>Keypad</STRONG> <STRONG>and</STRONG> <STRONG>Function</STRONG> <STRONG>Keys</STRONG>
+ If the terminal has a keypad that transmits codes when the
+ keys are pressed, this information can be given. Note
+@@ -1704,27 +1773,57 @@
+ unshifted HP 2621 keys). If the keypad can be set to
+ transmit or not transmit, give these codes as <STRONG>smkx</STRONG> and
+ <STRONG>rmkx</STRONG>. Otherwise the keypad is assumed to always transmit.
+- The codes sent by the left arrow, right arrow, up arrow,
+- down arrow, and home keys can be given as <STRONG>kcub1,</STRONG> <STRONG>kcuf1,</STRONG>
+- <STRONG>kcuu1,</STRONG> <STRONG>kcud1,</STRONG> and <STRONG>khome</STRONG> respectively. If there are func-
+- tion keys such as f0, f1, ..., f10, the codes they send
+- can be given as <STRONG>kf0,</STRONG> <STRONG>kf1,</STRONG> <STRONG>...,</STRONG> <STRONG>kf10</STRONG>. If these keys have
+- labels other than the default f0 through f10, the labels
+- can be given as <STRONG>lf0,</STRONG> <STRONG>lf1,</STRONG> <STRONG>...,</STRONG> <STRONG>lf10</STRONG>. The codes
+- transmitted by certain other special keys can be given:
+- <STRONG>kll</STRONG> (home down), <STRONG>kbs</STRONG> (backspace), <STRONG>ktbc</STRONG> (clear all tabs),
+- <STRONG>kctab</STRONG> (clear the tab stop in this column), <STRONG>kclr</STRONG> (clear
+- screen or erase key), <STRONG>kdch1</STRONG> (delete character), <STRONG>kdl1</STRONG>
+- (delete line), <STRONG>krmir</STRONG> (exit insert mode), <STRONG>kel</STRONG> (clear to end
+- of line), <STRONG>ked</STRONG> (clear to end of screen), <STRONG>kich1</STRONG> (insert
+- character or enter insert mode), <STRONG>kil1</STRONG> (insert line), <STRONG>knp</STRONG>
+- (next page), <STRONG>kpp</STRONG> (previous page), <STRONG>kind</STRONG> (scroll for-
+- ward/down), <STRONG>kri</STRONG> (scroll backward/up), <STRONG>khts</STRONG> (set a tab stop
+- in this column). In addition, if the keypad has a 3 by 3
+- array of keys including the four arrow keys, the other
+- five keys can be given as <STRONG>ka1</STRONG>, <STRONG>ka3</STRONG>, <STRONG>kb2</STRONG>, <STRONG>kc1</STRONG>, and <STRONG>kc3</STRONG>.
+- These keys are useful when the effects of a 3 by 3 direc-
+- tional pad are needed.
++
++ The codes sent by the left arrow, right arrow, up arrow,
++ down arrow, and home keys can be given as <STRONG>kcub1,</STRONG> <STRONG>kcuf1,</STRONG>
++ <STRONG>kcuu1,</STRONG> <STRONG>kcud1,</STRONG> and <STRONG>khome</STRONG> respectively. If there are func-
++ tion keys such as f0, f1, ..., f10, the codes they send
++ can be given as <STRONG>kf0,</STRONG> <STRONG>kf1,</STRONG> <STRONG>...,</STRONG> <STRONG>kf10</STRONG>. If these keys have
++ labels other than the default f0 through f10, the labels
++ can be given as <STRONG>lf0,</STRONG> <STRONG>lf1,</STRONG> <STRONG>...,</STRONG> <STRONG>lf10</STRONG>.
++
++ The codes transmitted by certain other special keys can be
++ given:
++
++ <STRONG>o</STRONG> <STRONG>kll</STRONG> (home down),
++
++ <STRONG>o</STRONG> <STRONG>kbs</STRONG> (backspace),
++
++ <STRONG>o</STRONG> <STRONG>ktbc</STRONG> (clear all tabs),
++
++ <STRONG>o</STRONG> <STRONG>kctab</STRONG> (clear the tab stop in this column),
++
++ <STRONG>o</STRONG> <STRONG>kclr</STRONG> (clear screen or erase key),
++
++ <STRONG>o</STRONG> <STRONG>kdch1</STRONG> (delete character),
++
++ <STRONG>o</STRONG> <STRONG>kdl1</STRONG> (delete line),
++
++ <STRONG>o</STRONG> <STRONG>krmir</STRONG> (exit insert mode),
++
++ <STRONG>o</STRONG> <STRONG>kel</STRONG> (clear to end of line),
++
++ <STRONG>o</STRONG> <STRONG>ked</STRONG> (clear to end of screen),
++
++ <STRONG>o</STRONG> <STRONG>kich1</STRONG> (insert character or enter insert mode),
++
++ <STRONG>o</STRONG> <STRONG>kil1</STRONG> (insert line),
++
++ <STRONG>o</STRONG> <STRONG>knp</STRONG> (next page),
++
++ <STRONG>o</STRONG> <STRONG>kpp</STRONG> (previous page),
++
++ <STRONG>o</STRONG> <STRONG>kind</STRONG> (scroll forward/down),
++
++ <STRONG>o</STRONG> <STRONG>kri</STRONG> (scroll backward/up),
++
++ <STRONG>o</STRONG> <STRONG>khts</STRONG> (set a tab stop in this column).
++
++ In addition, if the keypad has a 3 by 3 array of keys
++ including the four arrow keys, the other five keys can be
++ given as <STRONG>ka1</STRONG>, <STRONG>ka3</STRONG>, <STRONG>kb2</STRONG>, <STRONG>kc1</STRONG>, and <STRONG>kc3</STRONG>. These keys are use-
++ ful when the effects of a 3 by 3 directional pad are
++ needed.
+
+ Strings to program function keys can be given as <STRONG>pfkey</STRONG>,
+ <STRONG>pfloc</STRONG>, and <STRONG>pfx</STRONG>. A string to program screen labels should
+@@ -1746,12 +1845,11 @@
+ or more pln sequences to make sure that the change becomes
+ visible.
+
+-
+ <STRONG>Tabs</STRONG> <STRONG>and</STRONG> <STRONG>Initialization</STRONG>
+ If the terminal has hardware tabs, the command to advance
+ to the next tab stop can be given as <STRONG>ht</STRONG> (usually control
+- I). A ``back-tab'' command which moves leftward to the
+- preceding tab stop can be given as <STRONG>cbt</STRONG>. By convention, if
++ I). A "back-tab" command which moves leftward to the pre-
++ ceding tab stop can be given as <STRONG>cbt</STRONG>. By convention, if
+ the teletype modes indicate that tabs are being expanded
+ by the computer rather than being sent to the terminal,
+ programs should not use <STRONG>ht</STRONG> or <STRONG>cbt</STRONG> even if they are
+@@ -1851,7 +1949,6 @@
+ ter as a pad, then this can be given as <STRONG>pad</STRONG>. Only the
+ first character of the <STRONG>pad</STRONG> string is used.
+
+-
+ <STRONG>Status</STRONG> <STRONG>Lines</STRONG>
+ Some terminals have an extra `status line' which is not
+ normally used by software (and thus not counted in the
+@@ -1883,110 +1980,105 @@
+ The boolean capability <STRONG>eslok</STRONG> specifies that escape
+ sequences, tabs, etc., work ordinarily in the status line.
+
+- The <STRONG>ncurses</STRONG> implementation does not yet use any of these
+- capabilities. They are documented here in case they ever
++ The <STRONG>ncurses</STRONG> implementation does not yet use any of these
++ capabilities. They are documented here in case they ever
+ become important.
+
+-
+ <STRONG>Line</STRONG> <STRONG>Graphics</STRONG>
+- Many terminals have alternate character sets useful for
+- forms-drawing. Terminfo and <STRONG>curses</STRONG> build in support for
+- the drawing characters supported by the VT100, with some
+- characters from the AT&amp;T 4410v1 added. This alternate
++ Many terminals have alternate character sets useful for
++ forms-drawing. Terminfo and <STRONG>curses</STRONG> build in support for
++ the drawing characters supported by the VT100, with some
++ characters from the AT&amp;T 4410v1 added. This alternate
+ character set may be specified by the <STRONG>acsc</STRONG> capability.
+
+-
+- <STRONG>Glyph</STRONG> <STRONG>ACS</STRONG> <STRONG>Ascii</STRONG> <STRONG>VT100</STRONG>
+- <STRONG>Name</STRONG> <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Name</STRONG>
+- UK pound sign ACS_STERLING f }
+- arrow pointing down ACS_DARROW v .
+- arrow pointing left ACS_LARROW &lt; ,
+- arrow pointing right ACS_RARROW &gt; +
+- arrow pointing up ACS_UARROW ^ -
+- board of squares ACS_BOARD # h
+- bullet ACS_BULLET o ~
+- checker board (stipple) ACS_CKBOARD : a
+- degree symbol ACS_DEGREE \ f
+- diamond ACS_DIAMOND + `
+- greater-than-or-equal-to ACS_GEQUAL &gt; z
+- greek pi ACS_PI * {
+- horizontal line ACS_HLINE - q
+- lantern symbol ACS_LANTERN # i
+- large plus or crossover ACS_PLUS + n
+- less-than-or-equal-to ACS_LEQUAL &lt; y
+-
+- lower left corner ACS_LLCORNER + m
+- lower right corner ACS_LRCORNER + j
+- not-equal ACS_NEQUAL ! |
+- plus/minus ACS_PLMINUS # g
+- scan line 1 ACS_S1 ~ o
+- scan line 3 ACS_S3 - p
+- scan line 7 ACS_S7 - r
+- scan line 9 ACS_S9 _ s
+- solid square block ACS_BLOCK # 0
+- tee pointing down ACS_TTEE + w
+- tee pointing left ACS_RTEE + u
+- tee pointing right ACS_LTEE + t
+- tee pointing up ACS_BTEE + v
+- upper left corner ACS_ULCORNER + l
+- upper right corner ACS_URCORNER + k
+- vertical line ACS_VLINE | x
+-
+- The best way to define a new device's graphics set is to
+- add a column to a copy of this table for your terminal,
+- giving the character which (when emitted between
+- <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG> switches) will be rendered as the correspond-
+- ing graphic. Then read off the VT100/your terminal char-
+- acter pairs right to left in sequence; these become the
++ <STRONG>Glyph</STRONG> <STRONG>ACS</STRONG> <STRONG>Ascii</STRONG> <STRONG>VT100</STRONG>
++ <STRONG>Name</STRONG> <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Name</STRONG>
++ UK pound sign ACS_STERLING f }
++ arrow pointing down ACS_DARROW v .
++ arrow pointing left ACS_LARROW &lt; ,
++ arrow pointing right ACS_RARROW &gt; +
++ arrow pointing up ACS_UARROW ^ -
++ board of squares ACS_BOARD # h
++ bullet ACS_BULLET o ~
++ checker board (stipple) ACS_CKBOARD : a
++ degree symbol ACS_DEGREE \ f
++ diamond ACS_DIAMOND + `
++ greater-than-or-equal-to ACS_GEQUAL &gt; z
++ greek pi ACS_PI * {
++ horizontal line ACS_HLINE - q
++ lantern symbol ACS_LANTERN # i
++ large plus or crossover ACS_PLUS + n
++ less-than-or-equal-to ACS_LEQUAL &lt; y
++ lower left corner ACS_LLCORNER + m
++ lower right corner ACS_LRCORNER + j
++ not-equal ACS_NEQUAL ! |
++ plus/minus ACS_PLMINUS # g
++ scan line 1 ACS_S1 ~ o
++ scan line 3 ACS_S3 - p
++ scan line 7 ACS_S7 - r
++ scan line 9 ACS_S9 _ s
++ solid square block ACS_BLOCK # 0
++ tee pointing down ACS_TTEE + w
++ tee pointing left ACS_RTEE + u
++ tee pointing right ACS_LTEE + t
++ tee pointing up ACS_BTEE + v
++ upper left corner ACS_ULCORNER + l
++ upper right corner ACS_URCORNER + k
++ vertical line ACS_VLINE | x
++
++ The best way to define a new device's graphics set is to
++ add a column to a copy of this table for your terminal,
++ giving the character which (when emitted between
++ <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG> switches) will be rendered as the correspond-
++ ing graphic. Then read off the VT100/your terminal char-
++ acter pairs right to left in sequence; these become the
+ ACSC string.
+
+-
+ <STRONG>Color</STRONG> <STRONG>Handling</STRONG>
+- Most color terminals are either `Tektronix-like' or `HP-
+- like'. Tektronix-like terminals have a predefined set of
+- N colors (where N usually 8), and can set character-cell
++ Most color terminals are either `Tektronix-like' or `HP-
++ like'. Tektronix-like terminals have a predefined set of
++ N colors (where N usually 8), and can set character-cell
+ foreground and background characters independently, mixing
+- them into N * N color-pairs. On HP-like terminals, the
++ them into N * N color-pairs. On HP-like terminals, the
+ use must set each color pair up separately (foreground and
+- background are not independently settable). Up to M
+- color-pairs may be set up from 2*M different colors.
++ background are not independently settable). Up to M
++ color-pairs may be set up from 2*M different colors.
+ ANSI-compatible terminals are Tektronix-like.
+
+ Some basic color capabilities are independent of the color
+ method. The numeric capabilities <STRONG>colors</STRONG> and <STRONG>pairs</STRONG> specify
+- the maximum numbers of colors and color-pairs that can be
+- displayed simultaneously. The <STRONG>op</STRONG> (original pair) string
+- resets foreground and background colors to their default
+- values for the terminal. The <STRONG>oc</STRONG> string resets all colors
+- or color-pairs to their default values for the terminal.
+- Some terminals (including many PC terminal emulators)
+- erase screen areas with the current background color
+- rather than the power-up default background; these should
++ the maximum numbers of colors and color-pairs that can be
++ displayed simultaneously. The <STRONG>op</STRONG> (original pair) string
++ resets foreground and background colors to their default
++ values for the terminal. The <STRONG>oc</STRONG> string resets all colors
++ or color-pairs to their default values for the terminal.
++ Some terminals (including many PC terminal emulators)
++ erase screen areas with the current background color
++ rather than the power-up default background; these should
+ have the boolean capability <STRONG>bce</STRONG>.
+
+- To change the current foreground or background color on a
+- Tektronix-type terminal, use <STRONG>setaf</STRONG> (set ANSI foreground)
+- and <STRONG>setab</STRONG> (set ANSI background) or <STRONG>setf</STRONG> (set foreground)
+- and <STRONG>setb</STRONG> (set background). These take one parameter, the
++ To change the current foreground or background color on a
++ Tektronix-type terminal, use <STRONG>setaf</STRONG> (set ANSI foreground)
++ and <STRONG>setab</STRONG> (set ANSI background) or <STRONG>setf</STRONG> (set foreground)
++ and <STRONG>setb</STRONG> (set background). These take one parameter, the
+ color number. The SVr4 documentation describes only
+- <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>; the XPG4 draft says that "If the terminal
++ <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>; the XPG4 draft says that "If the terminal
+ supports ANSI escape sequences to set background and fore-
+- ground, they should be coded as <STRONG>setaf</STRONG> and <STRONG>setab</STRONG>, respec-
+- tively. If the terminal supports other escape sequences
+- to set background and foreground, they should be coded as
+- <STRONG>setf</STRONG> and <STRONG>setb</STRONG>, respectively. The <EM>vidputs()</EM> function and
+- the refresh functions use <STRONG>setaf</STRONG> and <STRONG>setab</STRONG> if they are
++ ground, they should be coded as <STRONG>setaf</STRONG> and <STRONG>setab</STRONG>, respec-
++ tively. If the terminal supports other escape sequences
++ to set background and foreground, they should be coded as
++ <STRONG>setf</STRONG> and <STRONG>setb</STRONG>, respectively. The <EM>vidputs()</EM> function and
++ the refresh functions use <STRONG>setaf</STRONG> and <STRONG>setab</STRONG> if they are
+ defined."
+
+- The <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> and <STRONG>setf</STRONG>/<STRONG>setb</STRONG> capabilities take a single
++ The <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> and <STRONG>setf</STRONG>/<STRONG>setb</STRONG> capabilities take a single
+ numeric argument each. Argument values 0-7 of <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>
+- are portably defined as follows (the middle column is the
++ are portably defined as follows (the middle column is the
+ symbolic #define available in the header for the <STRONG>curses</STRONG> or
+- <STRONG>ncurses</STRONG> libraries). The terminal hardware is free to map
+- these as it likes, but the RGB values indicate normal
++ <STRONG>ncurses</STRONG> libraries). The terminal hardware is free to map
++ these as it likes, but the RGB values indicate normal
+ locations in color space.
+
+-
+ <STRONG>Color</STRONG> <STRONG>#define</STRONG> <STRONG>Value</STRONG> <STRONG>RGB</STRONG>
+ black <STRONG>COLOR_BLACK</STRONG> 0 0, 0, 0
+ red <STRONG>COLOR_RED</STRONG> 1 max,0,0
+@@ -1997,7 +2089,7 @@
+ cyan <STRONG>COLOR_CYAN</STRONG> 6 0,max,max
+ white <STRONG>COLOR_WHITE</STRONG> 7 max,max,max
+
+- The argument values of <STRONG>setf</STRONG>/<STRONG>setb</STRONG> historically correspond
++ The argument values of <STRONG>setf</STRONG>/<STRONG>setb</STRONG> historically correspond
+ to a different mapping, i.e.,
+
+ <STRONG>Color</STRONG> <STRONG>#define</STRONG> <STRONG>Value</STRONG> <STRONG>RGB</STRONG>
+@@ -2009,132 +2101,130 @@
+ magenta <STRONG>COLOR_MAGENTA</STRONG> 5 max,0,max
+ yellow <STRONG>COLOR_YELLOW</STRONG> 6 max,max,0
+ white <STRONG>COLOR_WHITE</STRONG> 7 max,max,max
++
+ It is important to not confuse the two sets of color capa-
+- bilities; otherwise red/blue will be interchanged on the
++ bilities; otherwise red/blue will be interchanged on the
+ display.
+
+- On an HP-like terminal, use <STRONG>scp</STRONG> with a color-pair number
++ On an HP-like terminal, use <STRONG>scp</STRONG> with a color-pair number
+ parameter to set which color pair is current.
+
+- On a Tektronix-like terminal, the capability <STRONG>ccc</STRONG> may be
+- present to indicate that colors can be modified. If so,
++ On a Tektronix-like terminal, the capability <STRONG>ccc</STRONG> may be
++ present to indicate that colors can be modified. If so,
+ the <STRONG>initc</STRONG> capability will take a color number (0 to <STRONG>colors</STRONG>
+- - 1)and three more parameters which describe the color.
++ - 1)and three more parameters which describe the color.
+ These three parameters default to being interpreted as RGB
+- (Red, Green, Blue) values. If the boolean capability <STRONG>hls</STRONG>
++ (Red, Green, Blue) values. If the boolean capability <STRONG>hls</STRONG>
+ is present, they are instead as HLS (Hue, Lightness, Satu-
+ ration) indices. The ranges are terminal-dependent.
+
+- On an HP-like terminal, <STRONG>initp</STRONG> may give a capability for
+- changing a color-pair value. It will take seven parame-
+- ters; a color-pair number (0 to <STRONG>max_pairs</STRONG> - 1), and two
+- triples describing first background and then foreground
+- colors. These parameters must be (Red, Green, Blue) or
++ On an HP-like terminal, <STRONG>initp</STRONG> may give a capability for
++ changing a color-pair value. It will take seven parame-
++ ters; a color-pair number (0 to <STRONG>max_pairs</STRONG> - 1), and two
++ triples describing first background and then foreground
++ colors. These parameters must be (Red, Green, Blue) or
+ (Hue, Lightness, Saturation) depending on <STRONG>hls</STRONG>.
+
+- On some color terminals, colors collide with highlights.
++ On some color terminals, colors collide with highlights.
+ You can register these collisions with the <STRONG>ncv</STRONG> capability.
+- This is a bit-mask of attributes not to be used when col-
+- ors are enabled. The correspondence with the attributes
++ This is a bit-mask of attributes not to be used when col-
++ ors are enabled. The correspondence with the attributes
+ understood by <STRONG>curses</STRONG> is as follows:
+
+-
+- <STRONG>Attribute</STRONG> <STRONG>Bit</STRONG> <STRONG>Decimal</STRONG>
+- A_STANDOUT 0 1
+- A_UNDERLINE 1 2
+- A_REVERSE 2 4
+- A_BLINK 3 8
+- A_DIM 4 16
+- A_BOLD 5 32
+- A_INVIS 6 64
+- A_PROTECT 7 128
+- A_ALTCHARSET 8 256
+-
+- For example, on many IBM PC consoles, the underline
+- attribute collides with the foreground color blue and is
+- not available in color mode. These should have an <STRONG>ncv</STRONG>
++ <STRONG>Attribute</STRONG> <STRONG>Bit</STRONG> <STRONG>Decimal</STRONG>
++ A_STANDOUT 0 1
++ A_UNDERLINE 1 2
++ A_REVERSE 2 4
++ A_BLINK 3 8
++ A_DIM 4 16
++ A_BOLD 5 32
++ A_INVIS 6 64
++ A_PROTECT 7 128
++ A_ALTCHARSET 8 256
++
++ For example, on many IBM PC consoles, the underline
++ attribute collides with the foreground color blue and is
++ not available in color mode. These should have an <STRONG>ncv</STRONG>
+ capability of 2.
+
+- SVr4 curses does nothing with <STRONG>ncv</STRONG>, ncurses recognizes it
++ SVr4 curses does nothing with <STRONG>ncv</STRONG>, ncurses recognizes it
+ and optimizes the output in favor of colors.
+
+-
+ <STRONG>Miscellaneous</STRONG>
+- If the terminal requires other than a null (zero) charac-
+- ter as a pad, then this can be given as pad. Only the
+- first character of the pad string is used. If the termi-
++ If the terminal requires other than a null (zero) charac-
++ ter as a pad, then this can be given as pad. Only the
++ first character of the pad string is used. If the termi-
+ nal does not have a pad character, specify npc. Note that
+- ncurses implements the termcap-compatible <STRONG>PC</STRONG> variable;
+- though the application may set this value to something
+- other than a null, ncurses will test <STRONG>npc</STRONG> first and use
++ ncurses implements the termcap-compatible <STRONG>PC</STRONG> variable;
++ though the application may set this value to something
++ other than a null, ncurses will test <STRONG>npc</STRONG> first and use
+ napms if the terminal has no pad character.
+
+- If the terminal can move up or down half a line, this can
+- be indicated with <STRONG>hu</STRONG> (half-line up) and <STRONG>hd</STRONG> (half-line
++ If the terminal can move up or down half a line, this can
++ be indicated with <STRONG>hu</STRONG> (half-line up) and <STRONG>hd</STRONG> (half-line
+ down). This is primarily useful for superscripts and sub-
+- scripts on hard-copy terminals. If a hard-copy terminal
+- can eject to the next page (form feed), give this as <STRONG>ff</STRONG>
++ scripts on hard-copy terminals. If a hard-copy terminal
++ can eject to the next page (form feed), give this as <STRONG>ff</STRONG>
+ (usually control L).
+
+- If there is a command to repeat a given character a given
+- number of times (to save time transmitting a large number
+- of identical characters) this can be indicated with the
+- parameterized string <STRONG>rep</STRONG>. The first parameter is the
+- character to be repeated and the second is the number of
+- times to repeat it. Thus, tparm(repeat_char, 'x', 10) is
++ If there is a command to repeat a given character a given
++ number of times (to save time transmitting a large number
++ of identical characters) this can be indicated with the
++ parameterized string <STRONG>rep</STRONG>. The first parameter is the
++ character to be repeated and the second is the number of
++ times to repeat it. Thus, tparm(repeat_char, 'x', 10) is
+ the same as `xxxxxxxxxx'.
+
+- If the terminal has a settable command character, such as
+- the TEKTRONIX 4025, this can be indicated with <STRONG>cmdch</STRONG>. A
++ If the terminal has a settable command character, such as
++ the TEKTRONIX 4025, this can be indicated with <STRONG>cmdch</STRONG>. A
+ prototype command character is chosen which is used in all
+- capabilities. This character is given in the <STRONG>cmdch</STRONG> capa-
+- bility to identify it. The following convention is sup-
+- ported on some UNIX systems: The environment is to be
+- searched for a <STRONG>CC</STRONG> variable, and if found, all occurrences
++ capabilities. This character is given in the <STRONG>cmdch</STRONG> capa-
++ bility to identify it. The following convention is sup-
++ ported on some UNIX systems: The environment is to be
++ searched for a <STRONG>CC</STRONG> variable, and if found, all occurrences
+ of the prototype character are replaced with the character
+ in the environment variable.
+
+- Terminal descriptions that do not represent a specific
++ Terminal descriptions that do not represent a specific
+ kind of known terminal, such as <EM>switch</EM>, <EM>dialup</EM>, <EM>patch</EM>, and
+- <EM>network</EM>, should include the <STRONG>gn</STRONG> (generic) capability so
+- that programs can complain that they do not know how to
+- talk to the terminal. (This capability does not apply to
+- <EM>virtual</EM> terminal descriptions for which the escape
++ <EM>network</EM>, should include the <STRONG>gn</STRONG> (generic) capability so
++ that programs can complain that they do not know how to
++ talk to the terminal. (This capability does not apply to
++ <EM>virtual</EM> terminal descriptions for which the escape
+ sequences are known.)
+
+- If the terminal has a ``meta key'' which acts as a shift
+- key, setting the 8th bit of any character transmitted,
+- this fact can be indicated with <STRONG>km</STRONG>. Otherwise, software
++ If the terminal has a "meta key" which acts as a shift
++ key, setting the 8th bit of any character transmitted,
++ this fact can be indicated with <STRONG>km</STRONG>. Otherwise, software
+ will assume that the 8th bit is parity and it will usually
+- be cleared. If strings exist to turn this ``meta mode''
+- on and off, they can be given as <STRONG>smm</STRONG> and <STRONG>rmm</STRONG>.
++ be cleared. If strings exist to turn this "meta mode" on
++ and off, they can be given as <STRONG>smm</STRONG> and <STRONG>rmm</STRONG>.
+
+- If the terminal has more lines of memory than will fit on
+- the screen at once, the number of lines of memory can be
+- indicated with <STRONG>lm</STRONG>. A value of <STRONG>lm</STRONG>#0 indicates that the
++ If the terminal has more lines of memory than will fit on
++ the screen at once, the number of lines of memory can be
++ indicated with <STRONG>lm</STRONG>. A value of <STRONG>lm</STRONG>#0 indicates that the
+ number of lines is not fixed, but that there is still more
+ memory than fits on the screen.
+
+ If the terminal is one of those supported by the UNIX vir-
+- tual terminal protocol, the terminal number can be given
++ tual terminal protocol, the terminal number can be given
+ as <STRONG>vt</STRONG>.
+
+ Media copy strings which control an auxiliary printer con-
+ nected to the terminal can be given as <STRONG>mc0</STRONG>: print the con-
+- tents of the screen, <STRONG>mc4</STRONG>: turn off the printer, and <STRONG>mc5</STRONG>:
+- turn on the printer. When the printer is on, all text
+- sent to the terminal will be sent to the printer. It is
++ tents of the screen, <STRONG>mc4</STRONG>: turn off the printer, and <STRONG>mc5</STRONG>:
++ turn on the printer. When the printer is on, all text
++ sent to the terminal will be sent to the printer. It is
+ undefined whether the text is also displayed on the termi-
+ nal screen when the printer is on. A variation <STRONG>mc5p</STRONG> takes
+ one parameter, and leaves the printer on for as many char-
+- acters as the value of the parameter, then turns the
+- printer off. The parameter should not exceed 255. All
++ acters as the value of the parameter, then turns the
++ printer off. The parameter should not exceed 255. All
+ text, including <STRONG>mc4</STRONG>, is transparently passed to the
+ printer while an <STRONG>mc5p</STRONG> is in effect.
+
+-
+ <STRONG>Glitches</STRONG> <STRONG>and</STRONG> <STRONG>Braindamage</STRONG>
+- Hazeltine terminals, which do not allow `~' characters to
++ Hazeltine terminals, which do not allow `~' characters to
+ be displayed should indicate <STRONG>hz</STRONG>.
+
+ Terminals which ignore a line-feed immediately after an <STRONG>am</STRONG>
+@@ -2149,8 +2239,8 @@
+ Note: the variable indicating this is now
+ `dest_tabs_magic_smso'; in older versions, it was tel-
+ eray_glitch. This glitch is also taken to mean that it is
+- not possible to position the cursor on top of a ``magic
+- cookie'', that to erase standout mode it is instead neces-
++ not possible to position the cursor on top of a "magic
++ cookie", that to erase standout mode it is instead neces-
+ sary to use delete and insert line. The ncurses implemen-
+ tation ignores this glitch.
+
+@@ -2165,7 +2255,6 @@
+ Other specific terminal problems may be corrected by
+ adding more capabilities of the form <STRONG>x</STRONG><EM>x</EM>.
+
+-
+ <STRONG>Similar</STRONG> <STRONG>Terminals</STRONG>
+ If there are two very similar terminals, one (the variant)
+ can be defined as being just like the other (the base)
+@@ -2183,14 +2272,13 @@
+ the use reference that imports it, where <EM>xx</EM> is the capa-
+ bility. For example, the entry
+
+- 2621-nl, smkx@, rmkx@, use=2621,
++ 2621-nl, smkx@, rmkx@, use=2621,
+
+ defines a 2621-nl that does not have the <STRONG>smkx</STRONG> or <STRONG>rmkx</STRONG>
+ capabilities, and hence does not turn on the function key
+ labels when in visual mode. This is useful for different
+ modes for a terminal, or for different user preferences.
+
+-
+ <STRONG>Pitfalls</STRONG> <STRONG>of</STRONG> <STRONG>Long</STRONG> <STRONG>Entries</STRONG>
+ Long terminfo entries are unlikely to be a problem; to
+ date, no entry has even approached terminfo's 4096-byte
+@@ -2229,21 +2317,21 @@
+ libraries strip off the final newline, too (GNU termcap
+ does not). Now suppose:
+
+- * a termcap entry before expansion is more than 1023
+- bytes long,
++ <STRONG>o</STRONG> a termcap entry before expansion is more than 1023
++ bytes long,
+
+- * and the application has only allocated a 1k buffer,
++ <STRONG>o</STRONG> and the application has only allocated a 1k buffer,
+
+- * and the termcap library (like the one in BSD/OS 1.1
+- and GNU) reads the whole entry into the buffer, no
+- matter what its length, to see if it is the entry it
+- wants,
+-
+- * and <STRONG>tgetent()</STRONG> is searching for a terminal type that
+- either is the long entry, appears in the termcap file
+- after the long entry, or does not appear in the file
+- at all (so that <STRONG>tgetent()</STRONG> has to search the whole
+- termcap file).
++ <STRONG>o</STRONG> and the termcap library (like the one in BSD/OS 1.1
++ and GNU) reads the whole entry into the buffer, no
++ matter what its length, to see if it is the entry it
++ wants,
++
++ <STRONG>o</STRONG> and <STRONG>tgetent()</STRONG> is searching for a terminal type that
++ either is the long entry, appears in the termcap file
++ after the long entry, or does not appear in the file
++ at all (so that <STRONG>tgetent()</STRONG> has to search the whole
++ termcap file).
+
+ Then <STRONG>tgetent()</STRONG> will overwrite memory, perhaps its stack,
+ and probably core dump the program. Programs like telnet
+@@ -2288,61 +2376,64 @@
+
+ </PRE>
+ <H2>EXTENSIONS</H2><PRE>
+- Some SVr4 <STRONG>curses</STRONG> implementations, and all previous to
+- SVr4, do not interpret the %A and %O operators in parame-
++ Searching for terminal descriptions in <STRONG>$HOME/.terminfo</STRONG> and
++ TERMINFO_DIRS is not supported by older implementations.
++
++ Some SVr4 <STRONG>curses</STRONG> implementations, and all previous to
++ SVr4, do not interpret the %A and %O operators in parame-
+ ter strings.
+
+- SVr4/XPG4 do not specify whether <STRONG>msgr</STRONG> licenses movement
+- while in an alternate-character-set mode (such modes may,
+- among other things, map CR and NL to characters that do
+- not trigger local motions). The <STRONG>ncurses</STRONG> implementation
+- ignores <STRONG>msgr</STRONG> in <STRONG>ALTCHARSET</STRONG> mode. This raises the possi-
+- bility that an XPG4 implementation making the opposite
+- interpretation may need terminfo entries made for <STRONG>ncurses</STRONG>
++ SVr4/XPG4 do not specify whether <STRONG>msgr</STRONG> licenses movement
++ while in an alternate-character-set mode (such modes may,
++ among other things, map CR and NL to characters that do
++ not trigger local motions). The <STRONG>ncurses</STRONG> implementation
++ ignores <STRONG>msgr</STRONG> in <STRONG>ALTCHARSET</STRONG> mode. This raises the possi-
++ bility that an XPG4 implementation making the opposite
++ interpretation may need terminfo entries made for <STRONG>ncurses</STRONG>
+ to have <STRONG>msgr</STRONG> turned off.
+
+- The <STRONG>ncurses</STRONG> library handles insert-character and insert-
++ The <STRONG>ncurses</STRONG> library handles insert-character and insert-
+ character modes in a slightly non-standard way to get bet-
+- ter update efficiency. See the <STRONG>Insert/Delete</STRONG> <STRONG>Character</STRONG>
++ ter update efficiency. See the <STRONG>Insert/Delete</STRONG> <STRONG>Character</STRONG>
+ subsection above.
+
+- The parameter substitutions for <STRONG>set_clock</STRONG> and <STRONG>dis-</STRONG>
+- <STRONG>play_clock</STRONG> are not documented in SVr4 or the XSI Curses
++ The parameter substitutions for <STRONG>set_clock</STRONG> and <STRONG>dis-</STRONG>
++ <STRONG>play_clock</STRONG> are not documented in SVr4 or the XSI Curses
+ standard. They are deduced from the documentation for the
+ AT&amp;T 505 terminal.
+
+- Be careful assigning the <STRONG>kmous</STRONG> capability. The <STRONG>ncurses</STRONG>
+- wants to interpret it as <STRONG>KEY_MOUSE</STRONG>, for use by terminals
+- and emulators like xterm that can return mouse-tracking
++ Be careful assigning the <STRONG>kmous</STRONG> capability. The <STRONG>ncurses</STRONG>
++ wants to interpret it as <STRONG>KEY_MOUSE</STRONG>, for use by terminals
++ and emulators like xterm that can return mouse-tracking
+ information in the keyboard-input stream.
+
+- Different commercial ports of terminfo and curses support
+- different subsets of the XSI Curses standard and (in some
++ Different commercial ports of terminfo and curses support
++ different subsets of the XSI Curses standard and (in some
+ cases) different extension sets. Here is a summary, accu-
+ rate as of October 1995:
+
+ <STRONG>SVR4,</STRONG> <STRONG>Solaris,</STRONG> <STRONG>ncurses</STRONG> -- These support all SVr4 capabili-
+ ties.
+
+- <STRONG>SGI</STRONG> -- Supports the SVr4 set, adds one undocumented
++ <STRONG>SGI</STRONG> -- Supports the SVr4 set, adds one undocumented
+ extended string capability (<STRONG>set_pglen</STRONG>).
+
+- <STRONG>SVr1,</STRONG> <STRONG>Ultrix</STRONG> -- These support a restricted subset of ter-
+- minfo capabilities. The booleans end with <STRONG>xon_xoff</STRONG>; the
+- numerics with <STRONG>width_status_line</STRONG>; and the strings with
++ <STRONG>SVr1,</STRONG> <STRONG>Ultrix</STRONG> -- These support a restricted subset of ter-
++ minfo capabilities. The booleans end with <STRONG>xon_xoff</STRONG>; the
++ numerics with <STRONG>width_status_line</STRONG>; and the strings with
+ <STRONG>prtr_non</STRONG>.
+
+- <STRONG>HP/UX</STRONG> -- Supports the SVr1 subset, plus the SVr[234]
++ <STRONG>HP/UX</STRONG> -- Supports the SVr1 subset, plus the SVr[234]
+ numerics <STRONG>num_labels</STRONG>, <STRONG>label_height</STRONG>, <STRONG>label_width</STRONG>, plus func-
+- tion keys 11 through 63, plus <STRONG>plab_norm</STRONG>, <STRONG>label_on</STRONG>, and
++ tion keys 11 through 63, plus <STRONG>plab_norm</STRONG>, <STRONG>label_on</STRONG>, and
+ <STRONG>label_off</STRONG>, plus some incompatible extensions in the string
+ table.
+
+- <STRONG>AIX</STRONG> -- Supports the SVr1 subset, plus function keys 11
+- through 63, plus a number of incompatible string table
++ <STRONG>AIX</STRONG> -- Supports the SVr1 subset, plus function keys 11
++ through 63, plus a number of incompatible string table
+ extensions.
+
+- <STRONG>OSF</STRONG> -- Supports both the SVr4 set and the AIX extensions.
++ <STRONG>OSF</STRONG> -- Supports both the SVr4 set and the AIX extensions.
+
+
+ </PRE>
+Index: doc/html/man/tic.1m.html
+--- ncurses-5.9/doc/html/man/tic.1m.html 2011-04-04 22:46:51.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/tic.1m.html 2013-03-09 22:12:05.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: tic.1m,v 1.47 2010/12/04 18:38:55 tom Exp @
++ * @Id: tic.1m,v 1.57 2013/02/02 22:09:02 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -52,84 +52,141 @@
+
+ </PRE>
+ <H2>SYNOPSIS</H2><PRE>
+- <STRONG>tic</STRONG> [<STRONG>-1CGILNTUVacfgrstx</STRONG>] [<STRONG>-e</STRONG> <EM>names</EM>] [<STRONG>-o</STRONG> <EM>dir</EM>] [<STRONG>-R</STRONG> <EM>subset</EM>]
+- [<STRONG>-v</STRONG>[<EM>n</EM>]] [<STRONG>-w</STRONG>[<EM>n</EM>]] <EM>file</EM>
++ <STRONG>tic</STRONG> [<STRONG>-01CDGIKLNTUVacfgrstx</STRONG>] [<STRONG>-e</STRONG> <EM>names</EM>] [<STRONG>-o</STRONG> <EM>dir</EM>] [<STRONG>-R</STRONG> <EM>sub-</EM>
++ <EM>set</EM>] [<STRONG>-v</STRONG>[<EM>n</EM>]] [<STRONG>-w</STRONG>[<EM>n</EM>]] <EM>file</EM>
+
+
+ </PRE>
+ <H2>DESCRIPTION</H2><PRE>
+- The command <STRONG>tic</STRONG> translates a <STRONG>terminfo</STRONG> file from source
++ The <STRONG>tic</STRONG> command translates a <STRONG>terminfo</STRONG> file from source
+ format into compiled format. The compiled format is nec-
+ essary for use with the library routines in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
+
+- The results are normally placed in the system terminfo
+- directory <STRONG>/usr/share/terminfo</STRONG>. There are two ways to
+- change this behavior.
++ As described in <STRONG><A HREF="term.5.html">term(5)</A></STRONG>, the database may be either a
++ directory tree (one file per terminal entry) or a hashed
++ database (one record per entry). The <STRONG>tic</STRONG> command writes
++ only one type of entry, depending on how it was built:
++
++ <STRONG>o</STRONG> For directory trees, the top-level directory, e.g.,
++ /usr/share/terminfo, specifies the location of the
++ database.
++
++ <STRONG>o</STRONG> For hashed databases, a filename is needed. If the
++ given file is not found by that name, but can be found
++ by adding the suffix ".db", then that is used.
++
++ The default name for the hashed database is the same
++ as the default directory name (only adding a ".db"
++ suffix).
++
++ In either case (directory or hashed database), <STRONG>tic</STRONG> will
++ create the container if it does not exist. For a direc-
++ tory, this would be the "terminfo" leaf, versus a "ter-
++ minfo.db" file.
+
+- First, you may override the system default by setting the
+- variable <STRONG>TERMINFO</STRONG> in your shell environment to a valid
+- (existing) directory name.
+-
+- Secondly, if <STRONG>tic</STRONG> cannot get access to <EM>/usr/share/terminfo</EM>
+- or your TERMINFO directory, it looks for the directory
+- <EM>$HOME/.terminfo</EM>; if that directory exists, the entry is
+- placed there.
++ The results are normally placed in the system terminfo
++ database <STRONG>/usr/share/terminfo</STRONG>. The compiled terminal
++ description can be placed in a different terminfo data-
++ base. There are two ways to achieve this:
++
++ <STRONG>o</STRONG> First, you may override the system default either by
++ using the <STRONG>-o</STRONG> option, or by setting the variable <STRONG>TER-</STRONG>
++ <STRONG>MINFO</STRONG> in your shell environment to a valid database
++ location.
++
++ <STRONG>o</STRONG> Secondly, if <STRONG>tic</STRONG> cannot write in <EM>/usr/share/terminfo</EM>
++ or the location specified using your TERMINFO vari-
++ able, it looks for the directory <EM>$HOME/.terminfo</EM> (or
++ hashed database <EM>$HOME/.terminfo.db)</EM>; if that location
++ exists, the entry is placed there.
+
+ Libraries that read terminfo entries are expected to check
+- for a TERMINFO directory first, look at <EM>$HOME/.terminfo</EM> if
+- TERMINFO is not set, and finally look in <EM>/usr/share/ter-</EM>
+- <EM>minfo</EM>.
++ in succession
++
++ <STRONG>o</STRONG> a location specified with the TERMINFO environment
++ variable,
++
++ <STRONG>o</STRONG> <EM>$HOME/.terminfo</EM>,
++
++ <STRONG>o</STRONG> directories listed in the TERMINFO_DIRS environment
++ variable,
++
++ <STRONG>o</STRONG> a compiled-in list of directories
++ (/usr/local/ncurses/share/terminfo:/usr/share/ter-
++ minfo), and
++
++ <STRONG>o</STRONG> the system terminfo database (<EM>/usr/share/terminfo</EM>).
++
++ <STRONG>OPTIONS</STRONG>
++ <STRONG>-0</STRONG> restricts the output to a single line
+
+ <STRONG>-1</STRONG> restricts the output to a single column
+
+ <STRONG>-a</STRONG> tells <STRONG>tic</STRONG> to retain commented-out capabilities
+ rather than discarding them. Capabilities are com-
+- mented by prefixing them with a period. This sets
+- the <STRONG>-x</STRONG> option, because it treats the commented-out
+- entries as user-defined names. If the source is
+- termcap, accept the 2-character names required by
++ mented by prefixing them with a period. This sets
++ the <STRONG>-x</STRONG> option, because it treats the commented-out
++ entries as user-defined names. If the source is
++ termcap, accept the 2-character names required by
+ version 6. Otherwise these are ignored.
+
+- <STRONG>-C</STRONG> Force source translation to termcap format. Note:
+- this differs from the <STRONG>-C</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> in
++ <STRONG>-C</STRONG> Force source translation to termcap format. Note:
++ this differs from the <STRONG>-C</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> in
+ that it does not merely translate capability names,
+- but also translates terminfo strings to termcap
++ but also translates terminfo strings to termcap
+ format. Capabilities that are not translatable are
+- left in the entry under their terminfo names but
+- commented out with two preceding dots.
++ left in the entry under their terminfo names but
++ commented out with two preceding dots. The actual
++ format used incorporates some improvements for
++ escaped characters from terminfo format. For a
++ stricter BSD-compatible translation, add the <STRONG>-K</STRONG>
++ option.
+
+- <STRONG>-c</STRONG> tells <STRONG>tic</STRONG> to only check <EM>file</EM> for errors, including
+- syntax problems and bad use links. If you specify
++ <STRONG>-c</STRONG> tells <STRONG>tic</STRONG> to only check <EM>file</EM> for errors, including
++ syntax problems and bad use links. If you specify
+ <STRONG>-C</STRONG> (<STRONG>-I</STRONG>) with this option, the code will print warn-
+ ings about entries which, after use resolution, are
+- more than 1023 (4096) bytes long. Due to a fixed
+- buffer length in older termcap libraries (and a
+- documented limit in terminfo), these entries may
+- cause core dumps.
++ more than 1023 (4096) bytes long. Due to a fixed
++ buffer length in older termcap libraries, as well
++ as buggy checking for the buffer length (and a doc-
++ umented limit in terminfo), these entries may cause
++ core dumps with other implementations.
++
++ <STRONG>-D</STRONG> tells <STRONG>tic</STRONG> to print the database locations that it
++ knows about, and exit. The first location shown is
++ the one to which it would write compiled terminal
++ descriptions. If <STRONG>tic</STRONG> is not able to find a
++ writable database location according to the rules
++ summarized above, it will print a diagnostic and
++ exit with an error rather than printing a list of
++ database locations.
+
+ <STRONG>-e</STRONG> <EM>names</EM>
+- Limit writes and translations to the following
+- comma-separated list of terminals. If any name or
++ Limit writes and translations to the following
++ comma-separated list of terminals. If any name or
+ alias of a terminal matches one of the names in the
+- list, the entry will be written or translated as
+- normal. Otherwise no output will be generated for
++ list, the entry will be written or translated as
++ normal. Otherwise no output will be generated for
+ it. The option value is interpreted as a file con-
+- taining the list if it contains a '/'. (Note:
+- depending on how tic was compiled, this option may
++ taining the list if it contains a '/'. (Note:
++ depending on how tic was compiled, this option may
+ require <STRONG>-I</STRONG> or <STRONG>-C</STRONG>.)
+
+ <STRONG>-f</STRONG> Display complex terminfo strings which contain
+- if/then/else/endif expressions indented for read-
++ if/then/else/endif expressions indented for read-
+ ability.
+
+- <STRONG>-G</STRONG> Display constant literals in decimal form rather
++ <STRONG>-G</STRONG> Display constant literals in decimal form rather
+ than their character equivalents.
+
+- <STRONG>-g</STRONG> Display constant character literals in quoted form
++ <STRONG>-g</STRONG> Display constant character literals in quoted form
+ rather than their decimal equivalents.
+
+ <STRONG>-I</STRONG> Force source translation to terminfo format.
+
++ <STRONG>-K</STRONG> Suppress some longstanding ncurses extensions to
++ termcap format, e.g., "\s" for space.
++
+ <STRONG>-L</STRONG> Force source translation to terminfo format using
+ the long C variable names listed in &lt;<STRONG>term.h</STRONG>&gt;
+
+@@ -145,8 +202,8 @@
+ This option forces a more literal translation that
+ also preserves the obsolete capabilities.
+
+- <STRONG>-o</STRONG><EM>dir</EM> Write compiled entries to given directory. Over-
+- rides the TERMINFO environment variable.
++ <STRONG>-o</STRONG><EM>dir</EM> Write compiled entries to given database location.
++ Overrides the TERMINFO environment variable.
+
+ <STRONG>-R</STRONG><EM>subset</EM>
+ Restrict output to a given subset. This option is
+@@ -160,15 +217,15 @@
+
+ <STRONG>-r</STRONG> Force entry resolution (so there are no remaining
+ tc capabilities) even when doing translation to
+- termcap format. This may be needed if you are
+- preparing a termcap file for a termcap library
+- (such as GNU termcap through version 1.3 or BSD
+- termcap through 4.3BSD) that does not handle multi-
+- ple tc capabilities per entry.
+-
+- <STRONG>-s</STRONG> Summarize the compile by showing the directory into
+- which entries are written, and the number of
+- entries which are compiled.
++ termcap format. This may be needed if you are pre-
++ paring a termcap file for a termcap library (such
++ as GNU termcap through version 1.3 or BSD termcap
++ through 4.3BSD) that does not handle multiple tc
++ capabilities per entry.
++
++ <STRONG>-s</STRONG> Summarize the compile by showing the database loca-
++ tion into which entries are written, and the number
++ of entries which are compiled.
+
+ <STRONG>-T</STRONG> eliminates size-restrictions on the generated text.
+ This is mainly useful for testing and analysis,
+@@ -195,41 +252,48 @@
+ 1. If <EM>n</EM> is specified and greater than 1, the level
+ of detail is increased.
+
+- <STRONG>-w</STRONG><EM>n</EM> specifies the width of the output. The parameter is
+- optional. If it is omitted, it defaults to 60.
++ The debug flag levels are as follows:
+
+- <STRONG>-x</STRONG> Treat unknown capabilities as user-defined. That is,
+- if you supply a capability name which <STRONG>tic</STRONG> does not
+- recognize, it will infer its type (boolean, number or
+- string) from the syntax and make an extended table
+- entry for that. User-defined capability strings
+- whose name begins with ``k'' are treated as function
+- keys.
++ 1 Names of files created and linked
+
+- <EM>file</EM> contains one or more <STRONG>terminfo</STRONG> terminal descriptions
+- in source format [see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>]. Each description
+- in the file describes the capabilities of a particu-
+- lar terminal.
++ 2 Information related to the ``use'' facility
+
+- The debug flag levels are as follows:
++ 3 Statistics from the hashing algorithm
+
+- 1 Names of files created and linked
++ 5 String-table memory allocations
+
+- 2 Information related to the ``use'' facility
++ 7 Entries into the string-table
+
+- 3 Statistics from the hashing algorithm
++ 8 List of tokens encountered by scanner
+
+- 5 String-table memory allocations
++ 9 All values computed in construction of the
++ hash table
+
+- 7 Entries into the string-table
++ If the debug level <EM>n</EM> is not given, it is taken to be
++ one.
+
+- 8 List of tokens encountered by scanner
++ <STRONG>-w</STRONG><EM>n</EM> specifies the width of the output. The parameter is
++ optional. If it is omitted, it defaults to 60.
+
+- 9 All values computed in construction of the hash ta-
+- ble
++ <STRONG>-x</STRONG> Treat unknown capabilities as user-defined. That is,
++ if you supply a capability name which <STRONG>tic</STRONG> does not
++ recognize, it will infer its type (boolean, number or
++ string) from the syntax and make an extended table
++ entry for that. User-defined capability strings
++ whose name begins with ``k'' are treated as function
++ keys.
+
+- If the debug level <EM>n</EM> is not given, it is taken to be one.
++ <STRONG>PARAMETERS</STRONG>
++ <EM>file</EM> contains one or more <STRONG>terminfo</STRONG> terminal descriptions
++ in source format [see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>]. Each descrip-
++ tion in the file describes the capabilities of a
++ particular terminal.
++
++ If <EM>file</EM> is ``-'', then the data is read from the
++ standard input. The <EM>file</EM> parameter may also be the
++ path of a character-device.
+
++ <STRONG>PROCESSING</STRONG>
+ All but one of the capabilities recognized by <STRONG>tic</STRONG> are doc-
+ umented in <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. The exception is the <STRONG>use</STRONG> capabil-
+ ity.
+@@ -237,10 +301,8 @@
+ When a <STRONG>use</STRONG>=<EM>entry</EM>-<EM>name</EM> field is discovered in a terminal
+ entry currently being compiled, <STRONG>tic</STRONG> reads in the binary
+ from <STRONG>/usr/share/terminfo</STRONG> to complete the entry. (Entries
+- created from <EM>file</EM> will be used first. If the environment
+- variable <STRONG>TERMINFO</STRONG> is set, that directory is searched
+- instead of <STRONG>/usr/share/terminfo</STRONG>.) <STRONG>tic</STRONG> duplicates the capa-
+- bilities in <EM>entry</EM>-<EM>name</EM> for the current entry, with the
++ created from <EM>file</EM> will be used first. <STRONG>tic</STRONG> duplicates the
++ capabilities in <EM>entry</EM>-<EM>name</EM> for the current entry, with the
+ exception of those capabilities that explicitly are
+ defined in the current entry.
+
+@@ -249,52 +311,49 @@
+ <EM>entry</EM>_<EM>name</EM>_<EM>2</EM> must also appear in <STRONG>entry_name_1</STRONG> before <STRONG>use=</STRONG>
+ for these capabilities to be canceled in <STRONG>entry_name_1</STRONG>.
+
+- If the environment variable <STRONG>TERMINFO</STRONG> is set, the compiled
+- results are placed there instead of <STRONG>/usr/share/terminfo</STRONG>.
+-
+ Total compiled entries cannot exceed 4096 bytes. The name
+- field cannot exceed 512 bytes. Terminal names exceeding
+- the maximum alias length (32 characters on systems with
++ field cannot exceed 512 bytes. Terminal names exceeding
++ the maximum alias length (32 characters on systems with
+ long filenames, 14 characters otherwise) will be truncated
+- to the maximum alias length and a warning message will be
++ to the maximum alias length and a warning message will be
+ printed.
+
+
+ </PRE>
+ <H2>COMPATIBILITY</H2><PRE>
+- There is some evidence that historic <STRONG>tic</STRONG> implementations
+- treated description fields with no whitespace in them as
+- additional aliases or short names. This <STRONG>tic</STRONG> does not do
+- that, but it does warn when description fields may be
+- treated that way and check them for dangerous characters.
++ There is some evidence that historic <STRONG>tic</STRONG> implementations
++ treated description fields with no whitespace in them as
++ additional aliases or short names. This <STRONG>tic</STRONG> does not do
++ that, but it does warn when description fields may be
++ treated that way and check them for dangerous characters.
+
+
+ </PRE>
+ <H2>EXTENSIONS</H2><PRE>
+- Unlike the stock SVr4 <STRONG>tic</STRONG> command, this implementation can
+- actually compile termcap sources. In fact, entries in
+- terminfo and termcap syntax can be mixed in a single
+- source file. See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for the list of termcap
+- names taken to be equivalent to terminfo names.
++ Unlike the SVr4 <STRONG>tic</STRONG> command, this implementation can actu-
++ ally compile termcap sources. In fact, entries in ter-
++ minfo and termcap syntax can be mixed in a single source
++ file. See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for the list of termcap names taken
++ to be equivalent to terminfo names.
+
+ The SVr4 manual pages are not clear on the resolution
+ rules for <STRONG>use</STRONG> capabilities. This implementation of <STRONG>tic</STRONG>
+ will find <STRONG>use</STRONG> targets anywhere in the source file, or any-
+ where in the file tree rooted at <STRONG>TERMINFO</STRONG> (if <STRONG>TERMINFO</STRONG> is
+- defined), or in the user's <EM>$HOME/.terminfo</EM> directory (if
+- it exists), or (finally) anywhere in the system's file
+- tree of compiled entries.
++ defined), or in the user's <EM>$HOME/.terminfo</EM> database (if it
++ exists), or (finally) anywhere in the system's file tree
++ of compiled entries.
+
+ The error messages from this <STRONG>tic</STRONG> have the same format as
+ GNU C error messages, and can be parsed by GNU Emacs's
+ compile facility.
+
+- 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>,
+- <STRONG>-s</STRONG>, <STRONG>-t</STRONG> and <STRONG>-x</STRONG> options are not supported under SVr4. The
+- SVr4 <STRONG>-c</STRONG> mode does not report bad use links.
++ The <STRONG>-0</STRONG>, <STRONG>-1</STRONG>, <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>, <STRONG>-s</STRONG>, <STRONG>-t</STRONG> and <STRONG>-x</STRONG> options are not supported under
++ SVr4. The SVr4 <STRONG>-c</STRONG> mode does not report bad use links.
+
+ System V does not compile entries to or read entries from
+- your <EM>$HOME/.terminfo</EM> directory unless TERMINFO is explic-
++ your <EM>$HOME/.terminfo</EM> database unless TERMINFO is explic-
+ itly set to it.
+
+
+@@ -307,9 +366,9 @@
+ </PRE>
+ <H2>SEE ALSO</H2><PRE>
+ <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>,
+- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
++ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="term.5.html">term(5)</A></STRONG>. <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+
+- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+
+ </PRE>
+Index: doc/html/man/toe.1m.html
+--- ncurses-5.9/doc/html/man/toe.1m.html 2011-04-04 22:46:51.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/toe.1m.html 2013-03-09 22:12:05.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: toe.1m,v 1.23 2010/12/04 18:40:45 tom Exp @
++ * @Id: toe.1m,v 1.26 2012/01/01 00:40:51 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -52,7 +52,7 @@
+
+ </PRE>
+ <H2>SYNOPSIS</H2><PRE>
+- <STRONG>toe</STRONG> [<STRONG>-v</STRONG>[<EM>n</EM>]] [<STRONG>-ahuUV</STRONG>] <EM>file...</EM>
++ <STRONG>toe</STRONG> [<STRONG>-v</STRONG>[<EM>n</EM>]] [<STRONG>-ahsuUV</STRONG>] <EM>file...</EM>
+
+
+ </PRE>
+@@ -71,6 +71,14 @@
+ ncurses would search, rather than only the first
+ one that it finds.
+
++ If the <STRONG>-s</STRONG> is also given, <STRONG>toe</STRONG> adds a column to the
++ report, showing (like <STRONG><A HREF="conflict.1.html">conflict(1)</A></STRONG>) which entries
++ which belong to a given terminal database. An "*"
++ marks entries which differ, and "+" marks equiva-
++ lent entries.
++
++ <STRONG>-s</STRONG> sort the output by the entry names.
++
+ <STRONG>-u</STRONG> <EM>file</EM>
+ says to write a report to the standard output,
+ listing dependencies in the given terminfo/termcap
+@@ -111,7 +119,7 @@
+ <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+
+- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+
+
+Index: doc/html/man/tput.1.html
+--- ncurses-5.9/doc/html/man/tput.1.html 2011-04-04 22:46:51.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/tput.1.html 2013-03-09 22:12:05.000000000 +0000
+@@ -2,7 +2,7 @@
+ <!--
+ * t
+ ****************************************************************************
+- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: tput.1,v 1.29 2010/12/04 18:41:07 tom Exp @
++ * @Id: tput.1,v 1.32 2012/07/14 21:06:45 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -95,54 +95,53 @@
+ option is unnecessary, because the default is taken
+ from the environment variable <STRONG>TERM</STRONG>. If <STRONG>-T</STRONG> is spec-
+ ified, then the shell variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG>
+- will be ignored,and the operating system will not
+- be queried for the actual screen size.
++ will also be ignored.
+
+ <EM>capname</EM>
+- indicates the capability from the <STRONG>terminfo</STRONG>
+- database. When <STRONG>termcap</STRONG> support is compiled in, the
++ indicates the capability from the <STRONG>terminfo</STRONG> data-
++ base. When <STRONG>termcap</STRONG> support is compiled in, the
+ <STRONG>termcap</STRONG> name for the capability is also accepted.
+
+- <EM>parms</EM> If the capability is a string that takes parame-
++ <EM>parms</EM> If the capability is a string that takes parame-
+ ters, the arguments <EM>parms</EM> will be instantiated into
+ the string.
+
+- Most parameters are numbers. Only a few terminfo
++ Most parameters are numbers. Only a few terminfo
+ capabilities require string parameters; <STRONG>tput</STRONG> uses a
+ table to decide which to pass as strings. Normally
+- <STRONG>tput</STRONG> uses <STRONG>tparm</STRONG> (3x) to perform the substitution.
++ <STRONG>tput</STRONG> uses <STRONG>tparm</STRONG> (3x) to perform the substitution.
+ If no parameters are given for the capability, <STRONG>tput</STRONG>
+- writes the string without performing the
+- substitution.
++ writes the string without performing the substitu-
++ tion.
+
+- <STRONG>-S</STRONG> allows more than one capability per invocation of
++ <STRONG>-S</STRONG> allows more than one capability per invocation of
+ <STRONG>tput</STRONG>. The capabilities must be passed to <STRONG>tput</STRONG> from
+ the standard input instead of from the command line
+- (see example). Only one <EM>capname</EM> is allowed per
+- line. The <STRONG>-S</STRONG> option changes the meaning of the <STRONG>0</STRONG>
+- and <STRONG>1</STRONG> boolean and string exit codes (see the EXIT
++ (see example). Only one <EM>capname</EM> is allowed per
++ line. The <STRONG>-S</STRONG> option changes the meaning of the <STRONG>0</STRONG>
++ and <STRONG>1</STRONG> boolean and string exit codes (see the EXIT
+ CODES section).
+
+ Again, <STRONG>tput</STRONG> uses a table and the presence of param-
+- eters in its input to decide whether to use <STRONG>tparm</STRONG>
++ eters in its input to decide whether to use <STRONG>tparm</STRONG>
+ (3x), and how to interpret the parameters.
+
+- <STRONG>-V</STRONG> reports the version of ncurses which was used in
++ <STRONG>-V</STRONG> reports the version of ncurses which was used in
+ this program, and exits.
+
+- <STRONG>init</STRONG> If the <STRONG>terminfo</STRONG> database is present and an entry
++ <STRONG>init</STRONG> If the <STRONG>terminfo</STRONG> database is present and an entry
+ for the user's terminal exists (see <STRONG>-T</STRONG><EM>type</EM>, above),
+ the following will occur:
+
+- (1) if present, the terminal's initialization
+- strings will be output as detailed in the
+- <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> section on <EM>Tabs</EM> <EM>and</EM> <EM>Initializa-</EM>
++ (1) if present, the terminal's initialization
++ strings will be output as detailed in the
++ <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> section on <EM>Tabs</EM> <EM>and</EM> <EM>Initializa-</EM>
+ <EM>tion</EM>,
+
+- (2) any delays (e.g., newline) specified in the
++ (2) any delays (e.g., newline) specified in the
+ entry will be set in the tty driver,
+
+- (3) tabs expansion will be turned on or off
++ (3) tabs expansion will be turned on or off
+ according to the specification in the entry,
+ and
+
+@@ -153,22 +152,22 @@
+ for any of the four above activities, that activity
+ will silently be skipped.
+
+- <STRONG>reset</STRONG> Instead of putting out initialization strings, the
+- terminal's reset strings will be output if present
+- (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, <STRONG>rf</STRONG>). If the reset strings are not
+- present, but initialization strings are, the ini-
+- tialization strings will be output. Otherwise,
++ <STRONG>reset</STRONG> Instead of putting out initialization strings, the
++ terminal's reset strings will be output if present
++ (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, <STRONG>rf</STRONG>). If the reset strings are not
++ present, but initialization strings are, the ini-
++ tialization strings will be output. Otherwise,
+ <STRONG>reset</STRONG> acts identically to <STRONG>init</STRONG>.
+
+ <STRONG>longname</STRONG>
+- If the <STRONG>terminfo</STRONG> database is present and an entry
+- for the user's terminal exists (see <STRONG>-T</STRONG><EM>type</EM> above),
++ If the <STRONG>terminfo</STRONG> database is present and an entry
++ for the user's terminal exists (see <STRONG>-T</STRONG><EM>type</EM> above),
+ then the long name of the terminal will be put out.
+ The long name is the last name in the first line of
+ the terminal's description in the <STRONG>terminfo</STRONG> database
+ [see <STRONG><A HREF="term.5.html">term(5)</A></STRONG>].
+
+- If <STRONG>tput</STRONG> is invoked by a link named <STRONG>reset</STRONG>, this has the
++ If <STRONG>tput</STRONG> is invoked by a link named <STRONG>reset</STRONG>, this has the
+ same effect as <STRONG>tput</STRONG> <STRONG>reset</STRONG>. See <STRONG>tset</STRONG> for comparison, which
+ has similar behavior.
+
+@@ -177,13 +176,13 @@
+ <H2>EXAMPLES</H2><PRE>
+ <STRONG>tput</STRONG> <STRONG>init</STRONG>
+ Initialize the terminal according to the type of ter-
+- minal in the environmental variable <STRONG>TERM</STRONG>. This com-
+- mand should be included in everyone's .profile after
++ minal in the environmental variable <STRONG>TERM</STRONG>. This com-
++ mand should be included in everyone's .profile after
+ the environmental variable <STRONG>TERM</STRONG> has been exported, as
+ illustrated on the <STRONG><A HREF="profile.5.html">profile(5)</A></STRONG> manual page.
+
+ <STRONG>tput</STRONG> <STRONG>-T5620</STRONG> <STRONG>reset</STRONG>
+- Reset an AT&amp;T 5620 terminal, overriding the type of
++ Reset an AT&amp;T 5620 terminal, overriding the type of
+ terminal in the environmental variable <STRONG>TERM</STRONG>.
+
+ <STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>0</STRONG> <STRONG>0</STRONG>
+@@ -263,29 +262,29 @@
+ type of <EM>capname</EM>:
+
+ <EM>boolean</EM>
+- a value of <STRONG>0</STRONG> is set for TRUE and <STRONG>1</STRONG> for FALSE.
++ a value of <STRONG>0</STRONG> is set for TRUE and <STRONG>1</STRONG> for FALSE.
+
+- <EM>string</EM> a value of <STRONG>0</STRONG> is set if the <EM>capname</EM> is defined
+- for this terminal <EM>type</EM> (the value of <EM>capname</EM>
+- is returned on standard output); a value of <STRONG>1</STRONG>
++ <EM>string</EM> a value of <STRONG>0</STRONG> is set if the <EM>capname</EM> is defined
++ for this terminal <EM>type</EM> (the value of <EM>capname</EM>
++ is returned on standard output); a value of <STRONG>1</STRONG>
+ is set if <EM>capname</EM> is not defined for this ter-
+- minal <EM>type</EM> (nothing is written to standard
++ minal <EM>type</EM> (nothing is written to standard
+ output).
+
+ <EM>integer</EM>
+- a value of <STRONG>0</STRONG> is always set, whether or not
++ a value of <STRONG>0</STRONG> is always set, whether or not
+ <EM>capname</EM> is defined for this terminal <EM>type</EM>. To
+- determine if <EM>capname</EM> is defined for this ter-
++ determine if <EM>capname</EM> is defined for this ter-
+ minal <EM>type</EM>, the user must test the value writ-
+- ten to standard output. A value of <STRONG>-1</STRONG> means
+- that <EM>capname</EM> is not defined for this terminal
++ ten to standard output. A value of <STRONG>-1</STRONG> means
++ that <EM>capname</EM> is not defined for this terminal
+ <EM>type</EM>.
+
+- <EM>other</EM> <STRONG>reset</STRONG> or <STRONG>init</STRONG> may fail to find their respec-
+- tive files. In that case, the exit code is
++ <EM>other</EM> <STRONG>reset</STRONG> or <STRONG>init</STRONG> may fail to find their respec-
++ tive files. In that case, the exit code is
+ set to 4 + <STRONG>errno</STRONG>.
+
+- Any other exit code indicates an error; see the DIAGNOS-
++ Any other exit code indicates an error; see the DIAGNOS-
+ TICS section.
+
+
+@@ -294,11 +293,10 @@
+ <STRONG>tput</STRONG> prints the following error messages and sets the cor-
+ responding exit codes.
+
+-
+ exit code error message
+ ---------------------------------------------------------------------
+- <STRONG>0</STRONG> (<EM>capname</EM> is a numeric variable that is not specified in
+- the <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> database for this terminal type, e.g.
++ <STRONG>0</STRONG> (<EM>capname</EM> is a numeric variable that is not specified in
++ the <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> database for this terminal type, e.g.
+ <STRONG>tput</STRONG> <STRONG>-T450</STRONG> <STRONG>lines</STRONG> and <STRONG>tput</STRONG> <STRONG>-T2621</STRONG> <STRONG>xmc</STRONG>)
+ <STRONG>1</STRONG> no error message is printed, see the <STRONG>EXIT</STRONG> <STRONG>CODES</STRONG> section.
+ <STRONG>2</STRONG> usage error
+@@ -310,25 +308,37 @@
+
+ </PRE>
+ <H2>PORTABILITY</H2><PRE>
+- The <STRONG>longname</STRONG> and <STRONG>-S</STRONG> options, and the parameter-substitu-
+- tion features used in the <STRONG>cup</STRONG> example, are not supported
++ The <STRONG>longname</STRONG> and <STRONG>-S</STRONG> options, and the parameter-substitu-
++ tion features used in the <STRONG>cup</STRONG> example, are not supported
+ in BSD curses or in AT&amp;T/USL curses before SVr4.
+
+- X/Open documents only the operands for <STRONG>clear</STRONG>, <STRONG>init</STRONG> and
+- <STRONG>reset</STRONG>. In this implementation, <STRONG>clear</STRONG> is part of the <EM>cap-</EM>
++ X/Open documents only the operands for <STRONG>clear</STRONG>, <STRONG>init</STRONG> and
++ <STRONG>reset</STRONG>. In this implementation, <STRONG>clear</STRONG> is part of the <EM>cap-</EM>
+ <EM>name</EM> support. Other implementations of <STRONG>tput</STRONG> on SVr4-based
+ systems such as Solaris, IRIX64 and HPUX as well as others
+- such as AIX and Tru64 provide support for <EM>capname</EM>
+- operands. A few platforms such as FreeBSD and NetBSD rec-
+- ognize termcap names rather than terminfo capability names
+- in their respective <STRONG>tput</STRONG> commands.
++ such as AIX and Tru64 provide support for <EM>capname</EM> oper-
++ ands.
++
++ A few platforms such as FreeBSD and NetBSD recognize term-
++ cap names rather than terminfo capability names in their
++ respective <STRONG>tput</STRONG> commands.
++
++ Most implementations which provide support for <EM>capname</EM> op-
++ erands use the <EM>tparm</EM> function to expand parameters in it.
++ That function expects a mixture of numeric and string
++ parameters, requiring <STRONG>tput</STRONG> to know which type to use.
++ This implementation uses a table to determine that for the
++ standard <EM>capname</EM> operands, and an internal library func-
++ tion to analyze nonstandard <EM>capname</EM> operands. Other
++ implementations may simply guess that an operand contain-
++ ing only digits is intended to be a number.
+
+
+ </PRE>
+ <H2>SEE ALSO</H2><PRE>
+- <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG><A HREF="stty.1.html">stty(1)</A></STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
++ <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG><A HREF="stty.1.html">stty(1)</A></STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>.
+
+- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+
+
+Index: doc/html/man/tset.1.html
+--- ncurses-5.9/doc/html/man/tset.1.html 2011-04-04 22:46:52.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/tset.1.html 2013-03-09 22:12:05.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: tset.1,v 1.25 2010/12/04 18:38:55 tom Exp @
++ * @Id: tset.1,v 1.27 2011/12/17 23:20:35 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -116,8 +116,9 @@
+
+ The options are as follows:
+
+- <STRONG>-c</STRONG> Set control characters and modes. <STRONG>-e</STRONG> Set the erase
+- character to <EM>ch</EM>.
++ <STRONG>-c</STRONG> Set control characters and modes.
++
++ <STRONG>-e</STRONG> Set the erase character to <EM>ch</EM>.
+
+ <STRONG>-I</STRONG> Do not send the terminal or tab initialization
+ strings to the terminal.
+@@ -126,51 +127,51 @@
+
+ <STRONG>-k</STRONG> Set the line kill character to <EM>ch</EM>.
+
+- <STRONG>-m</STRONG> Specify a mapping from a port type to a terminal.
++ <STRONG>-m</STRONG> Specify a mapping from a port type to a terminal.
+ See the section <STRONG>TERMINAL</STRONG> <STRONG>TYPE</STRONG> <STRONG>MAPPING</STRONG> for more infor-
+ mation.
+
+- <STRONG>-Q</STRONG> Do not display any values for the erase, interrupt
++ <STRONG>-Q</STRONG> Do not display any values for the erase, interrupt
+ and line kill characters. Normally <STRONG>tset</STRONG> displays the
+- values for control characters which differ from the
++ values for control characters which differ from the
+ system's default values.
+
+- <STRONG>-q</STRONG> The terminal type is displayed to the standard out-
+- put, and the terminal is not initialized in any way.
++ <STRONG>-q</STRONG> The terminal type is displayed to the standard out-
++ put, and the terminal is not initialized in any way.
+ The option `-' by itself is equivalent but archaic.
+
+ <STRONG>-r</STRONG> Print the terminal type to the standard error output.
+
+ <STRONG>-s</STRONG> Print the sequence of shell commands to initialize
+ the environment variable <STRONG>TERM</STRONG> to the standard output.
+- See the section <STRONG>SETTING</STRONG> <STRONG>THE</STRONG> <STRONG>ENVIRONMENT</STRONG> for details.
++ See the section <STRONG>SETTING</STRONG> <STRONG>THE</STRONG> <STRONG>ENVIRONMENT</STRONG> for details.
+
+ <STRONG>-V</STRONG> reports the version of ncurses which was used in this
+ program, and exits.
+
+- <STRONG>-w</STRONG> Resize the window to match the size deduced via
++ <STRONG>-w</STRONG> Resize the window to match the size deduced via
+ <STRONG>setupterm</STRONG>. Normally this has no effect, unless
+ <STRONG>setupterm</STRONG> is not able to detect the window size.
+
+ The arguments for the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG> options may either be
+- entered as actual characters or by using the `hat' nota-
+- tion, i.e., control-h may be specified as ``^H'' or
++ entered as actual characters or by using the `hat' nota-
++ tion, i.e., control-h may be specified as ``^H'' or
+ ``^h''.
+
+
+ </PRE>
+ <H2>SETTING THE ENVIRONMENT</H2><PRE>
+- It is often desirable to enter the terminal type and
+- information about the terminal's capabilities into the
++ It is often desirable to enter the terminal type and
++ information about the terminal's capabilities into the
+ shell's environment. This is done using the <STRONG>-s</STRONG> option.
+
+ When the <STRONG>-s</STRONG> option is specified, the commands to enter the
+- information into the shell's environment are written to
+- the standard output. If the <STRONG>SHELL</STRONG> environmental variable
++ information into the shell's environment are written to
++ the standard output. If the <STRONG>SHELL</STRONG> environmental variable
+ ends in ``csh'', the commands are for <STRONG>csh</STRONG>, otherwise, they
+- are for <STRONG>sh</STRONG>. Note, the <STRONG>csh</STRONG> commands set and unset the
+- shell variable <STRONG>noglob</STRONG>, leaving it unset. The following
+- line in the <STRONG>.login</STRONG> or <STRONG>.profile</STRONG> files will initialize the
++ are for <STRONG>sh</STRONG>. Note, the <STRONG>csh</STRONG> commands set and unset the
++ shell variable <STRONG>noglob</STRONG>, leaving it unset. The following
++ line in the <STRONG>.login</STRONG> or <STRONG>.profile</STRONG> files will initialize the
+ environment correctly:
+
+ eval `tset -s options ... `
+@@ -180,107 +181,107 @@
+ <H2>TERMINAL TYPE MAPPING</H2><PRE>
+ When the terminal is not hardwired into the system (or the
+ current system information is incorrect) the terminal type
+- derived from the <EM>/etc/ttys</EM> file or the <STRONG>TERM</STRONG> environmental
+- variable is often something generic like <STRONG>network</STRONG>, <STRONG>dialup</STRONG>,
+- or <STRONG>unknown</STRONG>. When <STRONG>tset</STRONG> is used in a startup script it is
+- often desirable to provide information about the type of
++ derived from the <EM>/etc/ttys</EM> file or the <STRONG>TERM</STRONG> environmental
++ variable is often something generic like <STRONG>network</STRONG>, <STRONG>dialup</STRONG>,
++ or <STRONG>unknown</STRONG>. When <STRONG>tset</STRONG> is used in a startup script it is
++ often desirable to provide information about the type of
+ terminal used on such ports.
+
+- The purpose of the <STRONG>-m</STRONG> option is to map from some set of
+- conditions to a terminal type, that is, to tell <STRONG>tset</STRONG> ``If
+- I'm on this port at a particular speed, guess that I'm on
++ The purpose of the <STRONG>-m</STRONG> option is to map from some set of
++ conditions to a terminal type, that is, to tell <STRONG>tset</STRONG> ``If
++ I'm on this port at a particular speed, guess that I'm on
+ that kind of terminal''.
+
+ The argument to the <STRONG>-m</STRONG> option consists of an optional port
+ type, an optional operator, an optional baud rate specifi-
+ cation, an optional colon (``:'') character and a terminal
+- type. The port type is a string (delimited by either the
++ type. The port type is a string (delimited by either the
+ operator or the colon character). The operator may be any
+ combination of ``&gt;'', ``&lt;'', ``@'', and ``!''; ``&gt;'' means
+- greater than, ``&lt;'' means less than, ``@'' means equal to
++ greater than, ``&lt;'' means less than, ``@'' means equal to
+ and ``!'' inverts the sense of the test. The baud rate is
+- specified as a number and is compared with the speed of
+- the standard error output (which should be the control
++ specified as a number and is compared with the speed of
++ the standard error output (which should be the control
+ terminal). The terminal type is a string.
+
+ If the terminal type is not specified on the command line,
+- the <STRONG>-m</STRONG> mappings are applied to the terminal type. If the
+- port type and baud rate match the mapping, the terminal
+- type specified in the mapping replaces the current type.
+- If more than one mapping is specified, the first applica-
++ the <STRONG>-m</STRONG> mappings are applied to the terminal type. If the
++ port type and baud rate match the mapping, the terminal
++ type specified in the mapping replaces the current type.
++ If more than one mapping is specified, the first applica-
+ ble mapping is used.
+
+- For example, consider the following mapping:
++ For example, consider the following mapping:
+ <STRONG>dialup&gt;9600:vt100</STRONG>. The port type is dialup , the operator
+- is &gt;, the baud rate specification is 9600, and the termi-
++ is &gt;, the baud rate specification is 9600, and the termi-
+ nal type is vt100. The result of this mapping is to spec-
+ ify that if the terminal type is <STRONG>dialup</STRONG>, and the baud rate
+- is greater than 9600 baud, a terminal type of <STRONG>vt100</STRONG> will
++ is greater than 9600 baud, a terminal type of <STRONG>vt100</STRONG> will
+ be used.
+
+ If no baud rate is specified, the terminal type will match
+ any baud rate. If no port type is specified, the terminal
+- type will match any port type. For example, <STRONG>-m</STRONG>
++ type will match any port type. For example, <STRONG>-m</STRONG>
+ <STRONG>dialup:vt100</STRONG> <STRONG>-m</STRONG> <STRONG>:?xterm</STRONG> will cause any dialup port,
+ regardless of baud rate, to match the terminal type vt100,
+- and any non-dialup port type to match the terminal type
+- ?xterm. Note, because of the leading question mark, the
+- user will be queried on a default port as to whether they
++ and any non-dialup port type to match the terminal type
++ ?xterm. Note, because of the leading question mark, the
++ user will be queried on a default port as to whether they
+ are actually using an xterm terminal.
+
+- No whitespace characters are permitted in the <STRONG>-m</STRONG> option
+- argument. Also, to avoid problems with meta-characters,
+- it is suggested that the entire <STRONG>-m</STRONG> option argument be
+- placed within single quote characters, and that <STRONG>csh</STRONG> users
+- insert a backslash character (``\'') before any exclama-
++ No whitespace characters are permitted in the <STRONG>-m</STRONG> option
++ argument. Also, to avoid problems with meta-characters,
++ it is suggested that the entire <STRONG>-m</STRONG> option argument be
++ placed within single quote characters, and that <STRONG>csh</STRONG> users
++ insert a backslash character (``\'') before any exclama-
+ tion marks (``!'').
+
+
+ </PRE>
+ <H2>HISTORY</H2><PRE>
+- The <STRONG>tset</STRONG> command appeared in BSD 3.0. The <STRONG>ncurses</STRONG> imple-
+- mentation was lightly adapted from the 4.4BSD sources for
++ The <STRONG>tset</STRONG> command appeared in BSD 3.0. The <STRONG>ncurses</STRONG> imple-
++ mentation was lightly adapted from the 4.4BSD sources for
+ a terminfo environment by Eric S. Raymond &lt;esr@snark.thyr-
+ sus.com&gt;.
+
+
+ </PRE>
+ <H2>COMPATIBILITY</H2><PRE>
+- The <STRONG>tset</STRONG> utility has been provided for backward-compati-
+- bility with BSD environments (under most modern UNIXes,
+- <STRONG>/etc/inittab</STRONG> and <STRONG><A HREF="getty.1.html">getty(1)</A></STRONG> can set <STRONG>TERM</STRONG> appropriately for
+- each dial-up line; this obviates what was <STRONG>tset</STRONG>'s most
+- important use). This implementation behaves like 4.4BSD
++ The <STRONG>tset</STRONG> utility has been provided for backward-compati-
++ bility with BSD environments (under most modern UNIXes,
++ <STRONG>/etc/inittab</STRONG> and <STRONG><A HREF="getty.1.html">getty(1)</A></STRONG> can set <STRONG>TERM</STRONG> appropriately for
++ each dial-up line; this obviates what was <STRONG>tset</STRONG>'s most
++ important use). This implementation behaves like 4.4BSD
+ tset, with a few exceptions specified here.
+
+- The <STRONG>-S</STRONG> option of BSD tset no longer works; it prints an
++ The <STRONG>-S</STRONG> option of BSD tset no longer works; it prints an
+ error message to stderr and dies. The <STRONG>-s</STRONG> option only sets
+- <STRONG>TERM</STRONG>, not <STRONG>TERMCAP</STRONG>. Both these changes are because the
+- <STRONG>TERMCAP</STRONG> variable is no longer supported under terminfo-
++ <STRONG>TERM</STRONG>, not <STRONG>TERMCAP</STRONG>. Both these changes are because the
++ <STRONG>TERMCAP</STRONG> variable is no longer supported under terminfo-
+ based <STRONG>ncurses</STRONG>, which makes <STRONG>tset</STRONG> <STRONG>-S</STRONG> useless (we made it die
+ noisily rather than silently induce lossage).
+
+- There was an undocumented 4.4BSD feature that invoking
++ There was an undocumented 4.4BSD feature that invoking
+ tset via a link named `TSET` (or via any other name begin-
+- ning with an upper-case letter) set the terminal to use
++ ning with an upper-case letter) set the terminal to use
+ upper-case only. This feature has been omitted.
+
+- The <STRONG>-A</STRONG>, <STRONG>-E</STRONG>, <STRONG>-h</STRONG>, <STRONG>-u</STRONG> and <STRONG>-v</STRONG> options were deleted from the
+- <STRONG>tset</STRONG> utility in 4.4BSD. None of them were documented in
+- 4.3BSD and all are of limited utility at best. The <STRONG>-a</STRONG>,
++ The <STRONG>-A</STRONG>, <STRONG>-E</STRONG>, <STRONG>-h</STRONG>, <STRONG>-u</STRONG> and <STRONG>-v</STRONG> options were deleted from the
++ <STRONG>tset</STRONG> utility in 4.4BSD. None of them were documented in
++ 4.3BSD and all are of limited utility at best. The <STRONG>-a</STRONG>,
+ <STRONG>-d</STRONG>, and <STRONG>-p</STRONG> options are similarly not documented or useful,
+- but were retained as they appear to be in widespread use.
+- It is strongly recommended that any usage of these three
+- options be changed to use the <STRONG>-m</STRONG> option instead. The <STRONG>-n</STRONG>
+- option remains, but has no effect. The <STRONG>-adnp</STRONG> options are
++ but were retained as they appear to be in widespread use.
++ It is strongly recommended that any usage of these three
++ options be changed to use the <STRONG>-m</STRONG> option instead. The <STRONG>-n</STRONG>
++ option remains, but has no effect. The <STRONG>-adnp</STRONG> options are
+ therefore omitted from the usage summary above.
+
+- It is still permissible to specify the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG>
+- options without arguments, although it is strongly recom-
+- mended that such usage be fixed to explicitly specify the
++ It is still permissible to specify the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG>
++ options without arguments, although it is strongly recom-
++ mended that such usage be fixed to explicitly specify the
+ character.
+
+- As of 4.4BSD, executing <STRONG>tset</STRONG> as <STRONG>reset</STRONG> no longer implies
++ As of 4.4BSD, executing <STRONG>tset</STRONG> as <STRONG>reset</STRONG> no longer implies
+ the <STRONG>-Q</STRONG> option. Also, the interaction between the - option
+ and the <EM>terminal</EM> argument in some historic implementations
+ of <STRONG>tset</STRONG> has been removed.
+@@ -294,7 +295,7 @@
+ tells <STRONG>tset</STRONG> whether to initialize <STRONG>TERM</STRONG> using <STRONG>sh</STRONG> or <STRONG>csh</STRONG>
+ syntax.
+
+- TERM Denotes your terminal type. Each terminal type is
++ TERM Denotes your terminal type. Each terminal type is
+ distinct, though many are similar.
+
+ TERMCAP
+@@ -307,7 +308,7 @@
+ </PRE>
+ <H2>FILES</H2><PRE>
+ /etc/ttys
+- system port name to terminal type mapping database
++ system port name to terminal type mapping database
+ (BSD versions only).
+
+ /usr/share/terminfo
+@@ -316,10 +317,10 @@
+
+ </PRE>
+ <H2>SEE ALSO</H2><PRE>
+- <STRONG><A HREF="csh.1.html">csh(1)</A></STRONG>, <STRONG><A HREF="sh.1.html">sh(1)</A></STRONG>, <STRONG><A HREF="stty.1.html">stty(1)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="tty.4.html">tty(4)</A></STRONG>, ter-
++ <STRONG><A HREF="csh.1.html">csh(1)</A></STRONG>, <STRONG><A HREF="sh.1.html">sh(1)</A></STRONG>, <STRONG><A HREF="stty.1.html">stty(1)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="tty.4.html">tty(4)</A></STRONG>, ter-
+ <STRONG><A HREF="minfo.5.html">minfo(5)</A></STRONG>, <STRONG><A HREF="ttys.5.html">ttys(5)</A></STRONG>, <STRONG><A HREF="environ.7.html">environ(7)</A></STRONG>
+
+- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+
+
+Index: doc/html/ncurses-intro.html
+Prereq: 1.44
+--- ncurses-5.9/doc/html/ncurses-intro.html 2010-12-04 16:46:22.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/ncurses-intro.html 2012-04-28 21:39:17.000000000 +0000
+@@ -1,8 +1,8 @@
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+ <!--
+- $Id: ncurses-intro.html,v 1.44 2010/12/04 16:46:22 tom Exp $
++ $Id: ncurses-intro.html,v 1.45 2012/04/28 21:39:17 Paul.Waring Exp $
+ ****************************************************************************
+- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -431,6 +431,7 @@
+ Here is a sample program to motivate the discussion:
+
+ <PRE>
++#include &lt;stdlib.h&gt;
+ #include &lt;curses.h&gt;
+ #include &lt;signal.h&gt;
+
+Index: doc/ncurses-intro.doc
+--- ncurses-5.9/doc/ncurses-intro.doc 2007-03-03 23:45:04.000000000 +0000
++++ ncurses-5.9-20130504/doc/ncurses-intro.doc 2012-04-28 22:48:33.000000000 +0000
+@@ -333,6 +333,7 @@
+
+ Here is a sample program to motivate the discussion:
+ #include <curses.h>
++#include <curses.h>
+ #include <signal.h>
+
+ static void finish(int sig);
+Index: form/Makefile.in
+Prereq: 1.53
+--- ncurses-5.9/form/Makefile.in 2010-11-27 21:45:27.000000000 +0000
++++ ncurses-5.9-20130504/form/Makefile.in 2012-09-29 19:37:34.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: Makefile.in,v 1.53 2010/11/27 21:45:27 tom Exp $
++# $Id: Makefile.in,v 1.55 2012/09/29 19:37:34 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -102,6 +102,7 @@
+ SHLIB_DIRS = -L../lib
+ SHLIB_LIST = $(SHLIB_DIRS) -lncurses@LIB_SUFFIX@ @SHLIB_LIST@
+
++RPATH_LIST = @RPATH_LIST@
+ MK_SHARED_LIB = @MK_SHARED_LIB@
+
+ NCURSES_MAJOR = @NCURSES_MAJOR@
+@@ -111,7 +112,7 @@
+
+ RANLIB = @LIB_PREP@
+
+-LIBRARIES = @LIBS_TO_MAKE@
++LIBRARIES = @Libs_To_Make@
+
+ LINT = @LINT@
+ LINT_OPTS = @LINT_OPTS@
+Index: form/fld_arg.c
+Prereq: 1.12
+--- ncurses-5.9/form/fld_arg.c 2010-01-23 21:14:35.000000000 +0000
++++ ncurses-5.9-20130504/form/fld_arg.c 2012-06-10 00:27:49.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fld_arg.c,v 1.12 2010/01/23 21:14:35 tom Exp $")
++MODULE_ID("$Id: fld_arg.c,v 1.13 2012/06/10 00:27:49 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -71,7 +71,7 @@
+
+ if (typ != 0 && make_arg != (void *)0)
+ {
+- typ->status |= _HAS_ARGS;
++ SetStatus(typ, _HAS_ARGS);
+ typ->makearg = make_arg;
+ typ->copyarg = copy_arg;
+ typ->freearg = free_arg;
+Index: form/fld_def.c
+Prereq: 1.38
+--- ncurses-5.9/form/fld_def.c 2010-01-23 21:14:35.000000000 +0000
++++ ncurses-5.9-20130504/form/fld_def.c 2012-03-11 00:37:16.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fld_def.c,v 1.38 2010/01/23 21:14:35 tom Exp $")
++MODULE_ID("$Id: fld_def.c,v 1.40 2012/03/11 00:37:16 tom Exp $")
+
+ /* this can't be readonly */
+ static FIELD default_field =
+@@ -65,8 +65,7 @@
+ NCURSES_FIELD_EXTENSION
+ };
+
+-NCURSES_EXPORT_VAR(FIELD *)
+-_nc_Default_Field = &default_field;
++NCURSES_EXPORT_VAR(FIELD *) _nc_Default_Field = &default_field;
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -186,10 +185,12 @@
+ {
+ if ((typ->status & _LINKED_TYPE) != 0)
+ {
+- assert(argp != 0);
+- _nc_Free_Argument(typ->left, argp->left);
+- _nc_Free_Argument(typ->right, argp->right);
+- free(argp);
++ if (argp != 0)
++ {
++ _nc_Free_Argument(typ->left, argp->left);
++ _nc_Free_Argument(typ->right, argp->right);
++ free(argp);
++ }
+ }
+ else
+ {
+@@ -293,14 +294,14 @@
+ {
+ T((T_CREATE("field %p"), (void *)New_Field));
+ *New_Field = default_field;
+- New_Field->rows = rows;
+- New_Field->cols = cols;
++ New_Field->rows = (short) rows;
++ New_Field->cols = (short) cols;
+ New_Field->drows = rows + nrow;
+ New_Field->dcols = cols;
+- New_Field->frow = frow;
+- New_Field->fcol = fcol;
++ New_Field->frow = (short) frow;
++ New_Field->fcol = (short) fcol;
+ New_Field->nrow = nrow;
+- New_Field->nbuf = nbuf;
++ New_Field->nbuf = (short) nbuf;
+ New_Field->link = New_Field;
+
+ #if USE_WIDEC_SUPPORT
+Index: form/fld_dup.c
+Prereq: 1.13
+--- ncurses-5.9/form/fld_dup.c 2010-01-23 21:14:35.000000000 +0000
++++ ncurses-5.9-20130504/form/fld_dup.c 2012-03-11 00:37:16.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fld_dup.c,v 1.13 2010/01/23 21:14:35 tom Exp $")
++MODULE_ID("$Id: fld_dup.c,v 1.14 2012/03/11 00:37:16 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -60,8 +60,8 @@
+ {
+ T((T_CREATE("field %p"), (void *)New_Field));
+ *New_Field = *_nc_Default_Field;
+- New_Field->frow = frow;
+- New_Field->fcol = fcol;
++ New_Field->frow = (short) frow;
++ New_Field->fcol = (short) fcol;
+ New_Field->link = New_Field;
+ New_Field->rows = field->rows;
+ New_Field->cols = field->cols;
+Index: form/fld_ftchoice.c
+Prereq: 1.12
+--- ncurses-5.9/form/fld_ftchoice.c 2010-01-23 21:14:35.000000000 +0000
++++ ncurses-5.9-20130504/form/fld_ftchoice.c 2012-06-10 00:27:49.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fld_ftchoice.c,v 1.12 2010/01/23 21:14:35 tom Exp $")
++MODULE_ID("$Id: fld_ftchoice.c,v 1.13 2012/06/10 00:27:49 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -56,7 +56,7 @@
+ if (!typ || !next_choice || !prev_choice)
+ RETURN(E_BAD_ARGUMENT);
+
+- typ->status |= _HAS_CHOICE;
++ SetStatus(typ, _HAS_CHOICE);
+ #if NCURSES_INTEROP_FUNCS
+ typ->enum_next.onext = next_choice;
+ typ->enum_prev.oprev = prev_choice;
+Index: form/fld_ftlink.c
+Prereq: 1.14
+--- ncurses-5.9/form/fld_ftlink.c 2010-01-23 21:14:35.000000000 +0000
++++ ncurses-5.9-20130504/form/fld_ftlink.c 2012-06-10 00:27:49.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fld_ftlink.c,v 1.14 2010/01/23 21:14:35 tom Exp $")
++MODULE_ID("$Id: fld_ftlink.c,v 1.15 2012/06/10 00:27:49 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -62,11 +62,11 @@
+ {
+ T((T_CREATE("fieldtype %p"), (void *)nftyp));
+ *nftyp = *_nc_Default_FieldType;
+- nftyp->status |= _LINKED_TYPE;
++ SetStatus(nftyp, _LINKED_TYPE);
+ if ((type1->status & _HAS_ARGS) || (type2->status & _HAS_ARGS))
+- nftyp->status |= _HAS_ARGS;
++ SetStatus(nftyp, _HAS_ARGS);
+ if ((type1->status & _HAS_CHOICE) || (type2->status & _HAS_CHOICE))
+- nftyp->status |= _HAS_CHOICE;
++ SetStatus(nftyp, _HAS_CHOICE);
+ nftyp->left = type1;
+ nftyp->right = type2;
+ type1->ref++;
+Index: form/fld_just.c
+Prereq: 1.12
+--- ncurses-5.9/form/fld_just.c 2010-01-23 21:14:35.000000000 +0000
++++ ncurses-5.9-20130504/form/fld_just.c 2012-03-11 00:37:16.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fld_just.c,v 1.12 2010/01/23 21:14:35 tom Exp $")
++MODULE_ID("$Id: fld_just.c,v 1.13 2012/03/11 00:37:16 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -59,7 +59,7 @@
+ Normalize_Field(field);
+ if (field->just != just)
+ {
+- field->just = just;
++ field->just = (short) just;
+ res = _nc_Synchronize_Attributes(field);
+ }
+ else
+Index: form/fld_link.c
+Prereq: 1.12
+--- ncurses-5.9/form/fld_link.c 2010-01-23 21:14:35.000000000 +0000
++++ ncurses-5.9-20130504/form/fld_link.c 2012-03-11 00:37:16.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fld_link.c,v 1.12 2010/01/23 21:14:35 tom Exp $")
++MODULE_ID("$Id: fld_link.c,v 1.13 2012/03/11 00:37:16 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -61,8 +61,8 @@
+ {
+ T((T_CREATE("field %p"), (void *)New_Field));
+ *New_Field = *_nc_Default_Field;
+- New_Field->frow = frow;
+- New_Field->fcol = fcol;
++ New_Field->frow = (short) frow;
++ New_Field->fcol = (short) fcol;
+
+ New_Field->link = field->link;
+ field->link = New_Field;
+Index: form/fld_max.c
+Prereq: 1.10
+--- ncurses-5.9/form/fld_max.c 2010-01-23 21:14:36.000000000 +0000
++++ ncurses-5.9-20130504/form/fld_max.c 2012-06-10 00:21:24.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fld_max.c,v 1.10 2010/01/23 21:14:36 tom Exp $")
++MODULE_ID("$Id: fld_max.c,v 1.12 2012/06/10 00:21:24 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -62,13 +62,13 @@
+ RETURN(E_BAD_ARGUMENT);
+ }
+ field->maxgrow = maxgrow;
+- field->status &= ~_MAY_GROW;
++ ClrStatus(field, _MAY_GROW);
+ if (!(field->opts & O_STATIC))
+ {
+ if ((maxgrow == 0) ||
+ (single_line_field && (field->dcols < maxgrow)) ||
+ (!single_line_field && (field->drows < maxgrow)))
+- field->status |= _MAY_GROW;
++ SetStatus(field, _MAY_GROW);
+ }
+ }
+ RETURN(E_OK);
+Index: form/fld_move.c
+Prereq: 1.10
+--- ncurses-5.9/form/fld_move.c 2010-01-23 21:14:36.000000000 +0000
++++ ncurses-5.9-20130504/form/fld_move.c 2012-03-11 00:37:16.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fld_move.c,v 1.10 2010/01/23 21:14:36 tom Exp $")
++MODULE_ID("$Id: fld_move.c,v 1.11 2012/03/11 00:37:16 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -56,8 +56,8 @@
+ if (field->form)
+ RETURN(E_CONNECTED);
+
+- field->frow = frow;
+- field->fcol = fcol;
++ field->frow = (short) frow;
++ field->fcol = (short) fcol;
+ RETURN(E_OK);
+ }
+
+Index: form/fld_page.c
+Prereq: 1.10
+--- ncurses-5.9/form/fld_page.c 2010-01-23 21:14:36.000000000 +0000
++++ ncurses-5.9-20130504/form/fld_page.c 2012-06-10 00:12:47.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fld_page.c,v 1.10 2010/01/23 21:14:36 tom Exp $")
++MODULE_ID("$Id: fld_page.c,v 1.12 2012/06/10 00:12:47 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -54,9 +54,9 @@
+ RETURN(E_CONNECTED);
+
+ if (new_page_flag)
+- field->status |= _NEWPAGE;
++ SetStatus(field, _NEWPAGE);
+ else
+- field->status &= ~_NEWPAGE;
++ ClrStatus(field, _NEWPAGE);
+
+ RETURN(E_OK);
+ }
+Index: form/fld_stat.c
+Prereq: 1.12
+--- ncurses-5.9/form/fld_stat.c 2010-01-23 21:14:36.000000000 +0000
++++ ncurses-5.9-20130504/form/fld_stat.c 2012-06-10 00:13:09.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fld_stat.c,v 1.12 2010/01/23 21:14:36 tom Exp $")
++MODULE_ID("$Id: fld_stat.c,v 1.14 2012/06/10 00:13:09 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -51,9 +51,9 @@
+ Normalize_Field(field);
+
+ if (status)
+- field->status |= _CHANGED;
++ SetStatus(field, _CHANGED);
+ else
+- field->status &= ~_CHANGED;
++ ClrStatus(field, _CHANGED);
+
+ RETURN(E_OK);
+ }
+Index: form/form.priv.h
+Prereq: 0.32
+--- ncurses-5.9/form/form.priv.h 2009-11-07 21:26:43.000000000 +0000
++++ ncurses-5.9-20130504/form/form.priv.h 2012-03-11 00:37:46.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2009,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -30,11 +30,11 @@
+ * Author: Juergen Pfeifer, 1995,1997 *
+ ****************************************************************************/
+
+-/* $Id: form.priv.h,v 0.32 2009/11/07 21:26:43 tom Exp $ */
++/* $Id: form.priv.h,v 0.33 2012/03/11 00:37:46 tom Exp $ */
+
+ #ifndef FORM_PRIV_H
+ #define FORM_PRIV_H 1
+-
++/* *INDENT-OFF*/
+ #include "curses.priv.h"
+ #include "mf_common.h"
+
+@@ -119,7 +119,7 @@
+
+ /* Calculate the total size of all buffers for this field */
+ #define Total_Buffer_Size(field) \
+- ( (Buffer_Length(field) + 1) * (1+(field)->nbuf) * sizeof(FIELD_CELL) )
++ ( (size_t)(Buffer_Length(field) + 1) * (size_t)(1+(field)->nbuf) * sizeof(FIELD_CELL) )
+
+ /* Logic to determine whether or not a field is single lined */
+ #define Single_Line_Field(field) \
+@@ -293,5 +293,6 @@
+ result = ((*buffer || (l < width)) ? FALSE : TRUE); \
+ }
+ #endif
++/* *INDENT-ON*/
+
+ #endif /* FORM_PRIV_H */
+Index: form/frm_def.c
+Prereq: 1.25
+--- ncurses-5.9/form/frm_def.c 2010-01-23 21:14:36.000000000 +0000
++++ ncurses-5.9-20130504/form/frm_def.c 2012-03-11 00:37:16.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: frm_def.c,v 1.25 2010/01/23 21:14:36 tom Exp $")
++MODULE_ID("$Id: frm_def.c,v 1.26 2012/03/11 00:37:16 tom Exp $")
+
+ /* this can't be readonly */
+ static FORM default_form =
+@@ -199,14 +199,14 @@
+ for (j = 0; j < field_cnt; j++)
+ {
+ if (j == 0)
+- pg->pmin = j;
++ pg->pmin = (short) j;
+ else
+ {
+ if (fields[j]->status & _NEWPAGE)
+ {
+- pg->pmax = j - 1;
++ pg->pmax = (short) (j - 1);
+ pg++;
+- pg->pmin = j;
++ pg->pmin = (short) j;
+ }
+ }
+
+@@ -214,14 +214,14 @@
+ maximum_col_in_field = fields[j]->fcol + fields[j]->cols;
+
+ if (form->rows < maximum_row_in_field)
+- form->rows = maximum_row_in_field;
++ form->rows = (short) maximum_row_in_field;
+ if (form->cols < maximum_col_in_field)
+- form->cols = maximum_col_in_field;
++ form->cols = (short) maximum_col_in_field;
+ }
+
+- pg->pmax = field_cnt - 1;
+- form->maxfield = field_cnt;
+- form->maxpage = page_nr;
++ pg->pmax = (short) (field_cnt - 1);
++ form->maxfield = (short) field_cnt;
++ form->maxpage = (short) page_nr;
+
+ /* Sort fields on form pages */
+ for (page_nr = 0; page_nr < form->maxpage; page_nr++)
+@@ -230,8 +230,8 @@
+
+ for (j = form->page[page_nr].pmin; j <= form->page[page_nr].pmax; j++)
+ {
+- fields[j]->index = j;
+- fields[j]->page = page_nr;
++ fields[j]->index = (short) j;
++ fields[j]->page = (short) page_nr;
+ fld = Insert_Field_By_Position(fields[j], fld);
+ }
+ if (fld)
+Index: form/frm_driver.c
+Prereq: 1.98
+--- ncurses-5.9/form/frm_driver.c 2010-05-01 21:11:43.000000000 +0000
++++ ncurses-5.9-20130504/form/frm_driver.c 2013-03-09 22:48:47.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: frm_driver.c,v 1.98 2010/05/01 21:11:43 tom Exp $")
++MODULE_ID("$Id: frm_driver.c,v 1.103 2013/03/09 22:48:47 tom Exp $")
+
+ /*----------------------------------------------------------------------------
+ This is the core module of the form library. It contains the majority
+@@ -172,7 +172,7 @@
+ instead of a derived window because it contains invisible parts.
+ This is true for non-public fields and for scrollable fields. */
+ #define Has_Invisible_Parts(field) \
+- (!((field)->opts & O_PUBLIC) || \
++ (!((unsigned)(field)->opts & O_PUBLIC) || \
+ Is_Scroll_Field(field))
+
+ /* Logic to decide whether or not a field needs justification */
+@@ -180,7 +180,7 @@
+ (((field)->just != NO_JUSTIFICATION) && \
+ (Single_Line_Field(field)) && \
+ (((field)->dcols == (field)->cols) && \
+- ((field)->opts & O_STATIC)) )
++ ((unsigned)(field)->opts & O_STATIC)))
+
+ /* Logic to determine whether or not a dynamic field may still grow */
+ #define Growable(field) ((field)->status & _MAY_GROW)
+@@ -188,13 +188,13 @@
+ /* Macro to set the attributes for a fields window */
+ #define Set_Field_Window_Attributes(field,win) \
+ ( wbkgdset((win),(chtype)((field)->pad | (field)->back)), \
+- (void) wattrset((win),(field)->fore) )
++ (void) wattrset((win), (int)(field)->fore) )
+
+ /* Logic to decide whether or not a field really appears on the form */
+ #define Field_Really_Appears(field) \
+ ((field->form) &&\
+ (field->form->status & _POSTED) &&\
+- (field->opts & O_VISIBLE) &&\
++ ((unsigned)field->opts & O_VISIBLE) &&\
+ (field->page == field->form->curpage))
+
+ /* Logic to determine whether or not we are on the first position in the
+@@ -601,8 +601,8 @@
+ {
+ if (form->status & _WINDOW_MODIFIED)
+ {
+- form->status &= ~_WINDOW_MODIFIED;
+- form->status |= _FCHECK_REQUIRED;
++ ClrStatus(form, _WINDOW_MODIFIED);
++ SetStatus(form, _FCHECK_REQUIRED);
+ Window_To_Buffer(form, form->current);
+ wmove(form->w, form->currow, form->curcol);
+ }
+@@ -653,7 +653,7 @@
+ growth = Minimum(field->maxgrow - field->dcols, growth);
+ field->dcols += growth;
+ if (field->dcols == field->maxgrow)
+- field->status &= ~_MAY_GROW;
++ ClrStatus(field, _MAY_GROW);
+ }
+ else
+ {
+@@ -662,7 +662,7 @@
+ growth = Minimum(field->maxgrow - field->drows, growth);
+ field->drows += growth;
+ if (field->drows == field->maxgrow)
+- field->status &= ~_MAY_GROW;
++ ClrStatus(field, _MAY_GROW);
+ }
+ /* drows, dcols changed, so we get really the new buffer length */
+ new_buflen = Buffer_Length(field);
+@@ -674,7 +674,7 @@
+ field->drows = old_drows;
+ if ((single_line_field && (field->dcols != field->maxgrow)) ||
+ (!single_line_field && (field->drows != field->maxgrow)))
+- field->status |= _MAY_GROW;
++ SetStatus(field, _MAY_GROW);
+ }
+ else
+ {
+@@ -753,7 +753,7 @@
+ (field->dcols != field->maxgrow)) ||
+ (!single_line_field &&
+ (field->drows != field->maxgrow)))
+- field->status |= _MAY_GROW;
++ SetStatus(field, _MAY_GROW);
+ free(newbuf);
+ }
+ }
+@@ -860,7 +860,7 @@
+ field = form->current;
+ formwin = Get_Form_Window(form);
+
+- if (field->opts & O_PUBLIC)
++ if ((unsigned)field->opts & O_PUBLIC)
+ {
+ if (Is_Scroll_Field(field))
+ {
+@@ -897,19 +897,19 @@
+ if (form->currow < form->toprow)
+ {
+ form->toprow = form->currow;
+- field->status |= _NEWTOP;
++ SetStatus(field, _NEWTOP);
+ }
+ if (form->currow >= row_after_bottom)
+ {
+ form->toprow = form->currow - field->rows + 1;
+- field->status |= _NEWTOP;
++ SetStatus(field, _NEWTOP);
+ }
+ if (field->status & _NEWTOP)
+ {
+ /* means we have to copy whole range */
+ first_modified_row = form->toprow;
+ first_unmodified_row = first_modified_row + field->rows;
+- field->status &= ~_NEWTOP;
++ ClrStatus(field, _NEWTOP);
+ }
+ else
+ {
+@@ -1111,27 +1111,27 @@
+ return E_SYSTEM_ERROR;
+ else
+ {
+- if (field->opts & O_VISIBLE)
++ if ((unsigned)field->opts & O_VISIBLE)
+ {
+ Set_Field_Window_Attributes(field, win);
+ }
+ else
+ {
+- (void)wattrset(win, WINDOW_ATTRS(fwin));
++ (void)wattrset(win, (int)WINDOW_ATTRS(fwin));
+ }
+ werase(win);
+ }
+
+ if (!bEraseFlag)
+ {
+- if (field->opts & O_PUBLIC)
++ if ((unsigned)field->opts & O_PUBLIC)
+ {
+ if (Justification_Allowed(field))
+ Perform_Justification(field, win);
+ else
+ Buffer_To_Window(field, win);
+ }
+- field->status &= ~_NEWTOP;
++ ClrStatus(field, _NEWTOP);
+ }
+ wsyncup(win);
+ delwin(win);
+@@ -1170,18 +1170,18 @@
+ form->currow = form->curcol = form->toprow = form->begincol = 0;
+ werase(form->w);
+
+- if ((field->opts & O_PUBLIC) && Justification_Allowed(field))
++ if (((unsigned)field->opts & O_PUBLIC) && Justification_Allowed(field))
+ Undo_Justification(field, form->w);
+ else
+ Buffer_To_Window(field, form->w);
+
+- field->status |= _NEWTOP;
++ SetStatus(field, _NEWTOP);
+ res = _nc_Refresh_Current_Field(form);
+ }
+ else
+ res = Display_Field(field);
+ }
+- field->status |= _CHANGED;
++ SetStatus(field, _CHANGED);
+ return (res);
+ }
+
+@@ -1211,7 +1211,7 @@
+ return (E_SYSTEM_ERROR);
+
+ for (linked_field = field->link;
+- linked_field != field;
++ (linked_field != field) && (linked_field != 0);
+ linked_field = linked_field->link)
+ {
+ if (((syncres = Synchronize_Field(linked_field)) != E_OK) &&
+@@ -1256,7 +1256,7 @@
+ werase(form->w);
+ wmove(form->w, form->currow, form->curcol);
+
+- if (field->opts & O_PUBLIC)
++ if ((unsigned)field->opts & O_PUBLIC)
+ {
+ if (Justification_Allowed(field))
+ Undo_Justification(field, form->w);
+@@ -1272,7 +1272,7 @@
+ field->rows - 1, field->cols - 1, 0);
+ wsyncup(formwin);
+ Buffer_To_Window(field, form->w);
+- field->status |= _NEWTOP; /* fake refresh to paint all */
++ SetStatus(field, _NEWTOP); /* fake refresh to paint all */
+ _nc_Refresh_Current_Field(form);
+ }
+ }
+@@ -1326,34 +1326,34 @@
+ field->opts = oldopts;
+ returnCode(E_CURRENT);
+ }
+- if ((form->curpage == field->page))
++ if (form->curpage == field->page)
+ {
+- if (changed_opts & O_VISIBLE)
++ if ((unsigned)changed_opts & O_VISIBLE)
+ {
+- if (newopts & O_VISIBLE)
++ if ((unsigned)newopts & O_VISIBLE)
+ res = Display_Field(field);
+ else
+ res = Erase_Field(field);
+ }
+ else
+ {
+- if ((changed_opts & O_PUBLIC) &&
+- (newopts & O_VISIBLE))
++ if (((unsigned)changed_opts & O_PUBLIC) &&
++ ((unsigned)newopts & O_VISIBLE))
+ res = Display_Field(field);
+ }
+ }
+ }
+ }
+
+- if (changed_opts & O_STATIC)
++ if ((unsigned)changed_opts & O_STATIC)
+ {
+ bool single_line_field = Single_Line_Field(field);
+ int res2 = E_OK;
+
+- if (newopts & O_STATIC)
++ if ((unsigned)newopts & O_STATIC)
+ {
+ /* the field becomes now static */
+- field->status &= ~_MAY_GROW;
++ ClrStatus(field, _MAY_GROW);
+ /* if actually we have no hidden columns, justification may
+ occur again */
+ if (single_line_field &&
+@@ -1371,7 +1371,7 @@
+ (single_line_field && (field->dcols < field->maxgrow)) ||
+ (!single_line_field && (field->drows < field->maxgrow)))
+ {
+- field->status |= _MAY_GROW;
++ SetStatus(field, _MAY_GROW);
+ /* a field with justification now changes its behavior,
+ so we must redisplay it */
+ if (single_line_field &&
+@@ -1424,18 +1424,18 @@
+ !(form->status & _POSTED))
+ {
+ if ((form->w) &&
+- (field->opts & O_VISIBLE) &&
++ ((unsigned)field->opts & O_VISIBLE) &&
+ (field->form->curpage == field->page))
+ {
+ _nc_Refresh_Current_Field(form);
+- if (field->opts & O_PUBLIC)
++ if ((unsigned)field->opts & O_PUBLIC)
+ {
+ if (field->drows > field->rows)
+ {
+ if (form->toprow == 0)
+- field->status &= ~_NEWTOP;
++ ClrStatus(field, _NEWTOP);
+ else
+- field->status |= _NEWTOP;
++ SetStatus(field, _NEWTOP);
+ }
+ else
+ {
+@@ -1469,7 +1469,7 @@
+ delwin(form->w);
+ form->w = new_window;
+
+- form->status &= ~_WINDOW_MODIFIED;
++ ClrStatus(form, _WINDOW_MODIFIED);
+ Set_Field_Window_Attributes(field, form->w);
+
+ if (Has_Invisible_Parts(field))
+@@ -1998,7 +1998,7 @@
+ {
+ res = fct(form);
+ if (res == E_OK)
+- form->current->status |= _NEWTOP;
++ SetStatus(form, _NEWTOP);
+ }
+ return (res);
+ }
+@@ -2430,7 +2430,7 @@
+ int result = E_REQUEST_DENIED;
+ bool Last_Row = ((field->drows - 1) == form->currow);
+
+- if ((field->opts & O_WRAP) && /* wrapping wanted */
++ if (((unsigned)field->opts & O_WRAP) && /* wrapping wanted */
+ (!Single_Line_Field(field)) && /* must be multi-line */
+ (There_Is_No_Room_For_A_Char_In_Line(form)) && /* line is full */
+ (!Last_Row || Growable(field))) /* there are more lines */
+@@ -2513,7 +2513,7 @@
+ editable fields.
+ */
+ if ((fct == FE_Delete_Previous) &&
+- (form->opts & O_BS_OVERLOAD) &&
++ ((unsigned)form->opts & O_BS_OVERLOAD) &&
+ First_Position_In_Current_Field(form))
+ {
+ res = Inter_Field_Navigation(FN_Previous_Field, form);
+@@ -2522,7 +2522,7 @@
+ {
+ if (fct == FE_New_Line)
+ {
+- if ((form->opts & O_NL_OVERLOAD) &&
++ if (((unsigned)form->opts & O_NL_OVERLOAD) &&
+ First_Position_In_Current_Field(form))
+ {
+ res = Inter_Field_Navigation(FN_Next_Field, form);
+@@ -2534,11 +2534,11 @@
+ else
+ {
+ /* From now on, everything must be editable */
+- if (form->current->opts & O_EDIT)
++ if ((unsigned)form->current->opts & O_EDIT)
+ {
+ res = fct(form);
+ if (res == E_OK)
+- form->status |= _WINDOW_MODIFIED;
++ SetStatus(form, _WINDOW_MODIFIED);
+ }
+ }
+ }
+@@ -2571,7 +2571,7 @@
+ if (Last_Row &&
+ (!(Growable(field) && !Single_Line_Field(field))))
+ {
+- if (!(form->opts & O_NL_OVERLOAD))
++ if (!((unsigned)form->opts & O_NL_OVERLOAD))
+ returnCode(E_REQUEST_DENIED);
+ wmove(form->w, form->currow, form->curcol);
+ wclrtoeol(form->w);
+@@ -2579,7 +2579,7 @@
+ handled in the generic routine. The reason is,
+ that FN_Next_Field may fail, but the form is
+ definitively changed */
+- form->status |= _WINDOW_MODIFIED;
++ SetStatus(form, _WINDOW_MODIFIED);
+ returnCode(Inter_Field_Navigation(FN_Next_Field, form));
+ }
+ else
+@@ -2595,7 +2595,7 @@
+ wclrtoeol(form->w);
+ form->currow++;
+ form->curcol = 0;
+- form->status |= _WINDOW_MODIFIED;
++ SetStatus(form, _WINDOW_MODIFIED);
+ returnCode(E_OK);
+ }
+ }
+@@ -2605,7 +2605,7 @@
+ if (Last_Row &&
+ !(Growable(field) && !Single_Line_Field(field)))
+ {
+- if (!(form->opts & O_NL_OVERLOAD))
++ if (!((unsigned)form->opts & O_NL_OVERLOAD))
+ returnCode(E_REQUEST_DENIED);
+ returnCode(Inter_Field_Navigation(FN_Next_Field, form));
+ }
+@@ -2627,7 +2627,7 @@
+ wmove(form->w, form->currow, form->curcol);
+ winsertln(form->w);
+ myADDNSTR(form->w, bp, (int)(t - bp));
+- form->status |= _WINDOW_MODIFIED;
++ SetStatus(form, _WINDOW_MODIFIED);
+ returnCode(E_OK);
+ }
+ }
+@@ -2926,7 +2926,7 @@
+ EM_Overlay_Mode(FORM *form)
+ {
+ T((T_CALLED("EM_Overlay_Mode(%p)"), (void *)form));
+- form->status |= _OVLMODE;
++ SetStatus(form, _OVLMODE);
+ returnCode(E_OK);
+ }
+
+@@ -2942,7 +2942,7 @@
+ EM_Insert_Mode(FORM *form)
+ {
+ T((T_CALLED("EM_Insert_Mode(%p)"), (void *)form));
+- form->status &= ~_OVLMODE;
++ ClrStatus(form, _OVLMODE);
+ returnCode(E_OK);
+ }
+
+@@ -3111,7 +3111,7 @@
+ {
+ if (typ)
+ {
+- if (field->opts & O_NULLOK)
++ if ((unsigned)field->opts & O_NULLOK)
+ {
+ FIELD_CELL *bp = field->buf;
+
+@@ -3168,12 +3168,12 @@
+
+ Synchronize_Buffer(form);
+ if ((form->status & _FCHECK_REQUIRED) ||
+- (!(field->opts & O_PASSOK)))
++ (!((unsigned)field->opts & O_PASSOK)))
+ {
+ if (!Check_Field(form, field->type, field, (TypeArgument *)(field->arg)))
+ return FALSE;
+- form->status &= ~_FCHECK_REQUIRED;
+- field->status |= _CHANGED;
++ ClrStatus(form, _FCHECK_REQUIRED);
++ SetStatus(field, _CHANGED);
+ Synchronize_Linked_Fields(field);
+ }
+ return TRUE;
+@@ -3273,14 +3273,15 @@
+ do
+ {
+ field = (field == last_on_page) ? first : field + 1;
+- if (((*field)->opts & O_VISIBLE))
++ if (((unsigned)(*field)->opts & O_VISIBLE))
+ break;
+ }
+ while (proposed != (*field));
+
+ proposed = *field;
+
+- if ((proposed == *last_on_page) && !(proposed->opts & O_VISIBLE))
++ if ((proposed == *last_on_page) &&
++ !((unsigned)proposed->opts & O_VISIBLE))
+ {
+ /* This means, there is also no visible field on the page.
+ So we propose the first one and hope the very best...
+@@ -3816,11 +3817,11 @@
+ FIELD *last_field, *field_on_page;
+
+ werase(Get_Form_Window(form));
+- form->curpage = page;
++ form->curpage = (short)page;
+ last_field = field_on_page = form->field[form->page[page].smin];
+ do
+ {
+- if (field_on_page->opts & O_VISIBLE)
++ if ((unsigned)field_on_page->opts & O_VISIBLE)
+ if ((res = Display_Field(field_on_page)) != E_OK)
+ return (res);
+ field_on_page = field_on_page->snext;
+@@ -3999,13 +4000,13 @@
+ int result = E_REQUEST_DENIED;
+
+ T((T_CALLED("Data_Entry(%p,%s)"), (void *)form, _tracechtype((chtype)c)));
+- if ((field->opts & O_EDIT)
++ if (((unsigned)field->opts & O_EDIT)
+ #if FIX_FORM_INACTIVE_BUG
+- && (field->opts & O_ACTIVE)
++ && ((unsigned)field->opts & O_ACTIVE)
+ #endif
+ )
+ {
+- if ((field->opts & O_BLANK) &&
++ if (((unsigned)field->opts & O_BLANK) &&
+ First_Position_In_Current_Field(form) &&
+ !(form->status & _FCHECK_REQUIRED) &&
+ !(form->status & _WINDOW_MODIFIED))
+@@ -4035,8 +4036,8 @@
+ bool End_Of_Field = (((field->drows - 1) == form->currow) &&
+ ((field->dcols - 1) == form->curcol));
+
+- form->status |= _WINDOW_MODIFIED;
+- if (End_Of_Field && !Growable(field) && (field->opts & O_AUTOSKIP))
++ SetStatus(form, _WINDOW_MODIFIED);
++ if (End_Of_Field && !Growable(field) && ((unsigned)field->opts & O_AUTOSKIP))
+ result = Inter_Field_Navigation(FN_Next_Field, form);
+ else
+ {
+@@ -4228,7 +4229,10 @@
+
+ if ((c >= MIN_FORM_COMMAND && c <= MAX_FORM_COMMAND) &&
+ ((bindings[c - MIN_FORM_COMMAND].keycode & Key_Mask) == c))
+- BI = &(bindings[c - MIN_FORM_COMMAND]);
++ {
++ TR(TRACE_CALLS, ("form_request %s", form_request_name(c)));
++ BI = &(bindings[c - MIN_FORM_COMMAND]);
++ }
+
+ if (BI)
+ {
+@@ -4246,7 +4250,7 @@
+ NULL /* Choice Request is generic */
+ };
+ size_t nMethods = (sizeof(Generic_Methods) / sizeof(Generic_Methods[0]));
+- size_t method = (BI->keycode >> ID_Shft) & 0xffff; /* see ID_Mask */
++ size_t method = (size_t) ((BI->keycode >> ID_Shft) & 0xffff); /* see ID_Mask */
+
+ if ((method >= nMethods) || !(BI->cmd))
+ res = E_SYSTEM_ERROR;
+@@ -4255,9 +4259,13 @@
+ Generic_Method fct = Generic_Methods[method];
+
+ if (fct)
+- res = fct(BI->cmd, form);
++ {
++ res = fct(BI->cmd, form);
++ }
+ else
+- res = (BI->cmd) (form);
++ {
++ res = (BI->cmd) (form);
++ }
+ }
+ }
+ #ifdef NCURSES_MOUSE_VERSION
+@@ -4401,14 +4409,14 @@
+ if (!field || !value || ((buffer < 0) || (buffer > field->nbuf)))
+ RETURN(E_BAD_ARGUMENT);
+
+- len = Buffer_Length(field);
++ len = (unsigned)Buffer_Length(field);
+
+ if (Growable(field))
+ {
+ /* for a growable field we must assume zero terminated strings, because
+ somehow we have to detect the length of what should be copied.
+ */
+- unsigned int vlen = strlen(value);
++ unsigned vlen = (unsigned)strlen(value);
+
+ if (vlen > len)
+ {
+@@ -4438,7 +4446,7 @@
+ delwin(field->working);
+ field->working = newpad(1, Buffer_Length(field) + 1);
+ }
+- len = Buffer_Length(field);
++ len = (unsigned)Buffer_Length(field);
+ wclear(field->working);
+ (void)mvwaddstr(field->working, 0, 0, value);
+
+@@ -4450,8 +4458,8 @@
+ {
+ for (i = 0; i < (unsigned)field->drows; ++i)
+ {
+- (void)mvwin_wchnstr(field->working, 0, i * field->dcols,
+- widevalue + (i * field->dcols),
++ (void)mvwin_wchnstr(field->working, 0, (int)i * field->dcols,
++ widevalue + ((int)i * field->dcols),
+ field->dcols);
+ }
+ for (i = 0; i < len; ++i)
+@@ -4512,7 +4520,7 @@
+ {
+ #if USE_WIDEC_SUPPORT
+ FIELD_CELL *data = Address_Of_Nth_Buffer(field, buffer);
+- unsigned need = 0;
++ size_t need = 0;
+ int size = Buffer_Length(field);
+ int n;
+
+@@ -4613,7 +4621,7 @@
+ {
+ result[need] = wch;
+ }
+- passed += status;
++ passed += (size_t) status;
+ ++need;
+ }
+ else
+@@ -4633,7 +4641,7 @@
+ break;
+ result = typeCalloc(wchar_t, need);
+
+- *lengthp = need;
++ *lengthp = (int)need;
+ if (result == 0)
+ break;
+ }
+Index: form/frm_hook.c
+Prereq: 1.15
+--- ncurses-5.9/form/frm_hook.c 2010-01-23 21:12:08.000000000 +0000
++++ ncurses-5.9-20130504/form/frm_hook.c 2012-03-11 00:37:16.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,13 +32,13 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: frm_hook.c,v 1.15 2010/01/23 21:12:08 tom Exp $")
++MODULE_ID("$Id: frm_hook.c,v 1.16 2012/03/11 00:37:16 tom Exp $")
+
+ /* "Template" macro to generate function to set application specific hook */
+ #define GEN_HOOK_SET_FUNCTION( typ, name ) \
+ NCURSES_IMPEXP int NCURSES_API set_ ## typ ## _ ## name (FORM *form, Form_Hook func)\
+ {\
+- T((T_CALLED("set_" #typ"_"#name"(%p,%p)"), form, func));\
++ T((T_CALLED("set_" #typ"_"#name"(%p,%p)"), (void *) form, func));\
+ (Normalize_Form( form ) -> typ ## name) = func ;\
+ RETURN(E_OK);\
+ }
+Index: form/frm_opts.c
+Prereq: 1.15
+--- ncurses-5.9/form/frm_opts.c 2010-01-23 21:14:36.000000000 +0000
++++ ncurses-5.9-20130504/form/frm_opts.c 2012-06-09 20:29:33.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: frm_opts.c,v 1.15 2010/01/23 21:14:36 tom Exp $")
++MODULE_ID("$Id: frm_opts.c,v 1.16 2012/06/09 20:29:33 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -49,7 +49,7 @@
+ {
+ T((T_CALLED("set_form_opts(%p,%d)"), (void *)form, opts));
+
+- opts &= ALL_FORM_OPTS;
++ opts &= (Form_Options) ALL_FORM_OPTS;
+ if (opts & ~ALL_FORM_OPTS)
+ RETURN(E_BAD_ARGUMENT);
+ else
+@@ -89,7 +89,7 @@
+ {
+ T((T_CALLED("form_opts_on(%p,%d)"), (void *)form, opts));
+
+- opts &= ALL_FORM_OPTS;
++ opts &= (Form_Options) ALL_FORM_OPTS;
+ if (opts & ~ALL_FORM_OPTS)
+ RETURN(E_BAD_ARGUMENT);
+ else
+@@ -114,7 +114,7 @@
+ {
+ T((T_CALLED("form_opts_off(%p,%d)"), (void *)form, opts));
+
+- opts &= ALL_FORM_OPTS;
++ opts &= (Form_Options) ALL_FORM_OPTS;
+ if (opts & ~ALL_FORM_OPTS)
+ RETURN(E_BAD_ARGUMENT);
+ else
+Index: form/frm_page.c
+Prereq: 1.11
+--- ncurses-5.9/form/frm_page.c 2010-01-23 21:14:36.000000000 +0000
++++ ncurses-5.9-20130504/form/frm_page.c 2012-06-10 00:28:04.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: frm_page.c,v 1.11 2010/01/23 21:14:36 tom Exp $")
++MODULE_ID("$Id: frm_page.c,v 1.12 2012/06/10 00:28:04 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -58,7 +58,7 @@
+
+ if (!(form->status & _POSTED))
+ {
+- form->curpage = page;
++ form->curpage = (short)page;
+ form->current = _nc_First_Active_Field(form);
+ }
+ else
+Index: form/frm_post.c
+Prereq: 1.10
+--- ncurses-5.9/form/frm_post.c 2010-01-23 21:14:36.000000000 +0000
++++ ncurses-5.9-20130504/form/frm_post.c 2012-06-10 00:27:49.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: frm_post.c,v 1.10 2010/01/23 21:14:36 tom Exp $")
++MODULE_ID("$Id: frm_post.c,v 1.11 2012/06/10 00:27:49 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -77,7 +77,7 @@
+ if ((err = _nc_Set_Form_Page(form, page, form->current)) != E_OK)
+ RETURN(err);
+
+- form->status |= _POSTED;
++ SetStatus(form, _POSTED);
+
+ Call_Hook(form, forminit);
+ Call_Hook(form, fieldinit);
+@@ -117,7 +117,7 @@
+ werase(Get_Form_Window(form));
+ delwin(form->w);
+ form->w = (WINDOW *)0;
+- form->status &= ~_POSTED;
++ ClrStatus(form, _POSTED);
+ RETURN(E_OK);
+ }
+
+Index: form/frm_req_name.c
+Prereq: 1.17
+--- ncurses-5.9/form/frm_req_name.c 2009-10-10 16:17:01.000000000 +0000
++++ ncurses-5.9-20130504/form/frm_req_name.c 2012-07-21 23:17:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2009,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,7 +37,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: frm_req_name.c,v 1.17 2009/10/10 16:17:01 tom Exp $")
++MODULE_ID("$Id: frm_req_name.c,v 1.18 2012/07/21 23:17:23 tom Exp $")
+
+ static const char *request_names[MAX_FORM_COMMAND - MIN_FORM_COMMAND + 1] =
+ {
+@@ -144,23 +144,26 @@
+ /* because the table is so small, it doesn't really hurt
+ to run sequentially through it.
+ */
+- unsigned int i = 0;
+- char buf[16];
++ size_t i = 0;
++ char buf[16]; /* longest name is 10 chars */
+
+ T((T_CALLED("form_request_by_name(%s)"), _nc_visbuf(str)));
+
+- if (str)
++ if (str != 0 && (i = strlen(str)) != 0)
+ {
+- strncpy(buf, str, sizeof(buf));
+- while ((i < sizeof(buf)) && (buf[i] != '\0'))
++ if (i > sizeof(buf) - 2)
++ i = sizeof(buf) - 2;
++ memcpy(buf, str, i);
++ buf[i] = '\0';
++
++ for (i = 0; buf[i] != '\0'; ++i)
+ {
+ buf[i] = (char)toupper(UChar(buf[i]));
+- i++;
+ }
+
+ for (i = 0; i < A_SIZE; i++)
+ {
+- if (strncmp(request_names[i], buf, sizeof(buf)) == 0)
++ if (strcmp(request_names[i], buf) == 0)
+ returnCode(MIN_FORM_COMMAND + (int)i);
+ }
+ }
+Index: form/fty_generic.c
+Prereq: 1.5
+--- ncurses-5.9/form/fty_generic.c 2010-01-23 21:14:36.000000000 +0000
++++ ncurses-5.9-20130504/form/fty_generic.c 2012-06-10 00:27:49.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2008-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2008-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -34,7 +34,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fty_generic.c,v 1.5 2010/01/23 21:14:36 tom Exp $")
++MODULE_ID("$Id: fty_generic.c,v 1.6 2012/06/10 00:27:49 tom Exp $")
+
+ /*
+ * This is not a full implementation of a field type, but adds some
+@@ -119,7 +119,7 @@
+ if (res)
+ {
+ *res = *_nc_Default_FieldType;
+- res->status |= (_HAS_ARGS | _GENERIC);
++ SetStatus(res, (_HAS_ARGS | _GENERIC));
+ res->fieldcheck.gfcheck = field_check;
+ res->charcheck.gccheck = char_check;
+ res->genericarg = Generic_This_Type;
+Index: form/fty_int.c
+Prereq: 1.25
+--- ncurses-5.9/form/fty_int.c 2010-01-23 21:14:36.000000000 +0000
++++ ncurses-5.9-20130504/form/fty_int.c 2012-02-23 10:02:15.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -34,7 +34,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fty_int.c,v 1.25 2010/01/23 21:14:36 tom Exp $")
++MODULE_ID("$Id: fty_int.c,v 1.26 2012/02/23 10:02:15 tom Exp $")
+
+ #if USE_WIDEC_SUPPORT
+ #define isDigit(c) (iswdigit((wint_t)(c)) || isdigit(UChar(c)))
+@@ -233,7 +233,8 @@
+ }
+ if (result)
+ {
+- sprintf(buf, "%.*ld", (prec > 0 ? prec : 0), val);
++ _nc_SPRINTF(buf, _nc_SLIMIT(sizeof(buf))
++ "%.*ld", (prec > 0 ? prec : 0), val);
+ set_field_buffer(field, 0, buf);
+ }
+ }
+Index: form/fty_num.c
+Prereq: 1.28
+--- ncurses-5.9/form/fty_num.c 2010-01-23 21:14:36.000000000 +0000
++++ ncurses-5.9-20130504/form/fty_num.c 2012-02-23 10:02:15.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -34,7 +34,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fty_num.c,v 1.28 2010/01/23 21:14:36 tom Exp $")
++MODULE_ID("$Id: fty_num.c,v 1.29 2012/02/23 10:02:15 tom Exp $")
+
+ #if HAVE_LOCALE_H
+ #include <locale.h>
+@@ -271,7 +271,8 @@
+ }
+ if (result)
+ {
+- sprintf(buf, "%.*f", (prec > 0 ? prec : 0), val);
++ _nc_SPRINTF(buf, _nc_SLIMIT(sizeof(buf))
++ "%.*f", (prec > 0 ? prec : 0), val);
+ set_field_buffer(field, 0, buf);
+ }
+ }
+Index: form/fty_regex.c
+Prereq: 1.24
+--- ncurses-5.9/form/fty_regex.c 2010-01-23 21:14:37.000000000 +0000
++++ ncurses-5.9-20130504/form/fty_regex.c 2012-10-27 20:12:53.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -34,7 +34,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fty_regex.c,v 1.24 2010/01/23 21:14:37 tom Exp $")
++MODULE_ID("$Id: fty_regex.c,v 1.25 2012/10/27 20:12:53 tom Exp $")
+
+ #if HAVE_REGEX_H_FUNCS /* We prefer POSIX regex */
+ #include <regex.h>
+@@ -123,9 +123,8 @@
+ (REG_EXTENDED | REG_NOSUB | REG_NEWLINE)))
+ {
+ T((T_CREATE("regex_t %p"), (void *)preg->pRegExp));
+- preg->refCount = typeMalloc(unsigned long, 1);
+-
+- *(preg->refCount) = 1;
++ if ((preg->refCount = typeMalloc(unsigned long, 1)) != 0)
++ *(preg->refCount) = 1;
+ }
+ else
+ {
+@@ -151,9 +150,8 @@
+
+ T((T_CREATE("RegExp_Arg %p"), pArg));
+ pArg->compiled_expression = NULL;
+- pArg->refCount = typeMalloc(unsigned long, 1);
+-
+- *(pArg->refCount) = 1;
++ if ((pArg->refCount = typeMalloc(unsigned long, 1)) != 0)
++ *(pArg->refCount) = 1;
+
+ do
+ {
+Index: include/Caps
+Prereq: 1.37
+--- ncurses-5.9/include/Caps 2010-12-04 18:47:13.000000000 +0000
++++ ncurses-5.9-20130504/include/Caps 2011-10-15 23:10:18.000000000 +0000
+@@ -1,5 +1,5 @@
+ ##############################################################################
+-# Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -29,7 +29,7 @@
+ # Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995
+ # and: Eric S. Raymond <esr@snark.thyrsus.com>
+ #
+-# $Id: Caps,v 1.37 2010/12/04 18:47:13 tom Exp $
++# $Id: Caps,v 1.38 2011/10/15 23:10:18 tom Exp $
+ #
+ # This is the master termcap/terminfo capability table.
+ #
+@@ -738,11 +738,13 @@
+ #%.ad
+ #%
+ #%.in .8i
+-#%The XSI Curses standard added these. They are some post-4.1
+-#%versions of System V curses, e.g., Solaris 2.5 and IRIX 6.x.
+-#%The \fBncurses\fR termcap names for them are invented; according to the
+-#%XSI Curses standard, they have no termcap names. If your compiled terminfo
+-#%entries use these, they may not be binary-compatible with System V terminfo
++#%The XSI Curses standard added these hardcopy capabilities.
++#%They were used in some post-4.1 versions of System V curses,
++#%e.g., Solaris 2.5 and IRIX 6.x.
++#%Except for \fBYI\fP, the \fBncurses\fR termcap names for them are invented.
++#%According to the XSI Curses standard, they have no termcap names.
++#%If your compiled terminfo entries use these,
++#%they may not be binary-compatible with System V terminfo
+ #%entries after SVr4.1; beware!
+ #%
+ #%.na
+@@ -760,7 +762,7 @@
+ enter_top_hl_mode ethlm str Xt - - ----- Enter top highlight mode
+ enter_vertical_hl_mode evhlm str Xv - - ----- Enter vertical highlight mode
+ set_a_attributes sgr1 str sA - - ----- Define second set of video attributes #1-#6
+-set_pglen_inch slength str sL - - ----- YI Set page length to #1 hundredth of an inch
++set_pglen_inch slength str YI - - ----- Set page length to #1 hundredth of an inch (some implementations use sL for termcap).
+ #%.TE
+ #%.ad
+ #
+Index: include/Caps.aix4
+Prereq: 1.8
+--- ncurses-5.9/include/Caps.aix4 2010-12-04 18:47:13.000000000 +0000
++++ ncurses-5.9-20130504/include/Caps.aix4 2011-10-15 23:19:16.000000000 +0000
+@@ -1,5 +1,5 @@
+ ##############################################################################
+-# Copyright (c) 2001-2006,2010 Free Software Foundation, Inc. #
++# Copyright (c) 2001-2010,2011 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -28,7 +28,7 @@
+ #
+ # Author: Thomas Dickey
+ #
+-# $Id: Caps.aix4,v 1.8 2010/12/04 18:47:13 tom Exp $
++# $Id: Caps.aix4,v 1.9 2011/10/15 23:19:16 tom Exp $
+ #
+ # This is an adaptation of ncurses' termcap/terminfo capability table, which
+ # is designed to align with AIX 4.x's terminfo.
+@@ -840,11 +840,13 @@
+ #%.ad
+ #%
+ #%.in .8i
+-#%The XSI Curses standard added these. They are some post-4.1
+-#%versions of System V curses, e.g., Solaris 2.5 and IRIX 6.x.
+-#%The \fBncurses\fR termcap names for them are invented; according to the
+-#%XSI Curses standard, they have no termcap names. If your compiled terminfo
+-#%entries use these, they may not be binary-compatible with System V terminfo
++#%The XSI Curses standard added these hardcopy capabilities.
++#%They were used in some post-4.1 versions of System V curses,
++#%e.g., Solaris 2.5 and IRIX 6.x.
++#%Except for \fBYI\fP, the \fBncurses\fR termcap names for them are invented.
++#%According to the XSI Curses standard, they have no termcap names.
++#%If your compiled terminfo entries use these,
++#%they may not be binary-compatible with System V terminfo
+ #%entries after SVr4.1; beware!
+ #%
+ #%.na
+@@ -862,7 +864,7 @@
+ enter_top_hl_mode ethlm str Xt - - ----- Enter top highlight mode
+ enter_vertical_hl_mode evhlm str Xv - - ----- Enter vertical highlight mode
+ set_a_attributes sgr1 str sA - - ----- Define second set of video attributes #1-#6
+-set_pglen_inch slength str sL - - ----- YI Set page length to #1 hundredth of an inch
++set_pglen_inch slength str YI - - ----- Set page length to #1 hundredth of an inch (some implementations use sL for termcap).
+ #%.TE
+ #%.ad
+ #
+Index: include/Caps.hpux11
+Prereq: 1.5
+--- ncurses-5.9/include/Caps.hpux11 2010-12-04 18:47:13.000000000 +0000
++++ ncurses-5.9-20130504/include/Caps.hpux11 2011-10-15 23:20:04.000000000 +0000
+@@ -1,5 +1,5 @@
+ ##############################################################################
+-# Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. #
++# Copyright (c) 2002-2010,2011 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -28,7 +28,7 @@
+ #
+ # Author: Thomas Dickey
+ #
+-# $Id: Caps.hpux11,v 1.5 2010/12/04 18:47:13 tom Exp $
++# $Id: Caps.hpux11,v 1.6 2011/10/15 23:20:04 tom Exp $
+ #
+ # This is an adaptation of ncurses' termcap/terminfo capability table, which
+ # is designed to align with HPUX 11.x's terminfo.
+@@ -746,11 +746,13 @@
+ #%.ad
+ #%
+ #%.in .8i
+-#%The XSI Curses standard added these. They are some post-4.1
+-#%versions of System V curses, e.g., Solaris 2.5 and IRIX 6.x.
+-#%The \fBncurses\fR termcap names for them are invented; according to the
+-#%XSI Curses standard, they have no termcap names. If your compiled terminfo
+-#%entries use these, they may not be binary-compatible with System V terminfo
++#%The XSI Curses standard added these hardcopy capabilities.
++#%They were used in some post-4.1 versions of System V curses,
++#%e.g., Solaris 2.5 and IRIX 6.x.
++#%Except for \fBYI\fP, the \fBncurses\fR termcap names for them are invented.
++#%According to the XSI Curses standard, they have no termcap names.
++#%If your compiled terminfo entries use these,
++#%they may not be binary-compatible with System V terminfo
+ #%entries after SVr4.1; beware!
+ #%
+ #%.na
+@@ -761,7 +763,7 @@
+ #%lw25 lw6 lw2 lw20.
+ #%\fBVariable Cap- TCap Description\fR
+ #%\fBString name Code\fR
+-set_pglen_inch slength str sL - - ----- YI Set page length to #1 hundredth of an inch
++set_pglen_inch slength str YI - - ----- Set page length to #1 hundredth of an inch (some implementations use sL for termcap).
+ enter_horizontal_hl_mode ehhlm str Xh - - ----- Enter horizontal highlight mode
+ enter_left_hl_mode elhlm str Xl - - ----- Enter left highlight mode
+ enter_low_hl_mode elohlm str Xo - - ----- Enter low highlight mode
+Index: include/Caps.keys
+Prereq: 1.4
+--- ncurses-5.9/include/Caps.keys 2010-12-04 18:47:13.000000000 +0000
++++ ncurses-5.9-20130504/include/Caps.keys 2011-10-15 23:19:52.000000000 +0000
+@@ -1,5 +1,5 @@
+ ##############################################################################
+-# Copyright (c) 2001-2006,2010 Free Software Foundation, Inc. #
++# Copyright (c) 2001-2010,2011 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -29,7 +29,7 @@
+ # Author: Thomas Dickey
+ # and: Ilya Zakharevich
+ #
+-# $Id: Caps.keys,v 1.4 2010/12/04 18:47:13 tom Exp $
++# $Id: Caps.keys,v 1.5 2011/10/15 23:19:52 tom Exp $
+ #
+ # This is an adaptation of ncurses' termcap/terminfo capability table, which
+ # is illustrates an experimental extension to describe alt-, shift- and
+@@ -828,11 +828,13 @@
+ #%.ad
+ #%
+ #%.in .8i
+-#%The XSI Curses standard added these. They are some post-4.1
+-#%versions of System V curses, e.g., Solaris 2.5 and IRIX 6.x.
+-#%The \fBncurses\fR termcap names for them are invented; according to the
+-#%XSI Curses standard, they have no termcap names. If your compiled terminfo
+-#%entries use these, they may not be binary-compatible with System V terminfo
++#%The XSI Curses standard added these hardcopy capabilities.
++#%They were used in some post-4.1 versions of System V curses,
++#%e.g., Solaris 2.5 and IRIX 6.x.
++#%Except for \fBYI\fP, the \fBncurses\fR termcap names for them are invented.
++#%According to the XSI Curses standard, they have no termcap names.
++#%If your compiled terminfo entries use these,
++#%they may not be binary-compatible with System V terminfo
+ #%entries after SVr4.1; beware!
+ #%
+ #%.na
+@@ -850,7 +852,7 @@
+ enter_top_hl_mode ethlm str Xt - - ----- Enter top highlight mode
+ enter_vertical_hl_mode evhlm str Xv - - ----- Enter vertical highlight mode
+ set_a_attributes sgr1 str sA - - ----- Define second set of video attributes #1-#6
+-set_pglen_inch slength str sL - - ----- YI Set page length to #1 hundredth of an inch
++set_pglen_inch slength str YI - - ----- Set page length to #1 hundredth of an inch (some implementations use sL for termcap).
+ #%.TE
+ #%.ad
+ #
+Index: include/Caps.osf1r5
+Prereq: 1.5
+--- ncurses-5.9/include/Caps.osf1r5 2010-12-04 18:47:13.000000000 +0000
++++ ncurses-5.9-20130504/include/Caps.osf1r5 2011-10-15 22:52:09.000000000 +0000
+@@ -1,5 +1,5 @@
+ ##############################################################################
+-# Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. #
++# Copyright (c) 2002-2010,2011 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -28,7 +28,7 @@
+ #
+ # Author: Thomas Dickey
+ #
+-# $Id: Caps.osf1r5,v 1.5 2010/12/04 18:47:13 tom Exp $
++# $Id: Caps.osf1r5,v 1.6 2011/10/15 22:52:09 tom Exp $
+ #
+ # This is an adaptation of ncurses' termcap/terminfo capability table, which
+ # is designed to align with OSF/1 version 5 (Tru64) terminfo.
+@@ -769,7 +769,7 @@
+ xoff_character xoffc str XF - - ----- XOFF character
+ xon_character xonc str XN - - ----- XON character
+ zero_motion zerom str Zx - - ----- No motion for subsequent character
+-set_pglen_inch slength str sL - - ----- YI Set page length to #1 hundredth of an inch
++set_pglen_inch slength str YI - - ----- Set page length to #1 hundredth of an inch (some implementations use sL for termcap).
+ enter_horizontal_hl_mode ehhlm str Xh - - ----- Enter horizontal highlight mode
+ enter_left_hl_mode elhlm str Xl - - ----- Enter left highlight mode
+ enter_low_hl_mode elohlm str Xo - - ----- Enter low highlight mode
+Index: include/MKkey_defs.sh
+Prereq: 1.14
+--- ncurses-5.9/include/MKkey_defs.sh 2003-12-06 17:10:09.000000000 +0000
++++ ncurses-5.9-20130504/include/MKkey_defs.sh 2013-03-09 16:32:01.000000000 +0000
+@@ -1,7 +1,7 @@
+ #! /bin/sh
+-# $Id: MKkey_defs.sh,v 1.14 2003/12/06 17:10:09 tom Exp $
++# $Id: MKkey_defs.sh,v 1.15 2013/03/09 16:32:01 tom Exp $
+ ##############################################################################
+-# Copyright (c) 2001-2002,2003 Free Software Foundation, Inc. #
++# Copyright (c) 2001-2003,2013 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -65,9 +65,12 @@
+ key_event kv1 str V1 KEY_EVENT + ----- We were interrupted by an event
+ EOF
+
++THIS=./`basename $0`
++PARM=./`basename $DATA`
++
+ cat <<EOF
+ /*
+- * These definitions were generated by $0 $DATA
++ * These definitions were generated by $THIS $PARM
+ */
+ EOF
+
+Index: include/MKterm.h.awk.in
+Prereq: 1.58
+--- ncurses-5.9/include/MKterm.h.awk.in 2010-01-09 19:53:26.000000000 +0000
++++ ncurses-5.9-20130504/include/MKterm.h.awk.in 2011-06-25 20:51:00.000000000 +0000
+@@ -1,7 +1,7 @@
+ # vile:awkmode
+ BEGIN {
+ print "/****************************************************************************"
+- print " * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *"
++ print " * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *"
+ print " * *"
+ print " * Permission is hereby granted, free of charge, to any person obtaining a *"
+ print " * copy of this software and associated documentation files (the *"
+@@ -34,7 +34,7 @@
+ print "/* and: Thomas E. Dickey 1995-on */"
+ print "/****************************************************************************/"
+ print ""
+- print "/* $Id: MKterm.h.awk.in,v 1.58 2010/01/09 19:53:26 tom Exp $ */"
++ print "/* $Id: MKterm.h.awk.in,v 1.60 2011/06/25 20:51:00 tom Exp $ */"
+ print ""
+ print "/*"
+ print "** term.h -- Definition of struct term"
+@@ -93,41 +93,6 @@
+ print "#include <termio.h>"
+ print "#define TTY struct termio"
+ print ""
+- print "/* Add definitions to make termio look like termios."
+- print " * But ifdef it, since there are some implementations"
+- print " * that try to do this for us in a fake <termio.h>."
+- print " */"
+- print "#ifndef TCSANOW"
+- print "#define TCSANOW TCSETA"
+- print "#endif"
+- print "#ifndef TCSADRAIN"
+- print "#define TCSADRAIN TCSETAW"
+- print "#endif"
+- print "#ifndef TCSAFLUSH"
+- print "#define TCSAFLUSH TCSETAF"
+- print "#endif"
+- print "#ifndef tcsetattr"
+- print "#define tcsetattr(fd, cmd, arg) ioctl(fd, cmd, arg)"
+- print "#endif"
+- print "#ifndef tcgetattr"
+- print "#define tcgetattr(fd, arg) ioctl(fd, TCGETA, arg)"
+- print "#endif"
+- print "#ifndef cfgetospeed"
+- print "#define cfgetospeed(t) ((t)->c_cflag & CBAUD)"
+- print "#endif"
+- print "#ifndef TCIFLUSH "
+- print "#define TCIFLUSH 0"
+- print "#endif"
+- print "#ifndef TCOFLUSH "
+- print "#define TCOFLUSH 1"
+- print "#endif"
+- print "#ifndef TCIOFLUSH "
+- print "#define TCIOFLUSH 2"
+- print "#endif"
+- print "#ifndef tcflush"
+- print "#define tcflush(fd, arg) ioctl(fd, TCFLSH, arg)"
+- print "#endif"
+- print ""
+ print "#else /* !HAVE_TERMIO_H */"
+ print ""
+ print "#if __MINGW32__"
+Index: include/curses.h.in
+Prereq: 1.220
+--- ncurses-5.9/include/curses.h.in 2011-01-22 19:47:20.000000000 +0000
++++ ncurses-5.9-20130504/include/curses.h.in 2012-09-16 21:05:02.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+ * and: Thomas E. Dickey 1996-on *
+ ****************************************************************************/
+
+-/* $Id: curses.h.in,v 1.220 2011/01/22 19:47:20 tom Exp $ */
++/* $Id: curses.h.in,v 1.233 2012/09/16 21:05:02 tom Exp $ */
+
+ #ifndef __NCURSES_H
+ #define __NCURSES_H
+@@ -129,6 +129,13 @@
+ #define NCURSES_TPARM_VARARGS @NCURSES_TPARM_VARARGS@
+
+ /*
++ * Control type used for tparm's arguments. While X/Open equates long and
++ * char* values, this is not always workable for 64-bit platforms.
++ */
++#undef NCURSES_TPARM_ARG
++#define NCURSES_TPARM_ARG @NCURSES_TPARM_ARG@
++
++/*
+ * NCURSES_CH_T is used in building the library, but not used otherwise in
+ * this header file, since that would make the normal/wide-character versions
+ * of the header incompatible.
+@@ -151,15 +158,21 @@
+
+ /*
+ * With XPG4, you must define _XOPEN_SOURCE_EXTENDED, it is redundant (or
+- * conflicting) when _XOPEN_SOURCE is 500 or greater.
++ * conflicting) when _XOPEN_SOURCE is 500 or greater. If NCURSES_WIDECHAR is
++ * not already defined, e.g., if the platform relies upon nonstandard feature
++ * test macros, define it at this point if the standard feature test macros
++ * indicate that it should be defined.
+ */
+-#undef NCURSES_WIDECHAR
+-#if defined(_XOPEN_SOURCE_EXTENDED) || defined(_XPG5)
+-#define NCURSES_WIDECHAR
++#ifndef NCURSES_WIDECHAR
++#if defined(_XOPEN_SOURCE_EXTENDED) || (defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE - 0 >= 500))
++#define NCURSES_WIDECHAR 1
++#else
++#define NCURSES_WIDECHAR 0
+ #endif
++#endif /* NCURSES_WIDECHAR */
+
+ #include <stdarg.h> /* we need va_list */
+-#ifdef NCURSES_WIDECHAR
++#if NCURSES_WIDECHAR
+ #include <stddef.h> /* we want wchar_t */
+ #endif
+
+@@ -250,7 +263,7 @@
+ extern NCURSES_EXPORT_VAR(chtype) acs_map[];
+ #endif
+
+-#define NCURSES_ACS(c) (acs_map[NCURSES_CAST(unsigned char,c)])
++#define NCURSES_ACS(c) (acs_map[NCURSES_CAST(unsigned char,(c))])
+
+ /* VT100 symbols begin here */
+ #define ACS_ULCORNER NCURSES_ACS('l') /* upper left corner */
+@@ -342,7 +355,7 @@
+
+ typedef chtype attr_t; /* ...must be at least as wide as chtype */
+
+-#ifdef NCURSES_WIDECHAR
++#if NCURSES_WIDECHAR
+
+ #if @NCURSES_LIBUTF8@
+ #ifdef mblen /* libutf8.h defines it w/o undefining first */
+@@ -366,7 +379,7 @@
+ /*
+ * cchar_t stores an array of CCHARW_MAX wide characters. The first is
+ * normally a spacing character. The others are non-spacing. If those
+- * (spacing and nonspacing) do not fill the array, a null L'\0' follows.
++ * (spacing and nonspacing) do not fill the array, a null L'\0' follows.
+ * Otherwise, a null is assumed to follow when extracting via getcchar().
+ */
+ #define CCHARW_MAX @NCURSES_CCHARW_MAX@
+@@ -434,7 +447,7 @@
+
+ NCURSES_SIZE_T _yoffset; /* real begy is _begy + _yoffset */
+
+-#ifdef NCURSES_WIDECHAR
++#if NCURSES_WIDECHAR
+ cchar_t _bkgrnd; /* current background char/attribute pair */
+ #if @NCURSES_EXT_COLORS@
+ int _color; /* current color-pair for non-space character */
+@@ -757,6 +770,7 @@
+ extern NCURSES_EXPORT(int) ungetch (int); /* implemented */
+ extern NCURSES_EXPORT(int) untouchwin (WINDOW *); /* generated */
+ extern NCURSES_EXPORT(void) use_env (bool); /* implemented */
++extern NCURSES_EXPORT(void) use_tioctl (bool); /* implemented */
+ extern NCURSES_EXPORT(int) vidattr (chtype); /* implemented */
+ extern NCURSES_EXPORT(int) vidputs (chtype, NCURSES_OUTC); /* implemented */
+ extern NCURSES_EXPORT(int) vline (chtype, int); /* generated */
+@@ -832,7 +846,7 @@
+ #if NCURSES_TPARM_VARARGS
+ extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...); /* special */
+ #else
+-extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, long,long,long,long,long,long,long,long,long); /* special */
++extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG); /* special */
+ extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...); /* special */
+ #endif
+
+@@ -854,7 +868,7 @@
+ /*
+ * vid_attr() was implemented originally based on a draft of X/Open curses.
+ */
+-#ifndef NCURSES_WIDECHAR
++#if !NCURSES_WIDECHAR
+ #define vid_attr(a,pair,opts) vidattr(a)
+ #endif
+
+@@ -994,6 +1008,7 @@
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(typeahead) (SCREEN*, int); /* implemented:SP_FUNC */
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(ungetch) (SCREEN*, int); /* implemented:SP_FUNC */
+ extern NCURSES_EXPORT(void) NCURSES_SP_NAME(use_env) (SCREEN*, bool); /* implemented:SP_FUNC */
++extern NCURSES_EXPORT(void) NCURSES_SP_NAME(use_tioctl) (SCREEN*, bool); /* implemented:SP_FUNC */
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vidattr) (SCREEN*, chtype); /* implemented:SP_FUNC */
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vidputs) (SCREEN*, chtype, NCURSES_SP_OUTC); /* implemented:SP_FUNC */
+ #if @NCURSES_EXT_FUNCS@
+@@ -1084,7 +1099,7 @@
+ */
+
+ #define wgetstr(w, s) wgetnstr(w, s, -1)
+-#define getnstr(s, n) wgetnstr(stdscr, s, n)
++#define getnstr(s, n) wgetnstr(stdscr, s, (n))
+
+ #define setterm(term) setupterm(term, 1, (int *)0)
+
+@@ -1115,7 +1130,7 @@
+ #define wattroff(win,at) wattr_off(win, NCURSES_CAST(attr_t, at), NULL)
+
+ #if !NCURSES_OPAQUE
+-#if defined(NCURSES_WIDECHAR) && @NCURSES_EXT_COLORS@
++#if NCURSES_WIDECHAR && @NCURSES_EXT_COLORS@
+ #define wattrset(win,at) ((win) \
+ ? ((win)->_color = PAIR_NUMBER(at), \
+ (win)->_attrs = NCURSES_CAST(attr_t, at), \
+@@ -1137,15 +1152,15 @@
+
+ #define box(win, v, h) wborder(win, v, v, h, h, 0, 0, 0, 0)
+ #define border(ls, rs, ts, bs, tl, tr, bl, br) wborder(stdscr, ls, rs, ts, bs, tl, tr, bl, br)
+-#define hline(ch, n) whline(stdscr, ch, n)
+-#define vline(ch, n) wvline(stdscr, ch, n)
++#define hline(ch, n) whline(stdscr, ch, (n))
++#define vline(ch, n) wvline(stdscr, ch, (n))
+
+ #define winstr(w, s) winnstr(w, s, -1)
+ #define winchstr(w, s) winchnstr(w, s, -1)
+ #define winsstr(w, s) winsnstr(w, s, -1)
+
+ #if !NCURSES_OPAQUE
+-#define redrawwin(win) wredrawln(win, 0, (win)->_maxy+1)
++#define redrawwin(win) wredrawln(win, 0, ((win) ? (win)->_maxy+1 : -1))
+ #endif /* NCURSES_OPAQUE */
+
+ #define waddstr(win,str) waddnstr(win,str,-1)
+@@ -1154,55 +1169,55 @@
+ /*
+ * These apply to the first 256 color pairs.
+ */
+-#define COLOR_PAIR(n) NCURSES_BITS(n, 0)
+-#define PAIR_NUMBER(a) (NCURSES_CAST(int,((NCURSES_CAST(unsigned long,a) & A_COLOR) >> NCURSES_ATTR_SHIFT)))
++#define COLOR_PAIR(n) NCURSES_BITS((n), 0)
++#define PAIR_NUMBER(a) (NCURSES_CAST(int,((NCURSES_CAST(unsigned long,(a)) & A_COLOR) >> NCURSES_ATTR_SHIFT)))
+
+ /*
+ * pseudo functions for standard screen
+ */
+
+-#define addch(ch) waddch(stdscr,ch)
+-#define addchnstr(str,n) waddchnstr(stdscr,str,n)
+-#define addchstr(str) waddchstr(stdscr,str)
+-#define addnstr(str,n) waddnstr(stdscr,str,n)
+-#define addstr(str) waddnstr(stdscr,str,-1)
+-#define attroff(at) wattroff(stdscr,at)
+-#define attron(at) wattron(stdscr,at)
+-#define attrset(at) wattrset(stdscr,at)
+-#define attr_get(ap,cp,o) wattr_get(stdscr,ap,cp,o)
+-#define attr_off(a,o) wattr_off(stdscr,a,o)
+-#define attr_on(a,o) wattr_on(stdscr,a,o)
+-#define attr_set(a,c,o) wattr_set(stdscr,a,c,o)
+-#define bkgd(ch) wbkgd(stdscr,ch)
+-#define bkgdset(ch) wbkgdset(stdscr,ch)
+-#define chgat(n,a,c,o) wchgat(stdscr,n,a,c,o)
++#define addch(ch) waddch(stdscr,(ch))
++#define addchnstr(str,n) waddchnstr(stdscr,(str),(n))
++#define addchstr(str) waddchstr(stdscr,(str))
++#define addnstr(str,n) waddnstr(stdscr,(str),(n))
++#define addstr(str) waddnstr(stdscr,(str),-1)
++#define attroff(at) wattroff(stdscr,(at))
++#define attron(at) wattron(stdscr,(at))
++#define attrset(at) wattrset(stdscr,(at))
++#define attr_get(ap,cp,o) wattr_get(stdscr,(ap),(cp),(o))
++#define attr_off(a,o) wattr_off(stdscr,(a),(o))
++#define attr_on(a,o) wattr_on(stdscr,(a),(o))
++#define attr_set(a,c,o) wattr_set(stdscr,(a),(c),(o))
++#define bkgd(ch) wbkgd(stdscr,(ch))
++#define bkgdset(ch) wbkgdset(stdscr,(ch))
++#define chgat(n,a,c,o) wchgat(stdscr,(n),(a),(c),(o))
+ #define clear() wclear(stdscr)
+ #define clrtobot() wclrtobot(stdscr)
+ #define clrtoeol() wclrtoeol(stdscr)
+-#define color_set(c,o) wcolor_set(stdscr,c,o)
++#define color_set(c,o) wcolor_set(stdscr,(c),(o))
+ #define delch() wdelch(stdscr)
+ #define deleteln() winsdelln(stdscr,-1)
+-#define echochar(c) wechochar(stdscr,c)
++#define echochar(c) wechochar(stdscr,(c))
+ #define erase() werase(stdscr)
+ #define getch() wgetch(stdscr)
+-#define getstr(str) wgetstr(stdscr,str)
++#define getstr(str) wgetstr(stdscr,(str))
+ #define inch() winch(stdscr)
+-#define inchnstr(s,n) winchnstr(stdscr,s,n)
+-#define inchstr(s) winchstr(stdscr,s)
+-#define innstr(s,n) winnstr(stdscr,s,n)
+-#define insch(c) winsch(stdscr,c)
+-#define insdelln(n) winsdelln(stdscr,n)
++#define inchnstr(s,n) winchnstr(stdscr,(s),(n))
++#define inchstr(s) winchstr(stdscr,(s))
++#define innstr(s,n) winnstr(stdscr,(s),(n))
++#define insch(c) winsch(stdscr,(c))
++#define insdelln(n) winsdelln(stdscr,(n))
+ #define insertln() winsdelln(stdscr,1)
+-#define insnstr(s,n) winsnstr(stdscr,s,n)
+-#define insstr(s) winsstr(stdscr,s)
+-#define instr(s) winstr(stdscr,s)
+-#define move(y,x) wmove(stdscr,y,x)
++#define insnstr(s,n) winsnstr(stdscr,(s),(n))
++#define insstr(s) winsstr(stdscr,(s))
++#define instr(s) winstr(stdscr,(s))
++#define move(y,x) wmove(stdscr,(y),(x))
+ #define refresh() wrefresh(stdscr)
+-#define scrl(n) wscrl(stdscr,n)
+-#define setscrreg(t,b) wsetscrreg(stdscr,t,b)
++#define scrl(n) wscrl(stdscr,(n))
++#define setscrreg(t,b) wsetscrreg(stdscr,(t),(b))
+ #define standend() wstandend(stdscr)
+ #define standout() wstandout(stdscr)
+-#define timeout(delay) wtimeout(stdscr,delay)
++#define timeout(delay) wtimeout(stdscr,(delay))
+ #define wdeleteln(win) winsdelln(win,-1)
+ #define winsertln(win) winsdelln(win,1)
+
+@@ -1210,70 +1225,75 @@
+ * mv functions
+ */
+
+-#define mvwaddch(win,y,x,ch) (wmove(win,y,x) == ERR ? ERR : waddch(win,ch))
+-#define mvwaddchnstr(win,y,x,str,n) (wmove(win,y,x) == ERR ? ERR : waddchnstr(win,str,n))
+-#define mvwaddchstr(win,y,x,str) (wmove(win,y,x) == ERR ? ERR : waddchnstr(win,str,-1))
+-#define mvwaddnstr(win,y,x,str,n) (wmove(win,y,x) == ERR ? ERR : waddnstr(win,str,n))
+-#define mvwaddstr(win,y,x,str) (wmove(win,y,x) == ERR ? ERR : waddnstr(win,str,-1))
+-#define mvwdelch(win,y,x) (wmove(win,y,x) == ERR ? ERR : wdelch(win))
+-#define mvwchgat(win,y,x,n,a,c,o) (wmove(win,y,x) == ERR ? ERR : wchgat(win,n,a,c,o))
+-#define mvwgetch(win,y,x) (wmove(win,y,x) == ERR ? ERR : wgetch(win))
+-#define mvwgetnstr(win,y,x,str,n) (wmove(win,y,x) == ERR ? ERR : wgetnstr(win,str,n))
+-#define mvwgetstr(win,y,x,str) (wmove(win,y,x) == ERR ? ERR : wgetstr(win,str))
+-#define mvwhline(win,y,x,c,n) (wmove(win,y,x) == ERR ? ERR : whline(win,c,n))
+-#define mvwinch(win,y,x) (wmove(win,y,x) == ERR ? NCURSES_CAST(chtype, ERR) : winch(win))
+-#define mvwinchnstr(win,y,x,s,n) (wmove(win,y,x) == ERR ? ERR : winchnstr(win,s,n))
+-#define mvwinchstr(win,y,x,s) (wmove(win,y,x) == ERR ? ERR : winchstr(win,s))
+-#define mvwinnstr(win,y,x,s,n) (wmove(win,y,x) == ERR ? ERR : winnstr(win,s,n))
+-#define mvwinsch(win,y,x,c) (wmove(win,y,x) == ERR ? ERR : winsch(win,c))
+-#define mvwinsnstr(win,y,x,s,n) (wmove(win,y,x) == ERR ? ERR : winsnstr(win,s,n))
+-#define mvwinsstr(win,y,x,s) (wmove(win,y,x) == ERR ? ERR : winsstr(win,s))
+-#define mvwinstr(win,y,x,s) (wmove(win,y,x) == ERR ? ERR : winstr(win,s))
+-#define mvwvline(win,y,x,c,n) (wmove(win,y,x) == ERR ? ERR : wvline(win,c,n))
+-
+-#define mvaddch(y,x,ch) mvwaddch(stdscr,y,x,ch)
+-#define mvaddchnstr(y,x,str,n) mvwaddchnstr(stdscr,y,x,str,n)
+-#define mvaddchstr(y,x,str) mvwaddchstr(stdscr,y,x,str)
+-#define mvaddnstr(y,x,str,n) mvwaddnstr(stdscr,y,x,str,n)
+-#define mvaddstr(y,x,str) mvwaddstr(stdscr,y,x,str)
+-#define mvchgat(y,x,n,a,c,o) mvwchgat(stdscr,y,x,n,a,c,o)
+-#define mvdelch(y,x) mvwdelch(stdscr,y,x)
+-#define mvgetch(y,x) mvwgetch(stdscr,y,x)
+-#define mvgetnstr(y,x,str,n) mvwgetnstr(stdscr,y,x,str,n)
+-#define mvgetstr(y,x,str) mvwgetstr(stdscr,y,x,str)
+-#define mvhline(y,x,c,n) mvwhline(stdscr,y,x,c,n)
+-#define mvinch(y,x) mvwinch(stdscr,y,x)
+-#define mvinchnstr(y,x,s,n) mvwinchnstr(stdscr,y,x,s,n)
+-#define mvinchstr(y,x,s) mvwinchstr(stdscr,y,x,s)
+-#define mvinnstr(y,x,s,n) mvwinnstr(stdscr,y,x,s,n)
+-#define mvinsch(y,x,c) mvwinsch(stdscr,y,x,c)
+-#define mvinsnstr(y,x,s,n) mvwinsnstr(stdscr,y,x,s,n)
+-#define mvinsstr(y,x,s) mvwinsstr(stdscr,y,x,s)
+-#define mvinstr(y,x,s) mvwinstr(stdscr,y,x,s)
+-#define mvvline(y,x,c,n) mvwvline(stdscr,y,x,c,n)
++#define mvwaddch(win,y,x,ch) (wmove((win),(y),(x)) == ERR ? ERR : waddch((win),(ch)))
++#define mvwaddchnstr(win,y,x,str,n) (wmove((win),(y),(x)) == ERR ? ERR : waddchnstr((win),(str),(n)))
++#define mvwaddchstr(win,y,x,str) (wmove((win),(y),(x)) == ERR ? ERR : waddchnstr((win),(str),-1))
++#define mvwaddnstr(win,y,x,str,n) (wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),(n)))
++#define mvwaddstr(win,y,x,str) (wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),-1))
++#define mvwdelch(win,y,x) (wmove((win),(y),(x)) == ERR ? ERR : wdelch(win))
++#define mvwchgat(win,y,x,n,a,c,o) (wmove((win),(y),(x)) == ERR ? ERR : wchgat((win),(n),(a),(c),(o)))
++#define mvwgetch(win,y,x) (wmove((win),(y),(x)) == ERR ? ERR : wgetch(win))
++#define mvwgetnstr(win,y,x,str,n) (wmove((win),(y),(x)) == ERR ? ERR : wgetnstr((win),(str),(n)))
++#define mvwgetstr(win,y,x,str) (wmove((win),(y),(x)) == ERR ? ERR : wgetstr((win),(str)))
++#define mvwhline(win,y,x,c,n) (wmove((win),(y),(x)) == ERR ? ERR : whline((win),(c),(n)))
++#define mvwinch(win,y,x) (wmove((win),(y),(x)) == ERR ? NCURSES_CAST(chtype, ERR) : winch(win))
++#define mvwinchnstr(win,y,x,s,n) (wmove((win),(y),(x)) == ERR ? ERR : winchnstr((win),(s),(n)))
++#define mvwinchstr(win,y,x,s) (wmove((win),(y),(x)) == ERR ? ERR : winchstr((win),(s)))
++#define mvwinnstr(win,y,x,s,n) (wmove((win),(y),(x)) == ERR ? ERR : winnstr((win),(s),(n)))
++#define mvwinsch(win,y,x,c) (wmove((win),(y),(x)) == ERR ? ERR : winsch((win),(c)))
++#define mvwinsnstr(win,y,x,s,n) (wmove((win),(y),(x)) == ERR ? ERR : winsnstr((win),(s),(n)))
++#define mvwinsstr(win,y,x,s) (wmove((win),(y),(x)) == ERR ? ERR : winsstr((win),(s)))
++#define mvwinstr(win,y,x,s) (wmove((win),(y),(x)) == ERR ? ERR : winstr((win),(s)))
++#define mvwvline(win,y,x,c,n) (wmove((win),(y),(x)) == ERR ? ERR : wvline((win),(c),(n)))
++
++#define mvaddch(y,x,ch) mvwaddch(stdscr,(y),(x),(ch))
++#define mvaddchnstr(y,x,str,n) mvwaddchnstr(stdscr,(y),(x),(str),(n))
++#define mvaddchstr(y,x,str) mvwaddchstr(stdscr,(y),(x),(str))
++#define mvaddnstr(y,x,str,n) mvwaddnstr(stdscr,(y),(x),(str),(n))
++#define mvaddstr(y,x,str) mvwaddstr(stdscr,(y),(x),(str))
++#define mvchgat(y,x,n,a,c,o) mvwchgat(stdscr,(y),(x),(n),(a),(c),(o))
++#define mvdelch(y,x) mvwdelch(stdscr,(y),(x))
++#define mvgetch(y,x) mvwgetch(stdscr,(y),(x))
++#define mvgetnstr(y,x,str,n) mvwgetnstr(stdscr,(y),(x),(str),(n))
++#define mvgetstr(y,x,str) mvwgetstr(stdscr,(y),(x),(str))
++#define mvhline(y,x,c,n) mvwhline(stdscr,(y),(x),(c),(n))
++#define mvinch(y,x) mvwinch(stdscr,(y),(x))
++#define mvinchnstr(y,x,s,n) mvwinchnstr(stdscr,(y),(x),(s),(n))
++#define mvinchstr(y,x,s) mvwinchstr(stdscr,(y),(x),(s))
++#define mvinnstr(y,x,s,n) mvwinnstr(stdscr,(y),(x),(s),(n))
++#define mvinsch(y,x,c) mvwinsch(stdscr,(y),(x),(c))
++#define mvinsnstr(y,x,s,n) mvwinsnstr(stdscr,(y),(x),(s),(n))
++#define mvinsstr(y,x,s) mvwinsstr(stdscr,(y),(x),(s))
++#define mvinstr(y,x,s) mvwinstr(stdscr,(y),(x),(s))
++#define mvvline(y,x,c,n) mvwvline(stdscr,(y),(x),(c),(n))
+
+ /*
+ * Some wide-character functions can be implemented without the extensions.
+ */
+ #if !NCURSES_OPAQUE
+-#define getbkgd(win) ((win)->_bkgd)
++#define getbkgd(win) ((win) ? ((win)->_bkgd) : 0)
+ #endif /* NCURSES_OPAQUE */
+
+ #define slk_attr_off(a,v) ((v) ? ERR : slk_attroff(a))
+ #define slk_attr_on(a,v) ((v) ? ERR : slk_attron(a))
+
+ #if !NCURSES_OPAQUE
+-#if defined(NCURSES_WIDECHAR) && @NCURSES_EXT_COLORS@
+-#define wattr_set(win,a,p,opts) ((win)->_attrs = ((a) & ~A_COLOR), \
+- (win)->_color = (p), \
++#if NCURSES_WIDECHAR && @NCURSES_EXT_COLORS@
++#define wattr_set(win,a,p,opts) (((win) \
++ ? ((win)->_attrs = ((a) & ~A_COLOR), \
++ (win)->_color = (p)) \
++ : OK), \
+ OK)
+-#define wattr_get(win,a,p,opts) ((void)((a) != (void *)0 && (*(a) = (win)->_attrs)), \
+- (void)((p) != (void *)0 && (*(p) = (short)(win)->_color)), \
++#define wattr_get(win,a,p,opts) ((void)(((a) != (void *)0) ? (*(a) = (win) ? (win)->_attrs : 0) : OK), \
++ (void)(((p) != (void *)0) ? (*(p) = (win) ? (short)(win)->_color : 0) : OK), \
+ OK)
+ #else
+-#define wattr_set(win,a,p,opts) ((win)->_attrs = (((a) & ~A_COLOR) | (attr_t)COLOR_PAIR(p)), OK)
+-#define wattr_get(win,a,p,opts) ((void)((a) != (void *)0 && (*(a) = (win)->_attrs)), \
+- (void)((p) != (void *)0 && (*(p) = (short)PAIR_NUMBER((win)->_attrs))), \
++#define wattr_set(win,a,p,opts) (((win) \
++ ? ((win)->_attrs = (((a) & ~A_COLOR) | (attr_t)COLOR_PAIR(p))) \
++ : OK), \
++ OK)
++#define wattr_get(win,a,p,opts) ((void)(((a) != (void *)0) ? (*(a) = (win) ? (win)->_attrs : 0) : OK), \
++ (void)(((p) != (void *)0) ? (*(p) = (win) ? (short)PAIR_NUMBER((win)->_attrs) : 0) : OK), \
+ OK)
+ #endif
+ #endif /* NCURSES_OPAQUE */
+Index: include/curses.tail
+Prereq: 1.20
+--- ncurses-5.9/include/curses.tail 2010-03-28 19:10:55.000000000 +0000
++++ ncurses-5.9-20130504/include/curses.tail 2011-10-29 20:03:22.000000000 +0000
+@@ -1,4 +1,4 @@
+-/* $Id: curses.tail,v 1.20 2010/03/28 19:10:55 tom Exp $ */
++/* $Id: curses.tail,v 1.21 2011/10/29 20:03:22 tom Exp $ */
+ /*
+ * vile:cmode:
+ * This file is part of ncurses, designed to be appended after curses.h.in
+@@ -133,7 +133,7 @@
+ extern NCURSES_EXPORT(char *) _tracechar (int);
+ extern NCURSES_EXPORT(char *) _tracechtype (chtype);
+ extern NCURSES_EXPORT(char *) _tracechtype2 (int, chtype);
+-#ifdef NCURSES_WIDECHAR
++#if NCURSES_WIDECHAR
+ #define _tracech_t _tracecchar_t
+ extern NCURSES_EXPORT(char *) _tracecchar_t (const cchar_t *);
+ #define _tracech_t2 _tracecchar_t2
+Index: include/curses.wide
+Prereq: 1.42
+--- ncurses-5.9/include/curses.wide 2010-03-30 00:39:41.000000000 +0000
++++ ncurses-5.9-20130504/include/curses.wide 2012-07-28 18:10:02.000000000 +0000
+@@ -1,4 +1,4 @@
+-/* $Id: curses.wide,v 1.42 2010/03/30 00:39:41 tom Exp $ */
++/* $Id: curses.wide,v 1.45 2012/07/28 18:10:02 tom Exp $ */
+ /*
+ * vile:cmode:
+ * This file is part of ncurses, designed to be appended after curses.h.in
+@@ -6,11 +6,11 @@
+ */
+ #define _XOPEN_CURSES 1
+
+-#ifdef NCURSES_WIDECHAR
++#if NCURSES_WIDECHAR
+
+ extern NCURSES_EXPORT_VAR(cchar_t *) _nc_wacs;
+
+-#define NCURSES_WACS(c) (&_nc_wacs[(unsigned char)c])
++#define NCURSES_WACS(c) (&_nc_wacs[NCURSES_CAST(unsigned char,(c))])
+
+ #define WACS_BSSB NCURSES_WACS('l')
+ #define WACS_SSBB NCURSES_WACS('m')
+@@ -230,77 +230,77 @@
+ /*
+ * XSI curses macros for XPG4 conformance.
+ */
+-#define add_wch(c) wadd_wch(stdscr,c)
+-#define add_wchnstr(str,n) wadd_wchnstr(stdscr,str,n)
+-#define add_wchstr(str) wadd_wchstr(stdscr,str)
+-#define addnwstr(wstr,n) waddnwstr(stdscr,wstr,n)
+-#define addwstr(wstr) waddwstr(stdscr,wstr)
+-#define bkgrnd(c) wbkgrnd(stdscr,c)
+-#define bkgrndset(c) wbkgrndset(stdscr,c)
+-#define border_set(l,r,t,b,tl,tr,bl,br) wborder_set(stdscr,l,r,t,b,tl,tr,bl,br)
+-#define box_set(w,v,h) wborder_set(w,v,v,h,h,0,0,0,0)
+-#define echo_wchar(c) wecho_wchar(stdscr,c)
+-#define get_wch(c) wget_wch(stdscr,c)
+-#define get_wstr(t) wget_wstr(stdscr,t)
+-#define getbkgrnd(wch) wgetbkgrnd(stdscr,wch)
+-#define getn_wstr(t,n) wgetn_wstr(stdscr,t,n)
+-#define hline_set(c,n) whline_set(stdscr,c,n)
+-#define in_wch(c) win_wch(stdscr,c)
+-#define in_wchnstr(c,n) win_wchnstr(stdscr,c,n)
+-#define in_wchstr(c) win_wchstr(stdscr,c)
+-#define innwstr(c,n) winnwstr(stdscr,c,n)
+-#define ins_nwstr(t,n) wins_nwstr(stdscr,t,n)
+-#define ins_wch(c) wins_wch(stdscr,c)
+-#define ins_wstr(t) wins_wstr(stdscr,t)
+-#define inwstr(c) winwstr(stdscr,c)
+-#define vline_set(c,n) wvline_set(stdscr,c,n)
+-#define wadd_wchstr(win,str) wadd_wchnstr(win,str,-1)
+-#define waddwstr(win,wstr) waddnwstr(win,wstr,-1)
+-#define wget_wstr(w,t) wgetn_wstr(w,t,-1)
+-#define win_wchstr(w,c) win_wchnstr(w,c,-1)
+-#define wins_wstr(w,t) wins_nwstr(w,t,-1)
++#define add_wch(c) wadd_wch(stdscr,(c))
++#define add_wchnstr(str,n) wadd_wchnstr(stdscr,(str),(n))
++#define add_wchstr(str) wadd_wchstr(stdscr,(str))
++#define addnwstr(wstr,n) waddnwstr(stdscr,(wstr),(n))
++#define addwstr(wstr) waddwstr(stdscr,(wstr))
++#define bkgrnd(c) wbkgrnd(stdscr,(c))
++#define bkgrndset(c) wbkgrndset(stdscr,(c))
++#define border_set(l,r,t,b,tl,tr,bl,br) wborder_set(stdscr,(l),(r),(t),(b),tl,tr,bl,br)
++#define box_set(w,v,h) wborder_set((w),(v),(v),(h),(h),0,0,0,0)
++#define echo_wchar(c) wecho_wchar(stdscr,(c))
++#define get_wch(c) wget_wch(stdscr,(c))
++#define get_wstr(t) wget_wstr(stdscr,(t))
++#define getbkgrnd(wch) wgetbkgrnd(stdscr,(wch))
++#define getn_wstr(t,n) wgetn_wstr(stdscr,(t),(n))
++#define hline_set(c,n) whline_set(stdscr,(c),(n))
++#define in_wch(c) win_wch(stdscr,(c))
++#define in_wchnstr(c,n) win_wchnstr(stdscr,(c),(n))
++#define in_wchstr(c) win_wchstr(stdscr,(c))
++#define innwstr(c,n) winnwstr(stdscr,(c),(n))
++#define ins_nwstr(t,n) wins_nwstr(stdscr,(t),(n))
++#define ins_wch(c) wins_wch(stdscr,(c))
++#define ins_wstr(t) wins_wstr(stdscr,(t))
++#define inwstr(c) winwstr(stdscr,(c))
++#define vline_set(c,n) wvline_set(stdscr,(c),(n))
++#define wadd_wchstr(win,str) wadd_wchnstr((win),(str),-1)
++#define waddwstr(win,wstr) waddnwstr((win),(wstr),-1)
++#define wget_wstr(w,t) wgetn_wstr((w),(t),-1)
++#define win_wchstr(w,c) win_wchnstr((w),(c),-1)
++#define wins_wstr(w,t) wins_nwstr((w),(t),-1)
+
+ #if !NCURSES_OPAQUE
+-#define wgetbkgrnd(win,wch) (*wch = win->_bkgrnd, OK)
++#define wgetbkgrnd(win,wch) ((win) ? (*(wch) = (win)->_bkgrnd) : *(wch), OK)
+ #endif
+
+-#define mvadd_wch(y,x,c) mvwadd_wch(stdscr,y,x,c)
+-#define mvadd_wchnstr(y,x,s,n) mvwadd_wchnstr(stdscr,y,x,s,n)
+-#define mvadd_wchstr(y,x,s) mvwadd_wchstr(stdscr,y,x,s)
+-#define mvaddnwstr(y,x,wstr,n) mvwaddnwstr(stdscr,y,x,wstr,n)
+-#define mvaddwstr(y,x,wstr) mvwaddwstr(stdscr,y,x,wstr)
+-#define mvget_wch(y,x,c) mvwget_wch(stdscr,y,x,c)
+-#define mvget_wstr(y,x,t) mvwget_wstr(stdscr,y,x,t)
+-#define mvgetn_wstr(y,x,t,n) mvwgetn_wstr(stdscr,y,x,t,n)
+-#define mvhline_set(y,x,c,n) mvwhline_set(stdscr,y,x,c,n)
+-#define mvin_wch(y,x,c) mvwin_wch(stdscr,y,x,c)
+-#define mvin_wchnstr(y,x,c,n) mvwin_wchnstr(stdscr,y,x,c,n)
+-#define mvin_wchstr(y,x,c) mvwin_wchstr(stdscr,y,x,c)
+-#define mvinnwstr(y,x,c,n) mvwinnwstr(stdscr,y,x,c,n)
+-#define mvins_nwstr(y,x,t,n) mvwins_nwstr(stdscr,y,x,t,n)
+-#define mvins_wch(y,x,c) mvwins_wch(stdscr,y,x,c)
+-#define mvins_wstr(y,x,t) mvwins_wstr(stdscr,y,x,t)
+-#define mvinwstr(y,x,c) mvwinwstr(stdscr,y,x,c)
+-#define mvvline_set(y,x,c,n) mvwvline_set(stdscr,y,x,c,n)
+-
+-#define mvwadd_wch(win,y,x,c) (wmove(win,y,x) == ERR ? ERR : wadd_wch(win,c))
+-#define mvwadd_wchnstr(win,y,x,s,n) (wmove(win,y,x) == ERR ? ERR : wadd_wchnstr(win,s,n))
+-#define mvwadd_wchstr(win,y,x,s) (wmove(win,y,x) == ERR ? ERR : wadd_wchstr(win,s))
+-#define mvwaddnwstr(win,y,x,wstr,n) (wmove(win,y,x) == ERR ? ERR : waddnwstr(win,wstr,n))
+-#define mvwaddwstr(win,y,x,wstr) (wmove(win,y,x) == ERR ? ERR : waddwstr(win,wstr))
+-#define mvwget_wch(win,y,x,c) (wmove(win,y,x) == ERR ? ERR : wget_wch(win,c))
+-#define mvwget_wstr(win,y,x,t) (wmove(win,y,x) == ERR ? ERR : wget_wstr(win,t))
+-#define mvwgetn_wstr(win,y,x,t,n) (wmove(win,y,x) == ERR ? ERR : wgetn_wstr(win,t,n))
+-#define mvwhline_set(win,y,x,c,n) (wmove(win,y,x) == ERR ? ERR : whline_set(win,c,n))
+-#define mvwin_wch(win,y,x,c) (wmove(win,y,x) == ERR ? ERR : win_wch(win,c))
+-#define mvwin_wchnstr(win,y,x,c,n) (wmove(win,y,x) == ERR ? ERR : win_wchnstr(win,c,n))
+-#define mvwin_wchstr(win,y,x,c) (wmove(win,y,x) == ERR ? ERR : win_wchstr(win,c))
+-#define mvwinnwstr(win,y,x,c,n) (wmove(win,y,x) == ERR ? ERR : winnwstr(win,c,n))
+-#define mvwins_nwstr(win,y,x,t,n) (wmove(win,y,x) == ERR ? ERR : wins_nwstr(win,t,n))
+-#define mvwins_wch(win,y,x,c) (wmove(win,y,x) == ERR ? ERR : wins_wch(win,c))
+-#define mvwins_wstr(win,y,x,t) (wmove(win,y,x) == ERR ? ERR : wins_wstr(win,t))
+-#define mvwinwstr(win,y,x,c) (wmove(win,y,x) == ERR ? ERR : winwstr(win,c))
+-#define mvwvline_set(win,y,x,c,n) (wmove(win,y,x) == ERR ? ERR : wvline_set(win,c,n))
++#define mvadd_wch(y,x,c) mvwadd_wch(stdscr,(y),(x),(c))
++#define mvadd_wchnstr(y,x,s,n) mvwadd_wchnstr(stdscr,(y),(x),(s),(n))
++#define mvadd_wchstr(y,x,s) mvwadd_wchstr(stdscr,(y),(x),(s))
++#define mvaddnwstr(y,x,wstr,n) mvwaddnwstr(stdscr,(y),(x),(wstr),(n))
++#define mvaddwstr(y,x,wstr) mvwaddwstr(stdscr,(y),(x),(wstr))
++#define mvget_wch(y,x,c) mvwget_wch(stdscr,(y),(x),(c))
++#define mvget_wstr(y,x,t) mvwget_wstr(stdscr,(y),(x),(t))
++#define mvgetn_wstr(y,x,t,n) mvwgetn_wstr(stdscr,(y),(x),(t),(n))
++#define mvhline_set(y,x,c,n) mvwhline_set(stdscr,(y),(x),(c),(n))
++#define mvin_wch(y,x,c) mvwin_wch(stdscr,(y),(x),(c))
++#define mvin_wchnstr(y,x,c,n) mvwin_wchnstr(stdscr,(y),(x),(c),(n))
++#define mvin_wchstr(y,x,c) mvwin_wchstr(stdscr,(y),(x),(c))
++#define mvinnwstr(y,x,c,n) mvwinnwstr(stdscr,(y),(x),(c),(n))
++#define mvins_nwstr(y,x,t,n) mvwins_nwstr(stdscr,(y),(x),(t),(n))
++#define mvins_wch(y,x,c) mvwins_wch(stdscr,(y),(x),(c))
++#define mvins_wstr(y,x,t) mvwins_wstr(stdscr,(y),(x),(t))
++#define mvinwstr(y,x,c) mvwinwstr(stdscr,(y),(x),(c))
++#define mvvline_set(y,x,c,n) mvwvline_set(stdscr,(y),(x),(c),(n))
++
++#define mvwadd_wch(win,y,x,c) (wmove(win,(y),(x)) == ERR ? ERR : wadd_wch((win),(c)))
++#define mvwadd_wchnstr(win,y,x,s,n) (wmove(win,(y),(x)) == ERR ? ERR : wadd_wchnstr((win),(s),(n)))
++#define mvwadd_wchstr(win,y,x,s) (wmove(win,(y),(x)) == ERR ? ERR : wadd_wchstr((win),(s)))
++#define mvwaddnwstr(win,y,x,wstr,n) (wmove(win,(y),(x)) == ERR ? ERR : waddnwstr((win),(wstr),(n)))
++#define mvwaddwstr(win,y,x,wstr) (wmove(win,(y),(x)) == ERR ? ERR : waddwstr((win),(wstr)))
++#define mvwget_wch(win,y,x,c) (wmove(win,(y),(x)) == ERR ? ERR : wget_wch((win),(c)))
++#define mvwget_wstr(win,y,x,t) (wmove(win,(y),(x)) == ERR ? ERR : wget_wstr((win),(t)))
++#define mvwgetn_wstr(win,y,x,t,n) (wmove(win,(y),(x)) == ERR ? ERR : wgetn_wstr((win),(t),(n)))
++#define mvwhline_set(win,y,x,c,n) (wmove(win,(y),(x)) == ERR ? ERR : whline_set((win),(c),(n)))
++#define mvwin_wch(win,y,x,c) (wmove(win,(y),(x)) == ERR ? ERR : win_wch((win),(c)))
++#define mvwin_wchnstr(win,y,x,c,n) (wmove(win,(y),(x)) == ERR ? ERR : win_wchnstr((win),(c),(n)))
++#define mvwin_wchstr(win,y,x,c) (wmove(win,(y),(x)) == ERR ? ERR : win_wchstr((win),(c)))
++#define mvwinnwstr(win,y,x,c,n) (wmove(win,(y),(x)) == ERR ? ERR : winnwstr((win),(c),(n)))
++#define mvwins_nwstr(win,y,x,t,n) (wmove(win,(y),(x)) == ERR ? ERR : wins_nwstr((win),(t),(n)))
++#define mvwins_wch(win,y,x,c) (wmove(win,(y),(x)) == ERR ? ERR : wins_wch((win),(c)))
++#define mvwins_wstr(win,y,x,t) (wmove(win,(y),(x)) == ERR ? ERR : wins_wstr((win),(t)))
++#define mvwinwstr(win,y,x,c) (wmove(win,(y),(x)) == ERR ? ERR : winwstr((win),(c)))
++#define mvwvline_set(win,y,x,c,n) (wmove(win,(y),(x)) == ERR ? ERR : wvline_set((win),(c),(n)))
+
+ #endif /* NCURSES_NOMACROS */
+
+Index: include/headers
+Prereq: 1.10
+--- ncurses-5.9/include/headers 2009-09-05 17:46:30.000000000 +0000
++++ ncurses-5.9-20130504/include/headers 2012-07-28 22:41:34.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: headers,v 1.10 2009/09/05 17:46:30 tom Exp $
++# $Id: headers,v 1.12 2012/07/28 22:41:34 Roumen.Petrov Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2007,2009 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2009,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -29,14 +29,23 @@
+ #
+ # Author: Thomas E. Dickey 1996-on
+ #
+-term.h
+ curses.h
+ unctrl.h
+-termcap.h
+ ncurses_dll.h
++
++# Support for termcap (and tic, etc.), which can be a separate library
++@ termlib
++term.h
++termcap.h
++
++# Headers used only for tic, other programs using internal interfaces
+ @ ticlib
+ $(srcdir)/tic.h
+ $(srcdir)/term_entry.h
+ $(srcdir)/nc_tparm.h
+
++# Porting
++@ port_win32con
++$(srcdir)/ncurses_mingw.h
++
+ # vile:makemode
+Index: include/nc_alloc.h
+Prereq: 1.18
+--- ncurses-5.9/include/nc_alloc.h 2010-11-20 22:59:49.000000000 +0000
++++ ncurses-5.9-20130504/include/nc_alloc.h 2013-01-26 21:56:51.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -29,10 +29,11 @@
+ /****************************************************************************
+ * Author: Thomas E. Dickey 1996-on *
+ ****************************************************************************/
+-/* $Id: nc_alloc.h,v 1.18 2010/11/20 22:59:49 tom Exp $ */
++/* $Id: nc_alloc.h,v 1.22 2013/01/26 21:56:51 tom Exp $ */
+
+ #ifndef NC_ALLOC_included
+ #define NC_ALLOC_included 1
++/* *INDENT-OFF* */
+
+ #ifdef __cplusplus
+ extern "C" {
+@@ -94,6 +95,7 @@
+ /* doalloc.c */
+ extern NCURSES_EXPORT(void *) _nc_doalloc(void *, size_t);
+ #if !HAVE_STRDUP
++#undef strdup
+ #define strdup _nc_strdup
+ extern NCURSES_EXPORT(char *) _nc_strdup(const char *);
+ #endif
+@@ -101,12 +103,14 @@
+ /* entries.c */
+ extern NCURSES_EXPORT(void) _nc_leaks_tinfo(void);
+
+-#define typeMalloc(type,elts) (type *)malloc((elts)*sizeof(type))
+-#define typeCalloc(type,elts) (type *)calloc((elts),sizeof(type))
+-#define typeRealloc(type,elts,ptr) (type *)_nc_doalloc(ptr, (elts)*sizeof(type))
++#define typeMalloc(type,elts) (type *)malloc((size_t)(elts)*sizeof(type))
++#define typeCalloc(type,elts) (type *)calloc((size_t)(elts),sizeof(type))
++#define typeRealloc(type,elts,ptr) (type *)_nc_doalloc(ptr, (size_t)(elts)*sizeof(type))
+
+ #ifdef __cplusplus
+ }
+ #endif
+
++/* *INDENT-ON* */
++
+ #endif /* NC_ALLOC_included */
+Index: include/nc_string.h
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/include/nc_string.h 2012-02-23 10:21:17.000000000 +0000
+@@ -0,0 +1,77 @@
++/****************************************************************************
++ * Copyright (c) 2012 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++
++/****************************************************************************
++ * Author: Thomas E. Dickey 2012 *
++ ****************************************************************************/
++
++#ifndef STRING_HACKS_H
++#define STRING_HACKS_H 1
++
++#include <ncurses_cfg.h>
++
++/*
++ * $Id: nc_string.h,v 1.3 2012/02/23 10:21:17 tom Exp $
++ *
++ * String-hacks. Use these macros to stifle warnings on (presumably) correct
++ * uses of strcat, strcpy and sprintf.
++ *
++ * By the way -
++ * A fundamental limitation of the interfaces (and frequent issue in bug
++ * reports using these functions) is that sizes are passed as unsigned values
++ * (with associated sign-extension problems), limiting their effectiveness
++ * when checking for buffer overflow.
++ */
++
++#ifdef __cplusplus
++#define NCURSES_VOID /* nothing */
++#else
++#define NCURSES_VOID (void)
++#endif
++
++#if USE_STRING_HACKS && HAVE_STRLCAT
++#define _nc_STRCAT(d,s,n) NCURSES_VOID strlcat((d),(s),(n))
++#else
++#define _nc_STRCAT(d,s,n) NCURSES_VOID strcat((d),(s))
++#endif
++
++#if USE_STRING_HACKS && HAVE_STRLCPY
++#define _nc_STRCPY(d,s,n) NCURSES_VOID strlcpy((d),(s),(n))
++#else
++#define _nc_STRCPY(d,s,n) NCURSES_VOID strcpy((d),(s))
++#endif
++
++#if USE_STRING_HACKS && HAVE_SNPRINTF
++#define _nc_SPRINTF NCURSES_VOID snprintf
++#define _nc_SLIMIT(n) (n),
++#else
++#define _nc_SPRINTF NCURSES_VOID sprintf
++#define _nc_SLIMIT(n) /* nothing */
++#endif
++
++#endif /* STRING_HACKS_H */
+Index: include/nc_termios.h
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/include/nc_termios.h 2011-06-25 20:44:05.000000000 +0000
+@@ -0,0 +1,171 @@
++/****************************************************************************
++ * Copyright (c) 2011 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++
++/****************************************************************************
++ * Author: Thomas E. Dickey 2011 *
++ ****************************************************************************/
++
++/* $Id: nc_termios.h,v 1.2 2011/06/25 20:44:05 tom Exp $ */
++
++#ifndef NC_TERMIOS_included
++#define NC_TERMIOS_included 1
++
++#if HAVE_TERMIOS_H && HAVE_TCGETATTR
++
++#else /* !HAVE_TERMIOS_H */
++
++#if HAVE_TERMIO_H
++
++/* Add definitions to make termio look like termios.
++ * But ifdef it, since there are some implementations
++ * that try to do this for us in a fake <termio.h>.
++ */
++#ifndef TCSADRAIN
++#define TCSADRAIN TCSETAW
++#endif
++#ifndef TCSAFLUSH
++#define TCSAFLUSH TCSETAF
++#endif
++#ifndef tcsetattr
++#define tcsetattr(fd, cmd, arg) ioctl(fd, cmd, arg)
++#endif
++#ifndef tcgetattr
++#define tcgetattr(fd, arg) ioctl(fd, TCGETA, arg)
++#endif
++#ifndef cfgetospeed
++#define cfgetospeed(t) ((t)->c_cflag & CBAUD)
++#endif
++#ifndef TCIFLUSH
++#define TCIFLUSH 0
++#endif
++#ifndef tcflush
++#define tcflush(fd, arg) ioctl(fd, TCFLSH, arg)
++#endif
++
++#else /* !HAVE_TERMIO_H */
++
++#if __MINGW32__
++
++/* c_cc chars */
++#define VINTR 0
++#define VQUIT 1
++#define VERASE 2
++#define VKILL 3
++#define VEOF 4
++#define VTIME 5
++#define VMIN 6
++
++/* c_iflag bits */
++#define ISTRIP 0000040
++#define INLCR 0000100
++#define IGNCR 0000200
++#define ICRNL 0000400
++#define BRKINT 0000002
++#define PARMRK 0000010
++#define IXON 0002000
++#define IGNBRK 0000001
++#define IGNPAR 0000004
++#define INPCK 0000020
++#define IXOFF 0010000
++
++/* c_oflag bits */
++#define OPOST 0000001
++
++/* c_cflag bit meaning */
++#define CBAUD 0010017
++#define CSIZE 0000060
++#define CS8 0000060
++#define B0 0000000
++#define B50 0000001
++#define B75 0000002
++#define B110 0000003
++#define B134 0000004
++#define B150 0000005
++#define B200 0000006
++#define B300 0000007
++#define B600 0000010
++#define B1200 0000011
++#define B1800 0000012
++#define B2400 0000013
++#define B4800 0000014
++#define B9600 0000015
++#define CLOCAL 0004000
++#define CREAD 0000200
++#define CSTOPB 0000100
++#define HUPCL 0002000
++#define PARENB 0000400
++#define PARODD 0001000
++
++/* c_lflag bits */
++#define ECHO 0000010
++#define ECHONL 0000100
++#define ISIG 0000001
++#define IEXTEN 0100000
++#define ICANON 0000002
++#define NOFLSH 0000200
++#define ECHOE 0000020
++#define ECHOK 0000040
++
++/* tcflush() */
++#define TCIFLUSH 0
++
++/* tcsetattr uses these */
++#define TCSADRAIN 1
++
++/* ioctls */
++#define TCGETA 0x5405
++#define TCFLSH 0x540B
++#define TIOCGWINSZ 0x5413
++
++#ifndef cfgetospeed
++#define cfgetospeed(t) ((t)->c_cflag & CBAUD)
++#endif
++
++#ifndef tcsetattr
++#define tcsetattr(fd, cmd, arg) _nc_mingw_ioctl(fd, cmd, arg)
++#endif
++
++#ifndef tcgetattr
++#define tcgetattr(fd, arg) _nc_mingw_ioctl(fd, TCGETA, arg)
++#endif
++
++#ifndef tcflush
++#define tcflush(fd, arg) _nc_mingw_ioctl(fd, TCFLSH, arg)
++#endif
++
++#undef ttyname
++#define ttyname(fd) NULL
++
++#else
++
++#endif /* __MINGW32__ */
++#endif /* HAVE_TERMIO_H */
++
++#endif /* HAVE_TERMIOS_H */
++
++#endif /* NC_TERMIOS_included */
+Index: include/nc_tparm.h
+Prereq: 1.5
+--- ncurses-5.9/include/nc_tparm.h 2010-12-25 20:27:22.000000000 +0000
++++ ncurses-5.9-20130504/include/nc_tparm.h 2012-02-18 21:34:42.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2006,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2006-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -30,7 +30,7 @@
+ * Author: Thomas E. Dickey 2006 *
+ ****************************************************************************/
+
+-/* $Id: nc_tparm.h,v 1.5 2010/12/25 20:27:22 tom Exp $ */
++/* $Id: nc_tparm.h,v 1.6 2012/02/18 21:34:42 tom Exp $ */
+
+ #ifndef NC_TPARM_included
+ #define NC_TPARM_included 1
+@@ -40,8 +40,12 @@
+ * assumption of the varargs code.
+ */
+ #ifndef TPARM_ARG
++#ifdef NCURSES_TPARM_ARG
++#define TPARM_ARG NCURSES_TPARM_ARG
++#else
+ #define TPARM_ARG long
+ #endif
++#endif /* TPARAM_ARG */
+
+ #define TPARM_N(n) (TPARM_ARG)(n)
+
+Index: include/ncurses_defs
+Prereq: 1.46
+--- ncurses-5.9/include/ncurses_defs 2011-03-22 09:17:59.000000000 +0000
++++ ncurses-5.9-20130504/include/ncurses_defs 2013-04-27 19:46:53.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: ncurses_defs,v 1.46 2011/03/22 09:17:59 tom Exp $
++# $Id: ncurses_defs,v 1.59 2013/04/27 19:46:53 tom Exp $
+ ##############################################################################
+-# Copyright (c) 2000-2010,2011 Free Software Foundation, Inc. #
++# Copyright (c) 2000-2012,2013 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -33,7 +33,7 @@
+
+ BROKEN_LINKER
+ BSD_TPUTS
+-CC_HAS_PROTOS
++CGETENT_CONST /* nothing */
+ CPP_HAS_PARAM_INIT
+ CURSES_ACS_ARRAY acs_map
+ CURSES_WACS_ARRAY _nc_wacs
+@@ -41,6 +41,7 @@
+ ETIP_NEEDS_MATH_H
+ GCC_NORETURN /* nothing */
+ GCC_UNUSED /* nothing */
++HAVE_ASSUME_DEFAULT_COLORS
+ HAVE_BIG_CORE
+ HAVE_BSD_CGETENT
+ HAVE_BSD_SIGNAL_H
+@@ -102,6 +103,7 @@
+ HAVE_POLL
+ HAVE_POLL_H
+ HAVE_PURIFY
++HAVE_PUTENV
+ HAVE_PUTWC
+ HAVE_PUTWIN 1
+ HAVE_REGEXPR_H_FUNCS
+@@ -115,6 +117,7 @@
+ HAVE_SELECT
+ HAVE_SETBUF
+ HAVE_SETBUFFER
++HAVE_SETENV
+ HAVE_SETUPTERM 1
+ HAVE_SETVBUF
+ HAVE_SGTTY_H
+@@ -123,7 +126,11 @@
+ HAVE_SIZECHANGE
+ HAVE_SLK_COLOR
+ HAVE_SLK_INIT 1
++HAVE_SNPRINTF
++HAVE_STDINT_H
+ HAVE_STRDUP
++HAVE_STRLCAT
++HAVE_STRLCPY
+ HAVE_STRSTR
+ HAVE_SYMLINK
+ HAVE_SYS_BSDTYPES_H
+@@ -153,9 +160,12 @@
+ HAVE_TYPEINFO
+ HAVE_TYPE_ATTR_T
+ HAVE_TYPE_SIGACTION
++HAVE_UNCTRL_H 1
+ HAVE_UNISTD_H
+ HAVE_UNLINK
+ HAVE_USE_DEFAULT_COLORS
++HAVE_USE_SCREEN
++HAVE_USE_WINDOW
+ HAVE_VFSCANF
+ HAVE_VSNPRINTF
+ HAVE_VSSCANF
+@@ -176,10 +186,10 @@
+ NCURSES_EXT_FUNCS
+ NCURSES_NO_PADDING
+ NCURSES_PATHSEP ':'
++NCURSES_WIDECHAR
+ NEED_PTEM_H
+ NO_LEAKS
+ PURE_TERMINFO
+-RETSIGTYPE
+ STDC_HEADERS
+ SVR4_ACTION
+ SVR4_TERMIO
+@@ -205,6 +215,7 @@
+ USE_SAFE_SPRINTF
+ USE_SCROLL_HINTS
+ USE_SIGWINCH
++USE_STRING_HACKS
+ USE_SYMLINKS
+ USE_SYSMOUSE
+ USE_TERMCAP
+Index: include/ncurses_mingw.h
+Prereq: 1.1
+--- ncurses-5.9/include/ncurses_mingw.h 2008-12-14 19:22:16.000000000 +0000
++++ ncurses-5.9-20130504/include/ncurses_mingw.h 2011-06-25 20:51:00.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2008,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -31,10 +31,10 @@
+ * *
+ ****************************************************************************/
+
+-/* $Id: ncurses_mingw.h,v 1.1 2008/12/14 19:22:16 juergen Exp $ */
++/* $Id: ncurses_mingw.h,v 1.2 2011/06/25 20:51:00 tom Exp $ */
+
+ /*
+- * This is a placholder up to now and describes what needs to be implemented
++ * This is a placeholder up to now and describes what needs to be implemented
+ * to support I/O to external terminals with ncurses on the Windows OS.
+ */
+
+@@ -67,98 +67,8 @@
+ speed_t c_ospeed; /* c_ospeed */
+ };
+
+-/* c_cc chars */
+-#define VINTR 0
+-#define VQUIT 1
+-#define VERASE 2
+-#define VKILL 3
+-#define VEOF 4
+-#define VTIME 5
+-#define VMIN 6
+-
+-/* c_iflag bits */
+-#define ISTRIP 0000040
+-#define INLCR 0000100
+-#define IGNCR 0000200
+-#define ICRNL 0000400
+-#define BRKINT 0000002
+-#define PARMRK 0000010
+-#define IXON 0002000
+-#define IGNBRK 0000001
+-#define IGNPAR 0000004
+-#define INPCK 0000020
+-#define IXOFF 0010000
+-
+-/* c_oflag bits */
+-#define OPOST 0000001
+-
+-/* c_cflag bit meaning */
+-#define CBAUD 0010017
+-#define CSIZE 0000060
+-#define CS8 0000060
+-#define B0 0000000
+-#define B50 0000001
+-#define B75 0000002
+-#define B110 0000003
+-#define B134 0000004
+-#define B150 0000005
+-#define B200 0000006
+-#define B300 0000007
+-#define B600 0000010
+-#define B1200 0000011
+-#define B1800 0000012
+-#define B2400 0000013
+-#define B4800 0000014
+-#define B9600 0000015
+-#define CLOCAL 0004000
+-#define CREAD 0000200
+-#define CSTOPB 0000100
+-#define HUPCL 0002000
+-#define PARENB 0000400
+-#define PARODD 0001000
+-
+-/* c_lflag bits */
+-#define ECHO 0000010
+-#define ECHONL 0000100
+-#define ISIG 0000001
+-#define IEXTEN 0100000
+-#define ICANON 0000002
+-#define NOFLSH 0000200
+-#define ECHOE 0000020
+-#define ECHOK 0000040
+-
+-/* tcflush() */
+-#define TCIFLUSH 0
+-
+-/* tcsetattr uses these */
+-#define TCSADRAIN 1
+-
+-/* ioctls */
+-#define TCGETA 0x5405
+-#define TCFLSH 0x540B
+-#define TIOCGWINSZ 0x5413
+-
+ extern int _nc_mingw_ioctl(int fd, long int request, struct termios* arg);
+ extern void _nc_set_term_driver(void* term);
+
+-#ifndef cfgetospeed
+-#define cfgetospeed(t) ((t)->c_cflag & CBAUD)
+-#endif
+-
+-#ifndef tcsetattr
+-#define tcsetattr(fd, cmd, arg) _nc_mingw_ioctl(fd, cmd, arg)
+-#endif
+-
+-#ifndef tcgetattr
+-#define tcgetattr(fd, arg) _nc_mingw_ioctl(fd, TCGETA, arg)
+-#endif
+-
+-#ifndef tcflush
+-#define tcflush(fd, arg) _nc_mingw_ioctl(fd, TCFLSH, arg)
+-#endif
+-
+-#undef ttyname
+-#define ttyname(fd) NULL
+-
+-#endif
+-#endif
++#endif /* _NC_MINGWH */
++#endif /* __MINGW32__ */
+Index: include/term_entry.h
+Prereq: 1.37
+--- ncurses-5.9/include/term_entry.h 2009-07-11 16:52:29.000000000 +0000
++++ ncurses-5.9-20130504/include/term_entry.h 2013-02-02 20:07:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+ * and: Thomas E. Dickey 1998-on *
+ ****************************************************************************/
+
+-/* $Id: term_entry.h,v 1.37 2009/07/11 16:52:29 tom Exp $ */
++/* $Id: term_entry.h,v 1.43 2013/02/02 20:07:23 tom Exp $ */
+
+ /*
+ * term_entry.h -- interface to entry-manipulation code
+@@ -47,28 +47,46 @@
+
+ #include <term.h>
+
++ /*
++ * see db_iterator.c - this enumeration lists the places searched for a
++ * terminal description and defines the order in which they are searched.
++ */
++ typedef enum {
++ dbdTIC = 0, /* special, used by tic when writing entry */
++#if USE_DATABASE
++ dbdEnvOnce, /* the $TERMINFO environment variable */
++ dbdHome, /* $HOME/.terminfo */
++ dbdEnvList, /* the $TERMINFO_DIRS environment variable */
++ dbdCfgList, /* the compiled-in TERMINFO_DIRS value */
++ dbdCfgOnce, /* the compiled-in TERMINFO value */
++#endif
++#if USE_TERMCAP
++ dbdEnvOnce2, /* the $TERMCAP environment variable */
++ dbdEnvList2, /* the $TERMPATH environment variable */
++ dbdCfgList2, /* the compiled-in TERMPATH */
++#endif
++ dbdLAST
++ } DBDIRS;
++
+ #define MAX_USES 32
+ #define MAX_CROSSLINKS 16
+
+-typedef struct entry {
+- TERMTYPE tterm;
+- unsigned nuses;
+- struct
+- {
+- char *name;
+- struct entry *link;
+- long line;
+- }
+- uses[MAX_USES];
+- int ncrosslinks;
+- struct entry *crosslinks[MAX_CROSSLINKS];
+- long cstart, cend;
+- long startline;
+- struct entry *next;
+- struct entry *last;
+-}
+-ENTRY;
+-
++ typedef struct entry {
++ TERMTYPE tterm;
++ unsigned nuses;
++ struct {
++ char *name;
++ struct entry *link;
++ long line;
++ } uses[MAX_USES];
++ int ncrosslinks;
++ struct entry *crosslinks[MAX_CROSSLINKS];
++ long cstart, cend;
++ long startline;
++ struct entry *next;
++ struct entry *last;
++ } ENTRY;
++/* *INDENT-OFF* */
+ #if NCURSES_XNAMES
+ #define NUM_BOOLEANS(tp) (tp)->num_Booleans
+ #define NUM_NUMBERS(tp) (tp)->num_Numbers
+@@ -132,7 +150,7 @@
+
+ /* alloc_ttype.c: elementary allocation code */
+ extern NCURSES_EXPORT(void) _nc_align_termtype (TERMTYPE *, TERMTYPE *);
+-extern NCURSES_EXPORT(void) _nc_copy_termtype (TERMTYPE *, TERMTYPE *);
++extern NCURSES_EXPORT(void) _nc_copy_termtype (TERMTYPE *, const TERMTYPE *);
+
+ /* free_ttype.c: elementary allocation code */
+ extern NCURSES_EXPORT(void) _nc_free_termtype (TERMTYPE *);
+@@ -166,9 +184,9 @@
+
+ /* trace_xnames.c */
+ extern NCURSES_EXPORT(void) _nc_trace_xnames (TERMTYPE *);
++/* *INDENT-ON* */
+
+ #ifdef __cplusplus
+ }
+ #endif
+-
+-#endif /* NCURSES_TERM_ENTRY_H_incl */
++#endif /* NCURSES_TERM_ENTRY_H_incl */
+Index: include/tic.h
+Prereq: 1.65
+--- ncurses-5.9/include/tic.h 2009-08-08 17:52:46.000000000 +0000
++++ ncurses-5.9-20130504/include/tic.h 2012-03-17 18:22:10.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2007,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -33,14 +33,14 @@
+ ****************************************************************************/
+
+ /*
+- * $Id: tic.h,v 1.65 2009/08/08 17:52:46 tom Exp $
++ * $Id: tic.h,v 1.69 2012/03/17 18:22:10 tom Exp $
+ * tic.h - Global variables and structures for the terminfo
+ * compiler.
+ */
+
+ #ifndef __TIC_H
+ #define __TIC_H
+-
++/* *INDENT-OFF* */
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -224,6 +224,12 @@
+
+ #define NOTFOUND ((struct name_table_entry *) 0)
+
++/*
++ * The casts are required for correct sign-propagation with systems such as
++ * AIX, IRIX64, Solaris which default to unsigned characters. The C standard
++ * leaves this detail unspecified.
++ */
++
+ /* out-of-band values for representing absent capabilities */
+ #define ABSENT_BOOLEAN ((signed char)-1) /* 255 */
+ #define ABSENT_NUMERIC (-1)
+@@ -248,6 +254,8 @@
+ #define TERMINFO "/usr/share/terminfo"
+ #endif
+
++#ifdef NCURSES_TERM_ENTRY_H_incl
++
+ /* access.c */
+ extern NCURSES_EXPORT(unsigned) _nc_pathlast (const char *);
+ extern NCURSES_EXPORT(bool) _nc_is_abs_path (const char *);
+@@ -270,6 +278,7 @@
+ extern NCURSES_EXPORT_VAR(int) _nc_curr_col;
+ extern NCURSES_EXPORT_VAR(int) _nc_curr_line;
+ extern NCURSES_EXPORT_VAR(int) _nc_syntax;
++extern NCURSES_EXPORT_VAR(int) _nc_strict_bsd;
+ extern NCURSES_EXPORT_VAR(long) _nc_comment_end;
+ extern NCURSES_EXPORT_VAR(long) _nc_comment_start;
+ extern NCURSES_EXPORT_VAR(long) _nc_curr_file_pos;
+@@ -314,23 +323,6 @@
+ extern const char * _nc_progname;
+
+ /* db_iterator.c */
+-typedef enum {
+- dbdTIC = 0,
+-#if USE_DATABASE
+- dbdEnvOnce,
+- dbdHome,
+- dbdEnvList,
+- dbdCfgList,
+- dbdCfgOnce,
+-#endif
+-#if USE_TERMCAP
+- dbdEnvOnce2,
+- dbdEnvList2,
+- dbdCfgList2,
+-#endif
+- dbdLAST
+-} DBDIRS;
+-
+ extern NCURSES_EXPORT(const char *) _nc_next_db(DBDIRS *, int *);
+ extern NCURSES_EXPORT(const char *) _nc_tic_dir (const char *);
+ extern NCURSES_EXPORT(void) _nc_first_db(DBDIRS *, int *);
+@@ -339,8 +331,11 @@
+ /* write_entry.c */
+ extern NCURSES_EXPORT(int) _nc_tic_written (void);
+
++#endif /* NCURSES_TERM_ENTRY_H_incl */
++
+ #ifdef __cplusplus
+ }
+ #endif
+
++/* *INDENT-ON* */
+ #endif /* __TIC_H */
+Index: man/Makefile.in
+Prereq: 1.45
+--- ncurses-5.9/man/Makefile.in 2010-11-27 21:45:27.000000000 +0000
++++ ncurses-5.9-20130504/man/Makefile.in 2012-08-11 21:31:56.000000000 +0000
+@@ -1,4 +1,4 @@
+-# $Id: Makefile.in,v 1.45 2010/11/27 21:45:27 tom Exp $
++# $Id: Makefile.in,v 1.46 2012/08/11 21:31:56 tom Exp $
+ ##############################################################################
+ # Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. #
+ # #
+@@ -41,6 +41,7 @@
+ srcdir = @srcdir@
+ prefix = @prefix@
+ exec_prefix = @exec_prefix@
++datarootdir = @datarootdir@
+ datadir = @datadir@
+ mandir = @mandir@
+
+Index: man/curs_add_wch.3x
+Prereq: 1.14
+--- ncurses-5.9/man/curs_add_wch.3x 2011-01-15 15:27:43.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_add_wch.3x 2012-11-03 23:03:59.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2001-2010,2011 Free Software Foundation, Inc. *
++.\" Copyright (c) 2001-2011,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_add_wch.3x,v 1.14 2011/01/15 15:27:43 tom Exp $
++.\" $Id: curs_add_wch.3x,v 1.15 2012/11/03 23:03:59 tom Exp $
+ .TH curs_add_wch 3X ""
+ .de bP
+ .IP \(bu 4
+@@ -176,7 +176,7 @@
+ WACS_D_VLINE 0x2551 | double vertical line
+ WACS_D_PLUS 0x256c + double large plus or crossover
+ .TE
+-.SH RETURN VALUES
++.SH RETURN VALUE
+ .PP
+ All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success.
+ .PP
+Index: man/curs_add_wchstr.3x
+Prereq: 1.9
+--- ncurses-5.9/man/curs_add_wchstr.3x 2010-12-04 18:36:44.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_add_wchstr.3x 2012-11-03 22:54:43.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2002-2005,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,8 +26,13 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_add_wchstr.3x,v 1.9 2010/12/04 18:36:44 tom Exp $
++.\" $Id: curs_add_wchstr.3x,v 1.10 2012/11/03 22:54:43 tom Exp $
+ .TH curs_add_wchstr 3X ""
++.de bP
++.IP \(bu 4
++..
++.na
++.hy 0
+ .SH NAME
+ \fBadd_wchstr\fR,
+ \fBadd_wchnstr\fR,
+@@ -37,10 +42,12 @@
+ \fBmvadd_wchnstr\fR,
+ \fBmvwadd_wchstr\fR,
+ \fBmvwadd_wchnstr\fR \- add an array of complex characters (and attributes) to a curses window
++.ad
++.hy
+ .SH SYNOPSIS
+-.B #include <curses.h>
+-.PP
+ .nf
++\fB#include <curses.h>\fR
++.PP
+ \fBint add_wchstr(const cchar_t *\fR\fIwchstr\fR\fB);\fR
+ .br
+ \fBint add_wchnstr(const cchar_t *\fR\fIwchstr\fR\fB, int \fR\fIn\fR\fB);\fR
+@@ -58,38 +65,53 @@
+ \fBint mvwadd_wchnstr(WINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, const cchar_t *\fR\fIwchstr\fR\fB, int \fR\fIn\fR\fB);\fR
+ .fi
+ .SH DESCRIPTION
+-These routines copy the array of complex characters \fIwchstr\fR
+-into the window image structure at and after the current cursor position.
+-The four routines with \fIn\fR as the last
+-argument copy at most \fIn\fR elements, but no more than will fit on the line.
++These functions copy the (null-terminated)
++array of complex characters \fIwchstr\fR
++into the window image structure
++starting at the current cursor position.
++The four functions with \fIn\fR as the last
++argument copy at most \fIn\fR elements,
++but no more than will fit on the line.
+ If \fBn\fR=\fB\-1\fR then the whole array is copied,
+ to the maximum number of characters that will fit on the line.
+ .PP
+ The window cursor is \fInot\fR advanced.
+-These routines work faster than \fBwaddnstr\fR.
+-On the other hand, they do not perform checking
++These functions work faster than \fBwaddnstr\fR.
++On the other hand:
++.bP
++they do not perform checking
+ (such as for the newline, backspace, or carriage return characters),
++.bP
+ they do not advance the current cursor position,
+-they do not expand other control characters to ^-escapes,
+-and they truncate the string if it crosses the right margin,
++.bP
++they do not expand other control characters to ^-escapes, and
++.bP
++they truncate the string if it crosses the right margin,
+ rather than wrapping it around to the new line.
+ .PP
+-These routines end successfully
++These functions end successfully
+ on encountering a null \fIcchar_t\fR, or
+ when they have filled the current line.
+ If a complex character cannot completely fit at the end of the current line,
+ the remaining columns are filled with the background character and rendition.
+-.SH NOTES
+-All functions except \fBwadd_wchnstr\fR may be macros.
+-.SH RETURN VALUES
+-All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success.
++.SH RETURN VALUE
++All functions return the integer \fBERR\fR upon failure and \fBOK\fR on success.
++.PP
++X/Open does not define any error conditions.
++This implementation returns an error
++if the window pointer is null.
+ .PP
+ Functions with a "mv" prefix first perform a cursor movement using
+ \fBwmove\fP, and return an error if the position is outside the window,
+ or if the window pointer is null.
++.SH NOTES
++All functions except \fBwadd_wchnstr\fR may be macros.
+ .SH PORTABILITY
+-All these entry points are described in the XSI Curses standard, Issue 4.
++These entry points are described in the XSI Curses standard, Issue 4.
+ .SH SEE ALSO
+-\fBcurses\fR(3X),
+-\fBcurs_addchstr\fR(3X),
+-\fBcurs_addwstr\fR(3X)
++\fBcurs_addwstr\fR(3X),
++\fBcurses\fR(3X).
++.PP
++Comparable functions in the narrow-character (ncurses) library are
++described in
++\fBcurs_addchstr\fR(3X).
+Index: man/curs_addchstr.3x
+Prereq: 1.15
+--- ncurses-5.9/man/curs_addchstr.3x 2010-12-04 18:36:44.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_addchstr.3x 2012-11-03 22:54:43.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,8 +26,11 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_addchstr.3x,v 1.15 2010/12/04 18:36:44 tom Exp $
++.\" $Id: curs_addchstr.3x,v 1.16 2012/11/03 22:54:43 tom Exp $
+ .TH curs_addchstr 3X ""
++.de bP
++.IP \(bu 4
++..
+ .na
+ .hy 0
+ .SH NAME
+@@ -42,6 +45,7 @@
+ .ad
+ .hy
+ .SH SYNOPSIS
++.nf
+ \fB#include <curses.h>\fR
+ .PP
+ \fBint addchstr(const chtype *chstr);\fR
+@@ -59,24 +63,33 @@
+ \fBint mvwaddchstr(WINDOW *win, int y, int x, const chtype *chstr);\fR
+ .br
+ \fBint mvwaddchnstr(WINDOW *win, int y, int x, const chtype *chstr, int n);\fR
++.fi
+ .SH DESCRIPTION
+-These routines copy \fIchstr\fR into the window image structure at and after
+-the current cursor position. The four routines with \fIn\fR as the last
+-argument copy at most \fIn\fR elements, but no more than will fit on the line.
+-If \fBn\fR=\fB\-1\fR then the whole string is copied, to the maximum number of
+-characters that will fit on the line.
++These functions copy the (null-terminated)
++\fIchstr\fR array
++into the window image structure
++starting at the current cursor position.
++The four functions with \fIn\fR as the last
++argument copy at most \fIn\fR elements,
++but no more than will fit on the line.
++If \fBn\fR=\fB\-1\fR then the whole array is copied,
++to the maximum number of characters that will fit on the line.
+ .PP
+-The window cursor is \fInot\fR advanced, and these routines work faster than
+-\fBwaddnstr\fR. On the other hand, they do not perform any kind of checking
+-(such as for the newline, backspace, or carriage return characters), they do not
+-advance the current cursor position, they do not expand other control characters
+-to ^-escapes, and they truncate the string if it crosses the right margin,
++The window cursor is \fInot\fR advanced.
++These functions work faster than \fBwaddnstr\fR.
++On the other hand:
++.bP
++they do not perform checking
++(such as for the newline, backspace, or carriage return characters),
++.bP
++they do not advance the current cursor position,
++.bP
++they do not expand other control characters to ^-escapes, and
++.bP
++they truncate the string if it crosses the right margin,
+ rather than wrapping it around to the new line.
+-.SH RETURN VALUES
+-All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success
+-(the SVr4 manuals specify only "an integer value other than \fBERR\fR") upon
+-successful completion, unless otherwise noted in the preceding routine
+-descriptions.
++.SH RETURN VALUE
++All functions return the integer \fBERR\fR upon failure and \fBOK\fR on success.
+ .PP
+ X/Open does not define any error conditions.
+ This implementation returns an error
+@@ -86,10 +99,11 @@
+ \fBwmove\fP, and return an error if the position is outside the window,
+ or if the window pointer is null.
+ .SH NOTES
+-Note that all routines except \fBwaddchnstr\fR may be macros.
++All functions except \fBwaddchnstr\fR may be macros.
+ .SH PORTABILITY
+ These entry points are described in the XSI Curses standard, Issue 4.
+ .SH SEE ALSO
++\fBcurs_addstr\fR(3X),
+ \fBcurses\fR(3X).
+ .PP
+ Comparable functions in the wide-character (ncursesw) library are
+Index: man/curs_addstr.3x
+Prereq: 1.16
+--- ncurses-5.9/man/curs_addstr.3x 2010-12-04 18:36:44.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_addstr.3x 2012-11-03 22:57:31.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,8 +26,11 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_addstr.3x,v 1.16 2010/12/04 18:36:44 tom Exp $
++.\" $Id: curs_addstr.3x,v 1.17 2012/11/03 22:57:31 tom Exp $
+ .TH curs_addstr 3X ""
++.de bP
++.IP \(bu 4
++..
+ .na
+ .hy 0
+ .SH NAME
+@@ -62,34 +65,37 @@
+ \fBint mvwaddnstr(WINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, const char *\fR\fIstr, int \fR\fIn\fR\fB);\fR
+ .fi
+ .SH DESCRIPTION
+-These routines write the characters of the (null-terminated) character string
++These functions write the (null-terminated) character string
+ \fIstr\fR on the given window.
+ It is similar to calling \fBwaddch\fR once for each character in the string.
+-The four routines with \fIn\fR as the last argument
+-write at most \fIn\fR characters.
+-If \fIn\fR is \-1, then the entire string will be added,
+-up to the maximum number of characters that will fit on the line,
++.PP
++The \fImv\fR functions perform cursor movement once, before writing any
++characters.
++Thereafter, the cursor is advanced as a side-effect of writing to the window.
++.PP
++The four functions with \fIn\fR as the last argument
++write at most \fIn\fR characters,
+ or until a terminating null is reached.
++If \fIn\fR is \-1, then the entire string will be added.
+ .SH RETURN VALUE
+-All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success
+-(the SVr4 manuals specify only "an integer value other than \fBERR\fR") upon
+-successful completion.
++All functions return the integer \fBERR\fR upon failure and \fBOK\fR on success.
+ .PP
+ X/Open does not define any error conditions.
+ This implementation returns an error
++.bP
+ if the window pointer is null or
++.bP
+ if the string pointer is null or
++.bP
+ if the corresponding calls to \fBwaddch\fP return an error.
+ .PP
+ Functions with a "mv" prefix first perform a cursor movement using
+ \fBwmove\fP, and return an error if the position is outside the window,
+ or if the window pointer is null.
+ .SH NOTES
+-Note that all of these routines except \fBwaddstr\fR and \fBwaddnstr\fR may be
+-macros.
++All of these functions except \fBwaddnstr\fR may be macros.
+ .SH PORTABILITY
+-All these entry points are described in the XSI Curses standard, Issue 4. The
+-XSI errors EILSEQ and EOVERFLOW, associated with extended-level conformance,
+-are not yet detected.
++These functions are described in the XSI Curses standard, Issue 4.
+ .SH SEE ALSO
+-\fBcurses\fR(3X), \fBcurs_addch\fR(3X).
++\fBcurses\fR(3X),
++\fBcurs_addch\fR(3X).
+Index: man/curs_addwstr.3x
+Prereq: 1.10
+--- ncurses-5.9/man/curs_addwstr.3x 2010-12-04 18:36:44.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_addwstr.3x 2012-11-03 22:57:31.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,8 +26,11 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_addwstr.3x,v 1.10 2010/12/04 18:36:44 tom Exp $
++.\" $Id: curs_addwstr.3x,v 1.11 2012/11/03 22:57:31 tom Exp $
+ .TH curs_addwstr 3X ""
++.de bP
++.IP \(bu 4
++..
+ .na
+ .hy 0
+ .SH NAME
+@@ -62,31 +65,39 @@
+ \fBint mvwaddnwstr(WINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, const wchar_t *\fR\fIwstr\fR\fB, int \fR\fIn\fR\fB);\fR
+ .fi
+ .SH DESCRIPTION
+-These routines write the characters of the
++These functions write the characters of the
+ (null-terminated) \fBwchar_t\fR character string
+ \fIwstr\fR on the given window.
+ It is similar to constructing a \fBcchar_t\fR for each wchar_t in the string,
+ then calling \fBwadd_wch\fR for the resulting \fBcchar_t\fR.
+ .PP
+-The \fImv\fR routines perform cursor movement once, before writing any
++The \fImv\fR functions perform cursor movement once, before writing any
+ characters.
+ Thereafter, the cursor is advanced as a side-effect of writing to the window.
+ .PP
+-The four routines with \fIn\fR as the last argument
+-write at most \fIn\fR \fBwchar_t\fR characters.
+-If \fIn\fR is \-1, then the entire string will be added,
+-up to the maximum number of characters that will fit on the line,
++The four functions with \fIn\fR as the last argument
++write at most \fIn\fR \fBwchar_t\fR characters,
+ or until a terminating null is reached.
+-.SH RETURN VALUES
+-All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success.
++If \fIn\fR is \-1, then the entire string will be added.
++.SH RETURN VALUE
++All functions return the integer \fBERR\fR upon failure and \fBOK\fR on success.
++.PP
++X/Open does not define any error conditions.
++This implementation returns an error
++.bP
++if the window pointer is null or
++.bP
++if the string pointer is null or
++.bP
++if the corresponding calls to \fBwadd_wch\fP return an error.
+ .PP
+ Functions with a "mv" prefix first perform a cursor movement using
+ \fBwmove\fP, and return an error if the position is outside the window,
+ or if the window pointer is null.
+ .SH NOTES
+-Note that all of these routines except \fBwaddnwstr\fR may be macros.
++All of these functions except \fBwaddnwstr\fR may be macros.
+ .SH PORTABILITY
+-All these entry points are described in the XSI Curses standard, Issue 4.
++These functions are described in the XSI Curses standard, Issue 4.
+ .SH SEE ALSO
+ \fBcurses\fR(3X),
+ \fBcurs_add_wch\fR(3X)
+Index: man/curs_bkgrnd.3x
+Prereq: 1.4
+--- ncurses-5.9/man/curs_bkgrnd.3x 2010-12-04 18:49:20.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_bkgrnd.3x 2012-11-03 23:03:59.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_bkgrnd.3x,v 1.4 2010/12/04 18:49:20 tom Exp $
++.\" $Id: curs_bkgrnd.3x,v 1.5 2012/11/03 23:03:59 tom Exp $
+ .TH curs_bkgrnd 3X ""
+ .SH NAME
+ \fBbkgrnd\fR,
+@@ -89,7 +89,7 @@
+ \fBbkgrndset\fR, and
+ \fBgetbkgrnd\fR
+ may be macros.
+-.SH RETURN VALUES
++.SH RETURN VALUE
+ The \fBbkgrndset\fR and \fBwbkgrndset\fR routines do not return a value.
+ .PP
+ Upon successful completion, the other functions return \fBOK\fR.
+Index: man/curs_border_set.3x
+Prereq: 1.10
+--- ncurses-5.9/man/curs_border_set.3x 2011-01-15 12:56:18.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_border_set.3x 2012-11-03 23:03:59.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2002-2010,2011 Free Software Foundation, Inc. *
++.\" Copyright (c) 2002-2011,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_border_set.3x,v 1.10 2011/01/15 12:56:18 tom Exp $
++.\" $Id: curs_border_set.3x,v 1.11 2012/11/03 23:03:59 tom Exp $
+ .TH curs_border_set 3X ""
+ .na
+ .hy 0
+@@ -187,7 +187,7 @@
+ \fBvline_set\fR
+ may be macros.
+ .br
+-.SH RETURN VALUES
++.SH RETURN VALUE
+ .PP
+ Upon successful completion, these functions return
+ \fBOK\fR.
+Index: man/curs_get_wch.3x
+Prereq: 1.7
+--- ncurses-5.9/man/curs_get_wch.3x 2010-08-14 23:31:42.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_get_wch.3x 2012-11-03 23:03:59.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_get_wch.3x,v 1.7 2010/08/14 23:31:42 tom Exp $
++.\" $Id: curs_get_wch.3x,v 1.8 2012/11/03 23:03:59 tom Exp $
+ .TH curs_get_wch 3X ""
+ .SH NAME
+ \fBget_wch\fR,
+@@ -132,7 +132,7 @@
+ .PP
+ All functions except \fBwget_wch\fR and \fBunget_wch\fR
+ may be macros.
+-.SH RETURN VALUES
++.SH RETURN VALUE
+ When
+ \fBget_wch\fR,
+ \fBwget_wch\fR,
+Index: man/curs_get_wstr.3x
+Prereq: 1.8
+--- ncurses-5.9/man/curs_get_wstr.3x 2010-12-04 18:36:44.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_get_wstr.3x 2012-11-03 23:03:59.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_get_wstr.3x,v 1.8 2010/12/04 18:36:44 tom Exp $
++.\" $Id: curs_get_wstr.3x,v 1.9 2012/11/03 23:03:59 tom Exp $
+ .TH curs_get_wstr 3X ""
+ .na
+ .hy 0
+@@ -144,7 +144,7 @@
+ is no way to distinguish a \fBKEY_\fR value from a valid \fBwchar_t\fR value.
+ .PP
+ All of these routines except \fBwgetn_wstr\fR may be macros.
+-.SH RETURN VALUES
++.SH RETURN VALUE
+ All of these functions return \fBOK\fR upon successful completion.
+ Otherwise, they return \fBERR\fR.
+ .PP
+Index: man/curs_getcchar.3x
+Prereq: 1.15
+--- ncurses-5.9/man/curs_getcchar.3x 2010-12-04 18:36:44.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_getcchar.3x 2012-11-03 23:03:59.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2001-2009,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 2001-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_getcchar.3x,v 1.15 2010/12/04 18:36:44 tom Exp $
++.\" $Id: curs_getcchar.3x,v 1.16 2012/11/03 23:03:59 tom Exp $
+ .TH curs_getcchar 3X ""
+ .de bP
+ .IP \(bu 4
+@@ -116,7 +116,7 @@
+ The \fIwcval\fP argument may be a value generated by a call to
+ \fBsetcchar\fP or by a function that has a \fBcchar_t\fP output argument.
+ If \fIwcval\fP is constructed by any other means, the effect is unspecified.
+-.SH RETURN VALUES
++.SH RETURN VALUE
+ .PP
+ When \fIwch\fP is a null pointer,
+ \fBgetcchar\fP returns the number of wide characters referenced by
+Index: man/curs_getch.3x
+Prereq: 1.36
+--- ncurses-5.9/man/curs_getch.3x 2011-01-22 19:38:51.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_getch.3x 2012-07-07 20:04:56.000000000 +0000
+@@ -1,6 +1,6 @@
+ '\" t
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_getch.3x,v 1.36 2011/01/22 19:38:51 tom Exp $
++.\" $Id: curs_getch.3x,v 1.37 2012/07/07 20:04:56 tom Exp $
+ .TH curs_getch 3X ""
+ .na
+ .hy 0
+@@ -237,14 +237,14 @@
+ All routines return the integer \fBERR\fR upon failure and an integer value
+ other than \fBERR\fR (\fBOK\fR in the case of ungetch()) upon successful
+ completion.
+-.RS
++.RS 3
+ .TP 5
+ \fBungetch\fP
+-returns an error
++returns ERR
+ if there is no more room in the FIFO.
+-.TP 5
++.TP
+ \fBwgetch\fP
+-returns an error
++returns ERR
+ if the window pointer is null, or
+ if its timeout expires without having any data.
+ .RE
+Index: man/curs_in_wchstr.3x
+Prereq: 1.8
+--- ncurses-5.9/man/curs_in_wchstr.3x 2010-12-04 18:36:44.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_in_wchstr.3x 2012-11-03 23:03:59.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_in_wchstr.3x,v 1.8 2010/12/04 18:36:44 tom Exp $
++.\" $Id: curs_in_wchstr.3x,v 1.9 2012/11/03 23:03:59 tom Exp $
+ .TH curs_in_wchstr 3X ""
+ .na
+ .hy 0
+@@ -98,7 +98,7 @@
+ \fBmvwin_wchnstr\fR, or
+ \fBwin_wchnstr\fR
+ is recommended.
+-.SH RETURN VALUES
++.SH RETURN VALUE
+ Upon successful completion, these functions return
+ \fBOK\fR.
+ Otherwise, they return
+Index: man/curs_inopts.3x
+Prereq: 1.15
+--- ncurses-5.9/man/curs_inopts.3x 2010-12-04 18:40:45.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_inopts.3x 2012-04-28 19:09:15.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_inopts.3x,v 1.15 2010/12/04 18:40:45 tom Exp $
++.\" $Id: curs_inopts.3x,v 1.17 2012/04/28 19:09:15 tom Exp $
+ .TH curs_inopts 3X ""
+ .na
+ .hy 0
+@@ -223,6 +223,42 @@
+ left the echo bit on at initialization, but the BSD \fBraw\fR call turned it
+ off as a side-effect. For best portability, set echo or noecho explicitly
+ just after initialization, even if your program remains in cooked mode.
++.PP
++When \fBkeypad\fP is first enabled,
++ncurses loads the key-definitions for the current terminal description.
++If the terminal description includes extended string capabilities,
++e.g., from using the \fB\-x\fP option of @TIC@,
++then ncurses also defines keys for the capabilities whose names
++begin with "k".
++The corresponding keycodes are generated and (depending on previous
++loads of terminal descriptions) may differ from one execution of a
++program to the next.
++The generated keycodes are recognized by the \fBkeyname\fP function
++(which will then return a name beginning with "k" denoting the
++terminfo capability name rather than "K", used for curses key-names).
++On the other hand, an application can use \fBdefine_key\fP to establish
++a specific keycode for a given string.
++This makes it possible for an application to check for an extended
++capability's presence with \fItigetstr\fP,
++and reassign the keycode to match its own needs.
++.PP
++Low-level applications can use \fBtigetstr\fP to obtain the definition
++of any particular string capability.
++Higher-level applications which use the curses \fBwgetch\fP
++and similar functions to return keycodes rely upon the order in which
++the strings are loaded.
++If more than one key definition has the same string value,
++then \fBwgetch\fP can return only one keycode.
++Most curses implementations (including ncurses)
++load key definitions in the order
++defined by the array of string capability names.
++The last key to be loaded determines the keycode which will be returned.
++In ncurses, you may also have extended capabilities interpreted as
++key definitions.
++These are loaded after the predefined keys,
++and if a capability's value is the same as a previously-loaded
++key definition,
++the later definition is the one used.
+ .SH NOTES
+ Note that \fBecho\fR, \fBnoecho\fR, \fBhalfdelay\fR, \fBintrflush\fR,
+ \fBmeta\fR, \fBnodelay\fR, \fBnotimeout\fR, \fBnoqiflush\fR,
+@@ -233,4 +269,9 @@
+ respectively. Mixing raw/noraw and cbreak/nocbreak calls leads to tty driver
+ control states that are hard to predict or understand; it is not recommended.
+ .SH SEE ALSO
+-\fBcurses\fR(3X), \fBcurs_getch\fR(3X), \fBcurs_initscr\fR(3X), \fBtermio\fR(7)
++\fBcurses\fR(3X),
++\fBcurs_getch\fR(3X),
++\fBcurs_initscr\fR(3X),
++\fBcurs_util\fR(3X),
++\fBdefine_key\fR(3X),
++\fBtermio\fR(7)
+Index: man/curs_ins_wstr.3x
+Prereq: 1.6
+--- ncurses-5.9/man/curs_ins_wstr.3x 2010-12-04 18:38:55.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_ins_wstr.3x 2012-11-03 23:03:59.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2002-2005,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_ins_wstr.3x,v 1.6 2010/12/04 18:38:55 tom Exp $
++.\" $Id: curs_ins_wstr.3x,v 1.7 2012/11/03 23:03:59 tom Exp $
+ .TH curs_ins_wstr 3X ""
+ .na
+ .hy 0
+@@ -92,7 +92,7 @@
+ functions will fail.
+ XSI does not define what will happen if a nonspacing character follows
+ a control character.
+-.SH RETURN VALUES
++.SH RETURN VALUE
+ Upon successful completion, these functions return OK.
+ Otherwise, they return ERR.
+ .PP
+Index: man/curs_inwstr.3x
+Prereq: 1.7
+--- ncurses-5.9/man/curs_inwstr.3x 2010-12-04 18:38:55.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_inwstr.3x 2012-11-03 23:03:59.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_inwstr.3x,v 1.7 2010/12/04 18:38:55 tom Exp $
++.\" $Id: curs_inwstr.3x,v 1.8 2012/11/03 23:03:59 tom Exp $
+ .TH curs_inwstr 3X ""
+ .SH NAME
+ \fBinwstr\fR,
+@@ -72,7 +72,7 @@
+ Note that all routines except
+ \fBwinnwstr\fR
+ may be macros.
+-.SH RETURN VALUES
++.SH RETURN VALUE
+ All routines return
+ \fBERR\fR
+ upon failure. Upon
+Index: man/curs_overlay.3x
+Prereq: 1.16
+--- ncurses-5.9/man/curs_overlay.3x 2010-12-04 18:40:45.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_overlay.3x 2013-04-06 23:48:51.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2010,2013 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_overlay.3x,v 1.16 2010/12/04 18:40:45 tom Exp $
++.\" $Id: curs_overlay.3x,v 1.17 2013/04/06 23:48:51 tom Exp $
+ .TH curs_overlay 3X ""
+ .na
+ .hy 0
+@@ -48,18 +48,21 @@
+ \fBint dmaxcol, int overlay);\fR
+ .SH DESCRIPTION
+ The \fBoverlay\fR and \fBoverwrite\fR routines overlay \fIsrcwin\fR on
+-top of \fIdstwin\fR. \fIscrwin\fR and \fIdstwin\fR are not required
+-to be the same size; only text where the two windows overlap is
+-copied. The difference is that \fBoverlay\fR is non-destructive
++top of \fIdstwin\fR.
++\fIscrwin\fR and \fIdstwin\fR are not required
++to be the same size; only text where the two windows overlap is copied.
++The difference is that \fBoverlay\fR is non-destructive
+ (blanks are not copied) whereas \fBoverwrite\fR is destructive.
+ .PP
+ The \fBcopywin\fR routine provides a finer granularity of control over the
+-\fBoverlay\fR and \fBoverwrite\fR routines. Like in the \fBprefresh\fR
+-routine, a rectangle is specified in the destination window, (\fIdminrow\fR,
++\fBoverlay\fR and \fBoverwrite\fR routines.
++As in the \fBprefresh\fR routine,
++a rectangle is specified in the destination window, (\fIdminrow\fR,
+ \fIdmincol\fR) and (\fIdmaxrow\fR, \fIdmaxcol\fR), and the upper-left-corner
+-coordinates of the source window, (\fIsminrow\fR, \fIsmincol\fR). If the
+-argument \fIoverlay\fR is \fBtrue\fR, then copying is non-destructive, as in
+-\fBoverlay\fR.
++coordinates of the source window, (\fIsminrow\fR, \fIsmincol\fR).
++If the argument \fIoverlay\fR is \fBtrue\fR,
++then copying is non-destructive,
++as in \fBoverlay\fR.
+ .SH RETURN VALUE
+ Routines that return an integer return \fBERR\fR upon failure, and \fBOK\fR
+ (SVr4 only specifies "an integer value other than \fBERR\fR") upon successful
+@@ -75,7 +78,8 @@
+ Note that \fBoverlay\fR and \fBoverwrite\fR may be macros.
+ .SH PORTABILITY
+ The XSI Curses standard, Issue 4 describes these functions (adding the const
+-qualifiers). It further specifies their behavior in the presence of characters
++qualifiers).
++It further specifies their behavior in the presence of characters
+ with multibyte renditions (not yet supported in this implementation).
+ .SH SEE ALSO
+ \fBcurses\fR(3X), \fBcurs_pad\fR(3X), \fBcurs_refresh\fR(3X)
+Index: man/curs_termcap.3x
+Prereq: 1.26
+--- ncurses-5.9/man/curs_termcap.3x 2010-12-04 18:38:55.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_termcap.3x 2013-01-19 15:58:48.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,8 +26,11 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_termcap.3x,v 1.26 2010/12/04 18:38:55 tom Exp $
++.\" $Id: curs_termcap.3x,v 1.30 2013/01/19 15:58:48 tom Exp $
+ .TH curs_termcap 3X ""
++.de bP
++.IP \(bu 4
++..
+ .na
+ .hy 0
+ .ds n 5
+@@ -75,11 +78,39 @@
+ routines are emulated using the \fIterminfo\fR database. Thus, they
+ can only be used to query the capabilities of entries for which a
+ terminfo entry has been compiled.
++.SS INITIALIZATION
+ .PP
+ The \fBtgetent\fR routine loads the entry for \fIname\fR.
+-It returns 1 on success, 0 if there is no such entry, and \-1 if the
+-terminfo database could not be found.
++It returns:
++.RS 3
++.TP 3
++1
++on success,
++.TP 3
++0
++if there is no such entry
++(or that it is a generic type, having too little information for curses
++applications to run), and
++.TP 3
++\-1
++if the terminfo database could not be found.
++.RE
++.PP
++This differs from the \fItermcap\fP library in two ways:
++.RS 3
++.bP
+ The emulation ignores the buffer pointer \fIbp\fR.
++The \fItermcap\fP library would store a copy of the terminal
++description in the area referenced by this pointer.
++However, ncurses stores its terminal descriptions in compiled
++binary form, which is not the same thing.
++.bP
++There is a difference in return codes.
++The \fItermcap\fP library does not check if the terminal
++description is marked with the \fIgeneric\fP capability,
++or if the terminal description has cursor-addressing.
++.RE
++.SS CAPABILITY VALUES
+ .PP
+ The \fBtgetflag\fR routine gets the boolean entry for \fIid\fR,
+ or zero if it is not available.
+@@ -98,12 +129,14 @@
+ \fBtgetflag\fR,
+ \fBtgetnum\fR and
+ \fBtgetstr\fR are compared in lookups.
++.SS FORMATTING CAPABILITIES
+ .PP
+ The \fBtgoto\fR routine instantiates the parameters into the given capability.
+ The output from this routine is to be passed to \fBtputs\fR.
+ .PP
+ The \fBtputs\fR routine is described on the \fBcurs_terminfo\fR(3X) manual
+ page. It can retrieve capabilities by either termcap or terminfo name.
++.SS GLOBAL VARIABLES
+ .PP
+ The variables
+ \fBPC\fR,
+@@ -165,8 +198,28 @@
+ e.g., not distinguishing between input and output.
+ In particular, some applications are reported to declare and/or
+ modify \fBospeed\fR.
++.PP
++The comment that only the first two characters of the \fBid\fR parameter
++are used escapes many application developers.
++The original BSD 4.2 termcap library (and historical relics thereof)
++did not require a trailing null NUL on the parameter name passed
++to \fBtgetstr\fP, \fBtgetnum\fP and \fBtgetflag\fP.
++Some applications assume that the termcap interface does not require
++the trailing NUL for the parameter name.
++Taking into account these issues:
++.bP
++As a special case,
++\fBtgetflag\fP matched against a single-character identifier
++provided that was at the end of the terminal description.
++You should not rely upon this behavior in portable programs.
++This implementation disallows matches against single-character capability names.
++.bP
++This implementation disallows matches by the termcap interface against
++extended capability names which are longer than two characters.
+ .SH SEE ALSO
+ \fBcurses\fR(3X),
+ \fBterminfo\fR(\*n),
+ \fBterm_variables\fR(3X),
+ \fBputc\fR(3).
++.sp
++http://invisible-island.net/ncurses/tctest.html
+Index: man/curs_terminfo.3x
+Prereq: 1.35
+--- ncurses-5.9/man/curs_terminfo.3x 2010-12-04 18:38:55.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_terminfo.3x 2013-01-12 18:11:40.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1999-2008,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1999-2011,2013 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_terminfo.3x,v 1.35 2010/12/04 18:38:55 tom Exp $
++.\" $Id: curs_terminfo.3x,v 1.37 2013/01/12 18:11:40 tom Exp $
+ .TH curs_terminfo 3X ""
+ .ds n 5
+ .na
+@@ -77,7 +77,7 @@
+ .br
+ \fBint vidattr(chtype \fR\fIattrs\fR\fB);\fR
+ .br
+-\fBint vid_puts(attr_t \fR\fIattrs\fR\fB, short \fR\fIpair\fR\fB, void *\fR\fIopts\fR\fB, int (*\fR\fIputc\fR\fB)(char));\fR
++\fBint vid_puts(attr_t \fR\fIattrs\fR\fB, short \fR\fIpair\fR\fB, void *\fR\fIopts\fR\fB, int (*\fR\fIputc\fR\fB)(int));\fR
+ .br
+ \fBint vid_attr(attr_t \fR\fIattrs\fR\fB, short \fR\fIpair\fR\fB, void *\fR\fIopts\fR\fB);\fR
+ .br
+@@ -346,7 +346,7 @@
+ This implementation allows the caller to use \-1's for the old ordinates.
+ In that case, the old location is unknown.
+ .PP
+-Extended terminal capability names, e.g., as defined by \fBtic\ \-x\fP,
++Extended terminal capability names, e.g., as defined by \fB@TIC@\ \-x\fP,
+ are not stored in the arrays described in this section.
+ .SH SEE ALSO
+ \fBcurses\fR(3X),
+Index: man/curs_threads.3x
+Prereq: 1.18
+--- ncurses-5.9/man/curs_threads.3x 2010-12-04 18:38:55.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_threads.3x 2012-05-26 17:03:26.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2008,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 2008-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_threads.3x,v 1.18 2010/12/04 18:38:55 tom Exp $
++.\" $Id: curs_threads.3x,v 1.19 2012/05/26 17:03:26 tom Exp $
+ .TH curs_threads 3X ""
+ .de bP
+ .IP \(bu 4
+@@ -51,9 +51,9 @@
+ .br
+ \fBint set_tabsize(int size);\fR
+ .br
+-\fBint use_screen(SCREEN *scr, NCURSES_WINDOW_CB func, void *data);\fR
++\fBint use_screen(SCREEN *scr, NCURSES_SCREEN_CB func, void *data);\fR
+ .br
+-\fBint use_window(WINDOW *win, NCURSES_SCREEN_CB func, void *data);\fR
++\fBint use_window(WINDOW *win, NCURSES_WINDOW_CB func, void *data);\fR
+ .br
+ .SH DESCRIPTION
+ This implementation can be configured to provide rudimentary support
+Index: man/curs_util.3x
+Prereq: 1.32
+--- ncurses-5.9/man/curs_util.3x 2010-12-04 18:38:55.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_util.3x 2012-07-21 18:51:10.000000000 +0000
+@@ -1,5 +1,6 @@
++'\" t
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +27,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_util.3x,v 1.32 2010/12/04 18:38:55 tom Exp $
++.\" $Id: curs_util.3x,v 1.36 2012/07/21 18:51:10 tom Exp $
+ .TH curs_util 3X ""
+ .de bP
+ .IP \(bu 4
+@@ -44,6 +45,7 @@
+ \fBputwin\fR,
+ \fBunctrl\fR,
+ \fBuse_env\fR,
++\fBuse_tioctl\fR,
+ \fBwunctrl\fR \- miscellaneous \fBcurses\fR utility routines
+ .ad
+ .hy
+@@ -64,6 +66,8 @@
+ .br
+ \fBvoid use_env(bool f);\fR
+ .br
++\fBvoid use_tioctl(bool f);\fR
++.br
+ \fBint putwin(WINDOW *win, FILE *filep);\fR
+ .br
+ \fBWINDOW *getwin(FILE *filep);\fR
+@@ -123,16 +127,70 @@
+ The limitation arises because the \fBfilter\fP routine modifies the
+ in-memory copy of the terminal information.
+ .PP
+-The \fBuse_env\fR routine, if used, is called before \fBinitscr\fR or
+-\fBnewterm\fR are called. When called with \fBFALSE\fR as an
+-argument, the values of \fBlines\fR and \fBcolumns\fR specified in the
+-\fIterminfo\fR database will be used, even if environment variables
+-\fBLINES\fR and \fBCOLUMNS\fR (used by default) are set, or if
+-\fBcurses\fR is running in a window (in which case default behavior
+-would be to use the window size if \fBLINES\fR and \fBCOLUMNS\fR are
+-not set).
+-Note that setting \fBLINES\fR or \fBCOLUMNS\fR overrides the
+-corresponding size which may be obtained from the operating system.
++The \fBuse_env\fR routine, if used,
++should be called before \fBinitscr\fR or
++\fBnewterm\fR are called
++(because those compute the screen size).
++It modifies the way \fBncurses\fP treats environment variables
++when determining the screen size.
++.bP
++Normally ncurses looks first at the terminal database for the screen size.
++.IP
++If \fBuse_env\fP was called with \fBFALSE\fP for parameter,
++it stops here unless
++If \fBuse_tioctl\fP was also called with \fBTRUE\fP for parameter.
++.bP
++Then it asks for the screen size via operating system calls.
++If successful,
++it overrides the values from the terminal database.
++.bP
++Finally (unless \fBuse_env\fP was called with \fBFALSE\fP parameter),
++ncurses examines the \fBLINES\fR or \fBCOLUMNS\fR environment variables,
++using a value in those to override the results
++from the operating system or terminal database.
++.IP
++Ncurses also updates the screen size in response to SIGWINCH,
++unless overridden by the \fBLINES\fR or \fBCOLUMNS\fR environment variables,
++.PP
++The \fBuse_tioctl\fR routine, if used,
++should be called before \fBinitscr\fR or \fBnewterm\fR are called
++(because those compute the screen size).
++After \fBuse_tioctl\fR is called with \fBTRUE\fR as an argument,
++ncurses modifies the last step in its computation of screen size as follows:
++.bP
++checks if the \fBLINES\fR and \fBCOLUMNS\fR environment variables
++are set to a number greater than zero.
++.bP
++for each, ncurses updates the corresponding environment variable
++with the value that it has obtained via operating system call
++or from the terminal database.
++.bP
++ncurses re-fetches the value of the environment variables so that
++it is still the environment variables which set the screen size.
++.PP
++The \fBuse_env\fP and \fBuse_tioctl\fP routines combine as
++summarized here:
++.TS
++center tab(/);
++l l l
++_ _ _
++lw7 lw7 lw40.
++\fIuse_env\fR/\fIuse_tioctl\fR/\fISummary\fR
++TRUE/FALSE/T{
++This is the default behavior.
++ncurses uses operating system calls
++unless overridden by $LINES or $COLUMNS environment variables.
++T}
++TRUE/TRUE/T{
++ncurses updates $LINES and $COLUMNS based on operating system calls.
++T}
++FALSE/TRUE/T{
++ncurses ignores $LINES and $COLUMNS, uses operating system calls to obtain size.
++T}
++FALSE/FALSE/T{
++ncurses relies on the terminal database to determine size.
++T}
++.TE
+ .PP
+ The \fBputwin\fR routine writes all data associated with window \fIwin\fR into
+ the file to which \fIfilep\fR points. This information can be later retrieved
+@@ -224,7 +282,7 @@
+ .PP
+ The \fBkeyname\fP function may return the names of user-defined
+ string capabilities which are defined in the terminfo entry via the \fB\-x\fP
+-option of \fBtic\fP.
++option of \fB@TIC@\fP.
+ This implementation automatically assigns at run-time keycodes to
+ user-defined strings which begin with "k".
+ The keycodes start at KEY_MAX, but are not guaranteed to be
+@@ -233,8 +291,8 @@
+ The \fBuse_extended_names\fP function controls whether this data is
+ loaded when the terminal description is read by the library.
+ .PP
+-The \fBnofilter\fP routine is specific to ncurses.
+-It was not supported on Version 7, BSD or System V implementations.
++The \fBnofilter\fP and \fBuse_tioctl\fP routines are specific to ncurses.
++They were not supported on Version 7, BSD or System V implementations.
+ It is recommended that any code depending on ncurses extensions
+ be conditioned using NCURSES_VERSION.
+ .SH SEE ALSO
+Index: man/form_field.3x
+Prereq: 1.10
+--- ncurses-5.9/man/form_field.3x 2010-12-04 18:40:45.000000000 +0000
++++ ncurses-5.9-20130504/man/form_field.3x 2012-11-03 23:03:59.000000000 +0000
+@@ -1,6 +1,6 @@
+ '\" t
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: form_field.3x,v 1.10 2010/12/04 18:40:45 tom Exp $
++.\" $Id: form_field.3x,v 1.11 2012/11/03 23:03:59 tom Exp $
+ .TH form_field 3X ""
+ .SH NAME
+ \fBform_field\fR \- make and break connections between fields and forms
+@@ -52,7 +52,7 @@
+ .PP
+ The function \fBmove_field\fR moves the given field (which must be disconnected)
+ to a specified location on the screen.
+-.SH RETURN VALUES
++.SH RETURN VALUE
+ The function \fBform_fields\fR returns a pointer (which may be \fBNULL\fR).
+ It does not set errno.
+ .PP
+Index: man/infocmp.1m
+Prereq: 1.46
+--- ncurses-5.9/man/infocmp.1m 2010-12-04 18:40:45.000000000 +0000
++++ ncurses-5.9-20130504/man/infocmp.1m 2013-02-02 22:07:35.000000000 +0000
+@@ -1,6 +1,6 @@
+ '\" t
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -27,9 +27,12 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: infocmp.1m,v 1.46 2010/12/04 18:40:45 tom Exp $
++.\" $Id: infocmp.1m,v 1.53 2013/02/02 22:07:35 tom Exp $
+ .TH @INFOCMP@ 1M ""
+ .ds n 5
++.de bP
++.IP \(bu 4
++..
+ .ds d @TERMINFO@
+ .SH NAME
+ \fB@INFOCMP@\fR \- compare or print out \fIterminfo\fR descriptions
+@@ -37,10 +40,12 @@
+ \fB@INFOCMP@\fR [\fB\-\
+ 1\
+ C\
++D\
+ E\
+ F\
+ G\
+ I\
++K\
+ L\
+ T\
+ U\
+@@ -69,32 +74,40 @@
+ \fB@INFOCMP@\fR can be used to compare a binary \fBterminfo\fR entry with other
+ terminfo entries, rewrite a \fBterminfo\fR description to take advantage of the
+ \fBuse=\fR terminfo field, or print out a \fBterminfo\fR description from the
+-binary file (\fBterm\fR) in a variety of formats. In all cases, the boolean
++binary file (\fBterm\fR) in a variety of formats.
++In all cases, the boolean
+ fields will be printed first, followed by the numeric fields, followed by the
+ string fields.
+ .SS Default Options
+ If no options are specified and zero or one \fItermnames\fR are specified, the
+-\fB\-I\fR option will be assumed. If more than one \fItermname\fR is specified,
++\fB\-I\fR option will be assumed.
++If more than one \fItermname\fR is specified,
+ the \fB\-d\fR option will be assumed.
+ .SS Comparison Options [\-d] [\-c] [\-n]
+ \fB@INFOCMP@\fR compares the \fBterminfo\fR description of the first terminal
+ \fItermname\fR with each of the descriptions given by the entries for the other
+-terminal's \fItermnames\fR. If a capability is defined for only one of the
++terminal's \fItermnames\fR.
++If a capability is defined for only one of the
+ terminals, the value returned will depend on the type of the capability:
+ \fBF\fR for boolean variables, \fB\-1\fR for integer variables, and \fBNULL\fR
+ for string variables.
+ .PP
+ The \fB\-d\fR option produces a list of each capability that is different
+-between two entries. This option is useful to show the difference between two
++between two entries.
++This option is useful to show the difference between two
+ entries, created by different people, for the same or similar terminals.
+ .PP
+ The \fB\-c\fR option produces a list of each capability that is common between
+-two entries. Capabilities that are not set are ignored. This option can be
++two or more entries.
++Capabilities that are not set are ignored.
++This option can be
+ used as a quick check to see if the \fB\-u\fR option is worth using.
+ .PP
+-The \fB\-n\fR option produces a list of each capability that is in neither
+-entry. If no \fItermnames\fR are given, the environment variable \fBTERM\fR
+-will be used for both of the \fItermnames\fR. This can be used as a quick
++The \fB\-n\fR option produces a list of each capability that is in none of
++the given entries.
++If no \fItermnames\fR are given, the environment variable \fBTERM\fR
++will be used for both of the \fItermnames\fR.
++This can be used as a quick
+ check to see if anything was left out of a description.
+ .SS Source Listing Options [\-I] [\-L] [\-C] [\-r]
+ The \fB\-I\fR, \fB\-L\fR, and \fB\-C\fR options will produce a source listing for
+@@ -107,6 +120,7 @@
+ \fB\-L\fR/use the long C variable name listed in <\fBterm.h\fR>
+ \fB\-C\fR/use the \fBtermcap\fR names
+ \fB\-r\fR/when using \fB\-C\fR, put out all capabilities in \fBtermcap\fR form
++\fB\-K\fR/modifies the \fB\-C\fP option, improving BSD-compatibility.
+ .TE
+ .PP
+ If no \fItermnames\fR are given, the environment variable \fBTERM\fR will be
+@@ -114,26 +128,48 @@
+ .PP
+ The source produced by the \fB\-C\fR option may be used directly as a
+ \fBtermcap\fR entry, but not all parameterized strings can be changed to
+-the \fBtermcap\fR format. \fB@INFOCMP@\fR will attempt to convert most of the
++the \fBtermcap\fR format.
++\fB@INFOCMP@\fR will attempt to convert most of the
+ parameterized information, and anything not converted will be plainly marked in
+-the output and commented out. These should be edited by hand.
++the output and commented out.
++These should be edited by hand.
++.PP
++For best results when converting to \fBtermcap\fP format,
++you should use both \fB\-C\fP and \fB\-r\fP.
++Normally a termcap description is limited to 1023 bytes.
++@INFOCMP@ trims away less essential parts to make it fit.
++If you are converting to one of the (rare) termcap implementations
++which accept an unlimited size of termcap,
++you may want to add the \fB\-T\fP option.
++More often however, you must help the termcap implementation,
++and trim excess whitespace (use the \fB\-0\fP option for that).
+ .PP
+ All padding information for strings will be collected together and placed
+-at the beginning of the string where \fBtermcap\fR expects it. Mandatory
++at the beginning of the string where \fBtermcap\fR expects it.
++Mandatory
+ padding (padding information with a trailing '/') will become optional.
+ .PP
+ All \fBtermcap\fR variables no longer supported by \fBterminfo\fR, but which
+-are derivable from other \fBterminfo\fR variables, will be output. Not all
++are derivable from other \fBterminfo\fR variables, will be output.
++Not all
+ \fBterminfo\fR capabilities will be translated; only those variables which were
+-part of \fBtermcap\fR will normally be output. Specifying the \fB\-r\fR option
++part of \fBtermcap\fR will normally be output.
++Specifying the \fB\-r\fR option
+ will take off this restriction, allowing all capabilities to be output in
+ \fItermcap\fR form.
++Normally you would use both the \fB\-C\fP and \fB\-r\fP options.
++The actual format used incorporates some improvements for escaped characters
++from terminfo format.
++For a stricter BSD-compatible translation, use the \fB\-K\fR option
++rather than \fB\-C\fP.
+ .PP
+ Note that because padding is collected to the beginning of the capability, not
+-all capabilities are output. Mandatory padding is not supported. Because
++all capabilities are output.
++Mandatory padding is not supported.
++Because
+ \fBtermcap\fR strings are not as flexible, it is not always possible to convert
+-a \fBterminfo\fR string capability into an equivalent \fBtermcap\fR format. A
+-subsequent conversion of the \fBtermcap\fR file back into \fBterminfo\fR format
++a \fBterminfo\fR string capability into an equivalent \fBtermcap\fR format.
++A subsequent conversion of the \fBtermcap\fR file back into \fBterminfo\fR format
+ will not necessarily reproduce the original \fBterminfo\fR
+ source.
+ .PP
+@@ -156,27 +192,33 @@
+ .SS Use= Option [\-u]
+ The \fB\-u\fR option produces a \fBterminfo\fR source description of the first
+ terminal \fItermname\fR which is relative to the sum of the descriptions given
+-by the entries for the other terminals \fItermnames\fR. It does this by
++by the entries for the other terminals \fItermnames\fR.
++It does this by
+ analyzing the differences between the first \fItermname\fR and the other
+ \fItermnames\fR and producing a description with \fBuse=\fR fields for the
+-other terminals. In this manner, it is possible to retrofit generic terminfo
+-entries into a terminal's description. Or, if two similar terminals exist, but
++other terminals.
++In this manner, it is possible to retrofit generic terminfo
++entries into a terminal's description.
++Or, if two similar terminals exist, but
+ were coded at different times or by different people so that each description
+ is a full description, using \fB@INFOCMP@\fR will show what can be done to change
+ one description to be relative to the other.
+ .PP
+ A capability will get printed with an at-sign (@) if it no longer exists in the
+ first \fItermname\fR, but one of the other \fItermname\fR entries contains a
+-value for it. A capability's value gets printed if the value in the first
++value for it.
++A capability's value gets printed if the value in the first
+ \fItermname\fR is not found in any of the other \fItermname\fR entries, or if
+ the first of the other \fItermname\fR entries that has this capability gives a
+ different value for the capability than that in the first \fItermname\fR.
+ .PP
+-The order of the other \fItermname\fR entries is significant. Since the
+-terminfo compiler \fBtic\fR does a left-to-right scan of the capabilities,
++The order of the other \fItermname\fR entries is significant.
++Since the
++terminfo compiler \fB@TIC@\fR does a left-to-right scan of the capabilities,
+ specifying two \fBuse=\fR entries that contain differing entries for the same
+ capabilities will produce different results depending on the order that the
+-entries are given in. \fB@INFOCMP@\fR will flag any such inconsistencies between
++entries are given in.
++\fB@INFOCMP@\fR will flag any such inconsistencies between
+ the other \fItermname\fR entries as they are found.
+ .PP
+ Alternatively, specifying a capability \fIafter\fR a \fBuse=\fR entry that
+@@ -187,29 +229,48 @@
+ .PP
+ Another error that does not cause incorrect compiled files, but will slow down
+ the compilation time, is specifying extra \fBuse=\fR fields that are
+-superfluous. \fB@INFOCMP@\fR will flag any other \fItermname use=\fR fields that
++superfluous.
++\fB@INFOCMP@\fR will flag any other \fItermname use=\fR fields that
+ were not needed.
+ .SS Changing Databases [\-A \fIdirectory\fR] [\-B \fIdirectory\fR]
+-The location of the compiled \fBterminfo\fR database is taken from the
+-environment variable \fBTERMINFO\fR . If the variable is not defined, or the
+-terminal is not found in that location, the system \fBterminfo\fR database,
+-in \fB@TERMINFO@\fR, will be used. The options \fB\-A\fR
+-and \fB\-B\fR may be used to override this location. The \fB\-A\fR option will
+-set \fBTERMINFO\fR for the first \fItermname\fR and the \fB\-B\fR option will
+-set \fBTERMINFO\fR for the other \fItermnames\fR. With this, it is possible to
++Like other \fBncurses\fP utilities,
++@INFOCMP@ looks for the terminal descriptions in several places.
++You can use the \fBTERMINFO\fP and \fBTERMINFO_DIRS\fP environment variables
++to override the compiled-in default list of places to search
++(see \fBcurses\fP(3X) for details).
++.PP
++You can also use the options \fB\-A\fR
++and \fB\-B\fR to override the list of places to search
++when comparing terminal descriptions:
++.bP
++The \fB\-A\fR option sets the location for the first \fItermname\fR
++.bP
++The \fB\-B\fR option sets the location for the other \fItermnames\fR.
++.PP
++Using these options, it is possible to
+ compare descriptions for a terminal with the same name located in two different
+-databases. This is useful for comparing descriptions for the same terminal
++databases.
++For instance,
++you can use this feature for comparing descriptions for the same terminal
+ created by different people.
+ .SS Other Options
+ .TP 5
++\fB\-0\fR
++causes the fields to be printed on one line, without wrapping.
++.TP 5
+ \fB\-1\fR
+-causes the fields to be printed out one to a line. Otherwise,
++causes the fields to be printed out one to a line.
++Otherwise,
+ the fields will be printed several to a line to a maximum width
+ of 60 characters.
+ .TP
+ \fB\-a\fR
+ tells \fB@INFOCMP@\fP to retain commented-out capabilities rather than discarding
+-them. Capabilities are commented by prefixing them with a period.
++them.
++Capabilities are commented by prefixing them with a period.
++.TP
++\fB\-D\fR
++tells \fB@INFOCMP@\fP to print the database locations that it knows about, and exit.
+ .TP 5
+ \fB\-E\fR
+ Dump the capabilities of the given terminal as tables, needed in
+@@ -231,12 +292,15 @@
+ for a given terminal type.
+ .TP 5
+ \fB\-F\fR
+-compare terminfo files. This assumes that two following arguments are
+-filenames. The files are searched for pairwise matches between
++compare terminfo files.
++This assumes that two following arguments are filenames.
++The files are searched for pairwise matches between
+ entries, with two entries considered to match if any of their names do.
+ The report printed to standard output lists entries with no matches in
+-the other file, and entries with more than one match. For entries
+-with exactly one match it includes a difference report. Normally,
++the other file, and entries with more than one match.
++For entries
++with exactly one match it includes a difference report.
++Normally,
+ to reduce the volume of the report, use references are
+ not resolved before looking for differences, but resolution can be forced
+ by also specifying \fB\-r\fR.
+@@ -255,14 +319,17 @@
+ .TP 5
+ \fB\-i\fR
+ Analyze the initialization (\fBis1\fR, \fBis2\fR, \fBis3\fR), and reset
+-(\fBrs1\fR, \fBrs2\fR, \fBrs3\fR), strings in the entry. For each string, the
++(\fBrs1\fR, \fBrs2\fR, \fBrs3\fR), strings in the entry.
++For each string, the
+ code tries to analyze it into actions in terms of the other capabilities in the
+ entry, certain X3.64/ISO 6429/ECMA\-48 capabilities, and certain DEC VT-series
+ private modes (the set of recognized special sequences has been selected for
+-completeness over the existing terminfo database). Each report line consists
++completeness over the existing terminfo database).
++Each report line consists
+ of the capability name, followed by a colon and space, followed by a printable
+ expansion of the capability string with sections matching recognized actions
+-translated into {}-bracketed descriptions. Here is a list of the DEC/ANSI
++translated into {}-bracketed descriptions.
++Here is a list of the DEC/ANSI
+ special sequences recognized:
+ i.
+ .TS
+@@ -308,7 +375,8 @@
+ .sp
+ It also recognizes a SGR action corresponding to ANSI/ISO 6429/ECMA Set
+ Graphics Rendition, with the values NORMAL, BOLD, UNDERLINE, BLINK, and
+-REVERSE. All but NORMAL may be prefixed with `+' (turn on) or `\-' (turn off).
++REVERSE.
++All but NORMAL may be prefixed with `+' (turn on) or `\-' (turn off).
+ .PP
+ An SGR0 designates an empty highlight sequence (equivalent to {SGR:NORMAL}).
+ .TP 5
+@@ -323,12 +391,15 @@
+ "\-" for absent capabilities, "@" for canceled rather than "NULL".
+ .TP 5
+ \fB\-R\fR\fIsubset\fR
+-Restrict output to a given subset. This option is for use with archaic
++Restrict output to a given subset.
++This option is for use with archaic
+ versions of terminfo like those on SVr1, Ultrix, or HP/UX that do not support
+ the full set of SVR4/XSI Curses terminfo; and variants such as AIX
+-that have their own extensions incompatible with SVr4/XSI. Available terminfo
++that have their own extensions incompatible with SVr4/XSI.
++Available terminfo
+ subsets are "SVr1", "Ultrix", "HP", and "AIX"; see \fBterminfo\fR(\*n) for
+-details. You can also choose the subset "BSD" which selects only capabilities
++details.
++You can also choose the subset "BSD" which selects only capabilities
+ with termcap equivalents recognized by 4.4BSD.
+ .TP
+ \fB\-s \fR\fI[d|i|l|c]\fR
+@@ -362,7 +433,7 @@
+ descriptions are limited (e.g., 1023 for termcap, 4096 for terminfo).
+ .TP
+ \fB\-t\fR
+-tells \fBtic\fP to discard commented-out capabilities.
++tells \fB@TIC@\fP to discard commented-out capabilities.
+ Normally when translating from terminfo to termcap,
+ untranslatable capabilities are commented-out.
+ .TP 5
+@@ -385,13 +456,15 @@
+ \fB\-x\fR
+ print information for user-defined capabilities.
+ These are extensions to the terminfo repertoire which can be loaded
+-using the \fB\-x\fR option of \fBtic\fP.
++using the \fB\-x\fR option of \fB@TIC@\fP.
+ .SH FILES
+ .TP 20
+ \*d
+ Compiled terminal description database.
+ .SH EXTENSIONS
+ The
++\fB\-0\fR,
++\fB\-1\fR,
+ \fB\-E\fR,
+ \fB\-F\fR,
+ \fB\-G\fR,
+@@ -410,7 +483,8 @@
+ options are not supported in SVr4 curses.
+ .PP
+ The \fB\-r\fR option's notion of `termcap' capabilities is System V Release 4's.
+-Actual BSD curses versions will have a more restricted set. To see only the
++Actual BSD curses versions will have a more restricted set.
++To see only the
+ 4.4BSD set, use \fB\-r\fR \fB\-RBSD\fR.
+ .SH BUGS
+ The \fB\-F\fR option of \fB@INFOCMP@\fR(1M) should be a \fB@TOE@\fR(1M) mode.
+@@ -421,6 +495,8 @@
+ \fB@TOE@\fR(1M),
+ \fBcurses\fR(3X),
+ \fBterminfo\fR(\*n).
++.sp
++http://invisible-island.net/ncurses/tctest.html
+ .PP
+ This describes \fBncurses\fR
+ version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).
+Index: man/menu_items.3x
+Prereq: 1.9
+--- ncurses-5.9/man/menu_items.3x 2010-12-04 18:40:45.000000000 +0000
++++ ncurses-5.9-20130504/man/menu_items.3x 2012-11-03 23:03:59.000000000 +0000
+@@ -1,6 +1,6 @@
+ '\" t
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: menu_items.3x,v 1.9 2010/12/04 18:40:45 tom Exp $
++.\" $Id: menu_items.3x,v 1.10 2012/11/03 23:03:59 tom Exp $
+ .TH menu_items 3X ""
+ .SH NAME
+ \fBmenu_items\fR \- make and break connections between items and menus
+@@ -47,7 +47,7 @@
+ The function \fBmenu_items\fR returns the item array of the given menu.
+ .PP
+ The function \fBitem_count\fR returns the count of items in \fImenu\fR.
+-.SH RETURN VALUES
++.SH RETURN VALUE
+ The function \fBmenu_items\fR returns a pointer (which may be \fBNULL\fR).
+ It does not set errno.
+ .PP
+Index: man/ncurses.3x
+Prereq: 1.103
+--- ncurses-5.9/man/ncurses.3x 2011-02-05 23:21:29.000000000 +0000
++++ ncurses-5.9-20130504/man/ncurses.3x 2013-03-02 22:15:25.000000000 +0000
+@@ -1,6 +1,6 @@
+ '\" t
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: ncurses.3x,v 1.103 2011/02/05 23:21:29 tom Exp $
++.\" $Id: ncurses.3x,v 1.111 2013/03/02 22:15:25 tom Exp $
+ .hy 0
+ .TH ncurses 3X ""
+ .de bP
+@@ -55,8 +55,10 @@
+ XSI stands for X/Open System Interfaces Extension.
+ The \fBncurses\fR library is freely redistributable in source form.
+ Differences from the SVr4
+-curses are summarized under the \fBEXTENSIONS\fP and \fBPORTABILITY\fP sections below and
+-described in detail in the respective \fBEXTENSIONS\fP, \fBPORTABILITY\fP and \fBBUGS\fP sections
++curses are summarized under the
++\fBEXTENSIONS\fP and \fBPORTABILITY\fP sections below and
++described in detail in the respective
++\fBEXTENSIONS\fP, \fBPORTABILITY\fP and \fBBUGS\fP sections
+ of individual man pages.
+ .PP
+ The \fBncurses\fR library also provides many useful extensions,
+@@ -108,9 +110,9 @@
+ .sp
+ Before a \fBcurses\fR program is run, the tab stops of the terminal
+ should be set and its initialization strings, if defined, must be output.
+-This can be done by executing the \fBtput init\fR command
++This can be done by executing the \fB@TPUT@ init\fR command
+ after the shell environment variable \fBTERM\fR has been exported.
+-\fBtset(1)\fR is usually responsible for doing this.
++\fB@TSET@(1)\fR is usually responsible for doing this.
+ [See \fBterminfo\fR(\*n) for further details.]
+ .PP
+ The \fBncurses\fR library permits manipulation of data structures,
+@@ -637,6 +639,7 @@
+ use_env/\fBcurs_util\fR(3X)
+ use_extended_names/\fBcurs_extend\fR(3X)*
+ use_legacy_coding/\fBlegacy_coding\fR(3X)*
++use_tioctl/\fBcurs_util\fR(3X)
+ vid_attr/\fBcurs_terminfo\fR(3X)
+ vid_puts/\fBcurs_terminfo\fR(3X)
+ vidattr/\fBcurs_terminfo\fR(3X)
+@@ -734,9 +737,16 @@
+ integer value other than \fBERR\fR upon successful completion, unless
+ otherwise noted in the routine descriptions.
+ .PP
++As a general rule, routines check for null pointers passed as parameters,
++and handle this as an error.
++.PP
+ All macros return the value of the \fBw\fR version, except \fBsetscrreg\fR,
+ \fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, and \fBgetmaxyx\fR.
+-The return values of \fBsetscrreg\fR, \fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, and
++The return values of
++\fBsetscrreg\fR,
++\fBwsetscrreg\fR,
++\fBgetyx\fR,
++\fBgetbegyx\fR, and
+ \fBgetmaxyx\fR are undefined (i.e., these should not be used as the
+ right-hand side of assignment statements).
+ .PP
+@@ -747,9 +757,9 @@
+ The most important ones have been already discussed in detail.
+ .TP 5
+ BAUDRATE
+-The debugging library checks this environment symbol when the application
++The debugging library checks this environment variable when the application
+ has redirected output to a file.
+-The symbol's numeric value is used for the baudrate.
++The variable's numeric value is used for the baudrate.
+ If no value is found, \fBncurses\fR uses 9600.
+ This allows testers to construct repeatable test-cases
+ that take into account costs that depend on baudrate.
+@@ -757,7 +767,7 @@
+ CC
+ When set, change occurrences of the command_character
+ (i.e., the \fBcmdch\fP capability)
+-of the loaded terminfo entries to the value of this symbol.
++of the loaded terminfo entries to the value of this variable.
+ Very few terminfo entries provide this feature.
+ .IP
+ Because this name is also used in development environments to represent
+@@ -786,7 +796,9 @@
+ a terminal description for terminals which are run as emulations.
+ .IP
+ Use the \fBuse_env\fR function to disable all use of external environment
+-(including system calls) to determine the screen size.
++(but not including system calls) to determine the screen size.
++Use the \fBuse_tioctl\fR function to update \fBCOLUMNS\fP or \fBLINES\fP
++to match the screen size obtained from system calls or the terminal database.
+ .TP 5
+ ESCDELAY
+ Specifies the total time, in milliseconds, for which ncurses will
+@@ -837,8 +849,8 @@
+ .br
+ 3 = middle.
+ .sp
+-This symbol lets you customize the mouse.
+-The symbol must be three numeric digits 1\-3 in any order, e.g., 123 or 321.
++This variable lets you customize the mouse.
++The variable must be three numeric digits 1\-3 in any order, e.g., 123 or 321.
+ If it is not specified, \fBncurses\fR uses 132.
+ .TP 5
+ NCURSES_ASSUMED_COLORS
+@@ -899,19 +911,44 @@
+ You may wish to use these descriptions,
+ but not want to pay the performance penalty.
+ .IP
+-Set the NCURSES_NO_PADDING symbol to disable all but mandatory
++Set the NCURSES_NO_PADDING environment variable to disable all but mandatory
+ padding.
+ Mandatory padding is used as a part of special control
+ sequences such as \fIflash\fR.
+ .TP 5
+ NCURSES_NO_SETBUF
+-Normally \fBncurses\fR enables buffered output during terminal initialization.
+-This is done (as in SVr4 curses) for performance reasons.
++This setting is obsolete.
++Before changes
++.RS
++.bP
++started with 5.9 patch 20120825
++and
++.bP
++continued
++though 5.9 patch 20130126
++.RE
++.IP
++\fBncurses\fR enabled buffered output during terminal initialization.
++This was done (as in SVr4 curses) for performance reasons.
+ For testing purposes, both of \fBncurses\fR and certain applications,
+-this feature is made optional.
++this feature was made optional.
+ Setting the NCURSES_NO_SETBUF variable
+-disables output buffering, leaving the output in the original (usually
++disabled output buffering, leaving the output in the original (usually
+ line buffered) mode.
++.IP
++In the current implementation,
++ncurses performs its own buffering and does not require this workaround.
++It does not modify the buffering of the standard output.
++.IP
++The reason for the change was to make the behavior for interrupts and
++other signals more robust.
++One drawback is that certain nonconventional programs would mix
++ordinary stdio calls with ncurses calls and (usually) work.
++This is no longer possible since ncurses is not using
++the buffered standard output but its own output (to the same file descriptor).
++As a special case, the low-level calls such as \fBputp\fP still use the
++standard output.
++But high-level curses calls do not.
+ .TP 5
+ NCURSES_NO_UTF8_ACS
+ During initialization, the \fBncurses\fR library
+@@ -933,20 +970,22 @@
+ .IP
+ As an alternative to the environment variable,
+ ncurses checks for an extended terminfo capability \fBU8\fP.
+-This is a numeric capability which can be compiled using \fBtic\ \-x\fP.
++This is a numeric capability which can be compiled using \fB@TIC@\ \-x\fP.
+ For example
+ .RS 5
++.ft CW
+ .sp
+ .nf
+ # linux console, if patched to provide working
+ # VT100 shift-in/shift-out, with corresponding font.
+ linux-vt100|linux console with VT100 line-graphics,
+- U8#0, use=linux,
++ U8#0, use=linux,
+ .sp
+ # uxterm with vt100Graphics resource set to false
+ xterm-utf8|xterm relying on UTF-8 line-graphics,
+- U8#1, use=xterm,
++ U8#1, use=xterm,
+ .fi
++.ft
+ .RE
+ .IP
+ The name "U8" is chosen to be two characters,
+@@ -955,7 +994,7 @@
+ .TP 5
+ NCURSES_TRACE
+ During initialization, the \fBncurses\fR debugging library
+-checks the NCURSES_TRACE symbol.
++checks the NCURSES_TRACE environment variable.
+ If it is defined, to a numeric value, \fBncurses\fR calls the \fBtrace\fR
+ function, using that value as the argument.
+ .IP
+@@ -973,9 +1012,10 @@
+ support, \fBncurses\fR will check for a terminal's description in
+ termcap form if it is not available in the terminfo database.
+ .IP
+-The TERMCAP symbol contains either a terminal description (with
++The TERMCAP environment variable contains either a terminal description (with
+ newlines stripped out),
+-or a file name telling where the information denoted by the TERM symbol exists.
++or a file name telling where the information denoted by
++the TERM environment variable exists.
+ In either case, setting it directs \fBncurses\fR to ignore
+ the usual place for this information, e.g., /etc/termcap.
+ .TP 5
+@@ -988,33 +1028,51 @@
+ .bP
+ the last directory to which \fBncurses\fR wrote, if any, is searched first
+ .bP
+-the directory specified by the TERMINFO symbol
++the directory specified by the TERMINFO environment variable
+ .bP
+ $HOME/.terminfo
+ .bP
+-directories listed in the TERMINFO_DIRS symbol
++directories listed in the TERMINFO_DIRS environment variable
+ .bP
+ one or more directories whose names are configured and compiled into the
+-ncurses library, e.g.,
+-@TERMINFO@
++ncurses library, i.e.,
++.RS
++.bP
++@TERMINFO_DIRS@ (corresponding to the TERMINFO_DIRS variable)
++.bP
++@TERMINFO@ (corresponding to the TERMINFO variable)
++.RE
+ .RE
+ .TP 5
+ TERMINFO_DIRS
+ Specifies a list of directories to search for terminal descriptions.
+ The list is separated by colons (i.e., ":") on Unix, semicolons on OS/2 EMX.
+-All of the terminal descriptions are in terminfo form, which makes
+-a subdirectory named for the first letter of the terminal names therein.
++.IP
++All of the terminal descriptions are in terminfo form.
++Normally these are stored in a directory tree,
++using subdirectories named by the first letter of the terminal names therein.
++.IP
++If \fBncurses\fP is built with a hashed database,
++then each entry in this list can also be the path of the corresponding
++database file.
++.IP
++If \fBncurses\fP is built with a support for reading termcap files
++directly, then an entry in this list may be the path of a termcap file.
+ .TP 5
+ TERMPATH
+ If TERMCAP does not hold a file name then \fBncurses\fR checks
+-the TERMPATH symbol.
+-This is a list of filenames separated by spaces or colons (i.e., ":") on Unix, semicolons on OS/2 EMX.
+-If the TERMPATH symbol is not set, \fBncurses\fR looks in the files
++the TERMPATH environment variable.
++This is a list of filenames separated by spaces or colons (i.e., ":") on Unix,
++semicolons on OS/2 EMX.
++.IP
++If the TERMPATH environment variable is not set,
++\fBncurses\fR looks in the files
+ /etc/termcap, /usr/share/misc/termcap and $HOME/.termcap, in that order.
+ .PP
+ The library may be configured to disregard the following variables when the
+ current user is the superuser (root), or if the application uses setuid or
+ setgid permissions:
++.IP
+ $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
+ .SH ALTERNATE CONFIGURATIONS
+ Several different configurations are possible,
+@@ -1042,8 +1100,9 @@
+ to build executables.
+ .TP 5
+ \-\-enable\-widec
+-The configure script renames the library and (if the \fB\-\-disable\-overwrite\fP
+-option is used) puts the header files in a different subdirectory.
++The configure script renames the library and
++(if the \fB\-\-disable\-overwrite\fP option is used)
++puts the header files in a different subdirectory.
+ All of the library names have a "w" appended to them,
+ i.e., instead of
+ .RS
+@@ -1093,8 +1152,8 @@
+ @TERMINFO@
+ terminal capability database
+ .SH SEE ALSO
+-\fBterminfo\fR(\*n) and related pages whose names begin "curs_" for detailed routine
+-descriptions.
++\fBterminfo\fR(\*n) and related pages whose names begin
++"curs_" for detailed routine descriptions.
+ .br
+ \fBcurs_variables\fR(3X)
+ .SH EXTENSIONS
+@@ -1144,6 +1203,15 @@
+ the XSI Curses and \fBncurses\fR calls) are described in \fBPORTABILITY\fR
+ sections of the library man pages.
+ .PP
++Unlike other implementations, this one checks parameters such as pointers
++to WINDOW structures to ensure they are not null.
++The main reason for providing this behavior is to guard against programmer
++error.
++The standard interface does not provide a way for the library
++to tell an application which of several possible errors were detected.
++Relying on this (or some other) extension will adversely affect the
++portability of curses applications.
++.PP
+ This implementation also contains several extensions:
+ .bP
+ The routine \fBhas_key\fR is not part of XPG4, nor is it present in SVr4.
+Index: man/resizeterm.3x
+Prereq: 1.14
+--- ncurses-5.9/man/resizeterm.3x 2010-12-04 18:38:55.000000000 +0000
++++ ncurses-5.9-20130504/man/resizeterm.3x 2012-07-07 18:38:21.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ .\"
+ .\" Author: Thomas E. Dickey 1996-2005
+ .\"
+-.\" $Id: resizeterm.3x,v 1.14 2010/12/04 18:38:55 tom Exp $
++.\" $Id: resizeterm.3x,v 1.15 2012/07/07 18:38:21 tom Exp $
+ .TH resizeterm 3X ""
+ .SH NAME
+ \fBis_term_resized\fR,
+@@ -86,8 +86,6 @@
+ the operating system.
+ Thus, even if a SIGWINCH is received,
+ no screen size change may be recorded.
+-In that case, no \fBKEY_RESIZE\fP is queued for the next call to \fBgetch\fP;
+-an \fBERR\fP will be returned instead.
+ .SH SEE ALSO
+ \fBcurs_variables\fR(3X),
+ \fBwresize\fR(3X).
+Index: man/tabs.1
+Prereq: 1.8
+--- ncurses-5.9/man/tabs.1 2010-12-04 18:40:45.000000000 +0000
++++ ncurses-5.9-20130504/man/tabs.1 2011-12-17 23:31:59.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2008-2009,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 2008-2010,2011 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,19 +26,19 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: tabs.1,v 1.8 2010/12/04 18:40:45 tom Exp $
++.\" $Id: tabs.1,v 1.9 2011/12/17 23:31:59 tom Exp $
+ .TH @TABS@ 1 ""
+ .ds n 5
+ .SH NAME
+-\fBtabs\fR \- set tabs on a terminal
++\fB@TABS@\fR \- set tabs on a terminal
+ .SH SYNOPSIS
+-\fBtabs\fR [\fB\-v\fR[\fIn\fR]] [\fB\-ahuUV\fR] \fIfile...\fR
++\fB@TABS@\fR [\fB\-v\fR[\fIn\fR]] [\fB\-ahuUV\fR] \fIfile...\fR
+ .br
+ .SH DESCRIPTION
+ .PP
+-The \fBtabs\fP program clears and sets tab-stops on the terminal.
++The \fB@TABS@\fP program clears and sets tab-stops on the terminal.
+ This uses the terminfo \fIclear_all_tabs\fP and \fIset_tab\fP capabilities.
+-If either is absent, \fBtabs\fP is unable to clear/set tab-stops.
++If either is absent, \fB@TABS@\fP is unable to clear/set tab-stops.
+ The terminal should be configured to use hard tabs, e.g.,
+ .sp
+ .RS
+@@ -48,8 +48,8 @@
+ .SS General Options
+ .TP 5
+ .BI \-T "name"
+-Tell \fBtabs\fP which terminal type to use.
+-If this option is not given, \fBtabs\fP will use the \fB$TERM\fP
++Tell \fB@TABS@\fP which terminal type to use.
++If this option is not given, \fB@TABS@\fP will use the \fB$TERM\fP
+ environment variable.
+ If that is not set, it will use the \fIansi+tabs\fP entry.
+ .TP 5
+@@ -59,10 +59,10 @@
+ The second data line shows the actual tab-stops, marked with asterisks.
+ .TP 5
+ .B \-n
+-This option tells \fBtabs\fP to check the options and run any debugging
++This option tells \fB@TABS@\fP to check the options and run any debugging
+ option, but not to modify the terminal settings.
+ .PP
+-The \fBtabs\fP program processes a single list of tab stops.
++The \fB@TABS@\fP program processes a single list of tab stops.
+ The last option to be processed which defines a list is the one that
+ determines the list to be processed.
+ .SS Implicit Lists
+Index: man/term.7
+Prereq: 1.22
+--- ncurses-5.9/man/term.7 2010-12-04 18:41:07.000000000 +0000
++++ ncurses-5.9-20130504/man/term.7 2011-12-17 23:32:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: term.7,v 1.22 2010/12/04 18:41:07 tom Exp $
++.\" $Id: term.7,v 1.23 2011/12/17 23:32:17 tom Exp $
+ .TH term 7
+ .ds n 5
+ .ds d @TERMINFO@
+@@ -55,7 +55,7 @@
+ are in fact using a VT100-superset console, terminal, or terminal emulator.)
+ .PP
+ In any case, you are free to override the system \fBTERM\fR setting to your
+-taste in your shell profile. The \fBtset\fP(1) utility may be of assistance;
++taste in your shell profile. The \fB@TSET@\fP(1) utility may be of assistance;
+ you can give it a set of rules for deducing or requesting a terminal type based
+ on the tty device and baud rate.
+ .PP
+Index: man/term_variables.3x
+Prereq: 1.2
+--- ncurses-5.9/man/term_variables.3x 2010-12-04 18:38:55.000000000 +0000
++++ ncurses-5.9-20130504/man/term_variables.3x 2011-12-17 23:31:50.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 2010,2011 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: term_variables.3x,v 1.2 2010/12/04 18:38:55 tom Exp $
++.\" $Id: term_variables.3x,v 1.3 2011/12/17 23:31:50 tom Exp $
+ .TH term_variables 3X ""
+ .ds n 5
+ .na
+@@ -110,7 +110,7 @@
+ Alternatively, one can save the return value from \fBnewterm\fP
+ or \fBsetupterm\fP to reuse in \fBset_term\fP.
+ .SS Terminfo Names
+-The \fBtic\fP(1) and \fBinfocmp\fP(1) programs use lookup tables for
++The \fB@TIC@\fP(1) and \fB@INFOCMP@\fP(1) programs use lookup tables for
+ the long and short names of terminfo capabilities,
+ as well as the corresponding names for termcap capabilities.
+ These are available to other applications,
+Index: man/terminfo.head
+Prereq: 1.18
+--- ncurses-5.9/man/terminfo.head 2010-07-31 16:08:48.000000000 +0000
++++ ncurses-5.9-20130504/man/terminfo.head 2013-03-09 22:11:36.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,10 +26,17 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: terminfo.head,v 1.18 2010/07/31 16:08:48 tom Exp $
++.\" $Id: terminfo.head,v 1.21 2013/03/09 22:11:36 tom Exp $
+ .TH terminfo 5 "" "" "File Formats"
+ .ds n 5
+ .ds d @TERMINFO@
++.ie \n(.g .ds `` \(lq
++.el .ds `` ``
++.ie \n(.g .ds '' \(rq
++.el .ds '' ''
++.de bP
++.IP \(bu 4
++..
+ .SH NAME
+ terminfo \- terminal capability data base
+ .SH SYNOPSIS
+@@ -74,7 +81,7 @@
+ Terminal names (except for the last, verbose entry) should
+ be chosen using the following conventions.
+ The particular piece of hardware making up the terminal should
+-have a root name, thus ``hp2621''.
++have a root name, thus \*(``hp2621\*(''.
+ This name should not contain hyphens.
+ Modes that the hardware can be in, or user preferences, should
+ be indicated by appending a hyphen and a mode suffix.
+@@ -102,6 +109,6 @@
+ .TE
+ .PP
+ For more on terminal naming conventions, see the \fBterm(7)\fR manual page.
+-.SS Capabilities
++.SS Predefined Capabilities
+ .\" Head of terminfo man page ends here
+ .ps -1
+Index: man/terminfo.tail
+Prereq: 1.53
+--- ncurses-5.9/man/terminfo.tail 2010-12-04 18:38:55.000000000 +0000
++++ ncurses-5.9-20130504/man/terminfo.tail 2013-03-03 00:06:39.000000000 +0000
+@@ -1,8 +1,51 @@
+-.\" $Id: terminfo.tail,v 1.53 2010/12/04 18:38:55 tom Exp $
++.\" $Id: terminfo.tail,v 1.61 2013/03/03 00:06:39 tom Exp $
+ .\" Beginning of terminfo.tail file
+ .\" This file is part of ncurses.
+ .\" See "terminfo.head" for copyright.
+ .ps +1
++.SS User-Defined Capabilities
++.
++The preceding section listed the \fIpredefined\fP capabilities.
++They deal with some special features for terminals no longer
++(or possibly never) produced.
++Occasionally there are special features of newer terminals which
++are awkward or impossible to represent by reusing the predefined
++capabilities.
++.PP
++\fBncurses\fP addresses this limitation by allowing user-defined capabilities.
++The \fB@TIC@\fP and \fB@INFOCMP@\fP programs provide
++the \fB\-x\fP option for this purpose.
++When \fB\-x\fP is set,
++\fB@TIC@\fP treats unknown capabilities as user-defined.
++That is, if \fB@TIC@\fP encounters a capability name
++which it does not recognize,
++it infers its type (boolean, number or string) from the syntax
++and makes an extended table entry for that capability.
++The \fBuse_extended_names\fP function makes this information
++conditionally available to applications.
++The ncurses library provides the data leaving most of the behavior
++to applications:
++.bP
++User-defined capability strings whose name begins
++with \*(``k\*('' are treated as function keys.
++.bP
++The types (boolean, number, string) determined by \fB@TIC@\fP
++can be inferred by successful calls on \fBtigetflag\fP, etc.
++.bP
++If the capability name happens to be two characters,
++the capability is also available through the termcap interface.
++.PP
++While termcap is said to be extensible because it does not use a predefined set
++of capabilities,
++in practice it has been limited to the capabilities defined by
++terminfo implementations.
++As a rule,
++user-defined capabilities intended for use by termcap applications should
++be limited to booleans and numbers to avoid running past the 1023 byte
++limit assumed by termcap implementations and their applications.
++In particular, providing extended sets of function keys (past the 60
++numbered keys and the handful of special named keys) is best done using
++the longer names available using terminfo.
+ .
+ .SS A Sample Entry
+ .
+@@ -39,13 +82,18 @@
+ .PP
+ Entries may continue onto multiple lines by placing white space at
+ the beginning of each line except the first.
+-Comments may be included on lines beginning with ``#''.
++Comments may be included on lines beginning with \*(``#\*(''.
+ Capabilities in
+ .I terminfo
+ are of three types:
++.bP
+ Boolean capabilities which indicate that the terminal has
+-some particular feature, numeric capabilities giving the size of the terminal
+-or the size of particular delays, and string
++some particular feature,
++.bP
++numeric capabilities giving the size of the terminal
++or the size of particular delays, and
++.bP
++string
+ capabilities, which give a sequence which can be used to perform particular
+ terminal operations.
+ .PP
+@@ -75,14 +123,29 @@
+ \fB^x\fR maps to a control-x for any appropriate x, and the sequences
+ \fB\en \el \er \et \eb \ef \es\fR give
+ a newline, line-feed, return, tab, backspace, form-feed, and space.
+-Other escapes include \fB\e^\fR for \fB^\fR,
++Other escapes include
++.bP
++\fB\e^\fR for \fB^\fR,
++.bP
+ \fB\e\e\fR for \fB\e\fR,
++.bP
+ \fB\e\fR, for comma,
++.bP
+ \fB\e:\fR for \fB:\fR,
++.bP
+ and \fB\e0\fR for null.
+-(\fB\e0\fR will produce \e200, which does not terminate a string but behaves
++.IP
++\fB\e0\fR will produce \e200, which does not terminate a string but behaves
+ as a null character on most terminals, providing CS7 is specified.
+-See stty(1).)
++See stty(1).
++.IP
++The reason for this quirk is to maintain binary compatibility of the
++compiled terminfo files with other implementations,
++e.g., the SVr4 systems, which document this.
++Compiled terminfo files use null-terminated strings, with no lengths.
++Modifying this would require a new binary format,
++which would not work with other implementations.
++.PP
+ Finally, characters may be given as three octal digits after a \fB\e\fR.
+ .PP
+ A delay in milliseconds may appear anywhere in a string capability, enclosed in
+@@ -115,27 +178,36 @@
+ .PP
+ .SS Fetching Compiled Descriptions
+ .PP
++The \fBncurses\fP library searches for terminal descriptions in several places.
++It uses only the first description found.
++The library has a compiled-in list of places to search
++which can be overridden by environment variables.
++Before starting to search,
++\fBncurses\fP eliminates duplicates in its search list.
++.bP
+ If the environment variable TERMINFO is set, it is interpreted as the pathname
+ of a directory containing the compiled description you are working on.
+-Only
+-that directory is searched.
+-.PP
+-If TERMINFO is not set, the \fBncurses\fR version of the terminfo reader code
+-will instead look in the directory \fB$HOME/.terminfo\fR
++Only that directory is searched.
++.bP
++If TERMINFO is not set,
++\fBncurses\fR will instead look in the directory \fB$HOME/.terminfo\fR
+ for a compiled description.
+-If it fails to find one there, and the environment variable TERMINFO_DIRS is
+-set, it will interpret the contents of that variable as a list of colon-
+-separated directories to be searched (an empty entry is interpreted as a
+-command to search \fI\*d\fR).
+-If no description is found in any of the
+-TERMINFO_DIRS directories, the fetch fails.
+-.PP
+-If neither TERMINFO nor TERMINFO_DIRS is set, the last place tried will be the
+-system terminfo directory, \fI\*d\fR.
+-.PP
+-(Neither the \fB$HOME/.terminfo\fR lookups nor TERMINFO_DIRS extensions are
+-supported under stock System V terminfo/curses.)
+-.PP
++.bP
++Next, if the environment variable TERMINFO_DIRS is set,
++\fBncurses\fR will interpret the contents of that variable
++as a list of colon-separated directories (or database files) to be searched.
++.IP
++An empty directory name (i.e., if the variable begins or ends
++with a colon, or contains adacent colons)
++is interpreted as the system location \fI\*d\fR.
++.bP
++Finally, \fBncurses\fP searches these compiled-in locations:
++.RS
++.bP
++a list of directories (@TERMINFO_DIRS@), and
++.bP
++the system terminfo directory, \fI\*d\fR (the compiled-in default).
++.RE
+ .SS Preparing Descriptions
+ .PP
+ We now outline how to prepare descriptions of terminals.
+@@ -397,7 +469,7 @@
+ .IP
+ where c\di\u are conditions, b\di\u are bodies.
+ .IP
+-Use the \fB\-f\fP option of \fBtic\fP or \fB@INFOCMP@\fP to see
++Use the \fB\-f\fP option of \fB@TIC@\fP or \fB@INFOCMP@\fP to see
+ the structure of if-then-else's.
+ Some strings, e.g., \fBsgr\fP can be very complicated when written
+ on one line.
+@@ -593,6 +665,7 @@
+ a distinction between typed and untyped blanks on the screen, shifting
+ upon an insert or delete only to an untyped blank on the screen which is
+ either eliminated, or expanded to two untyped blanks.
++.PP
+ You can determine the
+ kind of terminal you have by clearing the screen and then typing
+ text separated by cursor motions.
+@@ -608,6 +681,7 @@
+ current line and onto the next as you insert, you have the second type of
+ terminal, and should give the capability \fBin\fR, which stands for
+ \*(lqinsert null\*(rq.
++.PP
+ While these are two logically separate attributes (one line versus multi-line
+ insert mode, and special treatment of untyped spaces) we have seen no
+ terminals whose insert mode cannot be described with the single attribute.
+@@ -824,9 +898,9 @@
+ The only drawback to adding an sgr string is that termcap also
+ assumes that sgr0 does not exit alternate character set mode.
+ .PP
+-Terminals with the ``magic cookie'' glitch
++Terminals with the \*(``magic cookie\*('' glitch
+ .RB ( xmc )
+-deposit special ``cookies'' when they receive mode-setting sequences,
++deposit special \*(``cookies\*('' when they receive mode-setting sequences,
+ which affect the display algorithm rather than having extra bits for
+ each character.
+ Some terminals, such as the HP 2621, automatically leave standout
+@@ -871,6 +945,7 @@
+ If the keypad can be set to transmit or not transmit,
+ give these codes as \fBsmkx\fR and \fBrmkx\fR.
+ Otherwise the keypad is assumed to always transmit.
++.PP
+ The codes sent by the left arrow, right arrow, up arrow, down arrow,
+ and home keys can be given as
+ \fBkcub1, kcuf1, kcuu1, kcud1, \fRand\fB khome\fR respectively.
+@@ -878,41 +953,60 @@
+ can be given as \fBkf0, kf1, ..., kf10\fR.
+ If these keys have labels other than the default f0 through f10, the labels
+ can be given as \fBlf0, lf1, ..., lf10\fR.
++.PP
+ The codes transmitted by certain other special keys can be given:
++.bP
+ .B kll
+ (home down),
++.bP
+ .B kbs
+ (backspace),
++.bP
+ .B ktbc
+ (clear all tabs),
++.bP
+ .B kctab
+ (clear the tab stop in this column),
++.bP
+ .B kclr
+ (clear screen or erase key),
++.bP
+ .B kdch1
+ (delete character),
++.bP
+ .B kdl1
+ (delete line),
++.bP
+ .B krmir
+ (exit insert mode),
++.bP
+ .B kel
+ (clear to end of line),
++.bP
+ .B ked
+ (clear to end of screen),
++.bP
+ .B kich1
+ (insert character or enter insert mode),
++.bP
+ .B kil1
+ (insert line),
++.bP
+ .B knp
+ (next page),
++.bP
+ .B kpp
+ (previous page),
++.bP
+ .B kind
+ (scroll forward/down),
++.bP
+ .B kri
+ (scroll backward/up),
++.bP
+ .B khts
+ (set a tab stop in this column).
++.PP
+ In addition, if the keypad has a 3 by 3 array of keys including the four
+ arrow keys, the other five keys can be given as
+ .BR ka1 ,
+@@ -956,7 +1050,7 @@
+ tab stop can be given as
+ .B ht
+ (usually control I).
+-A ``back-tab'' command which moves leftward to the preceding tab stop can
++A \*(``back-tab\*('' command which moves leftward to the preceding tab stop can
+ be given as
+ .BR cbt .
+ By convention, if the teletype modes indicate that tabs are being
+@@ -974,7 +1068,7 @@
+ .B it
+ is given, showing the number of spaces the tabs are set to.
+ This is normally used by the
+-.IR tset
++.IR @TSET@
+ command to determine whether to set the mode for hardware tab expansion,
+ and whether to set the tab stops.
+ If the terminal has tab stops that can be saved in non-volatile memory,
+@@ -1303,6 +1397,7 @@
+ yellow \fBCOLOR_YELLOW\fR 6 max,max,0
+ white \fBCOLOR_WHITE\fR 7 max,max,max
+ .TE
++.PP
+ It is important to not confuse the two sets of color capabilities;
+ otherwise red/blue will be interchanged on the display.
+ .PP
+@@ -1420,13 +1515,13 @@
+ .I virtual
+ terminal descriptions for which the escape sequences are known.)
+ .PP
+-If the terminal has a ``meta key'' which acts as a shift key,
++If the terminal has a \*(``meta key\*('' which acts as a shift key,
+ setting the 8th bit of any character transmitted, this fact can
+ be indicated with
+ .BR km .
+ Otherwise, software will assume that the 8th bit is parity and it
+ will usually be cleared.
+-If strings exist to turn this ``meta mode'' on and off, they
++If strings exist to turn this \*(``meta mode\*('' on and off, they
+ can be given as
+ .B smm
+ and
+@@ -1488,7 +1583,7 @@
+ Note: the variable indicating this is now `dest_tabs_magic_smso'; in
+ older versions, it was teleray_glitch.
+ This glitch is also taken to mean that it is not possible to position
+-the cursor on top of a ``magic cookie'',
++the cursor on top of a \*(``magic cookie\*('',
+ that to erase standout mode it is instead necessary to use
+ delete and insert line.
+ The ncurses implementation ignores this glitch.
+@@ -1524,8 +1619,10 @@
+ A capability can be canceled by placing \fBxx@\fR to the left of the
+ use reference that imports it, where \fIxx\fP is the capability.
+ For example, the entry
++.RS
+ .PP
+- 2621\-nl, smkx@, rmkx@, use=2621,
++2621\-nl, smkx@, rmkx@, use=2621,
++.RE
+ .PP
+ defines a 2621\-nl that does not have the \fBsmkx\fR or \fBrmkx\fR capabilities,
+ and hence does not turn on the function key labels when in visual mode.
+@@ -1570,19 +1667,15 @@
+ backslash-newline pairs, which \fBtgetent()\fP strips out while reading it.
+ Some termcap libraries strip off the final newline, too (GNU termcap does not).
+ Now suppose:
+-.TP 5
+-*
++.bP
+ a termcap entry before expansion is more than 1023 bytes long,
+-.TP 5
+-*
++.bP
+ and the application has only allocated a 1k buffer,
+-.TP 5
+-*
++.bP
+ and the termcap library (like the one in BSD/OS 1.1 and GNU) reads
+ the whole entry into the buffer, no matter what its length, to see
+ if it is the entry it wants,
+-.TP 5
+-*
++.bP
+ and \fBtgetent()\fP is searching for a terminal type that either is the
+ long entry, appears in the termcap file after the long entry, or
+ does not appear in the file at all (so that \fBtgetent()\fP has to search
+@@ -1625,6 +1718,11 @@
+ SVr1, and have added extension capabilities to the string table that (in the
+ binary format) collide with System V and XSI Curses extensions.
+ .SH EXTENSIONS
++.PP
++Searching for terminal descriptions in
++\fB$HOME/.terminfo\fR and TERMINFO_DIRS
++is not supported by older implementations.
++.PP
+ Some SVr4 \fBcurses\fR implementations, and all previous to SVr4, do not
+ interpret the %A and %O operators in parameter strings.
+ .PP
+@@ -1666,9 +1764,9 @@
+ .PP
+ \fBSVr1, Ultrix\fR \-\-
+ These support a restricted subset of terminfo capabilities.
+-The booleans
+-end with \fBxon_xoff\fR; the numerics with \fBwidth_status_line\fR; and the
+-strings with \fBprtr_non\fR.
++The booleans end with \fBxon_xoff\fR;
++the numerics with \fBwidth_status_line\fR;
++and the strings with \fBprtr_non\fR.
+ .PP
+ \fBHP/UX\fR \-\-
+ Supports the SVr1 subset, plus the SVr[234] numerics \fBnum_labels\fR,
+Index: man/tic.1m
+Prereq: 1.47
+--- ncurses-5.9/man/tic.1m 2010-12-04 18:38:55.000000000 +0000
++++ ncurses-5.9-20130504/man/tic.1m 2013-02-02 22:09:02.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,19 +26,25 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: tic.1m,v 1.47 2010/12/04 18:38:55 tom Exp $
++.\" $Id: tic.1m,v 1.57 2013/02/02 22:09:02 tom Exp $
+ .TH @TIC@ 1M ""
+ .ds n 5
+ .ds d @TERMINFO@
++.de bP
++.IP \(bu 4
++..
+ .SH NAME
+-\fBtic\fR \- the \fIterminfo\fR entry-description compiler
++\fB@TIC@\fR \- the \fIterminfo\fR entry-description compiler
+ .SH SYNOPSIS
+-\fBtic\fR
++\fB@TIC@\fR
+ [\fB\-\
++0\
+ 1\
+ C\
++D\
+ G\
+ I\
++K\
+ L\
+ N\
+ T\
+@@ -61,31 +67,69 @@
+ \fIfile\fR
+ .br
+ .SH DESCRIPTION
+-The command \fBtic\fR translates a \fBterminfo\fR file from source
++The \fB@TIC@\fR command translates a \fBterminfo\fR file from source
+ format into compiled format.
+ The compiled format is necessary for use with
+ the library routines in \fBncurses\fR(3X).
+ .PP
+-The results are normally placed in the system terminfo
+-directory \fB\*d\fR.
+-There are two ways to change this behavior.
+-.PP
+-First, you may override the system default by setting the variable
+-\fBTERMINFO\fR in your shell environment to a valid (existing) directory name.
+-.PP
+-Secondly, if \fBtic\fR cannot get access to \fI\*d\fR or your TERMINFO
+-directory, it looks for the directory \fI$HOME/.terminfo\fR; if that directory
+-exists, the entry is placed there.
+-.PP
+-Libraries that read terminfo entries are expected to check for a TERMINFO
+-directory first, look at \fI$HOME/.terminfo\fR if TERMINFO is not set, and
+-finally look in \fI\*d\fR.
++As described in \fBterm\fR(\*n), the database may be either a directory
++tree (one file per terminal entry) or a hashed database (one record per entry).
++The \fB@TIC@\fR command writes only one type of entry,
++depending on how it was built:
++.bP
++For directory trees, the top-level directory, e.g., /usr/share/terminfo,
++specifies the location of the database.
++.bP
++For hashed databases, a filename is needed.
++If the given file is not found by that name,
++but can be found by adding the suffix ".db",
++then that is used.
++.IP
++The default name for the hashed database is the same as the
++default directory name (only adding a ".db" suffix).
++.PP
++In either case (directory or hashed database),
++\fB@TIC@\fP will create the container if it does not exist.
++For a directory, this would be the "terminfo" leaf,
++versus a "terminfo.db" file.
++.PP
++The results are normally placed in the system terminfo database \fB\*d\fR.
++The compiled terminal description can be placed
++in a different terminfo database.
++There are two ways to achieve this:
++.bP
++First, you may override the system default either by
++using the \fB\-o\fP option,
++or by setting the variable \fBTERMINFO\fR
++in your shell environment to a valid database location.
++.bP
++Secondly, if \fB@TIC@\fR cannot write in \fI\*d\fR
++or the location specified using your TERMINFO variable,
++it looks for the directory \fI$HOME/.terminfo\fR
++(or hashed database \fI$HOME/.terminfo.db)\fR;
++if that location exists, the entry is placed there.
++.PP
++Libraries that read terminfo entries are expected to check in succession
++.bP
++a location specified with the TERMINFO environment variable,
++.bP
++\fI$HOME/.terminfo\fR,
++.bP
++directories listed in the TERMINFO_DIRS environment variable,
++.bP
++a compiled-in list of directories (@TERMINFO_DIRS@), and
++.bP
++the system terminfo database (\fI\*d\fR).
++.SS OPTIONS
++.TP
++\fB\-0\fR
++restricts the output to a single line
+ .TP
+ \fB\-1\fR
+ restricts the output to a single column
+ .TP
+ \fB\-a\fR
+-tells \fBtic\fP to retain commented-out capabilities rather than discarding
++tells \fB@TIC@\fP to retain commented-out capabilities rather than discarding
+ them.
+ Capabilities are commented by prefixing them with a period.
+ This sets the \fB\-x\fR option, because it treats the commented-out
+@@ -101,16 +145,30 @@
+ Capabilities
+ that are not translatable are left in the entry under their terminfo names
+ but commented out with two preceding dots.
++The actual format used incorporates some improvements for escaped characters
++from terminfo format.
++For a stricter BSD-compatible translation, add the \fB\-K\fR option.
+ .TP
+ \fB\-c\fR
+-tells \fBtic\fP to only check \fIfile\fR for errors, including syntax problems and
++tells \fB@TIC@\fP to only check \fIfile\fR for errors, including syntax problems and
+ bad use links.
+ If you specify \fB\-C\fR (\fB\-I\fR) with this option, the code
+ will print warnings about entries which, after use resolution, are more than
+ 1023 (4096) bytes long.
+-Due to a fixed buffer length in older termcap
+-libraries (and a documented limit in terminfo), these entries may cause core
+-dumps.
++Due to a fixed buffer length in older termcap libraries,
++as well as buggy checking for the buffer length
++(and a documented limit in terminfo),
++these entries may cause core
++dumps with other implementations.
++.TP
++\fB\-D\fR
++tells \fB@TIC@\fP to print the database locations that it knows about, and exit.
++The first location shown is the one to which it would write compiled
++terminal descriptions.
++If \fB@TIC@\fP is not able to find a writable database location
++according to the rules summarized above,
++it will print a diagnostic and exit with an error rather than
++printing a list of database locations.
+ .TP
+ \fB\-e \fR\fInames\fR
+ Limit writes and translations to the following comma-separated list of
+@@ -137,6 +195,10 @@
+ \fB\-I\fR
+ Force source translation to terminfo format.
+ .TP
++\fB\-K\fR
++Suppress some longstanding ncurses extensions to termcap format,
++e.g., "\\s" for space.
++.TP
+ \fB\-L\fR
+ Force source translation to terminfo format
+ using the long C variable names listed in <\fBterm.h\fR>
+@@ -155,9 +217,8 @@
+ obsolete capabilities.
+ .TP
+ \fB\-o\fR\fIdir\fR
+-Write compiled entries to given directory.
+-Overrides the TERMINFO environment
+-variable.
++Write compiled entries to given database location.
++Overrides the TERMINFO environment variable.
+ .TP
+ \fB\-R\fR\fIsubset\fR
+ Restrict output to a given subset.
+@@ -177,7 +238,7 @@
+ tc capabilities per entry.
+ .TP
+ \fB\-s\fR
+-Summarize the compile by showing the directory into which entries
++Summarize the compile by showing the database location into which entries
+ are written, and the number of entries which are compiled.
+ .TP
+ \fB\-T\fR
+@@ -186,12 +247,12 @@
+ descriptions are limited (e.g., 1023 for termcap, 4096 for terminfo).
+ .TP
+ \fB\-t\fR
+-tells \fBtic\fP to discard commented-out capabilities.
++tells \fB@TIC@\fP to discard commented-out capabilities.
+ Normally when translating from terminfo to termcap,
+ untranslatable capabilities are commented-out.
+ .TP 5
+ \fB\-U\fR
+-tells \fBtic\fP to not post-process the data after parsing the source file.
++tells \fB@TIC@\fP to not post-process the data after parsing the source file.
+ Normally, it infers data which is commonly missing in older terminfo data,
+ or in termcaps.
+ .TP
+@@ -200,31 +261,13 @@
+ .TP
+ \fB\-v\fR\fIn\fR
+ specifies that (verbose) output be written to standard error trace
+-information showing \fBtic\fR's progress.
++information showing \fB@TIC@\fR's progress.
+ The optional parameter \fIn\fR is a number from 1 to 10, inclusive,
+ indicating the desired level of detail of information.
+ If \fIn\fR is omitted, the default level is 1.
+ If \fIn\fR is specified and greater than 1, the level of
+ detail is increased.
+-.TP
+-\fB\-w\fR\fIn\fR
+-specifies the width of the output.
+-The parameter is optional.
+-If it is omitted, it defaults to 60.
+-.TP
+-\fB\-x\fR
+-Treat unknown capabilities as user-defined.
+-That is, if you supply a capability name which \fBtic\fP does not recognize,
+-it will infer its type (boolean, number or string) from the syntax and
+-make an extended table entry for that.
+-User-defined capability strings
+-whose name begins with ``k'' are treated as function keys.
+-.TP
+-\fIfile\fR
+-contains one or more \fBterminfo\fR terminal descriptions in source
+-format [see \fBterminfo\fR(\*n)].
+-Each description in the file
+-describes the capabilities of a particular terminal.
++.RS
+ .PP
+ The debug flag levels are as follows:
+ .TP
+@@ -250,19 +293,42 @@
+ All values computed in construction of the hash table
+ .LP
+ If the debug level \fIn\fR is not given, it is taken to be one.
++.RE
++.TP
++\fB\-w\fR\fIn\fR
++specifies the width of the output.
++The parameter is optional.
++If it is omitted, it defaults to 60.
++.TP
++\fB\-x\fR
++Treat unknown capabilities as user-defined.
++That is, if you supply a capability name which \fB@TIC@\fP does not recognize,
++it will infer its type (boolean, number or string) from the syntax and
++make an extended table entry for that.
++User-defined capability strings
++whose name begins with ``k'' are treated as function keys.
++.SS PARAMETERS
++.TP
++\fIfile\fR
++contains one or more \fBterminfo\fR terminal descriptions in source
++format [see \fBterminfo\fR(\*n)].
++Each description in the file
++describes the capabilities of a particular terminal.
++.IP
++If \fIfile\fR is ``-'', then the data is read from the standard input.
++The \fIfile\fR parameter may also be the path of a character-device.
++.SS PROCESSING
+ .PP
+-All but one of the capabilities recognized by \fBtic\fR are documented
++All but one of the capabilities recognized by \fB@TIC@\fR are documented
+ in \fBterminfo\fR(\*n).
+ The exception is the \fBuse\fR capability.
+ .PP
+ When a \fBuse\fR=\fIentry\fR\-\fIname\fR field is discovered in a
+-terminal entry currently being compiled, \fBtic\fR reads in the binary
++terminal entry currently being compiled, \fB@TIC@\fR reads in the binary
+ from \fB\*d\fR to complete the entry.
+ (Entries created from
+ \fIfile\fR will be used first.
+-If the environment variable
+-\fBTERMINFO\fR is set, that directory is searched instead of
+-\fB\*d\fR.) \fBtic\fR duplicates the capabilities in
++\fB@TIC@\fR duplicates the capabilities in
+ \fIentry\fR\-\fIname\fR for the current entry, with the exception of
+ those capabilities that explicitly are defined in the current entry.
+ .PP
+@@ -272,9 +338,6 @@
+ \fBentry_name_1\fR before \fBuse=\fR for these capabilities to be
+ canceled in \fBentry_name_1\fR.
+ .PP
+-If the environment variable \fBTERMINFO\fR is set, the compiled
+-results are placed there instead of \fB\*d\fR.
+-.PP
+ Total compiled entries cannot exceed 4096 bytes.
+ The name field cannot
+ exceed 512 bytes.
+@@ -282,14 +345,14 @@
+ (32 characters on systems with long filenames, 14 characters otherwise)
+ will be truncated to the maximum alias length and a warning message will be printed.
+ .SH COMPATIBILITY
+-There is some evidence that historic \fBtic\fR implementations treated
++There is some evidence that historic \fB@TIC@\fR implementations treated
+ description fields with no whitespace in them as additional aliases or
+ short names.
+-This \fBtic\fR does not do that, but it does warn when
++This \fB@TIC@\fR does not do that, but it does warn when
+ description fields may be treated that way and check them for dangerous
+ characters.
+ .SH EXTENSIONS
+-Unlike the stock SVr4 \fBtic\fR command, this implementation can actually
++Unlike the SVr4 \fB@TIC@\fR command, this implementation can actually
+ compile termcap sources.
+ In fact, entries in terminfo and termcap syntax can
+ be mixed in a single source file.
+@@ -298,16 +361,20 @@
+ .PP
+ The SVr4 manual pages are not clear on the resolution rules for \fBuse\fR
+ capabilities.
+-This implementation of \fBtic\fR will find \fBuse\fR targets anywhere
++This implementation of \fB@TIC@\fR will find \fBuse\fR targets anywhere
+ in the source file, or anywhere in the file tree rooted at \fBTERMINFO\fR (if
+-\fBTERMINFO\fR is defined), or in the user's \fI$HOME/.terminfo\fR directory
+-(if it exists), or (finally) anywhere in the system's file tree of
++\fBTERMINFO\fR is defined),
++or in the user's \fI$HOME/.terminfo\fR database
++(if it exists),
++or (finally) anywhere in the system's file tree of
+ compiled entries.
+ .PP
+-The error messages from this \fBtic\fR have the same format as GNU C
++The error messages from this \fB@TIC@\fR have the same format as GNU C
+ error messages, and can be parsed by GNU Emacs's compile facility.
+ .PP
+ The
++\fB\-0\fR,
++\fB\-1\fR,
+ \fB\-C\fR,
+ \fB\-G\fR,
+ \fB\-I\fR,
+@@ -329,7 +396,7 @@
+ The SVr4 \fB\-c\fR mode does not report bad use links.
+ .PP
+ System V does not compile entries to or read entries from your
+-\fI$HOME/.terminfo\fR directory unless TERMINFO is explicitly set to it.
++\fI$HOME/.terminfo\fR database unless TERMINFO is explicitly set to it.
+ .SH FILES
+ .TP 5
+ \fB\*d/?/*\fR
+@@ -340,6 +407,7 @@
+ \fB@INFOTOCAP@\fR(1M),
+ \fB@TOE@\fR(1M),
+ \fBcurses\fR(3X),
++\fBterm\fR(\*n).
+ \fBterminfo\fR(\*n).
+ .PP
+ This describes \fBncurses\fR
+Index: man/toe.1m
+Prereq: 1.23
+--- ncurses-5.9/man/toe.1m 2010-12-04 18:40:45.000000000 +0000
++++ ncurses-5.9-20130504/man/toe.1m 2012-01-01 00:40:51.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,19 +26,19 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: toe.1m,v 1.23 2010/12/04 18:40:45 tom Exp $
++.\" $Id: toe.1m,v 1.26 2012/01/01 00:40:51 tom Exp $
+ .TH @TOE@ 1M ""
+ .ds n 5
+ .ds d @TERMINFO@
+ .SH NAME
+-\fBtoe\fR \- table of (terminfo) entries
++\fB@TOE@\fR \- table of (terminfo) entries
+ .SH SYNOPSIS
+-\fBtoe\fR [\fB\-v\fR[\fIn\fR]] [\fB\-ahuUV\fR] \fIfile...\fR
++\fB@TOE@\fR [\fB\-v\fR[\fIn\fR]] [\fB\-ahsuUV\fR] \fIfile...\fR
+ .br
+ .SH DESCRIPTION
+ .PP
+ With no options,
+-\fBtoe\fR lists all available terminal types by primary name
++\fB@TOE@\fR lists all available terminal types by primary name
+ with descriptions.
+ File arguments specify the directories to be scanned; if no
+ such arguments are given,
+@@ -52,6 +52,15 @@
+ \fB\-a\fR
+ report on all of the terminal databases which ncurses would search,
+ rather than only the first one that it finds.
++.IP
++If the \fB\-s\fR is also given, \fB@TOE@\fR
++adds a column to the report,
++showing (like \fBconflict\fP(1)) which entries which
++belong to a given terminal database.
++An "*" marks entries which differ, and "+" marks equivalent entries.
++.TP
++\fB\-s\fR
++sort the output by the entry names.
+ .TP
+ \fB\-u\fR \fIfile\fR
+ says to write a report to the standard output,
+@@ -78,7 +87,7 @@
+ .TP
+ \fB\-v\fR\fIn\fR
+ specifies that (verbose) output be written to standard error,
+-showing \fBtoe\fR's progress.
++showing \fB@TOE@\fR's progress.
+ The optional parameter \fIn\fR is a number from 1 to 10,
+ interpreted as for \fB@TIC@\fR(1M).
+ .TP
+Index: man/tput.1
+Prereq: 1.29
+--- ncurses-5.9/man/tput.1 2010-12-04 18:41:07.000000000 +0000
++++ ncurses-5.9-20130504/man/tput.1 2012-07-14 21:06:45.000000000 +0000
+@@ -1,6 +1,6 @@
+ '\" t
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: tput.1,v 1.29 2010/12/04 18:41:07 tom Exp $
++.\" $Id: tput.1,v 1.32 2012/07/14 21:06:45 tom Exp $
+ .TH @TPUT@ 1 ""
+ .ds d @TERMINFO@
+ .ds n 1
+@@ -77,11 +77,12 @@
+ and the \fIcapname\fR associated with each, see \fBterminfo\fR(5).
+ .TP
+ \fB\-T\fR\fItype\fR
+-indicates the \fItype\fR of terminal. Normally this option is
++indicates the \fItype\fR of terminal.
++Normally this option is
+ unnecessary, because the default is taken from the environment
+-variable \fBTERM\fR. If \fB\-T\fR is specified, then the shell
+-variables \fBLINES\fR and \fBCOLUMNS\fR will be ignored,and the
+-operating system will not be queried for the actual screen size.
++variable \fBTERM\fR.
++If \fB\-T\fR is specified, then the shell
++variables \fBLINES\fR and \fBCOLUMNS\fR will also be ignored.
+ .TP
+ \fIcapname\fR
+ indicates the capability from the \fBterminfo\fR database. When
+@@ -159,7 +160,7 @@
+ .PP
+ If \fB@TPUT@\fR is invoked by a link named \fBreset\fR, this has the
+ same effect as \fB@TPUT@ reset\fR.
+-See \fBtset\fR for comparison, which has similar behavior.
++See \fB@TSET@\fR for comparison, which has similar behavior.
+ .SH EXAMPLES
+ .TP 5
+ \fB@TPUT@ init\fR
+@@ -275,7 +276,7 @@
+ .PP
+ Any other exit code indicates an error; see the DIAGNOSTICS section.
+ .SH DIAGNOSTICS
+-\fBtput\fR prints the following error messages and sets the corresponding exit
++\fB@TPUT@\fR prints the following error messages and sets the corresponding exit
+ codes.
+ .PP
+ .ne 15
+@@ -303,17 +304,29 @@
+ .PP
+ X/Open documents only the operands for \fBclear\fP, \fBinit\fP and \fBreset\fP.
+ In this implementation, \fBclear\fP is part of the \fIcapname\fR support.
+-Other implementations of \fBtput\fP on
++Other implementations of \fB@TPUT@\fP on
+ SVr4-based systems such as Solaris, IRIX64 and HPUX
+ as well as others such as AIX and Tru64
+ provide support for \fIcapname\fR operands.
++.PP
+ A few platforms such as FreeBSD and NetBSD recognize termcap names rather
+-than terminfo capability names in their respective \fBtput\fP commands.
++than terminfo capability names in their respective \fB@TPUT@\fP commands.
++.PP
++Most implementations which provide support for \fIcapname\fR operands
++use the \fItparm\fP function to expand parameters in it.
++That function expects a mixture of numeric and string parameters,
++requiring \fB@TPUT@\fP to know which type to use.
++This implementation uses a table to determine that for
++the standard \fIcapname\fR operands, and an internal library
++function to analyze nonstandard \fIcapname\fR operands.
++Other implementations may simply guess that an operand containing only digits
++is intended to be a number.
+ .SH SEE ALSO
+ \fB@CLEAR@\fR(1),
+ \fBstty\fR(1),
+ \fBtabs\fR(\*n),
+-\fBterminfo\fR(5).
++\fBterminfo\fR(5),
++\fBcurs_termcap\fR(3X).
+ .PP
+ This describes \fBncurses\fR
+ version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).
+Index: man/tset.1
+Prereq: 1.25
+--- ncurses-5.9/man/tset.1 2010-12-04 18:38:55.000000000 +0000
++++ ncurses-5.9-20130504/man/tset.1 2011-12-17 23:20:35.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,12 +26,12 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: tset.1,v 1.25 2010/12/04 18:38:55 tom Exp $
++.\" $Id: tset.1,v 1.27 2011/12/17 23:20:35 tom Exp $
+ .TH @TSET@ 1 ""
+ .SH NAME
+-\fBtset\fR, \fBreset\fR \- terminal initialization
++\fB@TSET@\fR, \fBreset\fR \- terminal initialization
+ .SH SYNOPSIS
+-\fBtset\fR [\fB\-IQVcqrsw\fR] [\fB\-\fR] [\fB\-e\fR \fIch\fR] [\fB\-i\fR \fIch\fR] [\fB\-k\fR \fIch\fR] [\fB\-m\fR \fImapping\fR] [\fIterminal\fR]
++\fB@TSET@\fR [\fB\-IQVcqrsw\fR] [\fB\-\fR] [\fB\-e\fR \fIch\fR] [\fB\-i\fR \fIch\fR] [\fB\-k\fR \fIch\fR] [\fB\-m\fR \fImapping\fR] [\fIterminal\fR]
+ .br
+ \fBreset\fR [\fB\-IQVcqrsw\fR] [\fB\-\fR] [\fB\-e\fR \fIch\fR] [\fB\-i\fR \fIch\fR] [\fB\-k\fR \fIch\fR] [\fB\-m\fR \fImapping\fR] [\fIterminal\fR]
+ .SH DESCRIPTION
+@@ -72,7 +72,7 @@
+ versus the other initialization.
+ If neither option is given, both are assumed.
+ .PP
+-When invoked as \fBreset\fR, \fBtset\fR sets cooked and echo modes,
++When invoked as \fBreset\fR, \fB@TSET@\fR sets cooked and echo modes,
+ turns off cbreak and raw modes, turns on newline translation and
+ resets any unset special characters to their default values before
+ doing the terminal initialization described above. This is useful
+@@ -89,6 +89,7 @@
+ .TP 5
+ .B \-c
+ Set control characters and modes.
++.TP 5
+ .B \-e
+ Set the erase character to \fIch\fR.
+ .TP
+@@ -109,7 +110,7 @@
+ .TP
+ .B \-Q
+ Do not display any values for the erase, interrupt and line kill characters.
+-Normally \fBtset\fR displays the values for control characters which
++Normally \fB@TSET@\fR displays the values for control characters which
+ differ from the system's default values.
+ .TP
+ .B \-q
+@@ -152,19 +153,19 @@
+ \fBnoglob\fR, leaving it unset. The following line in the \fB.login\fR
+ or \fB.profile\fR files will initialize the environment correctly:
+ .sp
+- eval \`tset \-s options ... \`
++ eval \`@TSET@ \-s options ... \`
+ .
+ .SH TERMINAL TYPE MAPPING
+ When the terminal is not hardwired into the system (or the current
+ system information is incorrect) the terminal type derived from the
+ \fI/etc/ttys\fR file or the \fBTERM\fR environmental variable is often
+ something generic like \fBnetwork\fR, \fBdialup\fR, or \fBunknown\fR.
+-When \fBtset\fR is used in a startup script it is often desirable to
++When \fB@TSET@\fR is used in a startup script it is often desirable to
+ provide information about the type of terminal used on such ports.
+ .PP
+ The purpose of the \fB\-m\fR option is to map
+ from some set of conditions to a terminal type, that is, to
+-tell \fBtset\fR
++tell \fB@TSET@\fR
+ ``If I'm on this port at a particular speed, guess that I'm on that
+ kind of terminal''.
+ .PP
+@@ -207,20 +208,20 @@
+ and that \fBcsh\fR users insert a backslash character (``\e'') before
+ any exclamation marks (``!'').
+ .SH HISTORY
+-The \fBtset\fR command appeared in BSD 3.0. The \fBncurses\fR implementation
++The \fB@TSET@\fR command appeared in BSD 3.0. The \fBncurses\fR implementation
+ was lightly adapted from the 4.4BSD sources for a terminfo environment by Eric
+ S. Raymond <esr@snark.thyrsus.com>.
+ .SH COMPATIBILITY
+-The \fBtset\fR utility has been provided for backward-compatibility with BSD
++The \fB@TSET@\fR utility has been provided for backward-compatibility with BSD
+ environments (under most modern UNIXes, \fB/etc/inittab\fR and \fIgetty\fR(1)
+ can set \fBTERM\fR appropriately for each dial-up line; this obviates what was
+-\fBtset\fR's most important use). This implementation behaves like 4.4BSD
++\fB@TSET@\fR's most important use). This implementation behaves like 4.4BSD
+ tset, with a few exceptions specified here.
+ .PP
+ The \fB\-S\fR option of BSD tset no longer works; it prints an error message to stderr
+ and dies. The \fB\-s\fR option only sets \fBTERM\fR, not \fBTERMCAP\fP. Both these
+ changes are because the \fBTERMCAP\fR variable is no longer supported under
+-terminfo-based \fBncurses\fR, which makes \fBtset \-S\fR useless (we made it die
++terminfo-based \fBncurses\fR, which makes \fB@TSET@ \-S\fR useless (we made it die
+ noisily rather than silently induce lossage).
+ .PP
+ There was an undocumented 4.4BSD feature that invoking tset via a link named
+@@ -228,7 +229,7 @@
+ terminal to use upper-case only. This feature has been omitted.
+ .PP
+ The \fB\-A\fR, \fB\-E\fR, \fB\-h\fR, \fB\-u\fR and \fB\-v\fR
+-options were deleted from the \fBtset\fR
++options were deleted from the \fB@TSET@\fR
+ utility in 4.4BSD.
+ None of them were documented in 4.3BSD and all are
+ of limited utility at best.
+@@ -243,14 +244,14 @@
+ arguments, although it is strongly recommended that such usage be fixed to
+ explicitly specify the character.
+ .PP
+-As of 4.4BSD, executing \fBtset\fR as \fBreset\fR no longer implies the \fB\-Q\fR
++As of 4.4BSD, executing \fB@TSET@\fR as \fBreset\fR no longer implies the \fB\-Q\fR
+ option. Also, the interaction between the \- option and the \fIterminal\fR
+-argument in some historic implementations of \fBtset\fR has been removed.
++argument in some historic implementations of \fB@TSET@\fR has been removed.
+ .SH ENVIRONMENT
+-The \fBtset\fR command uses these environment variables:
++The \fB@TSET@\fR command uses these environment variables:
+ .TP 5
+ SHELL
+-tells \fBtset\fP whether to initialize \fBTERM\fP using \fBsh\fP or
++tells \fB@TSET@\fP whether to initialize \fBTERM\fP using \fBsh\fP or
+ \fBcsh\fP syntax.
+ .TP 5
+ TERM
+@@ -260,7 +261,7 @@
+ TERMCAP
+ may denote the location of a termcap database.
+ If it is not an absolute pathname, e.g., begins with a `/',
+-\fBtset\fP removes the variable from the environment before looking
++\fB@TSET@\fP removes the variable from the environment before looking
+ for the terminal description.
+ .SH FILES
+ .TP 5
+Index: menu/Makefile.in
+Prereq: 1.54
+--- ncurses-5.9/menu/Makefile.in 2010-11-27 21:45:27.000000000 +0000
++++ ncurses-5.9-20130504/menu/Makefile.in 2012-09-29 19:37:34.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: Makefile.in,v 1.54 2010/11/27 21:45:27 tom Exp $
++# $Id: Makefile.in,v 1.56 2012/09/29 19:37:34 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -102,6 +102,7 @@
+ SHLIB_DIRS = -L../lib
+ SHLIB_LIST = $(SHLIB_DIRS) -lncurses@LIB_SUFFIX@ @SHLIB_LIST@
+
++RPATH_LIST = @RPATH_LIST@
+ MK_SHARED_LIB = @MK_SHARED_LIB@
+
+ NCURSES_MAJOR = @NCURSES_MAJOR@
+@@ -111,7 +112,7 @@
+
+ RANLIB = @LIB_PREP@
+
+-LIBRARIES = @LIBS_TO_MAKE@
++LIBRARIES = @Libs_To_Make@
+
+ LINT = @LINT@
+ LINT_OPTS = @LINT_OPTS@
+Index: menu/m_attribs.c
+Prereq: 1.16
+--- ncurses-5.9/menu/m_attribs.c 2010-01-23 21:16:54.000000000 +0000
++++ ncurses-5.9-20130504/menu/m_attribs.c 2012-03-10 23:43:41.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,7 +37,7 @@
+
+ #include "menu.priv.h"
+
+-MODULE_ID("$Id: m_attribs.c,v 1.16 2010/01/23 21:16:54 tom Exp $")
++MODULE_ID("$Id: m_attribs.c,v 1.17 2012/03/10 23:43:41 tom Exp $")
+
+ /* Macro to redraw menu if it is posted and changed */
+ #define Refresh_Menu(menu) \
+@@ -51,7 +51,7 @@
+ #define GEN_MENU_ATTR_SET_FCT( name ) \
+ NCURSES_IMPEXP int NCURSES_API set_menu_ ## name (MENU* menu, chtype attr) \
+ {\
+- T((T_CALLED("set_menu_" #name "(%p,%s)"), menu, _traceattr(attr))); \
++ T((T_CALLED("set_menu_" #name "(%p,%s)"), (void *) menu, _traceattr(attr))); \
+ if (!(attr==A_NORMAL || (attr & A_ATTRIBUTES)==attr))\
+ RETURN(E_BAD_ARGUMENT);\
+ if (menu && ( menu -> name != attr))\
+Index: menu/m_driver.c
+Prereq: 1.29
+--- ncurses-5.9/menu/m_driver.c 2010-01-23 21:20:10.000000000 +0000
++++ ncurses-5.9-20130504/menu/m_driver.c 2012-03-10 23:43:41.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,7 +37,7 @@
+
+ #include "menu.priv.h"
+
+-MODULE_ID("$Id: m_driver.c,v 1.29 2010/01/23 21:20:10 tom Exp $")
++MODULE_ID("$Id: m_driver.c,v 1.31 2012/03/10 23:43:41 tom Exp $")
+
+ /* Macros */
+
+@@ -47,7 +47,7 @@
+
+ /* Add a new character to the match pattern buffer */
+ #define Add_Character_To_Pattern(menu,ch) \
+- { (menu)->pattern[((menu)->pindex)++] = (ch);\
++ { (menu)->pattern[((menu)->pindex)++] = (char) (ch);\
+ (menu)->pattern[(menu)->pindex] = '\0'; }
+
+ /*---------------------------------------------------------------------------
+@@ -537,7 +537,11 @@
+ result = E_UNKNOWN_COMMAND;
+ }
+
+- if (E_OK == result)
++ if (item == 0)
++ {
++ result = E_BAD_STATE;
++ }
++ else if (E_OK == result)
+ {
+ /* Adjust the top row if it turns out that the current item unfortunately
+ doesn't appear in the menu window */
+Index: menu/m_format.c
+Prereq: 1.16
+--- ncurses-5.9/menu/m_format.c 2010-01-23 21:20:10.000000000 +0000
++++ ncurses-5.9-20130504/menu/m_format.c 2012-06-09 23:54:02.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,7 +37,7 @@
+
+ #include "menu.priv.h"
+
+-MODULE_ID("$Id: m_format.c,v 1.16 2010/01/23 21:20:10 tom Exp $")
++MODULE_ID("$Id: m_format.c,v 1.18 2012/06/09 23:54:02 tom Exp $")
+
+ #define minimum(a,b) ((a)<(b) ? (a): (b))
+
+@@ -81,8 +81,8 @@
+ if (menu->pattern)
+ Reset_Pattern(menu);
+
+- menu->frows = rows;
+- menu->fcols = cols;
++ menu->frows = (short)rows;
++ menu->fcols = (short)cols;
+
+ assert(rows > 0 && cols > 0);
+ total_rows = (menu->nitems - 1) / cols + 1;
+@@ -90,21 +90,21 @@
+ minimum(menu->nitems, cols) :
+ (menu->nitems - 1) / total_rows + 1;
+
+- menu->rows = total_rows;
+- menu->cols = total_cols;
+- menu->arows = minimum(total_rows, rows);
++ menu->rows = (short)total_rows;
++ menu->cols = (short)total_cols;
++ menu->arows = (short)minimum(total_rows, rows);
+ menu->toprow = 0;
+ menu->curitem = *(menu->items);
+ assert(menu->curitem);
+- menu->status |= _LINK_NEEDED;
++ SetStatus(menu, _LINK_NEEDED);
+ _nc_Calculate_Item_Length_and_Width(menu);
+ }
+ else
+ {
+ if (rows > 0)
+- _nc_Default_Menu.frows = rows;
++ _nc_Default_Menu.frows = (short)rows;
+ if (cols > 0)
+- _nc_Default_Menu.fcols = cols;
++ _nc_Default_Menu.fcols = (short)cols;
+ }
+
+ RETURN(E_OK);
+Index: menu/m_global.c
+Prereq: 1.25
+--- ncurses-5.9/menu/m_global.c 2010-01-23 21:20:10.000000000 +0000
++++ ncurses-5.9-20130504/menu/m_global.c 2012-06-10 00:09:15.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,7 +37,7 @@
+
+ #include "menu.priv.h"
+
+-MODULE_ID("$Id: m_global.c,v 1.25 2010/01/23 21:20:10 tom Exp $")
++MODULE_ID("$Id: m_global.c,v 1.27 2012/06/10 00:09:15 tom Exp $")
+
+ static char mark[] = "-";
+ /* *INDENT-OFF* */
+@@ -117,17 +117,17 @@
+ assert(menu && menu->items);
+ for (items = menu->items; *items; items++)
+ {
+- check = _nc_Calculate_Text_Width(&((*items)->name));
++ check = (unsigned)_nc_Calculate_Text_Width(&((*items)->name));
+ if (check > MaximumNameLength)
+ MaximumNameLength = check;
+
+- check = _nc_Calculate_Text_Width(&((*items)->description));
++ check = (unsigned)_nc_Calculate_Text_Width(&((*items)->description));
+ if (check > MaximumDescriptionLength)
+ MaximumDescriptionLength = check;
+ }
+
+- menu->namelen = MaximumNameLength;
+- menu->desclen = MaximumDescriptionLength;
++ menu->namelen = (short)MaximumNameLength;
++ menu->desclen = (short)MaximumDescriptionLength;
+ T(("ComputeMaximum_NameDesc_Lengths %d,%d", menu->namelen, menu->desclen));
+ }
+
+@@ -195,7 +195,7 @@
+ {
+ (*item)->value = FALSE;
+ }
+- (*item)->index = ItemCount++;
++ (*item)->index = (short)ItemCount++;
+ (*item)->imenu = menu;
+ }
+ }
+@@ -206,7 +206,7 @@
+ if (ItemCount != 0)
+ {
+ menu->items = items;
+- menu->nitems = ItemCount;
++ menu->nitems = (short)ItemCount;
+ ComputeMaximum_NameDesc_Lengths(menu);
+ if ((menu->pattern = typeMalloc(char, (unsigned)(1 + menu->namelen))))
+ {
+@@ -256,7 +256,7 @@
+ T((T_CALLED("_nc_menu_text_width(%p)"), (const void *)item));
+ if (result != 0 && item->str != 0)
+ {
+- int count = mbstowcs(0, item->str, 0);
++ int count = (int)mbstowcs(0, item->str, 0);
+ wchar_t *temp = 0;
+
+ if (count > 0
+@@ -343,7 +343,7 @@
+
+ assert(menu);
+
+- menu->height = 1 + menu->spc_rows * (menu->arows - 1);
++ menu->height = (short)(1 + menu->spc_rows * (menu->arows - 1));
+
+ l = calculate_actual_width(menu, TRUE);
+ l += menu->marklen;
+@@ -354,10 +354,10 @@
+ l += menu->spc_desc;
+ }
+
+- menu->itemlen = l;
++ menu->itemlen = (short)l;
+ l *= menu->cols;
+ l += (menu->cols - 1) * menu->spc_cols; /* for the padding between the columns */
+- menu->width = l;
++ menu->width = (short)l;
+
+ T(("_nc_CalculateItem_Length_and_Width columns %d, item %d, width %d",
+ menu->cols,
+@@ -388,7 +388,7 @@
+ int Last_in_Column;
+ bool cycle = (menu->opt & O_NONCYCLIC) ? FALSE : TRUE;
+
+- menu->status &= ~_LINK_NEEDED;
++ ClrStatus(menu, _LINK_NEEDED);
+
+ if (menu->opt & O_ROWMAJOR)
+ {
+@@ -431,8 +431,8 @@
+ (cycle ? menu->items[(row + 1) < menu->rows ?
+ Number_Of_Items - 1 : col] :
+ (ITEM *) 0);
+- item->x = col;
+- item->y = row;
++ item->x = (short)col;
++ item->y = (short)row;
+ if (++col == Number_Of_Columns)
+ {
+ row++;
+@@ -482,8 +482,8 @@
+ (ITEM *) 0
+ );
+
+- item->x = col;
+- item->y = row;
++ item->x = (short)col;
++ item->y = (short)row;
+ if ((++row) == Number_Of_Rows)
+ {
+ col++;
+@@ -568,7 +568,7 @@
+
+ cur_item = menu->curitem;
+ assert(cur_item);
+- menu->toprow = new_toprow;
++ menu->toprow = (short)new_toprow;
+ menu->curitem = new_current_item;
+
+ if (mterm_called)
+@@ -590,7 +590,7 @@
+ }
+ else
+ { /* if we are not posted, this is quite simple */
+- menu->toprow = new_toprow;
++ menu->toprow = (short)new_toprow;
+ menu->curitem = new_current_item;
+ }
+ }
+Index: menu/m_hook.c
+Prereq: 1.15
+--- ncurses-5.9/menu/m_hook.c 2010-01-23 21:16:54.000000000 +0000
++++ ncurses-5.9-20130504/menu/m_hook.c 2012-03-10 23:43:41.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,13 +37,13 @@
+
+ #include "menu.priv.h"
+
+-MODULE_ID("$Id: m_hook.c,v 1.15 2010/01/23 21:16:54 tom Exp $")
++MODULE_ID("$Id: m_hook.c,v 1.16 2012/03/10 23:43:41 tom Exp $")
+
+ /* "Template" macro to generate function to set application specific hook */
+ #define GEN_HOOK_SET_FUNCTION( typ, name ) \
+ NCURSES_IMPEXP int NCURSES_API set_ ## typ ## _ ## name (MENU *menu, Menu_Hook func )\
+ {\
+- T((T_CALLED("set_" #typ "_" #name "(%p,%p)"), menu, func));\
++ T((T_CALLED("set_" #typ "_" #name "(%p,%p)"), (void *) menu, func));\
+ (Normalize_Menu(menu) -> typ ## name = func );\
+ RETURN(E_OK);\
+ }
+Index: menu/m_item_new.c
+Prereq: 1.30
+--- ncurses-5.9/menu/m_item_new.c 2010-01-23 21:20:11.000000000 +0000
++++ ncurses-5.9-20130504/menu/m_item_new.c 2012-06-09 23:55:15.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -44,7 +44,7 @@
+ #endif
+ #endif
+
+-MODULE_ID("$Id: m_item_new.c,v 1.30 2010/01/23 21:20:11 tom Exp $")
++MODULE_ID("$Id: m_item_new.c,v 1.33 2012/06/09 23:55:15 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnmenu
+@@ -62,7 +62,7 @@
+ int result = TRUE;
+
+ #if USE_WIDEC_SUPPORT
+- int count = mbstowcs(0, s, 0);
++ int count = (int)mbstowcs(0, s, 0);
+ wchar_t *temp = 0;
+
+ assert(s);
+@@ -127,13 +127,13 @@
+ {
+ *item = _nc_Default_Item; /* hope we have struct assignment */
+
+- item->name.length = strlen(name);
++ item->name.length = (unsigned short)strlen(name);
+ item->name.str = name;
+
+ if (description && (*description != '\0') &&
+ Is_Printable_String(description))
+ {
+- item->description.length = strlen(description);
++ item->description.length = (unsigned short)strlen(description);
+ item->description.str = description;
+ }
+ else
+@@ -195,12 +195,12 @@
+ NCURSES_EXPORT(int)
+ set_menu_mark(MENU * menu, const char *mark)
+ {
+- unsigned l;
++ short l;
+
+ T((T_CALLED("set_menu_mark(%p,%s)"), (void *)menu, _nc_visbuf(mark)));
+
+ if (mark && (*mark != '\0') && Is_Printable_String(mark))
+- l = strlen(mark);
++ l = (short)strlen(mark);
+ else
+ l = 0;
+
+@@ -213,7 +213,7 @@
+ {
+ /* If the menu is already posted, the geometry is fixed. Then
+ we can only accept a mark with exactly the same length */
+- if (menu->marklen != (int)l)
++ if (menu->marklen != l)
+ RETURN(E_BAD_ARGUMENT);
+ }
+ menu->marklen = l;
+@@ -222,14 +222,13 @@
+ menu->mark = strdup(mark);
+ if (menu->mark)
+ {
+- strcpy(menu->mark, mark);
+ if (menu != &_nc_Default_Menu)
+- menu->status |= _MARK_ALLOCATED;
++ SetStatus(menu, _MARK_ALLOCATED);
+ }
+ else
+ {
+ menu->mark = old_mark;
+- menu->marklen = (old_mark != 0) ? strlen(old_mark) : 0;
++ menu->marklen = (short)((old_mark != 0) ? strlen(old_mark) : 0);
+ RETURN(E_SYSTEM_ERROR);
+ }
+ }
+Index: menu/m_pad.c
+Prereq: 1.12
+--- ncurses-5.9/menu/m_pad.c 2010-01-23 21:20:10.000000000 +0000
++++ ncurses-5.9-20130504/menu/m_pad.c 2012-03-10 23:43:41.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,7 +37,7 @@
+
+ #include "menu.priv.h"
+
+-MODULE_ID("$Id: m_pad.c,v 1.12 2010/01/23 21:20:10 tom Exp $")
++MODULE_ID("$Id: m_pad.c,v 1.13 2012/03/10 23:43:41 tom Exp $")
+
+ /* Macro to redraw menu if it is posted and changed */
+ #define Refresh_Menu(menu) \
+@@ -69,7 +69,7 @@
+ RETURN(E_BAD_ARGUMENT);
+
+ Normalize_Menu(menu);
+- menu->pad = pad;
++ menu->pad = (unsigned char)pad;
+
+ if (do_refresh)
+ Refresh_Menu(menu);
+Index: menu/m_post.c
+Prereq: 1.29
+--- ncurses-5.9/menu/m_post.c 2010-05-01 19:18:27.000000000 +0000
++++ ncurses-5.9-20130504/menu/m_post.c 2012-06-09 23:54:35.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,7 +37,7 @@
+
+ #include "menu.priv.h"
+
+-MODULE_ID("$Id: m_post.c,v 1.29 2010/05/01 19:18:27 tom Exp $")
++MODULE_ID("$Id: m_post.c,v 1.31 2012/06/09 23:54:35 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnmenu
+@@ -67,7 +67,7 @@
+ - it is a onevalued menu and it is the current item
+ - or it has a selection value
+ */
+- wattron(menu->win, menu->back);
++ wattron(menu->win, (int)menu->back);
+ if (item->value || (item == menu->curitem))
+ {
+ if (menu->marklen)
+@@ -79,13 +79,13 @@
+ item. */
+ if (!(menu->opt & O_ONEVALUE) && item->value && item != menu->curitem)
+ {
+- wattron(menu->win, menu->fore);
++ wattron(menu->win, (int)menu->fore);
+ isfore = TRUE;
+ }
+ waddstr(menu->win, menu->mark);
+ if (isfore)
+ {
+- wattron(menu->win, menu->fore);
++ wattron(menu->win, (int)menu->fore);
+ isfore = FALSE;
+ }
+ }
+@@ -93,7 +93,7 @@
+ else /* otherwise we have to wipe out the marker area */
+ for (ch = ' ', i = menu->marklen; i > 0; i--)
+ waddch(menu->win, ch);
+- wattroff(menu->win, menu->back);
++ wattroff(menu->win, (int)menu->back);
+ count += menu->marklen;
+
+ /* First we have to calculate the attribute depending on selectability
+@@ -101,19 +101,19 @@
+ */
+ if (!(item->opt & O_SELECTABLE))
+ {
+- wattron(menu->win, menu->grey);
++ wattron(menu->win, (int)menu->grey);
+ isgrey = TRUE;
+ }
+ else
+ {
+ if (item->value || item == menu->curitem)
+ {
+- wattron(menu->win, menu->fore);
++ wattron(menu->win, (int)menu->fore);
+ isfore = TRUE;
+ }
+ else
+ {
+- wattron(menu->win, menu->back);
++ wattron(menu->win, (int)menu->back);
+ isback = TRUE;
+ }
+ }
+@@ -158,10 +158,10 @@
+ assert(cx >= 0 && cy >= 0);
+ getyx(menu->win, ncy, ncx);
+ if (isgrey)
+- wattroff(menu->win, menu->grey);
++ wattroff(menu->win, (int)menu->grey);
+ else if (isfore)
+- wattroff(menu->win, menu->fore);
+- wattron(menu->win, menu->back);
++ wattroff(menu->win, (int)menu->fore);
++ wattron(menu->win, (int)menu->back);
+ for (j = 1; j < menu->spc_rows; j++)
+ {
+ if ((item_y + j) < getmaxy(menu->win))
+@@ -175,17 +175,17 @@
+ }
+ wmove(menu->win, ncy, ncx);
+ if (!isback)
+- wattroff(menu->win, menu->back);
++ wattroff(menu->win, (int)menu->back);
+ }
+ }
+
+ /* Remove attributes */
+ if (isfore)
+- wattroff(menu->win, menu->fore);
++ wattroff(menu->win, (int)menu->fore);
+ if (isback)
+- wattroff(menu->win, menu->back);
++ wattroff(menu->win, (int)menu->back);
+ if (isgrey)
+- wattroff(menu->win, menu->grey);
++ wattroff(menu->win, (int)menu->grey);
+ }
+
+ /*---------------------------------------------------------------------------
+@@ -225,7 +225,7 @@
+ {
+ _nc_Post_Item(menu, hitem);
+
+- wattron(menu->win, menu->back);
++ wattron(menu->win, (int)menu->back);
+ if (((hitem = hitem->right) != lasthor) && hitem)
+ {
+ int i, j, cy, cx;
+@@ -244,7 +244,7 @@
+ }
+ }
+ while (hitem && (hitem != lasthor));
+- wattroff(menu->win, menu->back);
++ wattroff(menu->win, (int)menu->back);
+
+ item = item->down;
+ y += menu->spc_rows;
+@@ -305,7 +305,7 @@
+ else
+ RETURN(E_NOT_CONNECTED);
+
+- menu->status |= _POSTED;
++ SetStatus(menu, _POSTED);
+
+ if (!(menu->opt & O_ONEVALUE))
+ {
+@@ -369,7 +369,7 @@
+ delwin(menu->win);
+ menu->win = (WINDOW *)0;
+
+- menu->status &= ~_POSTED;
++ ClrStatus(menu, _POSTED);
+
+ RETURN(E_OK);
+ }
+Index: menu/m_req_name.c
+Prereq: 1.21
+--- ncurses-5.9/menu/m_req_name.c 2009-10-10 16:17:23.000000000 +0000
++++ ncurses-5.9-20130504/menu/m_req_name.c 2012-07-21 23:27:32.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2009,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,7 +37,7 @@
+
+ #include "menu.priv.h"
+
+-MODULE_ID("$Id: m_req_name.c,v 1.21 2009/10/10 16:17:23 tom Exp $")
++MODULE_ID("$Id: m_req_name.c,v 1.22 2012/07/21 23:27:32 tom Exp $")
+
+ static const char *request_names[MAX_MENU_COMMAND - MIN_MENU_COMMAND + 1] =
+ {
+@@ -99,23 +99,26 @@
+ /* because the table is so small, it doesn't really hurt
+ to run sequentially through it.
+ */
+- unsigned int i = 0;
++ size_t i = 0;
+ char buf[16];
+
+ T((T_CALLED("menu_request_by_name(%s)"), _nc_visbuf(str)));
+
+- if (str)
++ if (str != 0 && (i = strlen(str)) != 0)
+ {
+- strncpy(buf, str, sizeof(buf));
+- while ((i < sizeof(buf)) && (buf[i] != '\0'))
++ if (i > sizeof(buf) - 2)
++ i = sizeof(buf) - 2;
++ memcpy(buf, str, i);
++ buf[i] = '\0';
++
++ for (i = 0; buf[i] != '\0'; ++i)
+ {
+ buf[i] = (char)toupper(UChar(buf[i]));
+- i++;
+ }
+
+ for (i = 0; i < A_SIZE; i++)
+ {
+- if (strncmp(request_names[i], buf, sizeof(buf)) == 0)
++ if (strcmp(request_names[i], buf) == 0)
+ returnCode(MIN_MENU_COMMAND + (int)i);
+ }
+ }
+Index: menu/m_spacing.c
+Prereq: 1.18
+--- ncurses-5.9/menu/m_spacing.c 2010-01-23 21:20:10.000000000 +0000
++++ ncurses-5.9-20130504/menu/m_spacing.c 2012-03-10 23:43:41.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,7 +37,7 @@
+
+ #include "menu.priv.h"
+
+-MODULE_ID("$Id: m_spacing.c,v 1.18 2010/01/23 21:20:10 tom Exp $")
++MODULE_ID("$Id: m_spacing.c,v 1.19 2012/03/10 23:43:41 tom Exp $")
+
+ #define MAX_SPC_DESC ((TABSIZE) ? (TABSIZE) : 8)
+ #define MAX_SPC_COLS ((TABSIZE) ? (TABSIZE) : 8)
+@@ -70,9 +70,9 @@
+ ((s_col < 0) || (s_col > MAX_SPC_COLS)))
+ RETURN(E_BAD_ARGUMENT);
+
+- m->spc_desc = s_desc ? s_desc : 1;
+- m->spc_rows = s_row ? s_row : 1;
+- m->spc_cols = s_col ? s_col : 1;
++ m->spc_desc = (short)(s_desc ? s_desc : 1);
++ m->spc_rows = (short)(s_row ? s_row : 1);
++ m->spc_cols = (short)(s_col ? s_col : 1);
+ _nc_Calculate_Item_Length_and_Width(m);
+
+ RETURN(E_OK);
+Index: menu/menu.priv.h
+Prereq: 1.23
+--- ncurses-5.9/menu/menu.priv.h 2009-02-28 21:02:57.000000000 +0000
++++ ncurses-5.9-20130504/menu/menu.priv.h 2012-03-10 23:43:41.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2005,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2009,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -30,7 +30,7 @@
+ * Author: Juergen Pfeifer, 1995,1997 *
+ ****************************************************************************/
+
+-/* $Id: menu.priv.h,v 1.23 2009/02/28 21:02:57 juergen Exp $ */
++/* $Id: menu.priv.h,v 1.24 2012/03/10 23:43:41 tom Exp $ */
+
+ /***************************************************************************
+ * Module menu.priv.h *
+@@ -39,6 +39,7 @@
+
+ #ifndef MENU_PRIV_H_incl
+ #define MENU_PRIV_H_incl 1
++/* *INDENT-OFF* */
+
+ #include "curses.priv.h"
+ #include "mf_common.h"
+@@ -99,10 +100,11 @@
+ */
+ #define Adjust_Current_Item(menu,row,item) \
+ { if ((item)->y < row) \
+- row = (item)->y;\
+- if ( (item)->y >= (row + (menu)->arows) )\
+- row = ( (item)->y < ((menu)->rows - row) ) ? \
+- (item)->y : (menu)->rows - (menu)->arows;\
++ row = (short) (item)->y; \
++ if ( (item)->y >= (row + (menu)->arows) ) \
++ row = (short) (( (item)->y < ((menu)->rows - row) ) \
++ ? (item)->y \
++ : (menu)->rows - (menu)->arows); \
+ _nc_New_TopRow_and_CurrentItem(menu,row,item); }
+
+ /* Reset the match pattern buffer */
+@@ -152,5 +154,6 @@
+ #define returnMenuOpts(code) return code
+
+ #endif /* TRACE/!TRACE */
++/* *INDENT-ON* */
+
+ #endif /* MENU_PRIV_H_incl */
+Index: menu/mf_common.h
+Prereq: 0.22
+--- ncurses-5.9/menu/mf_common.h 2005-11-26 15:26:52.000000000 +0000
++++ ncurses-5.9-20130504/menu/mf_common.h 2012-06-10 00:06:54.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2004,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -30,7 +30,7 @@
+ * Author: Juergen Pfeifer, 1995,1997 *
+ ****************************************************************************/
+
+-/* $Id: mf_common.h,v 0.22 2005/11/26 15:26:52 tom Exp $ */
++/* $Id: mf_common.h,v 0.24 2012/06/10 00:06:54 tom Exp $ */
+
+ /* Common internal header for menu and form library */
+
+@@ -63,10 +63,9 @@
+ #if USE_RCS_IDS
+ #define MODULE_ID(id) static const char Ident[] = id;
+ #else
+-#define MODULE_ID(id) /*nothing*/
++#define MODULE_ID(id) /*nothing */
+ #endif
+
+-
+ /* Maximum regular 8-bit character code */
+ #define MAX_REGULAR_CHARACTER (0xff)
+
+@@ -80,16 +79,19 @@
+ #endif
+
+ /* The few common values in the status fields for menus and forms */
+-#define _POSTED (0x01U) /* menu or form is posted */
+-#define _IN_DRIVER (0x02U) /* menu or form is processing hook routine */
++#define _POSTED (0x01U) /* menu or form is posted */
++#define _IN_DRIVER (0x02U) /* menu or form is processing hook routine */
++
++#define SetStatus(target,mask) (target)->status |= (unsigned short) (mask)
++#define ClrStatus(target,mask) (target)->status = (unsigned short) (target->status & (~mask))
+
+ /* Call object hook */
+ #define Call_Hook( object, handler ) \
+ if ( (object) != 0 && ((object)->handler) != (void *) 0 )\
+ {\
+- (object)->status |= _IN_DRIVER;\
++ SetStatus(object, _IN_DRIVER);\
+ (object)->handler(object);\
+- (object)->status &= ~_IN_DRIVER;\
++ ClrStatus(object, _IN_DRIVER);\
+ }
+
+ #endif /* MF_COMMON_H_incl */
+Index: misc/Makefile.in
+Prereq: 1.56
+--- ncurses-5.9/misc/Makefile.in 2011-02-21 01:09:31.000000000 +0000
++++ ncurses-5.9-20130504/misc/Makefile.in 2012-08-11 21:31:56.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: Makefile.in,v 1.56 2011/02/21 01:09:31 tom Exp $
++# $Id: Makefile.in,v 1.60 2012/08/11 21:31:56 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -56,6 +56,7 @@
+ exec_prefix = @exec_prefix@
+ bindir = @bindir@
+ libdir = @libdir@
++datarootdir = @datarootdir@
+ datadir = @datadir@
+
+ tabsetdir = $(datadir)/tabset
+@@ -120,7 +121,8 @@
+
+ run_tic.sed :
+ WHICH_XTERM=@WHICH_XTERM@ \
+- ticdir=${ticdir} \
++ XTERM_KBS=@XTERM_KBS@ \
++ datadir=${datadir} \
+ $(SHELL) $(srcdir)/gen_edit.sh >$@
+
+ $(DESTDIR)$(bindir) \
+@@ -139,7 +141,7 @@
+
+ uninstall.libs :
+ -rm -f $(DESTDIR)$(bindir)/$(NCURSES_CONFIG)
+-@MAKE_PC_FILES@ $(SHELL) 'for name in *.pc; do rm -f $(DESTDIR)$(PKG_CONFIG_LIBDIR)/$$name; done'
++@MAKE_PC_FILES@ $(SHELL) -c 'for name in *.pc; do rm -f $(DESTDIR)$(PKG_CONFIG_LIBDIR)/$$name; done'
+
+ tags :
+
+Index: misc/gen-pkgconfig.in
+Prereq: 1.8
+--- ncurses-5.9/misc/gen-pkgconfig.in 2010-02-06 22:12:07.000000000 +0000
++++ ncurses-5.9-20130504/misc/gen-pkgconfig.in 2013-03-16 23:33:34.000000000 +0000
+@@ -1,7 +1,7 @@
+ #!@SHELL@
+-# $Id: gen-pkgconfig.in,v 1.8 2010/02/06 22:12:07 Miroslav.Lichvar Exp $
++# $Id: gen-pkgconfig.in,v 1.15 2013/03/16 23:33:34 tom Exp $
+ ##############################################################################
+-# Copyright (c) 2009,2010 Free Software Foundation, Inc. #
++# Copyright (c) 2009-2012,2013 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -28,7 +28,7 @@
+ # authorization. #
+ ##############################################################################
+ #
+-# Author: Thomas E. Dickey, 2009
++# Author: Thomas E. Dickey
+ #
+ # The complete configure script for ncurses is the ncurses5-config (or similar
+ # name, depending on the flavor, e.g., ncursesw5-config, ncurses6-config, etc).
+@@ -39,10 +39,10 @@
+ # library, except that the tinfo library does not depend on ncurses.
+ LIB_NAME=@LIB_NAME@
+ TINFO_NAME=@TINFO_NAME@
+-PANEL_NAME=panel # @PANEL_NAME@
+-MENU_NAME=menu # @MENU_NAME@
+-FORM_NAME=form # @FORM_NAME@
+-CXX_NAME=ncurses++ # @CXX_NAME@
++PANEL_NAME=@PANEL_NAME@
++MENU_NAME=@MENU_NAME@
++FORM_NAME=@FORM_NAME@
++CXX_NAME=@CXX_NAME@
+ DFT_DEP_SUFFIX=@DFT_DEP_SUFFIX@
+ TINFO_ARG_SUFFIX=@TINFO_ARG_SUFFIX@
+ CXX_LIB_SUFFIX=@CXX_LIB_SUFFIX@
+@@ -63,63 +63,48 @@
+ MENU_LIBRARY="${MENU_NAME}@DFT_ARG_SUFFIX@"
+ FORM_LIBRARY="${FORM_NAME}@DFT_ARG_SUFFIX@"
+
+-SUB_LIBRARY_REQ=${SUB_LIBRARY}
+-if test $TINFO_NAME = $LIB_NAME ; then
+- SUB_LIBRARY_REQ=
++if test "$includedir" = "/usr/include" ; then
++ CFLAGS=
++else
++ CFLAGS="-I\${includedir}"
+ fi
+
+-for lib in ../lib/*
+-do
+- name=`basename $lib`
+- if test "$name" = "*" ; then
+- break
+- fi
+-
+- root=`basename $name "$DFT_DEP_SUFFIX"`
+- if test "$name" = "$root" ; then
+- root=`basename $name "$CXX_LIB_SUFFIX"`
+- if test "$name" = "$root" ; then
+- continue
+- fi
+- fi
++if test "$libdir" = "/usr/lib" ; then
++ LDFLAGS=
++else
++ LDFLAGS="-L\${libdir}"
++fi
+
+- name=`echo "$name" | sed -e 's/^lib//' -e 's/\..*$//'`
++for name in @PC_MODULES_TO_MAKE@
++do
++ name="${name}"
+
+ desc="ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@"
++ reqs=
++
+ if test $name = $MAIN_LIBRARY ; then
+- reqs=$SUB_LIBRARY_REQ
+ desc="$desc library"
+ elif test $name = $SUB_LIBRARY ; then
+- reqs=
+ desc="$desc terminal interface library"
+ elif expr $name : ".*${CXX_NAME}.*" >/dev/null ; then
+- reqs="$PANEL_LIBRARY $MENU_LIBRARY $FORM_LIBRARY $MAIN_LIBRARY $SUB_LIBRARY_REQ"
++ reqs="$PANEL_LIBRARY, $MENU_LIBRARY, $FORM_LIBRARY, $MAIN_LIBRARY"
+ desc="$desc add-on library"
+ else
+- reqs="$MAIN_LIBRARY $SUB_LIBRARY_REQ"
++ reqs="$MAIN_LIBRARY"
+ desc="$desc add-on library"
+ fi
+
+- if test "$includedir" = "/usr/include" ; then
+- cflags=
+- else
+- cflags="-I\${includedir}"
+- fi
+-
+- if test "$libdir" = "/usr/lib" ; then
+- libs=
+- else
+- libs="-L\${libdir}"
+- fi
+- libs="$libs -l$name"
+-
+- # add dependencies that pkg-config cannot guess about
+- if test -z "$reqs" ; then
+- libs="$libs @LIBS@"
++ if test $name != $SUB_LIBRARY && test $SUB_LIBRARY != $MAIN_LIBRARY ; then
++ if test $name != $TINFO_NAME ; then
++ test -n "$reqs" && reqs="$reqs, "
++ reqs="${reqs}${SUB_LIBRARY}"
++ fi
+ fi
+
+ echo "** creating ${name}.pc"
+ cat >${name}.pc <<EOF
++# vile:makemode
++
+ prefix=$show_prefix
+ exec_prefix=$show_exec_prefix
+ libdir=$show_libdir
+@@ -130,10 +115,13 @@
+ Name: $name
+ Description: $desc
+ Version: \${version}
+-Requires: $reqs
+-Libs: $libs
+-Cflags: $cflags
++URL: http://invisible-island.net/ncurses
++Requires.private: $reqs
++Libs: $LDFLAGS -l$name
++Libs.private: @LIBS@
++Cflags: $CFLAGS
+ EOF
+- # pr -f ${name}.pc
++
++ #pr -f ${name}.pc
+ done
+ # vile:shmode
+Index: misc/gen_edit.sh
+Prereq: 1.1
+--- ncurses-5.9/misc/gen_edit.sh 2004-07-11 15:01:29.000000000 +0000
++++ ncurses-5.9-20130504/misc/gen_edit.sh 2012-04-01 15:04:37.000000000 +0000
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+ ##############################################################################
+-# Copyright (c) 2004 Free Software Foundation, Inc. #
++# Copyright (c) 2004-2011,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -29,7 +29,7 @@
+ #
+ # Author: Thomas E. Dickey
+ #
+-# $Id: gen_edit.sh,v 1.1 2004/07/11 15:01:29 tom Exp $
++# $Id: gen_edit.sh,v 1.5 2012/04/01 15:04:37 tom Exp $
+ # Generate a sed-script for converting the terminfo.src to the form which will
+ # be installed.
+ #
+@@ -37,22 +37,82 @@
+ # The leaf directory names (lib, tabset, terminfo)
+ #
+
+-: ${ticdir=@TERMINFO@}
+-: ${xterm_new=@WHICH_XTERM@}
++linux_dft=linux2.2
++
++: ${datadir=/usr/share}
++: ${WHICH_LINUX=$linux_dft}
++: ${WHICH_XTERM=xterm-new}
++: ${XTERM_KBS=BS}
+
+ # If we're not installing into /usr/share/, we'll have to adjust the location
+ # of the tabset files in terminfo.src (which are in a parallel directory).
+-TABSET=`echo $ticdir | sed -e 's%/terminfo$%/tabset%'`
++TABSET=${datadir}/tabset
+ if test "x$TABSET" != "x/usr/share/tabset" ; then
+ cat <<EOF
+ s%/usr/share/tabset%$TABSET%g
+ EOF
+ fi
+
+-if test "$xterm_new" != "xterm-new" ; then
++if test "$WHICH_XTERM" != "xterm-new" ; then
++echo "** using $WHICH_XTERM terminal description for XTerm entry" >&2
+ cat <<EOF
+ /^# This is xterm for ncurses/,/^$/{
+ s/use=xterm-new,/use=$WHICH_XTERM,/
+ }
+ EOF
+ fi
++
++if test "$XTERM_KBS" != "BS" ; then
++echo "** using DEL for XTerm backspace-key" >&2
++cat <<EOF
++/^xterm+kbs|fragment for backspace key/,/^#/{
++ s/kbs=^H,/kbs=^?,/
++}
++EOF
++fi
++
++# Work around incompatibities built into Linux console. The 2.6 series added
++# a patch to fixup the SI/SO behavior, which is closer to vt100, but the older
++# kernels do not recognize those controls. All of the kernels recognize the
++# older flavor of rmacs/smacs, but beginning in the late 1990s, changes made
++# as part of implementing UTF-8 prevent using those for line-drawing when the
++# console is in UTF-8 mode. Taking into account the fact that it took about
++# ten years to provide (and distribute) the 2.6 series' change for SI/SO, the
++# default remains "linux2.2".
++case x$WHICH_LINUX in #(vi
++xauto)
++ system=`uname -s 2>/dev/null`
++ if test "x$system" = xLinux
++ then
++ case x`uname -r` in
++ x1.*)
++ WHICH_LINUX=linux-c
++ ;;
++ x2.[0-4]*)
++ WHICH_LINUX=linux2.2
++ ;;
++ *)
++ WHICH_LINUX=linux3.0
++ ;;
++ esac
++ else
++ WHICH_LINUX=$linux_dft
++ fi
++ ;;
++xlinux*)
++ # allow specific setting
++ ;;
++*)
++ WHICH_LINUX=$linux_dft
++ ;;
++esac
++
++if test $WHICH_LINUX != $linux_dft
++then
++echo "** using $WHICH_LINUX terminal description for Linux console" >&2
++cat <<EOF
++/^# This is Linux console for ncurses/,/^$/{
++ s/use=$linux_dft,/use=$WHICH_LINUX,/
++}
++EOF
++fi
+Index: misc/ncurses-config.in
+Prereq: 1.25
+--- ncurses-5.9/misc/ncurses-config.in 2011-03-19 22:43:38.000000000 +0000
++++ ncurses-5.9-20130504/misc/ncurses-config.in 2012-11-11 00:14:28.000000000 +0000
+@@ -1,7 +1,7 @@
+ #!@SHELL@
+-# $Id: ncurses-config.in,v 1.25 2011/03/19 22:43:38 tom Exp $
++# $Id: ncurses-config.in,v 1.30 2012/11/11 00:14:28 tom Exp $
+ ##############################################################################
+-# Copyright (c) 2006-2010,2011 Free Software Foundation, Inc. #
++# Copyright (c) 2006-2011,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -30,22 +30,48 @@
+ #
+ # Author: Thomas E. Dickey, 2006-on
+
++LANG=C; export LANG
++LANGUAGE=C; export LANGUAGE
++LC_ALL=C; export LC_ALL
++LC_CTYPE=C; export LC_CTYPE
++
+ prefix="@prefix@"
+ exec_prefix="@exec_prefix@"
+
+ bindir="@bindir@"
+ includedir="@includedir@"
+ libdir="@libdir@"
++datarootdir="@datarootdir@"
+ datadir="@datadir@"
+ mandir="@mandir@"
+
+ THIS="@LIB_NAME@@DFT_ARG_SUFFIX@"
+ TINFO_LIB="@TINFO_ARG_SUFFIX@"
++RPATH_LIST="@RPATH_LIST@"
+
+-LANG=C; export LANG
+-LANGUAGE=C; export LANGUAGE
+-LC_ALL=C; export LC_ALL
+-LC_CTYPE=C; export LC_CTYPE
++# Ensure that RPATH_LIST contains only absolute pathnames, if it is nonempty.
++# We cannot filter it out within the build-process since the variable is used
++# in some special cases of installation using a relative path.
++if test -n "$RPATH_LIST"
++then
++ save_IFS="$IFS"
++ IFS='@PATH_SEPARATOR@'
++ filtered=
++ for item in $RPATH_LIST
++ do
++ case "$item" in
++ ./*|../*|*/..|*/../*)
++ ;;
++ *)
++ test -n "$filtered" && filtered="${filtered}@PATH_SEPARATOR@"
++ filtered="${filtered}${item}"
++ ;;
++ esac
++ done
++ IFS="$save_IFS"
++ # if the result is empty, there is little we can do to fix it
++ RPATH_LIST="$filtered"
++fi
+
+ # with --disable-overwrite, we installed into a subdirectory, but transformed
+ # the headers to include like this:
+@@ -83,13 +109,19 @@
+ ENDECHO
+ ;;
+ --libs)
++ if test "$libdir" = /usr/lib
++ then
++ LIBDIR=
++ else
++ LIBDIR=-L$libdir
++ fi
+ if test @TINFO_NAME@ = @LIB_NAME@ ; then
+ sed -e 's,^[ ]*,,' -e 's, [ ]*, ,g' -e 's,[ ]*$,,' <<-ENDECHO
+- -L$libdir @EXTRA_LDFLAGS@ -l${THIS} @LIBS@
++ $LIBDIR @EXTRA_LDFLAGS@ -l${THIS} @LIBS@
+ ENDECHO
+ else
+ sed -e 's,^[ ]*,,' -e 's, [ ]*, ,g' -e 's,[ ]*$,,' <<-ENDECHO
+- -L$libdir @EXTRA_LDFLAGS@ -l${THIS} -l${TINFO_LIB} @LIBS@
++ $LIBDIR @EXTRA_LDFLAGS@ -l${THIS} -l${TINFO_LIB} @LIBS@
+ ENDECHO
+ fi
+ ;;
+@@ -163,4 +195,5 @@
+ esac
+ shift
+ done
++# vi:ts=4 sw=4
+ # vile:shmode
+Index: misc/run_tic.in
+Prereq: 1.32
+--- ncurses-5.9/misc/run_tic.in 2011-02-23 23:30:15.000000000 +0000
++++ ncurses-5.9-20130504/misc/run_tic.in 2012-10-06 19:00:51.000000000 +0000
+@@ -1,7 +1,7 @@
+ #!@SHELL@
+-# $Id: run_tic.in,v 1.32 2011/02/23 23:30:15 tom Exp $
++# $Id: run_tic.in,v 1.34 2012/10/06 19:00:51 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -41,13 +41,14 @@
+ # The script is designed to be run from the misc/Makefile as
+ # make install.data
+
+-: ${suffix:=@PROG_EXT@}
++: ${suffix:=@EXEEXT@}
+ : ${DESTDIR:=@DESTDIR@}
+ : ${prefix:=@prefix@}
+ : ${exec_prefix:=@exec_prefix@}
+ : ${bindir:=@bindir@}
+ : ${top_srcdir:=@top_srcdir@}
+ : ${srcdir:=@srcdir@}
++: ${datarootdir:=@datarootdir@}
+ : ${datadir:=@datadir@}
+ : ${TIC_PATH:=@TIC_PATH@}
+ : ${ticdir:=@TERMINFO@}
+Index: misc/terminfo.src
+--- ncurses-5.9/misc/terminfo.src 2011-02-20 20:46:53.000000000 +0000
++++ ncurses-5.9-20130504/misc/terminfo.src 2013-03-30 19:51:04.000000000 +0000
+@@ -6,8 +6,8 @@
+ # Report bugs and new terminal descriptions to
+ # bug-ncurses@gnu.org
+ #
+-# $Revision: 1.383 $
+-# $Date: 2011/02/20 20:46:53 $
++# $Revision: 1.475 $
++# $Date: 2013/03/30 19:51:04 $
+ #
+ # The original header is preserved below for reference. It is noted that there
+ # is a "newer" version which differs in some cosmetic details (but actually
+@@ -321,7 +321,7 @@
+ # DEL and ^C are hardcoded to act as kill characters.
+ # ^D acts as a line break (just like newline).
+ # It also interprets
+-# \033];xxx\007
++# \033];xxx\007
+ # for compatibility with xterm -TD
+ 9term|Plan9 terminal emulator for X,
+ am,
+@@ -376,11 +376,19 @@
+ dim=\E[2m,
+ sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p5%t2;%;%?%p7%t8;%;m,
+ use=ansi+sgr, use=ansi+sgrso, use=ansi+sgrul,
+-ansi+pp|ansi printer port,
+- mc0=\E[0i, mc4=\E[4i, mc5=\E[5i,
+ ansi+csr|ansi scroll-region plus cursor save & restore,
+ csr=\E[%i%p1%d;%p2%dr, rc=\E8, sc=\E7,
+
++# The normal (ANSI) flavor of "media copy" building block asserts that
++# characters sent to the printer do not echo on the screen. DEC terminals
++# can also be put into autoprinter mode, where each line is sent to the
++# printer as you move off that line, e.g., by a carriage return.
++ansi+pp|ansi printer port,
++ mc5i,
++ mc0=\E[i, mc4=\E[4i, mc5=\E[5i,
++dec+pp|DEC autoprinter mode,
++ mc0=\E[i, mc4=\E[?4i, mc5=\E[?5i,
++
+ # The IBM PC alternate character set. Plug this into any Intel console entry.
+ # We use \E[11m for rmacs rather than \E[12m so the <acsc> string can use the
+ # ROM graphics for control characters such as the diamond, up- and down-arrow.
+@@ -456,9 +464,10 @@
+ cud=\E[%p1%dB, cud1=\E[1B, cuf=\E[%p1%dC, cuf1=\E[1C,
+ cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[1A,
+ dch=\E[%p1%dP, dispc=\E=%p1%dg, ech=\E[%p1%dX,
+- hpa=\E[%i%p1%dG, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL,
+- indn=\E[%p1%dS, rc=\E7, rin=\E[%p1%dT, rmam=\E[?7l, sc=\E7,
+- smam=\E[?7h, tbc=\E[g, vpa=\E[%i%p1%dd,
++ hpa=\E[%i%p1%dG, hts=\EH, ich=\E[%p1%d@, ich1=\E[@,
++ il=\E[%p1%dL, indn=\E[%p1%dS, rc=\E7, rin=\E[%p1%dT,
++ rmam=\E[?7l, sc=\E7, smam=\E[?7h, tbc=\E[g,
++ vpa=\E[%i%p1%dd,
+
+ #### ANSI/ECMA-48 terminals and terminal emulators
+ #
+@@ -488,7 +497,7 @@
+ # ansi-mtabs adds relative addressing and minimal tab support
+ ansi-mtabs|any ansi terminal with pessimistic assumptions,
+ it#8,
+- ht=^I, use=ansi+local1, use=ansi-mini,
++ ht=^I, use=ansi-mini, use=ansi+local1,
+
+ # ANSI X3.64 from emory!mlhhh (Hugh Hansard) via BRL
+ #
+@@ -690,9 +699,7 @@
+ use=ansi.sysk,
+
+ #### ANSI console types
+-#
+
+-#############################################################################
+ #
+ # Atari ST terminals.
+ # From Guido Flohr <gufl0000@stud.uni-sb.de>.
+@@ -909,7 +916,7 @@
+ khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
+ kspd=^Z, nel=^M^J, rc=\E8, rev=\E[7m, ri=\EM, rmam=\E[?7l,
+ rmir=\E[4l, rmso=\E[27m, rmul=\E[24m, rs1=\Ec\E]R, sc=\E7,
+- sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m,
++ sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p9%t;11%;m,
+ smam=\E[?7h, smir=\E[4h, smul=\E[4m, tbc=\E[3g,
+ vpa=\E[%i%p1%dd, use=vt102+enq, use=klone+sgr,
+ use=ecma+color,
+@@ -936,10 +943,30 @@
+ # The 2.2.x kernels add a private mode that sets the cursor type; use that to
+ # get a block cursor for cvvis.
+ # reported by Frank Heckenbach <frank@g-n-u.de>.
+-linux|linux console,
++linux2.2|linux 2.2.x console,
+ civis=\E[?25l\E[?1c, cnorm=\E[?25h\E[?0c,
+ cvvis=\E[?25h\E[?8c, use=linux-c-nc,
+
++# Linux 2.6.x has a fix for SI/SO to work with UTF-8 encoding added here:
++# http://lkml.indiana.edu/hypermail/linux/kernel/0602.2/0868.html
++# Using SI/SO has the drawback that it confuses screen. SCS would work.
++# However, SCS is buggy (see comment in Debian #515609) -TD
++# Further, this breaks longstanding workarounds for Linux console's line
++# drawing (see Debian 665959) -TD
++linux2.6|linux 2.6.x console,
++ rmacs=^O,
++ sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;m%?%p9%t\016%e\017%;,
++ sgr0=\E[m\017, smacs=^N, use=linux2.2,
++
++# The 3.0 kernel adds support for clearing scrollback buffer (capability E3).
++# It is the same as xterm's erase-saved-lines feature.
++linux3.0|linux 3.0 kernels,
++ E3=\E[3;J, use=linux2.6,
++
++# This is Linux console for ncurses.
++linux|linux console,
++ use=linux2.2,
++
+ # Subject: linux 2.6.26 vt back_color_erase
+ # Changes to the Linux console driver broke bce model as reported in
+ # https://bugzilla.novell.com/show_bug.cgi?id=418613
+@@ -947,7 +974,7 @@
+ # http://lkml.org/lkml/2008/4/26/305
+ # http://groups.google.com/group/fa.linux.kernel/browse_thread/thread/87f98338f0d636bb/aa96e8b86cee0d1e?lnk=st&q=#aa96e8b86cee0d1e
+ linux2.6.26|linux console w/o bce,
+- bce@, use=linux,
++ bce@, use=linux2.6,
+
+ # See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file
+ linux-nic|linux with ich/ich1 suppressed for non-curses programs,
+@@ -998,9 +1025,9 @@
+ # you use a 512-character console font. This uses bold for bright
+ # foreground colors and blink for bright background colors.
+ linux-16color|linux console with 16 colors,
+- colors#16, ncv#54, pairs#256,
+- setab=\E[4%p1%{8}%m%d%?%p1%{8}%>%t;5%e%p1%{8}%=%t;2%e;25%;m,
+- setaf=\E[3%p1%{8}%m%d%?%p1%{8}%>%t;1%e%p1%{8}%=%t;2%e;21%;m,
++ colors#16, ncv#63, pairs#256,
++ setab=\E[4%p1%{8}%m%d%?%p1%{7}%>%t;5%e;25%;m,
++ setaf=\E[3%p1%{8}%m%d%?%p1%{7}%>%t;1%e;21%;m,
+ use=linux,
+
+ # bterm (bogl 0.1.18)
+@@ -1024,7 +1051,7 @@
+ kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~,
+ kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~,
+ kmous=\E[M, knp=\E[6~, kpp=\E[5~, kspd=^Z, nel=^M^J,
+- op=\E49;39m, rev=\E[7m, ri=\EM, rmacs=^O, rmso=\E[27m,
++ op=\E[49m\E[39m, rev=\E[7m, ri=\EM, rmacs=^O, rmso=\E[27m,
+ rmul=\E[24m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+ sgr0=\E[0m, smacs=^N, smso=\E[7m, smul=\E[4m,
+
+@@ -1053,6 +1080,24 @@
+ dim=\E[2m, invis=\E[8m, op=\E[37;40m, rmso=\E[27m,
+ setab=\E[4%p1%dm, setaf=\E[3%p1%dm, use=mach,
+
++# From: Samuel Thibault
++# Source: git://git.sv.gnu.org/hurd/gnumach.git
++# Files: i386/i386at/kd.c
++#
++# Added nel, hpa, sgr and removed rmacs, smacs based on source -TD
++mach-gnu|GNU Mach,
++ acsc=+>\,<-\^.v0\333`+a\261f\370g\361h\260i#j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
++ dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, ech=\E[%p1%dX,
++ el1=\E[1K, hpa=\E[%i%p1%dG, ich=\E[%p1%d@, ich1=\E[@,
++ indn=\E[%p1%dS, invis=\E[8m, nel=\EE, rin=\E[%p1%dT,
++ sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m,
++ use=mach,
++
++mach-gnu-color|Mach Console with ANSI color,
++ colors#8, pairs#64,
++ op=\E[37;40m, rmso=\E[27m, setab=\E[4%p1%dm,
++ setaf=\E[3%p1%dm, use=mach-gnu,
++
+ # From: Marcus Brinkmann
+ # http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/hurd/hurd/console/
+ #
+@@ -1183,7 +1228,7 @@
+ civis=\E[=0c, cnorm=\E[=1c, csr=\E[%i%p1%d;%p2%dr,
+ cvvis=\E[=2c, mgc=\E[=r, oc=\E[51m, op=\E[50m,
+ rep=\E[%p1%d;%p2%db, rmm=\E[=11L,
+- sgr=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m,
++ sgr=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%e;10%;m,
+ smgb=\E[=1;0m, smgbp=\E[=1;%i%p1%dm,
+ smglp=\E[=2;%i%p1%dm, smgr=\E[=3;0m,
+ smgrp=\E[=3;%i%p1%dm, smgt=\E[=0;0m,
+@@ -1649,6 +1694,56 @@
+ qansi-w|QNX ansi for windows,
+ xvpa, use=qansi-m,
+
++#### OpenBSD consoles
++#
++# From: Alexei Malinin <Alexei.Malinin@mail.ru>; October, 2011.
++#
++# The following terminal descriptions for the AMD/Intel PC console
++# were prepared based on information contained in the OpenBSD-4.9
++# termtypes.master and wscons(4) & vga(4) manuals (2010, November).
++#
++# Added bce based on testing with tack -TD
++# Added several capabilities to pccon+base, reading wsemul_vt100_subr.c -TD
++# Changed kbs to DEL and removed keys that duplicate stty settings -TD
++#
++pccon+keys|OpenBSD PC keyboard keys,
++ kbs=\177, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
++ kdch1=\E[3~, kend=\E[8~, kent=^M, kf1=\E[11~, kf10=\E[21~,
++ kf11=\E[23~, kf12=\E[24~, kf2=\E[12~, kf3=\E[13~,
++ kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
++ kf9=\E[20~, khome=\E[7~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
++ krfr=^R,
++pccon+sgr+acs0|sgr and simple ASCII pseudographics for OpenBSD PC console,
++ acsc=+>\,<-\^.v0#`+a\:f\\h#i#j+k+l+m+n+o~p-q-r-s_t+u+v+w+x|y#z#{*|!}#~o,
++ sgr=\E[0%?%p1%p3%|%t;7%;m, sgr0=\E[m,
++pccon+sgr+acs|sgr and default ASCII pseudographics for OpenBSD PC console,
++ acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
++ enacs=\E)0$<5>, rmacs=\E(B$<5>,
++ sgr=\E[0%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<5>,
++ sgr0=\E[m\E(B$<5>, smacs=\E(0$<5>,
++pccon+colors|ANSI colors for OpenBSD PC console,
++ bce,
++ colors#8, pairs#64,
++ op=\E[m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
++pccon+base|base capabilities for OpenBSD PC console,
++ am, km, mc5i, msgr, npc, nxon, xenl, xon,
++ cols#80, it#8, lines#24,
++ bel=^G, clear=\E[H\E[J, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C,
++ cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch=\E[%p1%dP,
++ dch1=\E[P, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
++ el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@,
++ il1=\E[L, ind=\ED, nel=\EE, rev=\E[7m, ri=\EM, rmam=\E[?7l,
++ rmso=\E[m, rs2=\Ec$<50>, smam=\E[?7h, smso=\E[7m,
++ tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n,
++pccon0-m|OpenBSD PC console without colors & with simple ASCII pseudographics,
++ use=pccon+base, use=pccon+sgr+acs0, use=pccon+keys,
++pccon0|OpenBSD PC console with simple ASCII pseudographics,
++ use=pccon0-m, use=pccon+colors,
++pccon-m|OpenBSD PC console without colors,
++ use=pccon+base, use=pccon+sgr+acs, use=pccon+keys,
++pccon|OpenBSD PC console,
++ use=pccon-m, use=pccon+colors,
++
+ #### NetBSD consoles
+ #
+ # pcvt termcap database entries (corresponding to release 3.31)
+@@ -1786,7 +1881,7 @@
+ ofcons|DNARD OpenFirmware console,
+ bw,
+ cols#80, lines#30,
+- bel=^G, blink=\2337;2m, bold=\2331m, clear=^L, cr=^M,
++ bel=^G, blink=\2335m, bold=\2331m, clear=^L, cr=^M,
+ cub=\233%p1%dD, cub1=\233D, cud=\233%p1%dB, cud1=\233B,
+ cuf=\233%p1%dC, cuf1=\233C, cup=\233%i%p1%d;%p2%dH,
+ cuu=\233%p1%dA, cuu1=\233A, dch=\233%p1%dP, dch1=\233P,
+@@ -1798,8 +1893,8 @@
+ kf4=\2330x, kf5=\2330t, kf6=\2330u, kf7=\2330q, kf8=\2330r,
+ kf9=\2330p, knp=\233/, kpp=\233?, nel=^M^J, rev=\2337m,
+ rmso=\2330m, rmul=\2330m,
+- sgr=\2330%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m,
+- sgr0=\2330m,
++ sgr=\2330%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p5%t2%;%?%p7%t8%;%?%p1%p3%|%t;7%;m,
++ sgr0=\2330m, smso=\2337m, smul=\2334m,
+
+ # NetBSD "wscons" emulator in vt220 mode.
+ # This entry is based on the NetBSD termcap entry, correcting the ncv value.
+@@ -1816,7 +1911,8 @@
+ wsvt25|NetBSD wscons in 25 line DEC VT220 mode,
+ bce, msgr,
+ colors#8, cols#80, it#8, lines#25, ncv#2, pairs#64,
+- is2=\E[r\E[25;1H, kend=\E[8~, kf1=\E[11~, kf10=\E[21~,
++ civis=\E[?25l, cnorm=\E[?25h, is2=\E[r\E[25;1H,
++ kdch1=\E[3~, kend=\E[8~, kf1=\E[11~, kf10=\E[21~,
+ kf11=\E[23~, kf12=\E[24~, kf2=\E[12~, kf3=\E[13~,
+ kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
+ kf9=\E[20~, khome=\E[7~, op=\E[m, rs1=\Ec,
+@@ -2377,8 +2473,9 @@
+ # with the key marked (ESC) on the vt220. See vt220d for an alternate mapping.
+ # PF1--PF4 are used as F1--F4.
+ #
++# added msgr -TD
+ vt220-old|vt200-old|DEC VT220 in vt100 emulation mode,
+- OTbs, OTpt, am, mir, xenl, xon,
++ OTbs, OTpt, am, mir, msgr, xenl, xon,
+ cols#80, lines#24, vt#3,
+ OTnl=^J,
+ acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+@@ -2404,8 +2501,15 @@
+ # A much better description of the VT200/220; used to be vt220-8
+ # changed rmacs/smacs from shift-in/shift-out to vt200-old's explicit G0/G1
+ # designation to accommodate bug in pcvt -TD
++#
++# Here's a picture of the VT220 editing keypad:
++# +--------+--------+--------+
++# | Find | Insert | Remove |
++# +--------+--------+--------+
++# | Select | Prev | Next |
++# +--------+--------+--------+
+ vt220|vt200|dec vt220,
+- OTbs, am, mc5i, mir, msgr, xenl, xon,
++ OTbs, am, mir, msgr, xenl, xon,
+ cols#80, it#8, lines#24, vt#3,
+ acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+ bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=^M,
+@@ -2417,20 +2521,21 @@
+ flash=\E[?5h$<200/>\E[?5l, home=\E[H, ht=^I, hts=\EH,
+ ich=\E[%p1%d@, if=/usr/share/tabset/vt100,
+ il=\E[%p1%dL, il1=\E[L, ind=\ED,
+- is2=\E[?7h\E[>\E[?1h\E F\E[?4l, kbs=^H, kcub1=\E[D,
+- kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf10=\E[21~,
+- kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
+- kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\EOQ,
+- kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf6=\E[17~, kf7=\E[18~,
+- kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~,
+- kich1=\E[2~, knp=\E[6~, kpp=\E[5~, krdo=\E[29~, kslt=\E[4~,
+- lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, mc0=\E[i, mc4=\E[4i,
+- mc5=\E[5i, nel=\EE, rc=\E8, rev=\E[7m, ri=\EM,
+- rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l, rmso=\E[27m,
+- rmul=\E[24m, rs1=\E[?3l, sc=\E7,
++ is2=\E[?7h\E[>\E[?1l\E F\E[?4l, kbs=^H, kcub1=\E[D,
++ kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kf1=\EOP,
++ kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
++ kf14=\E[26~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
++ kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf6=\E[17~,
++ kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~,
++ khlp=\E[28~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
++ krdo=\E[29~, kslt=\E[4~, lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4,
++ nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E(B$<4>,
++ rmam=\E[?7l, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m,
++ rs1=\E[?3l, sc=\E7,
+ sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>,
+ sgr0=\E[m\E(B, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h,
+- smso=\E[7m, smul=\E[4m, tbc=\E[3g,
++ smso=\E[7m, smul=\E[4m, tbc=\E[3g, use=ansi+pp,
++ use=ansi+enq,
+ vt220-w|vt200-w|DEC vt220 in wide mode,
+ cols#132,
+ rs3=\E[?3h, use=vt220,
+@@ -2447,18 +2552,18 @@
+ flash=\233?5h$<200/>\233?5l, home=\233H, ht=^I, hts=\EH,
+ ich=\233%p1%d@, if=/usr/share/tabset/vt100,
+ il=\233%p1%dL, il1=\233L, ind=\ED,
+- is2=\233?7h\233>\233?1h\E F\233?4l, kbs=^H,
++ is2=\233?7h\233>\233?1l\E F\233?4l, kbs=^H,
+ kcub1=\233D, kcud1=\233B, kcuf1=\233C, kcuu1=\233A,
+- kf1=\EOP, kf10=\23321~, kf11=\23323~, kf12=\23324~,
+- kf13=\23325~, kf14=\23326~, kf17=\23331~, kf18=\23332~,
+- kf19=\23333~, kf2=\EOQ, kf20=\23334~, kf3=\EOR, kf4=\EOS,
+- kf6=\23317~, kf7=\23318~, kf8=\23319~, kf9=\23320~,
+- kfnd=\2331~, khlp=\23328~, khome=\233H, kich1=\2332~,
+- knp=\2336~, kpp=\2335~, krdo=\23329~, kslt=\2334~, lf1=pf1,
+- lf2=pf2, lf3=pf3, lf4=pf4, mc0=\233i, mc4=\2334i, mc5=\2335i,
+- nel=\EE, rc=\E8, rev=\2337m, ri=\EM, rmacs=\E(B,
+- rmam=\233?7l, rmir=\2334l, rmso=\23327m, rmul=\23324m,
+- rs1=\233?3l, sc=\E7,
++ kdch1=\2333~, kf1=\EOP, kf10=\23321~, kf11=\23323~,
++ kf12=\23324~, kf13=\23325~, kf14=\23326~, kf17=\23331~,
++ kf18=\23332~, kf19=\23333~, kf2=\EOQ, kf20=\23334~,
++ kf3=\EOR, kf4=\EOS, kf6=\23317~, kf7=\23318~, kf8=\23319~,
++ kf9=\23320~, kfnd=\2331~, khlp=\23328~, khome=\233H,
++ kich1=\2332~, knp=\2336~, kpp=\2335~, krdo=\23329~,
++ kslt=\2334~, lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, mc0=\233i,
++ mc4=\2334i, mc5=\2335i, nel=\EE, rc=\E8, rev=\2337m, ri=\EM,
++ rmacs=\E(B, rmam=\233?7l, rmir=\2334l, rmso=\23327m,
++ rmul=\23324m, rs1=\233?3l, sc=\E7,
+ sgr=\2330%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>,
+ sgr0=\2330m\E(B, smacs=\E(0, smam=\233?7h, smir=\2334h,
+ smso=\2337m, smul=\2334m, tbc=\2333g,
+@@ -2495,14 +2600,15 @@
+ #
+ # From: Alexander Latzko <latzko@marsenius.rutgers.edu>, 30 Dec 1996
+ # (Added vt100 <rc>,<sc> to quiet a tic warning -- esr)
++# added msgr -TD
+ vt200-js|vt220-js|dec vt200 series with jump scroll,
+- am,
++ am, msgr,
+ cols#80,
+ bel=^G, clear=\E[H\E[J, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+ cub1=^H, cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+ cuu1=\E[A, dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H,
+ ht=^I, il1=\E[L, ind=\ED,
+- is2=\E[61"p\E[H\E[?3l\E[?4l\E[?1l\E[?5l\E[?6l\E[?7h\E[?8h\E[?25h\E>\E[m,
++ is2=\E[61"p\E[H\E[?3l\E[?4l\E[?1h\E[?5l\E[?6l\E[?7h\E[?8h\E[?25h\E>\E[m,
+ kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+ kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, nel=^M\ED, rc=\E8,
+ rf=/usr/share/tabset/vt100, ri=\EM, rmdc=, rmir=\E[4l,
+@@ -2534,7 +2640,7 @@
+ # From: Adam Thompson <athompso@pangea.ca> Sept 10 1995
+ # (vt320: uncommented <fsl> --esr)
+ vt320|vt300|dec vt320 7 bit terminal,
+- am, eslok, hs, mir, msgr, xenl,
++ am, hs, mir, msgr, xenl,
+ cols#80, lines#24, wsl#80,
+ acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+ bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+@@ -2543,9 +2649,8 @@
+ cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+ cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+ dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
+- ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, fsl=\E[0$},
+- home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL,
+- il1=\E[L, ind=\ED,
++ ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, home=\E[H, ht=^I,
++ hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=\ED,
+ is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H,
+ kbs=\177, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+ kdch1=\E[3~, kel=\E[4~, kf10=\E[21~, kf11=\E[23~,
+@@ -2553,8 +2658,7 @@
+ kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
+ kf20=\E[34~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
+ kf9=\E[20~, khome=\E[1~, kich1=\E[2~, knp=\E[6~, knxt=^I,
+- kpp=\E[5~, kprv=\E[Z, kslt=\E[4~, mc0=\E[i, mc4=\E[?4i,
+- mc5=\E[?5i, nel=\EE, rc=\E8, rev=\E[7m,
++ kpp=\E[5~, kprv=\E[Z, kslt=\E[4~, nel=\EE, rc=\E8, rev=\E[7m,
+ rf=/usr/share/tabset/vt300, ri=\EM, rmacs=\E(B,
+ rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m,
+ rmul=\E[m,
+@@ -2563,7 +2667,7 @@
+ sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>,
+ sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
+ smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+- tsl=\E[1$}\E[H\E[K, use=vt220+keypad,
++ use=dec+pp, use=vt220+keypad, use=dec+sl, use=ansi+enq,
+ vt320-nam|vt300-nam|dec vt320 7 bit terminal with no am to make SAS happy,
+ am@,
+ is2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h\E[1;24r\E[24;1H,
+@@ -2673,33 +2777,38 @@
+ sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>,
+ sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
+ smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+- tsl=\E[2$~\E[1$}\E[1;%dH,
++ tsl=\E[2$~\E[1$}\E[1;%dH, use=dec+sl,
+
+ # (vt420: I removed <kf0>, it collided with <kf10>. I also restored
+ # a missing <sc> -- esr)
++# add msgr and other capabilities from vt220 -TD
+ vt420|DEC VT420,
+- am, mir, xenl, xon,
+- cols#80, lines#24, vt#3,
++ am, mir, msgr, xenl, xon,
++ cols#80, it#8, lines#24, vt#3,
+ acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+- bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>,
+- clear=\E[H\E[2J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+- cub1=^H, cud1=\E[B, cuf1=\E[C,
+- cup=\E[%i%p1%d;%p2%dH$<10>, cuu1=\E[A, dch1=\E[P,
+- dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I,
+- if=/usr/share/tabset/vt300, il1=\E[L, ind=\ED,
+- is2=\E[1;24r\E[24;1H, is3=\E[?67h\E[64;1"p, kbs=^H,
+- kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+- kdch1=\E[3~, kf1=\EOP, kf10=\E[29~, kf2=\EOQ, kf3=\EOR,
+- kf4=\EOS, kf5=\E[17~, kf6=\E[18~, kf7=\E[19~, kf8=\E[20~,
+- kf9=\E[21~, kfnd=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
+- kslt=\E[4~, rc=\E8, rev=\E[7m$<2>,
+- rf=/usr/share/tabset/vt300, ri=\EM, rmacs=\E(B$<4>,
+- rmam=\E[?7l, rmir=\E[4l, rmkx=\E>,
++ bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, civis=\E[?25l,
++ clear=\E[H\E[2J$<50>, cnorm=\E[?25h, cr=^M,
++ csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
++ cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
++ cup=\E[%i%p1%d;%p2%dH$<10>, cuu=\E[%p1%dA, cuu1=\E[A,
++ dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
++ ech=\E[%p1%dX, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K,
++ enacs=\E)0, flash=\E[?5h$<200/>\E[?5l, home=\E[H, ht=^I,
++ hts=\EH, ich=\E[%p1%d@, if=/usr/share/tabset/vt300,
++ il=\E[%p1%dL, il1=\E[L, ind=\ED, is2=\E[1;24r\E[24;1H,
++ is3=\E[?67h\E[64;1"p, kbs=^H, kcub1=\E[D, kcud1=\E[B,
++ kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kf1=\EOP, kf10=\E[29~,
++ kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\E[17~, kf6=\E[18~,
++ kf7=\E[19~, kf8=\E[20~, kf9=\E[21~, kfnd=\E[1~,
++ kich1=\E[2~, knp=\E[6~, kpp=\E[5~, kslt=\E[4~, nel=\EE,
++ rc=\E8, rev=\E[7m$<2>, rf=/usr/share/tabset/vt300,
++ ri=\EM, rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l, rmkx=\E>,
+ rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+- rmso=\E[m, rmul=\E[m, rs3=\E[?67h\E[64;1"p, sc=\E7,
++ rmso=\E[27m, rmul=\E[24m, rs3=\E[?67h\E[64;1"p, sc=\E7,
+ sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>,
+- sgr0=\E[m$<2>, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h,
+- smkx=\E=, smso=\E[7m, smul=\E[4m,
++ sgr0=\E[m\E(B$<2>, smacs=\E(0$<2>, smam=\E[?7h,
++ smir=\E[4h, smkx=\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
++ use=ansi+pp, use=dec+sl, use=ansi+enq,
+
+ # DEC VT220 and up support DECUDK (user-defined keys). DECUDK (i.e., pfx)
+ # takes two parameters, the key and the string. Translating the key is
+@@ -2772,58 +2881,11 @@
+ # terminal mode is being used. If Set-Up has been disabled or
+ # assigned to an unknown key, Set-Up may be entered by pressing
+ # [F3] as the first key after power up, regardless of keyboard type.
+-# (vt520: I added <rmam>/<smam> based on the init string, also <sc> -- esr)
+ vt520|DEC VT520,
+- am, mir, xenl, xon,
+- cols#80, lines#24, vt#3,
+- acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+- bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>,
+- clear=\E[H\E[2J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+- cub1=^H, cud1=\E[B, cuf1=\E[C,
+- cup=\E[%i%p1%d;%p2%dH$<10>, cuu1=\E[A, dch1=\E[P,
+- dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I,
+- if=/usr/share/tabset/vt300, il1=\E[L, ind=\ED,
+- is2=\E[1;24r\E[24;1H, is3=\E[?67h\E[64;1"p, kbs=^H,
+- kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+- kdch1=\E[3~, kf1=\EOP, kf10=\E[29~, kf2=\EOQ, kf3=\EOR,
+- kf4=\EOS, kf5=\E[17~, kf6=\E[18~, kf7=\E[19~, kf8=\E[20~,
+- kf9=\E[21~, kfnd=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
+- kslt=\E[4~,
+- pfx=\EP1;1|%?%{16}%p1%>%t%{0}%e%{21}%p1%>%t%{1}%e%{25}%p1%>%t%{2}%e%{27}%p1%>%t%{3}%e%{30}%p1%>%t%{4}%e%{5}%;%p1%+%d/%p2%s\E\\,
+- rc=\E8, rev=\E[7m$<2>, rf=/usr/share/tabset/vt300,
+- ri=\EM, rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l,
+- rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+- rmso=\E[m, rmul=\E[m, rs3=\E[?67h\E[64;1"p, sc=\E7,
+- sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>,
+- sgr0=\E[m$<2>, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h,
+- smso=\E[7m, smul=\E[4m,
++ use=ansi+rca, use=vt420, use=ansi+tabs,
+
+-# (vt525: I added <rmam>/<smam> based on the init string;
+-# removed <rmso>=\E[m, <rmul>=\E[m, added <sc> -- esr)
+ vt525|DEC VT525,
+- am, mir, xenl, xon,
+- cols#80, lines#24, vt#3,
+- acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+- bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>,
+- clear=\E[H\E[2J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+- cub1=^H, cud1=\E[B, cuf1=\E[C,
+- cup=\E[%i%p1%d;%p2%dH$<10>, cuu1=\E[A, dch1=\E[P,
+- dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I,
+- if=/usr/share/tabset/vt300, il1=\E[L, ind=\ED,
+- is2=\E[1;24r\E[24;1H, is3=\E[?67h\E[64;1"p, kbs=^H,
+- kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+- kdch1=\E[3~, kf1=\EOP, kf10=\E[29~, kf2=\EOQ, kf3=\EOR,
+- kf4=\EOS, kf5=\E[17~, kf6=\E[18~, kf7=\E[19~, kf8=\E[20~,
+- kf9=\E[21~, kfnd=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
+- kslt=\E[4~,
+- pfx=\EP1;1|%?%{16}%p1%>%t%{0}%e%{21}%p1%>%t%{1}%e%{25}%p1%>%t%{2}%e%{27}%p1%>%t%{3}%e%{30}%p1%>%t%{4}%e%{5}%;%p1%+%d/%p2%s\E\\,
+- rc=\E8, rev=\E[7m$<2>, rf=/usr/share/tabset/vt300,
+- ri=\EM, rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l,
+- rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+- rmso=\E[m, rmul=\E[m, rs3=\E[?67h\E[64;1"p, sc=\E7,
+- sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>,
+- sgr0=\E[m$<2>, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h,
+- smso=\E[7m, smul=\E[4m,
++ use=vt520,
+
+ #### VT100 emulations
+ #
+@@ -2887,7 +2949,7 @@
+ # the default behavior -TD
+
+ putty|PuTTY terminal emulator,
+- am, bce, bw, ccc, hs, mir, msgr, xenl, xon, XT,
++ am, bce, bw, ccc, mir, msgr, xenl, xon, XT,
+ colors#8, it#8, ncv#22, pairs#64, U8#1,
+ acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+ bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+@@ -2897,11 +2959,10 @@
+ cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM,
+ dch=\E[%p1%dP, dch1=\E[P,
+ dispc=%?%p1%{8}%=%t\E%%G\342\227\230\E%%@%e%p1%{10}%=%t\E%%G\342\227\231\E%%@%e%p1%{12}%=%t\E%%G\342\231\0\E%%@%e%p1%{13}%=%t\E%%G\342\231\252\E%%@%e%p1%{14}%=%t\E%%G\342\231\253\E%%@%e%p1%{15}%=%t\E%%G\342\230\274\E%%@%e%p1%{27}%=%t\E%%G\342\206\220\E%%@%e%p1%{155}%=%t\E%%G\340\202\242\E%%@%e%p1%c%;,
+- dl=\E[%p1%dM, dl1=\E[M, dsl=\E]0;\007, ech=\E[%p1%dX,
+- ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0,
+- flash=\E[?5h\E[?5l, fsl=^G, home=\E[H, hpa=\E[%i%p1%dG,
+- ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=^J,
+- indn=\E[%p1%dS,
++ dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
++ el1=\E[1K, enacs=\E(B\E)0, flash=\E[?5h\E[?5l, home=\E[H,
++ hpa=\E[%i%p1%dG, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L,
++ ind=^J, indn=\E[%p1%dS,
+ initc=\E]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/%02x%p4%{255}%*%{1000}%/%02x,
+ is2=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>\E]R,
+ kb2=\E[G, kbs=\177, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B,
+@@ -2922,7 +2983,8 @@
+ sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;,
+ sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E[?47h,
+ smir=\E[4h, smpch=\E[11m, smso=\E[7m, smul=\E[4m,
+- tbc=\E[3g, tsl=\E]0;, vpa=\E[%i%p1%dd, use=vt102+enq,
++ tbc=\E[3g, vpa=\E[%i%p1%dd, E3=\E[3;J, use=vt102+enq,
++ use=xterm+sl,
+ vt100-putty|Reset PuTTY to pure vt100,
+ rs2=\E<\E["p\Ec\E[?3l\E]R\E[40"p\E[61"p\E[50;1;2"p,
+ use=vt100,
+@@ -2937,6 +2999,28 @@
+ kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW,
+ kf9=\EOX, use=putty,
+
++# Unlike xterm-sco, this leaves kmous ambiguous with kf1.
++#
++# Use modifiers to obtain function keys past 12:
++# F1-F12 - normal
++# F13-F24 - shift
++# F25-F36 - control/alt
++# F37-F48 - control/shift
++#
++putty-sco|putty with SCO function keys,
++ kbeg=\E[E, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
++ kdch1=\177, kend=\E[F, kf1=\E[M, kf10=\E[V, kf11=\E[W,
++ kf12=\E[X, kf13=\E[Y, kf14=\E[Z, kf15=\E[a, kf16=\E[b,
++ kf17=\E[c, kf18=\E[d, kf19=\E[e, kf2=\E[N, kf20=\E[f,
++ kf21=\E[g, kf22=\E[h, kf23=\E[i, kf24=\E[j, kf25=\E[k,
++ kf26=\E[l, kf27=\E[m, kf28=\E[n, kf29=\E[o, kf3=\E[O,
++ kf30=\E[p, kf31=\E[q, kf32=\E[r, kf33=\E[s, kf34=\E[t,
++ kf35=\E[u, kf36=\E[v, kf37=\E[w, kf38=\E[x, kf39=\E[y,
++ kf4=\E[P, kf40=\E[z, kf41=\E[@, kf42=\E[[, kf43=\E[\\,
++ kf44=\E[], kf45=\E[\^, kf46=\E[_, kf47=\E[`, kf48=\E[{,
++ kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H,
++ kich1=\E[L, knp=\E[G, kpp=\E[I, use=putty,
++
+ # This entry is for Tera Term Pro version 2.3, for MS-Windows 95/NT written by
+ # T. Teranishi dated Mar 10, 1998. It is a free software terminal emulator
+ # (communication program) which supports:
+@@ -3091,7 +3175,8 @@
+ kf9=\EOX, rmkx=\E[?1l\E>, rmso=\E[m, smkx=\E[?1h\E,
+ smso=\E[7m,
+
+-#### X terminal emulators
++######## X TERMINAL EMULATORS
++#### XTERM
+ #
+ # You can add the following line to your .Xdefaults to change the terminal type
+ # set by the xterms you start up to my-xterm:
+@@ -3154,7 +3239,7 @@
+ # added khome/kend, hts based on the R6 xterm code - TD
+ # (khome/kend do not actually work in X11R5 or X11R6, but many people use this
+ # for compatibility with other emulators).
+-xterm-r6|xterm-old|xterm X11R6 version,
++xterm-r6|xterm X11R6 version,
+ OTbs, am, km, mir, msgr, xenl,
+ cols#80, it#8, lines#24,
+ acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+@@ -3180,10 +3265,12 @@
+ sgr0=\E[m, smacs=^N, smcup=\E7\E[?47h, smir=\E[4h,
+ smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+ use=vt100+enq,
++xterm-old|antique xterm version,
++ use=xterm-r6,
+ # This is the base xterm entry for the xterm supplied with XFree86 3.2 & up.
+ # The name has been changed and some aliases have been removed.
+ xterm-xf86-v32|xterm terminal emulator (XFree86 3.2 Window System),
+- OTbs, am, bce, km, mir, msgr, xenl,
++ OTbs, am, bce, km, mir, msgr, xenl, XT,
+ cols#80, it#8, lines#24, ncv@,
+ acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+ bel=^G, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+@@ -3227,13 +3314,13 @@
+ # xterm to use terminfo-based descriptions with the titeInhibit resource.
+ # -- the distribution contained incorrect khome/kend values -TD
+ xterm-xf86-v333|xterm terminal emulator (XFree86 3.3.3 Window System),
+- mc5i,
+ blink=\E[5m, ich1@, invis=\E[8m,
+ is2=\E[!p\E[?3;4l\E[4l\E>, kdch1=\E[3~, kfnd@, kslt@,
+- mc0=\E[i, mc4=\E[4i, mc5=\E[5i, rmcup=\E[?1047l\E[?1048l,
+- rs1=\Ec, rs2=\E[!p\E[?3;4l\E[4l\E>,
++ rmcup=\E[?1047l\E[?1048l, rs1=\Ec,
++ rs2=\E[!p\E[?3;4l\E[4l\E>,
+ sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+- smcup=\E[?1048h\E[?1047h, use=xterm-xf86-v33,
++ smcup=\E[?1048h\E[?1047h, use=ansi+pp,
++ use=xterm-xf86-v33,
+
+ # This version was released in XFree86 4.0.
+ xterm-xf86-v40|xterm terminal emulator (XFree86 4.0 Window System),
+@@ -3274,12 +3361,14 @@
+ # This version reflects the current xterm features.
+ xterm-new|modern xterm terminal emulator,
+ npc,
+- indn=\E[%p1%dS, kDC=\E[3;2~, kEND=\E[1;2F, kHOM=\E[1;2H,
+- kIC=\E[2;2~, kNXT=\E[6;2~, kPRV=\E[5;2~, kb2=\EOE,
+- kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+- kend=\EOF, kent=\EOM, khome=\EOH, kich1=\E[2~, kmous=\E[M,
+- knp=\E[6~, kpp=\E[5~, rin=\E[%p1%dT, use=xterm+pcfkeys,
++ indn=\E[%p1%dS, kb2=\EOE, kcbt=\E[Z, kent=\EOM,
++ rin=\E[%p1%dT, use=xterm+pcfkeys, use=xterm+tmux,
+ use=xterm-basic,
++
++# This fragment is for people who cannot agree on what the backspace key
++# should send.
++xterm+kbs|fragment for backspace key,
++ kbs=^H,
+ #
+ # This fragment describes as much of XFree86 xterm's "pc-style" function
+ # keys as will fit into terminfo's 60 function keys.
+@@ -3445,7 +3534,7 @@
+ #
+ # This chunk is used for building the VT220/Sun/PC keyboard variants.
+ xterm-basic|modern xterm terminal emulator - common,
+- OTbs, am, bce, km, mc5i, mir, msgr, xenl, AX,
++ OTbs, am, bce, km, mir, msgr, xenl, AX, XT,
+ colors#8, cols#80, it#8, lines#24, pairs#64,
+ acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+ bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+@@ -3457,19 +3546,20 @@
+ dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K,
+ flash=\E[?5h$<100/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG,
+ ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L,
+- ind=^J, invis=\E[8m, is2=\E[!p\E[?3;4l\E[4l\E>, kbs=^H,
+- kmous=\E[M, mc0=\E[i, mc4=\E[4i, mc5=\E[5i, meml=\El,
+- memu=\Em, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM,
+- rmacs=\E(B, rmam=\E[?7l, rmcup=\E[?1049l, rmir=\E[4l,
+- rmkx=\E[?1l\E>, rmm=\E[?1034l, rmso=\E[27m, rmul=\E[24m,
+- rs1=\Ec, rs2=\E[!p\E[?3;4l\E[4l\E>, sc=\E7,
+- setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
++ ind=^J, invis=\E[8m, is2=\E[!p\E[?3;4l\E[4l\E>,
++ kmous=\E[M, meml=\El, memu=\Em, op=\E[39;49m, rc=\E8,
++ rev=\E[7m, ri=\EM, rmacs=\E(B, rmam=\E[?7l,
++ rmcup=\E[?1049l, rmir=\E[4l, rmkx=\E[?1l\E>,
++ rmm=\E[?1034l, rmso=\E[27m, rmul=\E[24m, rs1=\Ec,
++ rs2=\E[!p\E[?3;4l\E[4l\E>, sc=\E7, setab=\E[4%p1%dm,
++ setaf=\E[3%p1%dm,
+ setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+ setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+ sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
+ sgr0=\E(B\E[m, smacs=\E(0, smam=\E[?7h, smcup=\E[?1049h,
+ smir=\E[4h, smkx=\E[?1h\E=, smm=\E[?1034h, smso=\E[7m,
+- smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd, use=vt100+enq,
++ smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd, E3=\E[3;J,
++ use=ansi+pp, use=xterm+kbs, use=vt100+enq,
+
+ # From: David J. MacKenzie <djm@va.pubnix.com>, 14 Nov 1997
+ # In retrospect, something like xterm-r6 was intended here -TD
+@@ -3527,6 +3617,28 @@
+ xterm-1003|testing xterm-mouse,
+ XM=\E[?1003%?%p1%{1}%=%th%el%;, use=xterm-new,
+
++# This chunk is based on suggestions by Ailin Nemui and Nicholas Marriott, who
++# asked for some of xterm's advanced features to be added to its terminfo
++# entry. It defines extended capabilities not found in standard terminfo or
++# termcap. These are useful in tmux, for instance, hence the name.
++#
++# One caveat in adding extended capabilities in ncurses is that if the names
++# are longer than two characters, then they will not be visible through the
++# termcap interface.
++#
++# Ms modifies the selection/clipboard. Its parameters are
++# p1 = the storage unit (clipboard, selection or cut buffer)
++# p2 = the base64-encoded clipboard content.
++#
++# Ss is used to set the cursor style as described by the DECSCUSR
++# function to a block or underline.
++# Se resets the cursor style to the terminal power-on default.
++#
++# Cs and Cr set and reset the cursor colour.
++xterm+tmux|advanced xterm features used in tmux,
++ Cr=\E]112\007, Cs=\E]12;%p1%s\007,
++ Ms=\E]52;%p1%s;%p2%s\007, Se=\E[2 q, Ss=\E[%p1%d q,
++
+ # This is another variant, for XFree86 4.0 xterm (T.Dickey)
+ # This is an 8-bit version of xterm, which emulates DEC vt220 with ANSI color.
+ # To use it, your decTerminalID resource must be set to 200 or above.
+@@ -3552,8 +3664,8 @@
+ hpa=\233%i%p1%dG, ht=^I, hts=\210, ich=\233%p1%d@,
+ il=\233%p1%dL, il1=\233L, ind=^J, invis=\2338m,
+ is2=\E[62"p\E G\233m\233?7h\E>\E7\233?1;3;4;6l\2334l\233r\E8,
+- ka1=\217w, ka3=\217u, kb2=\217y, kbeg=\217E, kbs=^H,
+- kc1=\217q, kc3=\217s, kcbt=\233Z, kcub1=\217D, kcud1=\217B,
++ ka1=\217w, ka3=\217u, kb2=\217y, kbeg=\217E, kc1=\217q,
++ kc3=\217s, kcbt=\233Z, kcub1=\217D, kcud1=\217B,
+ kcuf1=\217C, kcuu1=\217A, kdch1=\2333~, kend=\2334~,
+ kent=\217M, kf1=\23311~, kf10=\23321~, kf11=\23323~,
+ kf12=\23324~, kf13=\23325~, kf14=\23326~, kf15=\23328~,
+@@ -3575,6 +3687,7 @@
+ smcup=\233?1049h, smir=\2334h, smkx=\233?1h\E=,
+ smso=\2337m, smul=\2334m, tbc=\2333g, u6=\233[%i%d;%dR,
+ u7=\E[6n, u8=\233[?1;2c, u9=\E[c, vpa=\233%i%p1%dd,
++ use=xterm+kbs,
+
+ xterm-hp|xterm with hpterm function keys,
+ kclr=\EJ, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA,
+@@ -3621,8 +3734,9 @@
+ acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+ bel=^G, clear=\EH\EJ, cr=^M, cub1=\ED, cud1=\EB, cuf1=\EC,
+ cup=\EY%p1%' '%+%c%p2%' '%+%c, cuu1=\EA, ed=\EJ, el=\EK,
+- home=\EH, ht=^I, ind=^J, kbs=^H, kcub1=\ED, kcud1=\EB,
+- kcuf1=\EC, kcuu1=\EA, nel=^M^J, ri=\EI, rmacs=\EG, smacs=\EF,
++ home=\EH, ht=^I, ind=^J, kcub1=\ED, kcud1=\EB, kcuf1=\EC,
++ kcuu1=\EA, nel=^M^J, ri=\EI, rmacs=\EG, smacs=\EF,
++ use=xterm+kbs,
+
+ xterm-noapp|xterm with cursor keys in normal mode,
+ rmcup@, rmkx=\E>, smcup@, smkx=\E=, use=xterm+noapp,
+@@ -3640,25 +3754,68 @@
+ xterm-utf8|xterm with no VT100 line-drawing in UTF-8 mode,
+ U8#1, use=xterm,
+
+-# These entries allow access to the X titlebar and icon name as a status line.
+-# Note that twm (and possibly window managers descended from it such as tvtwm,
+-# ctwm, and vtwm) track windows by icon-name; thus, you don't want to mess
+-# with it.
++# These building-blocks allow access to the X titlebar and icon name as a
++# status line. There are a few problems in using them in entries:
++#
++# a) tsl should have a parameter to denote the column on which to transfer to
++# the status line.
++# b) the "0" code for xterm updates both icon-title and window title. Some
++# window managers such as twm (and possibly window managers descended from
++# it such as tvtwm, ctwm, and vtwm) track windows by icon-name. Thus, you
++# don't want to mess with icon-name when using those window managers.
+ xterm+sl|access X title line and icon name,
+ hs,
+- wsl#40,
+- dsl=\E]0;\007, fsl=^G, tsl=\E]0;, use=xterm,
++ dsl=\E]0;\007, fsl=^G, tsl=\E]0;,
+ xterm+sl-twm|access X title line (pacify twm-descended window managers),
+ hs,
+- wsl#40,
+- dsl=\E]2;\007, fsl=^G, tsl=\E]2;, use=xterm,
++ dsl=\E]2;\007, fsl=^G, tsl=\E]2;,
++
++# In contrast, this block can be used for a DEC vt320 and up. There are two
++# controls used.
++#
++# DECSASD (select active status display)
++# \E[0$} Main display
++# \E[1$} Status line
++#
++# DECSSDT (select status line type)
++# \E[0$~ No status line
++# \E[1$~ Indicator status line
++# \E[2$~ Host-writable status line
++#
++# The building block assumes that the terminal always shows something at the
++# status line (either the indicator, or status line). That is because if no
++# status line is used, then the terminal makes that line part of the user
++# window, changing its size without notice.
++#
++# Because there is no "esl" (enable status line) capability, the "tsl"
++# capability ensures that the status line is host-writable. A DEC terminal
++# will clear the status line when changing from indicator to host-writable
++# mode.
++#
++# Once on the status line, the row part of cursor addressing is ignored. Since
++# tsl expects a parameter (to specify the column), the shortest addressing that
++# can be used for this purpose is HPA, e.g., \E[5d to go to column 5.
++#
++dec+sl|DEC VTxx status line,
++ eslok, hs,
++ dsl=\E[1$~, fsl=\E[0$}, tsl=\E[2$~\E[1$}\E[%i%p1%d`,
+
+ #
+ # The following xterm variants don't depend on your base version
+ #
+ # xterm with bold instead of underline
+ xterm-bold|xterm terminal emulator (X11R6 Window System) standout w/bold,
++ sgr=%?%p9%t\016%e\017%;B\E[0%?%p6%t;1%;%?%p2%t;1%;%?%p1%p3%|%t;7%;m,
+ smso=\E[7m, smul=\E[1m, use=xterm-old,
++
++# See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file
++xterm-nic|xterm with ich/ich1 suppressed for non-curses programs,
++ ich@, ich1@, use=xterm,
++# From: Mark Sheppard <kimble@mistral.co.uk>, 4 May 1996
++xterm1|xterm terminal emulator ignoring the alternate screen buffer,
++ rmcup@, smcup@, use=xterm,
++
++#### KTERM
+ # (kterm: this had extension capabilities ":KJ:TY=ascii:" -- esr)
+ # (kterm should not invoke DEC Graphics as the alternate character set
+ # -- Kenji Rikitake)
+@@ -3676,12 +3833,51 @@
+ tsl=\E[?E\E[?%i%p1%dT, use=xterm-r6, use=ecma+color,
+ kterm-color|kterm-co|kterm with ANSI colors,
+ ncv@, use=kterm, use=ecma+color,
+-# See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file
+-xterm-nic|xterm with ich/ich1 suppressed for non-curses programs,
+- ich@, ich1@, use=xterm,
+-# From: Mark Sheppard <kimble@mistral.co.uk>, 4 May 1996
+-xterm1|xterm terminal emulator ignoring the alternate screen buffer,
+- rmcup@, smcup@, use=xterm,
++
++#### Other XTERM
++# These (xtermc and xtermm) are distributed with Solaris. They refer to a
++# variant of xterm which is apparently no longer supported, but are interesting
++# because they illustrate SVr4 curses mouse controls - T.Dickey
++xtermm|xterm terminal emulator (monocrome),
++ OTbs, am, km, mir, msgr, xenl,
++ btns#3, cols#80, it#8, lines#24,
++ acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
++ bel=^G, blink@, bold=\E[1m, clear=\E[H\E[2J, cr=^M,
++ csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D,
++ cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
++ cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
++ dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
++ el=\E[K, el1=\E[1K$<3>, enacs=\E(B\E)0, getm=\E[%p1%dY,
++ home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@,
++ il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, kcub1=\EOD,
++ kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\E[Y, kf0=\EOy,
++ kf10=\EOY, kf11=\EOZ, kf12=\EOA, kf5=\EOT, kf6=\EOU,
++ kf7=\EOV, kf8=\EOW, kf9=\EOX, khome=\E[H, kmous=\E[^_,
++ knp=\E[U, kpp=\E[V, rc=\E8, reqmp=\E[492Z, rev=\E[7m, ri=\EM,
++ rmacs=^O, rmcup=\E@0\E[?4r, rmso=\E[m,
++ rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H,
++ rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
++ sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;,
++ sgr0=\E[m\017, smacs=^N, smcup=\E@0\E[?4s\E[?4h\E@1,
++ smso=\E[7m, tbc=\E[3g, use=vt100+fnkeys,
++
++xtermc|xterm terminal emulator (color),
++ colors#8, ncv#7, pairs#64,
++ op=\E[100m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
++ setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
++ setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
++ use=xtermm,
++
++# From: David J. MacKenzie <djm@va.pubnix.com> 20 Apr 1995
++# Here's a termcap entry I've been using for xterm_color, which comes
++# with BSD/OS 2.0, and the X11R6 contrib tape too I think. Besides the
++# color stuff, I also have a status line defined as the window manager
++# title bar. [I have translated it to terminfo -- ESR]
++xterm-pcolor|xterm with color used for highlights and status line,
++ wsl#40,
++ bold=\E[1;43m, rev=\E[7;34m,
++ sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1;43%;%?%p2%t;4;42%;%?%p1%t;7;31%;%?%p3%t;7;34%;%?%p4%t;5%;%?%p7%t;8%;m,
++ smso=\E[7;31m, smul=\E[4;42m, use=xterm+sl, use=xterm-r6,
+
+ # This describes the capabilities of color_xterm, an xterm variant from
+ # before ECMA-64 color support was folded into the main-line xterm release.
+@@ -3729,6 +3925,32 @@
+ ncv@,
+ op=\E[m, use=xterm-r6, use=klone+color,
+
++# This entry describes an xterm with Sun-style function keys enabled
++# via the X resource setting "xterm*sunFunctionKeys:true"
++# To understand <kf11>/<kf12> note that L1,L2 and F11,F12 are the same.
++# The <kf13>...<kf20> keys are L3-L10. We don't set <kf16=\E[197z>
++# because we want it to be seen as <kcpy>.
++# The <kf31>...<kf45> keys are R1-R15. We treat some of these in accordance
++# with their Sun keyboard labels instead.
++# From: Simon J. Gerraty <sjg@zen.void.oz.au> 10 Jan 1996
++xterm-sun|xterm with sunFunctionKeys true,
++ kb2=\E[218z, kcpy=\E[197z, kcub1=\EOD, kcud1=\EOB,
++ kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3z, kend=\E[220z,
++ kent=\EOM, kf1=\E[224z, kf10=\E[233z, kf11=\E[192z,
++ kf12=\E[193z, kf13=\E[194z, kf14=\E[195z, kf15=\E[196z,
++ kf17=\E[198z, kf18=\E[199z, kf19=\E[200z, kf2=\E[225z,
++ kf20=\E[201z, kf3=\E[226z, kf31=\E[208z, kf32=\E[209z,
++ kf33=\E[210z, kf34=\E[211z, kf35=\E[212z, kf36=\E[213z,
++ kf38=\E[215z, kf4=\E[227z, kf40=\E[217z, kf42=\E[219z,
++ kf44=\E[221z, kf45=\E[222z, kf46=\E[234z, kf47=\E[235z,
++ kf5=\E[228z, kf6=\E[229z, kf7=\E[230z, kf8=\E[231z,
++ kf9=\E[232z, kfnd=\E[200z, khlp=\E[196z, khome=\E[214z,
++ kich1=\E[2z, knp=\E[222z, kpp=\E[216z, kund=\E[195z,
++ use=xterm-basic,
++xterms-sun|small (80x24) xterm with sunFunctionKeys true,
++ cols#80, lines#24, use=xterm-sun,
++
++#### GNOME (VTE)
+ # this describes the alpha-version of Gnome terminal shipped with Redhat 6.0
+ gnome-rh62|Gnome terminal,
+ bce,
+@@ -3782,7 +4004,7 @@
+ #
+ # bce and msgr are repaired.
+ gnome-rh90|GNOME Terminal,
+- bce, msgr,
++ bce, msgr, XT,
+ hpa=\E[%i%p1%dG, kDC=\E[3;2~, kLFT=\EO2D, kRIT=\EO2C,
+ kb2=\E[E, kcbt=\E[Z, kend=\EOF, khome=\EOH, tbc=\E[3g,
+ vpa=\E[%i%p1%dd, use=xterm+pcf0, use=xterm+pcfkeys,
+@@ -3820,6 +4042,19 @@
+ gnome-2008|GNOME Terminal snapshot 2.22.3,
+ use=vte-2008,
+
++# GNOME Terminal 3.6.0 (2012)
++# VTE 0.34.1 was marked in git 2012-10-15 (three days after patch was applied
++# in ncurses). It inherited from gnome-fc5, which broke the modified forms
++# of f1-f4 -TD
++#
++# Testing with tack shows that flash does not/has not worked -TD
++vte-2012|VTE 0.34.1,
++ flash@, ritm=\E[23m, sitm=\E[3m, use=vte-2008,
++# Version 3.6.1 sets TERM to xterm-256color (still hardcoded), which has
++# 61 differences from a correct entry for gnome terminal.
++gnome-2012|GNOME Terminal 3.6.0,
++ use=vte-2012,
++
+ # GNOME terminal may automatically use the contents of the "xterm" terminfo to
+ # supply key information which is not built into the program. With 2.22.3,
+ # this list is built into the program (which addresses the inadvertant use of
+@@ -3848,13 +4083,13 @@
+ use=vte+pcfkeys,
+
+ vte|VTE aka GNOME Terminal,
+- use=vte-2008,
++ use=vte-2012,
+ gnome|GNOME Terminal,
+ use=vte,
+
+ # palette is hardcoded...
+ vte-256color|VTE with xterm 256-colors,
+- initc@, use=xterm+256color, use=vte,
++ use=xterm+256color, use=vte,
+ gnome-256color|GNOME Terminal with xterm 256-colors,
+ use=vte-256color,
+
+@@ -3865,8 +4100,9 @@
+ # Since most of the terminfo-related behavior is due to the VTE library,
+ # the terminfo is the same as gnome-terminal.
+ xfce|Xfce Terminal,
+- use=vte,
++ use=vte-2008,
+
++#### Other GNOME
+ # Multi-Gnome-Terminal 1.6.2
+ #
+ # This does not use VTE, and does have different behavior (compare xfce and
+@@ -3874,6 +4110,7 @@
+ mgt|Multi GNOME Terminal,
+ indn=\E[%p1%dS, rin=\E[%p1%dT, use=xterm-xf86-v333,
+
++#### KDE
+ # This is kvt 0-18.7, shipped with Redhat 6.0 (though whether it supports bce
+ # or not is debatable).
+ kvt|KDE terminal,
+@@ -3922,7 +4159,7 @@
+ ncv@,
+ bel@, blink=\E[5m, civis=\E[?25l, cnorm=\E[?25h,
+ ech=\E[%p1%dX, flash=\E[?5h$<100/>\E[?5l,
+- hpa=\E[%i%p1%dG, indn=\E[%p1%dS, kbs=\177, kdch1@,
++ hpa=\E[%i%p1%dG, indn=\E[%p1%dS, kbs=\177, kdch1=\E[3~,
+ kend=\E[4~, kf1@, kf10@, kf11@, kf12@, kf13@, kf14@, kf15@, kf16@,
+ kf17@, kf18@, kf19@, kf2@, kf20@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@,
+ kf9@, kfnd@, khome=\E[1~, kslt@, rin=\E[%p1%dT, rmam=\E[?7l,
+@@ -3932,11 +4169,10 @@
+ sgr0=\E[0m\017, smam=\E[?7h, vpa=\E[%i%p1%dd,
+ use=ecma+color, use=xterm-r6,
+ konsole-linux|KDE console window with linux keyboard,
+- kdch1=\E[3~, kf1=\E[[A, kf10=\E[21~, kf11=\E[23~,
+- kf12=\E[24~, kf13@, kf14@, kf15@, kf16@, kf17@, kf18@, kf19@,
+- kf2=\E[[B, kf20@, kf3=\E[[C, kf4=\E[[D, kf5=\E[[E,
+- kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+- use=konsole-base,
++ kf1=\E[[A, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13@,
++ kf14@, kf15@, kf16@, kf17@, kf18@, kf19@, kf2=\E[[B, kf20@,
++ kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~,
++ kf8=\E[19~, kf9=\E[20~, use=konsole-base,
+ konsole-solaris|KDE console window with Solaris keyboard,
+ kbs=^H, kend=\E[4~, khome=\E[1~, use=konsole-vt100,
+ # KDE's "XFree86 3.x.x" keyboard is based on reading the xterm terminfo rather
+@@ -3972,6 +4208,7 @@
+ konsole-256color|KDE console window with xterm 256-colors,
+ initc@, use=xterm+256color, use=konsole,
+
++#### MLTERM
+ # This is mlterm 2.9.3's mlterm.ti, with some additions/corrections -TD
+ #
+ # It is nominally a vt102 emulator, with features borrowed from rxvt and
+@@ -4037,6 +4274,7 @@
+ mlterm-256color|mlterm 3.0 with xterm 256-colors,
+ use=xterm+256color, use=rxvt,
+
++#### RXVT
+ # From: Thomas Dickey <dickey@clark.net> 04 Oct 1997
+ # Updated: Oezguer Kesim <kesim@math.fu-berlin.de> 02 Nov 1997
+ # Notes:
+@@ -4208,6 +4446,7 @@
+ rxvt-16color|xterm with 16 colors like aixterm,
+ ncv#32, use=ibm+16color, use=rxvt,
+
++#### MRXVT
+ # mrxvt 0.5.4
+ #
+ # mrxvt is based on rxvt 2.7.11, but has by default XTERM_FKEYS defined, which
+@@ -4225,6 +4464,7 @@
+ mrxvt-256color|multitabbed rxvt with 256 colors,
+ use=xterm+256color, use=mrxvt,
+
++#### ETERM
+ # From: Michael Jennings <mej@valinux.com>
+ #
+ # Eterm 0.9.3
+@@ -4270,11 +4510,13 @@
+ Eterm-88color|Eterm with 88 colors,
+ use=xterm+88color, use=Eterm,
+
++#### ATERM
+ # Based on rxvt 2.4.8, it has a few differences in key bindings
+ aterm|AfterStep terminal,
+ XT,
+ kbs=\177, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, use=rxvt,
+
++#### XITERM
+ # xiterm 0.5-5.2
+ # This is not based on xterm's source...
+ # vttest shows several problems with keyboard, cursor-movements.
+@@ -4283,48 +4525,8 @@
+ km@,
+ kbs=\177, kdch1=\E[3~, use=klone+color, use=xterm-r6,
+
+-# These (xtermc and xtermm) are distributed with Solaris. They refer to a
+-# variant of xterm which is apparently no longer supported, but are interesting
+-# because they illustrate SVr4 curses mouse controls - T.Dickey
+-xtermm|xterm terminal emulator (monocrome),
+- OTbs, am, km, mir, msgr, xenl,
+- btns#3, cols#80, it#8, lines#24,
+- acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+- bel=^G, blink@, bold=\E[1m, clear=\E[H\E[2J, cr=^M,
+- csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D,
+- cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+- cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+- dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
+- el=\E[K, el1=\E[1K$<3>, enacs=\E(B\E)0, getm=\E[%p1%dY,
+- home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@,
+- il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, kcub1=\EOD,
+- kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\E[Y, kf0=\EOy,
+- kf10=\EOY, kf11=\EOZ, kf12=\EOA, kf5=\EOT, kf6=\EOU,
+- kf7=\EOV, kf8=\EOW, kf9=\EOX, khome=\E[H, kmous=\E[^_,
+- knp=\E[U, kpp=\E[V, rc=\E8, reqmp=\E[492Z, rev=\E[7m, ri=\EM,
+- rmacs=^O, rmcup=\E@0\E[?4r, rmso=\E[m,
+- rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H,
+- rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+- sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;,
+- sgr0=\E[m\017, smacs=^N, smcup=\E@0\E[?4s\E[?4h\E@1,
+- smso=\E[7m, tbc=\E[3g, use=vt100+fnkeys,
+-
+-xtermc|xterm terminal emulator (color),
+- colors#8, ncv#7, pairs#64,
+- op=\E[100m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+- setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+- setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+- use=xtermm,
+-
+-# From: David J. MacKenzie <djm@va.pubnix.com> 20 Apr 1995
+-# Here's a termcap entry I've been using for xterm_color, which comes
+-# with BSD/OS 2.0, and the X11R6 contrib tape too I think. Besides the
+-# color stuff, I also have a status line defined as the window manager
+-# title bar. [I have translated it to terminfo -- ESR]
+-xterm-pcolor|xterm with color used for highlights and status line,
+- bold=\E[1m\E[43m, rev=\E[7m\E[34m, smso=\E[7m\E[31m,
+- smul=\E[4m\E[42m, use=xterm+sl, use=xterm-r6,
+
++#### HPTERM
+ # HP ships this (HPUX 9 and 10), except for the pb#9600 which was merged in
+ # from BSD termcap. (hpterm: added empty <acsc>, we have no idea what ACS
+ # chars look like --esr)
+@@ -4357,31 +4559,7 @@
+ initp=\E&v%p2%da%p3%db%p4%dc%p5%dx%p6%dy%p7%dz%p1%dI,
+ op=\E&v0S, scp=\E&v%p1%dS, use=hpterm,
+
+-# This entry describes an xterm with Sun-style function keys enabled
+-# via the X resource setting "xterm*sunFunctionKeys:true"
+-# To understand <kf11>/<kf12> note that L1,L2 and F11,F12 are the same.
+-# The <kf13>...<kf20> keys are L3-L10. We don't set <kf16=\E[197z>
+-# because we want it to be seen as <kcpy>.
+-# The <kf31>...<kf45> keys are R1-R15. We treat some of these in accordance
+-# with their Sun keyboard labels instead.
+-# From: Simon J. Gerraty <sjg@zen.void.oz.au> 10 Jan 1996
+-xterm-sun|xterm with sunFunctionKeys true,
+- kb2=\E[218z, kcpy=\E[197z, kcub1=\EOD, kcud1=\EOB,
+- kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3z, kend=\E[220z,
+- kent=\EOM, kf1=\E[224z, kf10=\E[233z, kf11=\E[192z,
+- kf12=\E[193z, kf13=\E[194z, kf14=\E[195z, kf15=\E[196z,
+- kf17=\E[198z, kf18=\E[199z, kf19=\E[200z, kf2=\E[225z,
+- kf20=\E[201z, kf3=\E[226z, kf31=\E[208z, kf32=\E[209z,
+- kf33=\E[210z, kf34=\E[211z, kf35=\E[212z, kf36=\E[213z,
+- kf38=\E[215z, kf4=\E[227z, kf40=\E[217z, kf42=\E[219z,
+- kf44=\E[221z, kf45=\E[222z, kf46=\E[234z, kf47=\E[235z,
+- kf5=\E[228z, kf6=\E[229z, kf7=\E[230z, kf8=\E[231z,
+- kf9=\E[232z, kfnd=\E[200z, khlp=\E[196z, khome=\E[214z,
+- kich1=\E[2z, knp=\E[222z, kpp=\E[216z, kund=\E[195z,
+- use=xterm-basic,
+-xterms-sun|small (80x24) xterm with sunFunctionKeys true,
+- cols#80, lines#24, use=xterm-sun,
+-
++#### EMU
+ # This is for the extensible terminal emulator on the X11R6 contrib tape.
+ # It corresponds to emu's internal emulation:
+ # emu -term emu
+@@ -4443,6 +4621,8 @@
+ sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+ sgr0=\E[m, smacs=^N, smcup=\E[?1l\E=, smkx=\E=,
+ smso=\E[0;7m, smul=\E[0;4m, tbc=\E[3g,
++
++#### MVTERM
+ # A commercial product, Reportedly a version of Xterm with an OPEN LOOK UI,
+ # print interface, ANSI X3.64 colour escape sequences, etc. Newsgroup postings
+ # indicate that it emulates more than one terminal, but incompletely.
+@@ -4477,7 +4657,7 @@
+ smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+ tsl=\E[?E\E[?%i%p1%dT, use=vt100+fnkeys,
+
+-### MTERM
++#### MTERM
+ #
+ # This application is available by email from <mouse@Rodents.Montreal.QC.CA>.
+ #
+@@ -4598,6 +4778,123 @@
+ kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+ khome=\E[1~, knp=\E[6~, kpp=\E[5~, use=mgr,
+
++#### SIMPLETERM
++# st.suckless.org
++# st-0.1.1
++#
++# Note: the original terminfo description uses leading blank to persuade
++# ncurses to use "st" as its name. Proper fix for that is to use "st" as an
++# alias.
++#
++# Reading the code shows it should work for aixterm 16-colors
++# - added st-16color
++#
++# Using tack:
++# - set eo (erase-overstrike)
++# - set xenl
++# - tbc doesn't work
++# - hts works
++# - cbt doesn't work
++# - shifted cursor-keys send sequences like rxvt
++# - sgr referred to unimplemented "invis" mode.
++# Fixes: add eo and xenl per tack, remove nonworking cbt, hts and tbc, invis
++simpleterm|st| simpleterm,
++ am, eo, mir, msgr, ul, xenl,
++ colors#8, cols#80, it#8, lines#24, ncv#3, pairs#64,
++ acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
++ bel=^G, bold=\E[1m, civis=\E[?25l, clear=\E[H\E[2J,
++ cnorm=\E[?12l\E[?25h, cr=^M, csr=\E[%i%p1%d;%p2%dr,
++ cub1=^H, cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
++ cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
++ dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K,
++ home=\E[H, hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@,
++ il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dS, kbs=\177,
++ kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
++ kdch1=\E[3~, kend=\E[4~, kf1=\EOP, kf10=\E[21~,
++ kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
++ kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
++ khome=\E[1~, knp=\E[6~, kpp=\E[5~, op=\E[37;40m, rc=\E8,
++ rev=\E[7m, rmacs=\E(B, rmso=\E[m, rmul=\E[m, sc=\E7,
++ setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
++ sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m,
++ sgr0=\E[0m, smacs=\E(0, smso=\E[7m, smul=\E[4m,
++st-16color|simpleterm with 16-colors,
++ use=ibm+16color, use=simpleterm,
++# 256 colors "works", but when running xterm's test-scripts, some garbage is
++# shown in the titlebar.
++st-256color|simpleterm with 256 colors,
++ ccc@,
++ initc@, use=xterm+256color, use=simpleterm,
++
++#### TERMINATOR
++# http://software.jessies.org/terminator/
++# Tested using their Debian package org.jessies.terminator 6.104.3256 on 64-bit
++# Debian/current -TD (2011/8/20)
++#
++# There are some packaging problems:
++# a) using Java, the program starts off using 50Mb, and climbs from there,
++# up to 114Mb after testing (no scrollback).
++# b) it insists on reinstalling its terminal description in $HOME/.terminfo
++# (two copies, just in case the host happens to be Mac OS X).
++# I deleted this after testing with tack.
++#
++# Issues/features found with tack:
++# a) tbc does not work (implying that hts also is broken).
++# Comparing with the tabs utility shows a problem with the last tabstop on
++# a line.
++# b) has xterm-style shifted function-key strings
++# meta also is used, but control is ignored.
++# c) has xterm-style modifiers for cursor keys (shift, control, shift+control, meta)
++# d) some combinations of shift/control send xterm-style sequences for
++# insert/delete/home/end.
++# e) numeric keypad sends only numbers (compare with vttest).
++# f) meta mode (km) is not implemented.
++#
++# Issues found with ncurses test-program:
++# a) bce is inconsistently implemented
++# b) widths of Unicode values above 256 do not always agree with wcwidth.
++#
++# Checked with vttest, found low degree of compatibility there.
++#
++# Checked with xterm's scripts, found that the 256-color palette is fixed.
++#
++# Fixes:
++# a) add sgr string
++# b) corrected sgr0 to reset alternate character set
++# c) modified smacs/rmacs to use SCS rather than SI/SO
++# d) removed bce
++# e) removed km
++terminator|Terminator no line wrap,
++ eo, mir, msgr, xenl, xon,
++ colors#256, cols#80, it#8, lines#24, lm#0, pairs#32767,
++ acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
++ bold=\E[1m, civis=\E[?25l, clear=\E[H\E[2J,
++ cnorm=\E[?25h, cr=^M, csr=\E[%i%p1%d;%p2%dr,
++ cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J,
++ cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
++ cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
++ dl=\E[%p1%dM, dl1=\E[M, dsl=\E]2;\007, ed=\E[J, el=\E[K,
++ el1=\E[1K, enacs=\E(B\E)0, flash=^G, fsl=^G, home=\E[H,
++ hpa=\E[%i%p1%dG, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L,
++ ind=^J, is1=\E[?47l\E=\E[?1l,
++ is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kbs=^H,
++ kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
++ kdch1=\E[3~, kend=\E[4~, kf1=\EOP, kf10=\E[21~,
++ kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
++ kf15=\E[28~, kf16=\E[29~, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
++ kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
++ khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
++ op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E(B,
++ rmcup=\E[?47l\E8, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m,
++ rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H,
++ rs2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>,
++ s0ds=\E(B, s1ds=\E(0, sc=\E7, setab=\E[48;5;%p1%dm,
++ setaf=\E[38;5;%p1%dm,
++ sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;,
++ sgr0=\E[m\E(B, smacs=\E(0, smcup=\E7\E[?47h, smir=\E[4h,
++ smso=\E[7m, smul=\E[4m, tbc=\E[3g, tsl=\E]2;%p1,
++ vpa=\E[%i%p1%dd,
++
+ ######## UNIX VIRTUAL TERMINALS, VIRTUAL CONSOLES, AND TELNET CLIENTS
+ #
+
+@@ -4780,7 +5077,7 @@
+ bce@, bw,
+ invis@, kIC@, kNXT@, kPRV@, meml@, memu@,
+ sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m,
+- use=screen+fkeys, use=xterm-new,
++ E3@, use=screen+fkeys, use=xterm-new,
+ # xterm-r6 does not really support khome/kend unless it is propped up by
+ # the translations resource.
+ screen.xterm-r6|screen customized for X11R6 xterm,
+@@ -4920,18 +5217,18 @@
+ # sequences for setting the window-title. So you must use tsl and fsl in
+ # pairs, since the latter ends the string that is loaded to the window-title.
+ ncsa-m|ncsa-vt220-8|NCSA Telnet 2.6 for Macintosh in vt220-8 mode,
+- am, hs, km, mir, msgr, xenl,
++ am, km, mir, msgr, xenl,
+ acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+ bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+ clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M,
+ csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+ cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+ cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+- dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
+- dsl=\E]0;\007, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0,
+- flash=\E[?5h\E[?5l, fsl=^G, home=\E[H, ht=^I, hts=\EH,
+- ich=\E[%p1%d@, if=/usr/share/tabset/vt100,
+- il=\E[%p1%dL, il1=\E[L, ind=\n$<150*>,
++ dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
++ el=\E[K, el1=\E[1K, enacs=\E)0, flash=\E[?5h\E[?5l,
++ home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@,
++ if=/usr/share/tabset/vt100, il=\E[%p1%dL, il1=\E[L,
++ ind=\n$<150*>,
+ is2=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>, kbs=^H,
+ kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+ kdch1=\E[4~, kend=\E[5~, kf1=\E[17~, kf10=\E[28~,
+@@ -4945,8 +5242,8 @@
+ rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;4;6l\E[4l\E>, sc=\E7,
+ sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;,
+ sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smcup=\E7,
+- smir=\E[4h, smso=\E[7m, smul=\E[4m, tbc=\E[3g, tsl=\E]0;,
+- u8=\E[?62;1;6c, use=ansi+enq,
++ smir=\E[4h, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
++ u8=\E[?62;1;6c, use=xterm+sl, use=ansi+enq,
+ ncsa|NCSA Telnet 2.7 for Macintosh in vt220-8 mode,
+ use=ncsa-m, use=klone+color,
+ ncsa-ns|NCSA Telnet 2.7 for Macintosh in vt220-8 mode,
+@@ -5064,10 +5361,10 @@
+ kf10=\E[233z, kf11=\E[234z, kf12=\E[235z, kf2=\E[225z,
+ kf3=\E[226z, kf4=\E[227z, kf5=\E[228z, kf6=\E[229z,
+ kf7=\E[230z, kf8=\E[231z, kf9=\E[232z, khome=\E[214z,
+- knp=\E[222z, kopt=\E[194z, kpp=\E[216z, kres=\E[193z,
+- kund=\E[195z, rev=\E[7m, rmso=\E[m, rmul@, rs2=\E[s,
+- sgr=\E[0%?%p1%p3%|%t;7%;m, sgr0=\E[m, smso=\E[7m,
+- u8=\E[1t, u9=\E[11t,
++ kich1=\E[247z, knp=\E[222z, kopt=\E[194z, kpp=\E[216z,
++ kres=\E[193z, kund=\E[195z, rev=\E[7m, rmso=\E[m, rmul@,
++ rs2=\E[s, sgr=\E[0%?%p1%p3%|%t;7%;m, sgr0=\E[m,
++ smso=\E[7m, u8=\E[1t, u9=\E[11t,
+ # On some versions of CGSIX framebuffer firmware (SparcStation 5), <il1>/<il>
+ # flake out on the last line. Unfortunately, without them the terminal has no
+ # way to scroll.
+@@ -5077,6 +5374,10 @@
+ sun|sun1|sun2|Sun Microsystems Inc. workstation console,
+ use=sun-il,
+
++sun+sl|Sun Workstation window status line,
++ hs,
++ dsl=\E]l\E\\, fsl=\E\\, tsl=\E]l,
++
+ # From: <john@ucbrenoir> Tue Sep 24 13:14:44 1985
+ sun-s|Sun Microsystems Workstation window with status line,
+ hs,
+@@ -5130,12 +5431,13 @@
+ # It supports bold, but not underline -TD (2009-09-19)
+ sun-color|Sun Microsystems Workstation console with color support (IA systems),
+ colors#8, ncv#3, pairs#64,
+- cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC,
+- cuu=\E[%p1%dA, home=\E[H, op=\E[0m, setab=\E[4%p1%dm,
+- setaf=\E[3%p1%dm,
++ bold=\E[1m, cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC,
++ cuu=\E[%p1%dA, home=\E[H, op=\E[0m, rs2=\E[s,
++ setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+ setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+ setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+- use=sun,
++ sgr=\E[0%?%p6%t;1%;%?%p1%p3%|%t;7%;m, sgr0=\E[m,
++ smso=\E[7m, use=sun,
+
+ #### Iris consoles
+ #
+@@ -5230,7 +5532,7 @@
+ cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dl=\E[%p1%dM, dl1=\E[M,
+ ed=\E[J, el=\E[K, home=\E[H, ht=^I,
+ if=/usr/share/tabset/vt100, il=\E[%p1%dL, il1=\E[L,
+- is2=\E[?7h\E[?1l\E[?3l\E7\E8, kbs=^H, kcub1=\EOD,
++ is2=\E[?7h\E[?1h\E[?3l\E7\E8, kbs=^H, kcub1=\EOD,
+ kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf0=\EOY, kf1=\EOP,
+ kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV,
+ kf8=\EOW, kf9=\EOX, rc=\E8, rev=\E[7m, ri=\EM,
+@@ -5278,7 +5580,7 @@
+ cr=^M, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=^J, cuf1=\E[C,
+ cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, ed=\E[J, el=\E[K,
+ home=\E[H, ht=^I, if=/usr/share/tabset/vt100, kbs=^H,
+- kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP,
++ kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP,
+ kf2=\EOQ, kf3=\EOR, kf4=\EOS, rc=\E8, rev=\E[7m, ri=\EM,
+ rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+ rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+@@ -5405,7 +5707,7 @@
+ #### Non-Unix Consoles
+ #
+
+-### EMX termcap.dat compatibility modes
++#### EMX termcap.dat compatibility modes
+ #
+ # Also (possibly only EMX, so we don't put it in ansi.sys, etc): set the
+ # no_color_video to inform the application that standout(1), underline(2)
+@@ -5544,7 +5846,7 @@
+ rmacs=\E[10m, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l,
+ rmpch=\E[10m, rmso=\E[27m, rmul=\E[24m, rs1=\Ec\E]R,
+ sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+- sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m,
++ sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m,
+ sgr0=\E[0;10m, smacs=\E[11m, smcup=\E7\E[?47h,
+ smir=\E[4h, smpch=\E[11m, smso=\E[7m, smul=\E[4m, tsl=\E];,
+ vpa=\E[%i%p1%dd, use=vt102+enq,
+@@ -5579,7 +5881,7 @@
+ rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E[10m, rmir=\E[4l,
+ rmso=\E[m, rmul=\E[m, rs1=\Ec\E]R, sc=\E7,
+ setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+- sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m,
++ sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m,
+ sgr0=\E[0;10m, smacs=\E[11m, smir=\E[4h, smso=\E[7m,
+ smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd, use=vt102+enq,
+
+@@ -5825,7 +6127,7 @@
+ ht=^I, hts=\EH$<2/>, ind=\ED$<5/>, is2=\E[1;24r\E[24;1H,
+ kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+ kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, nel=\r\ED$<5/>,
+- rc=\E8, rev=\E[7m$<2/>, rf=/usr/share/lib/tabset/vt100,
++ rc=\E8, rev=\E[7m$<2/>, rf=/usr/share/tabset/vt100,
+ ri=\EM$<5/>, rmso=\E[m$<2/>, rmul=\E[m$<2/>,
+ rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+ sgr0=\E[m$<2/>, smso=\E[7m$<2/>, smul=\E[4m$<2/>,
+@@ -5968,7 +6270,7 @@
+ # :cC=^Al\r:cD=^Am\r:cE=^An\r:cF=^Ao\r:
+ # :XU=^Aq\r:XD=^Ar\r:XR=^As\r:XL=^At\r:\
+ # :HL=^AP\r:SP=\E[i:\
+-# :IS=\E[@:DE=\E[P:IL=\E[L:NS=\E[S:PS=\E[T:\
++# :IS=\E[@:DE=\E[P:IL=\E[L:NS=\E[S:PS=\E[T:
+ altos3|altos5|alt3|alt5|altos-3|altos-5|altos III or V,
+ blink=\E[5p, ri=\EM, sgr0=\E[p, use=altos2,
+ altos4|alt4|altos-4|altos IV,
+@@ -6183,7 +6485,7 @@
+ da, db,
+ lm#0, pb#19200,
+ ed=\ED\EJ$<500>\EC, indn=\E&r%p1%dD, ip=$<4>,
+- is2=\E&j@\r, rin=\E&r%p1%dU, use=hp+pfk+cr,
++ is2=\E&j@\r, rin=\E&r%p1%dU, use=hp+pfk-cr,
+ use=hp+labels, use=scrhp,
+
+ # This entry is for sysline. It allocates a 23 line window with
+@@ -6384,7 +6686,7 @@
+ hp2622|hp2622a|hp 2622,
+ da, db,
+ lm#0, pb#19200,
+- is2=\E&dj@\r, use=hp+pfk+cr, use=hp+labels, use=scrhp,
++ is2=\E&dj@\r, use=hp+pfk-cr, use=hp+labels, use=scrhp,
+
+ # The 2623 is a 2622 with extra graphics hardware.
+ hp2623|hp2623a|hp 2623,
+@@ -7088,6 +7390,9 @@
+ # What seems to be going on here is that this entry was designed so that
+ # the normal highlight is bold and standout is dim plus something else
+ # (reverse-video maybe? But then, are there two <rev> sequences?)
++#
++# Added kdch1, kil1, kdl1 based on screenshot -TD:
++# http://www.vintagecomputer.net/qume/qvt-108/qume_qvt-108_keyboard.jpg
+ qvt101+|qvt101p|qume qvt 101 PLUS product,
+ am, bw, hs, ul,
+ cols#80, lines#24, xmc#0,
+@@ -7096,11 +7401,11 @@
+ dch1=\EW, dl1=\ER, dsl=\Eg\Ef\r, ed=\EY, el=\ET,
+ flash=\Eb$<200>\Ed, fsl=^M, home=^^, ht=^I, hts=\E1,
+ ich1=\EQ, il1=\EE, ind=^J, invis@, kbs=^H, kcbt=\EI, kcub1=^H,
+- kcud1=^J, kcuf1=^L, kcuu1=^K, kdl1=\ER, ked=\EY, kel=\ET,
+- kf1=^A@\r, kf10=^AI\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r,
+- kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r,
+- khome=^^, kich1=\EQ, kil1=\EE, mc4=\EA, mc5=\E@, rmso=\E(,
+- smso=\E0P\E), tbc=\E3, tsl=\Eg\Ef, use=adm+sgr,
++ kcud1=^J, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\EY,
++ kel=\ET, kf1=^A@\r, kf10=^AI\r, kf2=^AA\r, kf3=^AB\r,
++ kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r,
++ kf9=^AH\r, khome=^^, kich1=\EQ, kil1=\EE, mc4=\EA, mc5=\E@,
++ rmso=\E(, smso=\E0P\E), tbc=\E3, tsl=\Eg\Ef, use=adm+sgr,
+ qvt102|qume qvt 102,
+ cnorm=\E., use=qvt101,
+ # (qvt103: added <rmam>/<smam> based on init string -- esr)
+@@ -8212,8 +8517,8 @@
+ rmxon=^N, rs1=\EC\EDF\E[0;0v\E[8;1v\E[=65l,
+ rs2=\E.b\E[10;20v\E[14;1v\E[3;0v\E[7;0v\E[=11.h\E[=12.h\E[=13.h\E[=14.h\E[=15l\E[=20h\E[=60l\E[=61h\E[=9l\E[=10l\E[=21l\E[=23l\E[=3l\E_40\E_50\En\Ew\Ee \Ex0\0\0\Ex1\0\0\Ex2\0\0\Ex3\0\0\Ex4\0\0\E1,
+ rs3=\E[=19h\E.3\E9\E0O\0\0\0\0\0\E0o\0\0\0\0\0\E0J\177\0\0\0\0,
+- sgr=\EG0%?%p1%t\EGt%;%?%p2%t\EG8%;%?%p3%t\EG4%;%?%p4%t\EG2%;%?%p5%t\EGp%;%?%p6%t\EG\,%;%?%p7%t\EG1%;%?%p9%t\E$%e\E%%%;,
+- sgr0=\EG0, smacs=\E$, smam=\E=7h, smcup=\E.2, smdc=\Er,
++ sgr=\EG0%?%p1%t\EGt%;%?%p2%t\EG8%;%?%p3%t\EG4%;%?%p4%t\EG2%;%?%p5%t\EGp%;%?%p6%t\EG\,%;%?%p7%t\EG1%;%?%p8%t\E&%;%?%p9%t\E$%e\E%%%;,
++ sgr0=\EG0\E%, smacs=\E$, smam=\E=7h, smcup=\E.2, smdc=\Er,
+ smir=\Eq, smln=\E[4;2v, smso=\EGt, smul=\EG8, smxon=^O,
+ tbc=\E3, tsl=\E[4;1v\E_30, uc=\EG8\EG0,
+
+@@ -9726,7 +10031,7 @@
+ flash=\E[?5h\E[?5l\E[?5h\E[?5l\E[?5h\E[?5l,
+ fsl=\E[0$}, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH,
+ ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=^J,
+- is2=\E>\E F\E[?1l\E[?7h\E[r\E[2$~, kbs=^H, kcub1=\EOD,
++ is2=\E>\E F\E[?1h\E[?7h\E[r\E[2$~, kbs=^H, kcub1=\EOD,
+ kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdl1=\E[3~, kf0=\E[21~,
+ kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf6=\E[17~,
+ kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kich1=\E[2~, knp=\E[6~,
+@@ -9980,7 +10285,7 @@
+ pln=\E[%p1%d;00q%p2%:-16s, rc=\E8, rev=\E[7m, ri=\EM,
+ rmacs=^O, rmso=\E[m, rmul=\E[m, rs2=\Ec\E[?3l\E[2;0y,
+ sc=\E7,
+- sgr=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
++ sgr=\E[0%?%p1%p5%|%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+ sgr0=\E[m\017, smacs=^N, smso=\E[7m, smul=\E[4m,
+ tsl=\E7\E[25;%p1%{1}%+%dH,
+
+@@ -10078,7 +10383,7 @@
+ pln=\E[%p1%d;0;0;0q%p2%:-16.16s, prot=\EV,
+ rin=\E[%p1%dF, rmam=\E[?7l, rmir=\E[4l,
+ rmkx=\E[19;0j\E[21;1j\212, rmln=\E|,
+- sgr=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
++ sgr=\E[0%?%p1%p5%|%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p8%t\EV%;%?%p9%t\016%e\017%;,
+ sgr0=\E[m\017, smam=\E[?7h, smir=\E[4h,
+ smkx=\E[19;1j\E[21;4j\Eent, smln=\E~, tbc=\E[3g,
+ tsl=\E7\E[25;%p1%{8}%+%dH, vpa=\E[%p1%{1}%+%dd,
+@@ -10284,7 +10589,7 @@
+ rev=\E[7m, ri=\EM, rin=\E[%p1%dF, rmacs=^O, rmam=\E[?7l,
+ rmir=\E[4l, rmkx=\E[21;0j\E[25;1j\212, rmln=\E|,
+ rmso=\E[m, rmul=\E[m, rs2=\Ec\E[?3l\E[2;0y, sc=\E7,
+- sgr=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
++ sgr=\E[0%?%p5%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p8%t\EV%;%?%p9%t\016%e\017%;,
+ sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h,
+ smkx=\E[21;1j\E[25;4j\Eent\E~, smln=\E~, smso=\E[7m,
+ smul=\E[4m, tbc=\E[3g, tsl=\E7\E[25;%p1%{8}%+%dH,
+@@ -10681,7 +10986,7 @@
+ ri=\EM, rin=\E[%p1%dT, rmacs=\E(B\017, rmam=\E[?7l,
+ rmir=\E[4l, rmln=\E[2p, rmso=\E[m, rmul=\E[m,
+ rs2=\Ec\E[?3l, sc=\E7,
+- sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
++ sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\E)0\016%e\E(B\017%;,
+ sgr0=\E[m\E(B\017, smacs=\E)0\016, smam=\E[?7h,
+ smir=\E[4h, smln=\E[p, smso=\E[7m, smul=\E[4m,
+ tsl=\E7\E[25;%i%p1%dx,
+@@ -10741,7 +11046,7 @@
+ mc5=\E[?5i, nel=^M^J, pfx=\E[%p1%d;%p2%l%dq%p2%s, rc=\E8,
+ rev=\E[7m, ri=\EM, rin=\E[%p1%dT, rmir=\E[4l, rmso=\E[m,
+ rmul=\E[m, rs2=\Ec, sc=\E7,
+- sgr=\E[0%?%p2%t;4%;%?%p1%p3%|%p4%|%p5%|%t;7%;m,
++ sgr=\E[0%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%p4%|%t;7%;m,
+ sgr0=\E[m, smir=\E[4h, smso=\E[7m, smul=\E[4m,
+ att630-24|5630-24|5630DMD-24|630MTG-24|AT&T 630 windowing terminal 24 lines,
+ lines#24, use=att630,
+@@ -11391,7 +11696,7 @@
+ rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m,
+ rmkx=\EP`>y~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\E\\,
+ rmm=\E[>52l, rmso=\E[m, rmul=\E[m, sc=\E7,
+- sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m,
++ sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m,
+ sgr0=\E[m,
+ smkx=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\,
+ smm=\E[>52h, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+@@ -11401,13 +11706,13 @@
+ blink=\E[5;7m, bold=\E[1;7m, invis=\E[7;8m,
+ is1=\E[7m\E7\E[H\E9\E8, rev=\E[m, rmso=\E[7m, rmul=\E[7m,
+ rs1=\E[H\E[7m\E[J$<156>,
+- sgr=\E[%?%p1%p3%|%!%t7;%;%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m,
++ sgr=\E[%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p1%p2%|%p3%!%t7;%;%?%p7%t8;%;m\016,
+ sgr0=\E[7m\016, smso=\E[m, smul=\E[4;7m,
+ # Ambassador with the DEC option, for partial vt100 compatibility.
+ aaa+dec|ann arbor ambassador in dec vt100 mode,
+ acsc=aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}},
+ csr=\E[%i%p1%d;%p2%dr, enacs=\E(0, rmacs=^N,
+- sgr=\E[%?%p1%p3%|%!%t7;%;%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m%?%p9%t\017%e\016%;,
++ sgr=\E[%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p1%p3%|%!%t7;%;%?%p7%t8;%;m%?%p9%t\017%e\016%;,
+ smacs=^O,
+ aaa-18|ann arbor ambassador/18 lines,
+ lines#18,
+@@ -11574,7 +11879,7 @@
+ blink=\E[5;7m, bold=\E[1;7m, home=\E[H, invis=\E[7;8m,
+ is1=\E[7m\E7\E[H\E9\E8, rev=\E[m, rmso=\E[7m, rmul=\E[7m,
+ rs1=\E[H\E[7m\E[J,
+- sgr=\E[%?%p1%!%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m,
++ sgr=\E[%?%p6%t1;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p1%!%t7;%;%?%p7%t8;%;m,
+ sgr0=\E[7m, smso=\E[m, smul=\E[4;7m,
+
+ #### Applied Digital Data Systems (adds)
+@@ -12416,7 +12721,7 @@
+ # and mc5= should use the \E[?4i and \E[?5i strings instead).
+
+ hds200|Human Designed Systems HDS200,
+- am, bw, eslok, hs, km, mc5i, mir, msgr, xenl, xon,
++ am, bw, eslok, hs, km, mir, msgr, xenl, xon,
+ cols#80, it#8, lines#24, lm#0,
+ acsc=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G,
+ blink=\E[0;5m, bold=\E[0;1m, cbt=\E[Z, civis=\E[6+{,
+@@ -12445,13 +12750,12 @@
+ kf51=^\051\r, kf52=^\052\r, kf53=^\053\r, kf6=^\006\r,
+ kf7=^\007\r, kf8=^\008\r, kf9=^\009\r, khome=\E[H,
+ kind=\E[T, knp=\E[U, kpp=\E[V, kri=\E[S, ll=\E[H\E[A,
+- mc0=\E[i, mc4=\E[4i, mc5=\E[5i, nel=\E[E, rc=\E8,
+- rev=\E[0;7m, ri=\EM, rmacs=^O, rmir=\E[4l, rmso=\E[m\017,
+- rmul=\E[m\017, sc=\E7,
++ nel=\E[E, rc=\E8, rev=\E[0;7m, ri=\EM, rmacs=^O, rmir=\E[4l,
++ rmso=\E[m\017, rmul=\E[m\017, sc=\E7,
+ sgr=\E[0%?%p1%p6%O%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%O%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+ sgr0=\E[m\017, smacs=^N, smir=\E[4h, smso=\E[0;1;7m,
+ smul=\E[0;4m, tbc=\E[3g, tsl=\E[2!w\E[%i%p1%dG,
+- vpa=\E[%i%p1%dd,
++ vpa=\E[%i%p1%dd, use=ansi+pp,
+
+ # <ht> through <el> included to specify padding needed in raw mode.
+ # (avt-ns: added empty <acsc> to suppress a tic warning --esr)
+@@ -12478,10 +12782,11 @@
+ ri=\EM$<4>, rmacs=\016$<1>, rmcup=\E[w\E2\r\n,
+ rmir=\E[4l, rmkx=\E[!z\E[0;2u, rmso=\E[7!{, rmul=\E[4!{,
+ sc=\E7,
+- sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m,
+- sgr0=\E[m, smacs=\017$<1>, smcup=\E[=4l\E[1;24w\E2\r,
+- smir=\E[4h, smkx=\E[1!z\E[0;3u, smso=\E[7m, smul=\E[4m,
+- tbc=\E[3g, vpa=\E[%p1%{1}%+%dd,
++ sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;%?%p8%t99;%;m%?%p5%t\E[1!{%;%?%p9%t\017%e\016%;$<1>,
++ sgr0=\E[m\016$<1>, smacs=\017$<1>,
++ smcup=\E[=4l\E[1;24w\E2\r, smir=\E[4h,
++ smkx=\E[1!z\E[0;3u, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
++ vpa=\E[%p1%{1}%+%dd,
+ avt-rv-ns|concept avt in reverse video mode/no status line,
+ flash=\E[=205l$<200>\E[=205h, is1=\E[=103l\E[=205h,
+ use=avt-ns,
+@@ -12763,7 +13068,6 @@
+ # backspace on all terminals. This is not so in DG mode.
+ # (dg460-ansi: removed obsolete ":kn#6:"; also removed ":mu=\EW:", on the
+ # grounds that there is no matching ":ml:"
+-# fixed garbled ":k9=\E[00\:z:" capability -- esr)
+ dg460-ansi|Data General Dasher 460 in ANSI-mode,
+ OTbs, am, msgr, ul,
+ cols#80, it#8, lines#24,
+@@ -12774,10 +13078,12 @@
+ kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+ kf0=\E[001z, kf1=\E[002z, kf2=\E[003z, kf3=\E[004z,
+ kf4=\E[005z, kf5=\E[006z, kf6=\E[007z, kf7=\E[008z,
+- kf8=\E[009z, kf9=\E[010z, khome=\E[H, lf0=f1, lf1=f2, lf2=f3,
+- lf3=f4, lf4=f5, lf5=f6, lf6=f7, lf7=f8, lf9=f10, rev=\E[7m,
+- ri=\E[T, rmso=\E[m, rmul=\E[05, sgr0=\E[m, smso=\E[7m,
+- smul=\E[4m,
++ kf8=\E[009z, kf9=\E[00\:z, khome=\E[H, lf0=f1, lf1=f2,
++ lf2=f3, lf3=f4, lf4=f5, lf5=f6, lf6=f7, lf7=f8, lf9=f10,
++ mc0=\E[i, rev=\E[7m, ri=\E[T, rmso=\E[m, rmul=\E[05,
++ sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m,
++ sgr0=\E(B\E[m, smso=\E[7m, smul=\E[4m, u6=\E[%d;%dR,
++ u7=\E[6n, u8=\E[5n, u9=\E[0n,
+ # From: Wayne Throop <mcnc!rti-sel!rtp47!throopw> (not official)
+ # Data General 605x
+ # Ought to work for a Model 6242, Type D210 as well as a 605x.
+@@ -12824,7 +13130,7 @@
+ cuu=\E[%p1%dA, cuu1=\E[A, dim=\E[2m, ed=\E[J, el=\E[K,
+ el1=\E[1K, home=\E[H, ind=^J, is1=\E[<0;<1;<4l,
+ ll=\E[H\E[A, nel=^J, rev=\E[7m, rmso=\E[m, rmul=\E[m,
+- sgr=\E[%?%p1%p3%|%p6%|%t7;%;%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;m,
++ sgr=\E[%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;%?%p1%p3%|%p6%|%t7;%;m,
+ sgr0=\E[m, smso=\E[2;7m, smul=\E[4m, use=dgkeys+7b,
+
+ # DASHER D210 series terminals in DG mode.
+@@ -13026,7 +13332,7 @@
+ is2=\E[3;2;2;1;1;1v\E(B\E)4\017, mc4=\E[4i, mc5=\E[5i,
+ ri=\EM, rmacs=\E)4\017, rs1=\Ec\E[<2h,
+ rs2=\E[4;0;2;1;1;1v\E(B\E)4,
+- sgr=\E[%?%p1%p3%|%p6%|%t7;%;%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;m\E)%?%p9%t6\016%e4\017%;,
++ sgr=\E[%?%p1%t2;7%;%?%p3%t7;%;%?%p4%t5;%;%?%p2%t4;%;%?%p1%p5%|%t2;%;%?%p6%t4;7;%;m\E)%?%p9%t6\016%e4\017%;,
+ sgr0=\E[m\E)4\017, smacs=\E)6\016, use=d211,
+
+ # Initialization string 2 sets:
+@@ -13196,12 +13502,12 @@
+ #
+ d470c|d470|Data General DASHER D470C,
+ is1=\E[<0;<1;<2;<4l\E[1;1;80w\E[1;6;<2h,
+- sgr=\E[%?%p1%p3%|%p6%|%t7;%{1}%e%{0}%;%PR%?%p4%t5;%{1}%e%{0}%;%PB%?%p2%p6%|%t4;%{1}%e%{0}%;%PU%?%p1%p5%|%t2;%{1}%e%{0}%;%PDm\E)%?%p9%t6\016%e4\017%;,
++ sgr=\E[%?%p3%t7;%;%?%p4%t5;%;%?%p2%t4;%;%?%p6%t4;7;%;%?%p1%t2;7;%;%?%p5%t2;%;m\E)%?%p9%t6\016%e4\017%;,
+ use=dg+color, use=d460,
+
+ d470c-7b|d470-7b|Data General DASHER D470C in 7 bit mode,
+ is1=\E[<0;<1;<2;<4l\E[1;1;80w\E[1;6;<2h,
+- sgr=\E[%?%p1%p3%|%p6%|%t7;%{1}%e%{0}%;%PR%?%p4%t5;%{1}%e%{0}%;%PB%?%p2%p6%|%t4;%{1}%e%{0}%;%PU%?%p1%p5%|%t2;%{1}%e%{0}%;%PDm%?%p9%t\016%e\017%;,
++ sgr=\E[%?%p3%t7;%;%?%p4%t5;%;%?%p2%t4;%;%?%p6%t4;7;%;%?%p1%t2;7;%;%?%p5%t2;%;m%?%p9%t\016%e\017%;,
+ use=dg+color, use=d460-7b,
+
+ # Initialization string 2 sets:
+@@ -13757,7 +14063,7 @@
+ sb2|sb3|fixed superbee,
+ xsb@, use=superbee,
+
+-#### Beehive Medical Electronics
++#### Beehive Medical Electronics
+ #
+ # Steve Seymour <srseymour@mindspring.com> writes (Wed, 03 Feb 1999):
+ # Regarding your question though; Beehive terminals weren't made by Harris.
+@@ -14224,6 +14530,8 @@
+ sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\E(0%e\E(B%;,
+ sgr0=\E[0m, smacs=\E(0, smir=\E[4h, smso=\E[7m, smul=\E[4m,
+ tbc=\E[3g,
++# "Megapel" refers to the display adapter, which was used with the IBM RT
++# aka IBM 6150.
+ ibm5081|hft|IBM Megapel Color display,
+ acsc=jjkkllmmnnqqttuuvvwwxx, blink@, bold@, s0ds=\E(B,
+ s1ds=\E(0, sgr0=\E[0m\E(B, use=ibm5154,
+@@ -14578,7 +14886,7 @@
+ is1=\EC\E.3\EDF\EV1\Eg\E[0ZZ, nel=^_, rev=\E[4ZZ,
+ rmir=\Er, rmso=\E[%gh%{4}%^%Ph%gh%dZZ,
+ rmul=\E[%gh%{8}%^%Ph%gh%dZZ, rs2=\Eo1,
+- sgr=\E[%{0}%?%p1%t%{4}%|%;%?%p2%t%{8}%|%;%?%p3%t%{4}%|%;%?%p4%t%{2}%|%;%?%p7%t%{1}%|%;ZZ,
++ sgr=\E[%'0'%?%p1%t%'8'%|%;%?%p2%t%'8'%|%;%?%p3%t%'4'%|%;%?%p4%t%'2'%|%;%?%p7%t%'1'%|%;%cZZ,
+ sgr0=\E[0ZZ, smir=\Eq, smso=\E[8ZZ, smul=\E[8ZZ, tbc=\E3,
+ icl6404-w|kds7372-w|ICL 6404 aka Kokusai Display Systems 7372 132 cols,
+ rs2=\Eo1, use=icl6404,
+@@ -14895,7 +15203,7 @@
+ # (esr: commented out <smacs>/<rmacs> because there's no <acsc>)
+ #
+ prism9|p9|P9|MDC Prism-9 in ANSII mode,
+- am, bw, hs, mc5i, msgr, xenl, xon,
++ am, bw, hs, msgr, xenl, xon,
+ cols#80, it#8, lines#24, vt#3, wsl#72,
+ bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[<4l,
+ clear=^L, cnorm=\E[<4h, cr=^M, csr=\E[%i%p1%d;%p2%d%%v,
+@@ -14911,14 +15219,15 @@
+ kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~,
+ kf18=\E[32~, kf2=\E[12~, kf3=\E[13~, kf4=\E[14~,
+ kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+- khome=\E[H, mc0=\E[i, mc4=\E[4i, mc5=\E[5i, nel=^M^J,
+- prot=\E[32%{, rc=\E[%z, rep=\E[%p2%db%p1%c, rev=\E[7m,
+- ri=\E[L, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m,
++ khome=\E[H, nel=^M^J, prot=\E[32%{, rc=\E[%z,
++ rep=\E[%p2%db%p1%c, rev=\E[7m, ri=\E[L, rmir=\E[4l,
++ rmso=\E[27m, rmul=\E[24m,
+ rs2=\E[&p\E[<12l\E F\E[3g\E[9;17;25;33;41;49;57;65;73 N,
+ sc=\E[%y,
+- sgr=\E[%{0}%?%p1%p3%|%t%{7}%+%;%?%p2%t%{2}%+%;%?%p4%t%{5}%+%;%?%p6%t%{1}%+%;m%?%p8%t\E[%{32}%+%d%%{%;%?%p9%t\016%e\017%;,
++ sgr=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p6%t;1%;m%?%p8%t\E[32%%{%;%?%p9%t\016%e\017%;,
+ sgr0=\E[0m\017, smir=\E[4h, smso=\E[7m, smul=\E[4m,
+ tbc=\E[3g, tsl=\E[%i%p1%d%%}, vpa=\E[%i%p1%dd,
++ use=ansi+pp,
+
+ # p9-w: Prism-9 in 132 column mode
+ # --------------------------------
+@@ -15282,7 +15591,7 @@
+ rmkx=\E[?1l\E>, rmso=\E[0m, rmul=\E[0m,
+ rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>,
+ sc=\E7,
+- sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>,
++ sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;$<20>,
+ sgr0=\E[0m\017$<20>, smacs=^N, smir=\E[4h,
+ smkx=\E[?1h\E=, smso=\E[1;7m, smul=\E[4m, tbc=\E[3g,
+ tsl=\E[2$~\E[1$}, vpa=\E[%p1%dd$<40>, use=vt220+keypad,
+@@ -15339,7 +15648,7 @@
+ rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m,
+ rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>,
+ sc=\E7,
+- sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>,
++ sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;$<20>,
+ sgr0=\E[0m\017$<20>, smacs=\016$<20>, smam=\E[?7h,
+ smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
+ tbc=\E[3g, tsl=\E[2$~\E[1$}, vpa=\E[%p1%dd$<40>,
+@@ -15395,7 +15704,7 @@
+ rmul=\E[24m,
+ rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H\E>$<200>,
+ sc=\E7,
+- sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>,
++ sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;$<20>,
+ sgr0=\E[0m\017$<20>, smacs=\016$<20>, smam=\E[?7h,
+ smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
+ tbc=\E[3g, tsl=\E[2$~\E[1$}, vpa=\E[%p1%dd$<40>,
+@@ -15785,7 +16094,7 @@
+ # Manufactured in the early/mid eighties, behaves almost the same as a
+ # Televideo 950. Take a 950, change its cabinet for a more 80s-ish one (but
+ # keep the same keyboard layout), add an optional 25-line mode, replace the DIP
+-# switches with a menu and remove the "lock line" feature (ESC ! 1 and ESC !
++# switches with a menu and remove the "lock line" feature (ESC ! 1 and ESC !
+ # 2), here is the NDR 9500. Even the line-lock, albeit disabled, is
+ # recognized: if you type in "ESC !", the next (third) character is not
+ # echoed, showing that the terminal was actually waiting for a parameter!
+@@ -15809,7 +16118,7 @@
+ pfloc=\E|%{48}%p1%+%c2%p2\031,
+ pfx=\E|%{48}%p1%+%c1%p2\031, prot=\E), ri=\Ej,
+ rmacs=\E%%, rmir=\Er, rmso=\E(, rmxon=^N,
+- sgr=\E%%\E(%?%p1%p5%p8%|%|%t\E)%;%?%p9%t\E$%;,
++ sgr=\EG0\E%%%%\E(%?%p1%p5%p8%|%|%t\E)%;%?%p9%t\E$%;,
+ sgr0=\EG0\E%%\E(, smacs=\E$, smir=\Eq, smso=\E), smxon=^O,
+ tbc=\E3, tsl=\Eg\Ef\011%p1%{32}%+%c, .kbs=^H,
+
+@@ -16279,7 +16588,7 @@
+ kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA,
+ rev=\E%!1\E[7m$<2>\E%!0, ri=\EI,
+ rmso=\E%!1\E[m$<2>\E%!0, rmul=\E%!1\E[m$<2>\E%!0,
+- sgr=\E%%!1\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m$<2>\E%%!0,
++ sgr=\E%%!1\E[%?%p1%t;7;5%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t<0%;%?%p6%t;1%;m$<2>\E%%!0,
+ sgr0=\E%!1\E[m$<2>\E%!0, smso=\E%!1\E[7;5m$<2>\E%!0,
+ smul=\E%!1\E[4m$<2>\E%!0,
+ # Tektronix 4207 with sysline. In the ancestral termcap file this was 4107-s;
+@@ -16466,9 +16775,10 @@
+ clear=\E[2J\E[H, cr=^M, cub=\E[%p1%dD, cub1=\E[D,
+ cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
+ cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+- dch1=\E[1P, dim=\E[=1;<6m, dl1=\E[1M, ech=\E%p1%dX,
+- ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0, home=\E[H, ht=^I,
+- ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[1L, ind=\ED,
++ dch1=\E[1P, dim=\E[=1;<6m, dl=\E[%p1%dM, dl1=\E[1M,
++ ech=\E%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0,
++ home=\E[H, ht=^I, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[1L,
++ ind=\ED,
+ initc=\E%%!0\ETF4%?%p1%{0}%=%t0%e%p1%{1}%=%t4%e%p1%{2}%=%t3%e%p1%{3}%=%t5%e%p1%{4}%=%t2%e%p1%{5}%=%t6%e%p1%{6}%=%t7%e1%;%?%p2%{125}%<%t0%e%p2%{250}%<%tA2%e%p2%{375}%<%tA?%e%p2%{500}%<%tC8%e%p2%{625}%<%tD4%e%p2%{750}%<%tE1%e%p2%{875}%<%tE\:%eF4%;%?%p3%{125}%<%t0%e%p3%{250}%<%tA2%e%p3%{375}%<%tA?%e%p3%{500}%<%tC8%e%p3%{625}%<%tD4%e%p3%{750}%<%tE1%e%p3%{875}%<%tE\:%eF4%;%?%p4%{125}%<%t0%e%p4%{250}%<%tA2%e%p4%{375}%<%tA?%e%p4%{500}%<%tC8%e%p4%{625}%<%tD4%e%p4%{750}%<%tE1%e%p4%{875}%<%tE\:%eF4%;\E%%!1,
+ invis=\E[=6;<5, is1=\E%!0\ETM1\E%!1\E[m, kbs=^H,
+ kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf0=\EOA,
+@@ -16639,7 +16949,7 @@
+ kf9=\250, khome=\E[H, kich1=\E[^H, knp=\E[U, kpp=\E[V,
+ ll=\E[24;1H, nel=^M, rev=\E[7m, ri=\E[T\E[A,
+ rin=\E[%p1%dT\E[%p1%dA, rmso=\E[m, rmul=\E[m,
+- sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m,
++ sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t30;40%;m,
+ sgr0=\E[m, smso=\E[7m, smul=\E[4m,
+
+ #### Apple II
+@@ -16885,6 +17195,8 @@
+ #
+ # echo "$TERM_PROGRAM" "$TERM_PROGRAM_VERSION"
+ #
++# For Apple_Terminal v309+, use "nsterm-256color" (or "nsterm-bce")
++#
+ # For Apple_Terminal v200+, use "nsterm-16color" (a.k.a. "nsterm")
+ #
+ # For Apple_Terminal v71+/v100+, use "nsterm-bce".
+@@ -17101,6 +17413,7 @@
+ sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+ sgr0=\E[m\017, smacs=^N, use=nsterm+7,
+
++# compare with xterm+sl-twm
+ nsterm+s|AppKit Terminal.app v41+ status-line (window titlebar) support,
+ hs,
+ wsl#50,
+@@ -17186,6 +17499,10 @@
+ # and it is still not settable from the preferences dialog. This is
+ # tracked under rdar://problem/7365108 and rdar://problem/7365134
+ # in Apple's bug reporter.
++#
++# In OS X 10.7 (Leopard) the TERM which can be set in the preferences dialog
++# defaults to xterm-color. Alternative selections are ansi, dtterm, rxvt,
++# vt52, vt100, vt102 and xterm.
+ nsterm-16color|AppKit Terminal.app v240.2+ with Mac OS X version 10.5,
+ bw@, mir, npc,
+ civis=\E[?25l, cnorm=\E[?25h, dch=\E[%p1%dP, dch1=\E[P,
+@@ -17197,10 +17514,10 @@
+ kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[H,
+ knp=\E[6~, kpp=\E[5~, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l,
+ smcup=\E7\E[?47h, smir=\E[4h, vpa=\E[%i%p1%dd,
+- use=nsterm-c-s-acs,
++ kLFT5=\E[5D, kRIT5=\E[5C, use=nsterm-c-s-acs,
+
+ # The versions of Terminal.app in Mac OS X version 10.3.x seem to have
+-# the background color erase bug. The newer version 240.2 in Mac OS X
++# the background color erase feature. The newer version 240.2 in Mac OS X
+ # version 10.5 does not.
+ #
+ # This entry is based on newsgroup comments by Alain Bench, Christian Ebert,
+@@ -17212,12 +17529,40 @@
+ # defaults write com.apple.Terminal TermCapString nsterm-bce
+ #
+ # and that it is not set in Terminal's preferences dialog.
++#
++# Modified for OS X 10.8, omitting bw based on testing with tack -TD
++#
++# Notes:
++# * The terminal description matches the default settings.
++# * The keyboard is configurable via a dialog.
++# * By default khome, kend, knext and kprev are honored only with a
++# shift-modifier.
++# * There are bindings for control left/right arrow (but not up/down).
++# Added those to nsterm-16color, which is the version used for OS X 10.6
++# * "Allow VT100 application keypage mode" is by default disabled.
++# There is no way to press keypad-comma unless application mode is enabled
++# and used.
++# * 132-column mode stopped working during vttest's tests. Consider it broken.
++# * CHT, REP, SU, SD are buggy.
++# * ECH works (also in Leopard), but is not used here for compatibility.
++# * The terminal preferences dialog replaces xterm-color by xterm-16color and
++# xterm-256color. However, it adds "nsterm", so it is possible to use the
++# nsterm entry from this file to override the MacPorts (20110404) or
++# system (20081102) copy of this file.
+ nsterm-bce|AppKit Terminal.app v71+/v100.1.8+ with Mac OS X version 10.3/10.4 (bce),
+- bce, bw, use=nsterm-16color,
++ bce, use=nsterm-16color,
++
++# This is tested with OS X 10.8 (Mountain Lion), 2012/08/11
++# TERM_PROGRAM_VERSION=309
++# Earlier reports state that these differences also apply to OS X 10.7 (Lion),
++# TERM_PROGRAM_VERSION=303
++nsterm-256color|Terminal.app in OS X 10.8,
++ ccc@,
++ initc@, use=xterm+256color, use=nsterm-bce,
+
+ # This is an alias which should always point to the "current" version
+ nsterm|Apple_Terminal|AppKit Terminal.app,
+- use=nsterm-16color,
++ use=nsterm-256color,
+
+ # iTerm.app from http://iterm.sourceforge.net/ is an alternative (and
+ # more featureful) terminal emulator for Mac OS X. It is similar
+@@ -17752,6 +18097,23 @@
+ # See
+ # http://www.minix3.org/manpages/man4/console.4.html
+ minix|minix console (v3),
++ 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,
++ kdch1=\177, kend=\E[Y, kf0=\E[21~, kf1=\E[11~, kf10=\E[21~,
++ kf11=\E[11;2~, kf12=\E[12;2~, kf13=\E[13;2~,
++ kf14=\E[14;2~, kf15=\E[15;2~, kf16=\E[17;2~,
++ kf17=\E[18;2~, kf18=\E[19;2~, kf19=\E[20;2~, kf2=\E[12~,
++ kf20=\E[21;2~, kf21=\E[11;5~, kf22=\E[12;5~,
++ kf23=\E[13;5~, kf24=\E[14;5~, kf25=\E[15;5~,
++ kf26=\E[17;5~, kf27=\E[18;5~, kf28=\E[19;5~,
++ kf29=\E[20;5~, kf3=\E[13~, kf30=\E[21;5~, kf31=\E[11;6~,
++ kf32=\E[12;6~, kf33=\E[13;6~, kf34=\E[14;6~,
++ kf35=\E[15;6~, kf36=\E[17;6~, kf37=\E[18;6~,
++ kf38=\E[19;6~, kf39=\E[20;6~, kf4=\E[14~, kf40=\E[21;6~,
++ kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
++ kich1=\E[@, knp=\E[U, kpp=\E[V, lf0@, lf1@, lf2@, lf3@, lf4@, lf5@,
++ use=minix-3.0,
++
++minix-3.0|minix console (v3.0),
+ use=ecma+color, use=minix-1.7,
+
+ # See
+@@ -17792,7 +18154,7 @@
+ am, use=minix-old,
+
+ pc-minix|minix console on an Intel box,
+- use=klone+acs, use=minix,
++ use=klone+acs, use=minix-3.0,
+
+ # According to the Coherent 2.3 manual, the PC console is similar
+ # to a z19. The differences seem to be (1) 25 lines, (2) no status
+@@ -18195,6 +18557,7 @@
+ use=tws-generic,
+ dku7202|BULL Questar 200 DKU7202 (colour/character attributes),
+ blink=\E[0;2;4m, dim=\E[0;5m, ht=^I, is3=\E[?3h\Eb,
++ sgr=\E[0%?%p1%t;2;4;5;7%;%?%p3%t;7%;%?%p2%t;2%;%?%p4%t;2;4%;%?%p5%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+ smso=\E[0;4;5;7m, smul=\E[0;2m, use=tws-generic,
+
+ #=========================================================#
+@@ -18274,7 +18637,7 @@
+
+ # This entry covers BQ303, BQ306, BQ310, Q303, Q306, Q310
+ bq300|Bull vt320 ISO Latin 1 80 columns terminal,
+- am, eo, eslok, hs, km, mc5i, mir, msgr, xenl, xon,
++ am, eo, eslok, hs, km, mir, msgr, xenl, xon,
+ cols#80, it#8, lines#24, vt#3, wsl#80,
+ acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+ bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+@@ -18298,14 +18661,14 @@
+ kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~,
+ khlp=\E[28~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
+ krdo=\E[29~, kslt=\E[4~, lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4,
+- mc0=\E[i, mc4=\E[4i, mc5=\E[5i, nel=\EE, rc=\E8, rev=\E[7m,
+- ri=\EM, rmacs=\E(B, rmam=\E[?7l, rmcup=\E[?7h, rmir=\E[4l,
+- rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, rs1=\E[!p,
+- rs2=\E[?3l, s0ds=\E(B, s1ds=\E(0, sc=\E7,
++ nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E(B, rmam=\E[?7l,
++ rmcup=\E[?7h, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m,
++ rmul=\E[24m, rs1=\E[!p, rs2=\E[?3l, s0ds=\E(B, s1ds=\E(0,
++ sc=\E7,
+ sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m%?%p9%t\E(0%e\E(B%;,
+ sgr0=\E[0m\E(B, smacs=\E(0, smam=\E[?7h,
+ smcup=\E[?7l\E[?1l\E(B, smir=\E[4h, smso=\E[7m,
+- smul=\E[4m, tbc=\E[3g, tsl=\E[1$}\E[2$~,
++ smul=\E[4m, tbc=\E[3g, tsl=\E[1$}\E[2$~, use=ansi+pp,
+ bq300-rv|Bull vt320 reverse 80 columns,
+ flash=\E[?5l$<50>\E[?5h,
+ is2=\E[?2h\E[?3l\E[?5h\E[?7h\E[?8h\E>\E[?1l\E F\E[?42l\E[?4l,
+@@ -18383,12 +18746,12 @@
+ csr=\233%i%p1%d;%p2%dr, cub=\233%p1%dD, cub1=\2331D,
+ cud=\233%p1%dB, cud1=\2331B, cuf=\233%p1%dC, cuf1=\2331C,
+ cup=\233%i%p1%d;%p2%dH, cuu=\233%p1%dA, cuu1=\2331A,
+- dch=\233%p1%dP, dch1=\233P, dl=\233%p1%dM,
++ dch=\233%p1%dP, dch1=\233P, dl=\233%p1%dM, dl1=\233M,
+ dsl=\2331$}\2332$~\n\2330$}, ech=\233%p1%dX, ed=\233J,
+ el=\233K, el1=\2331K, enacs=\E(B\E)0,
+ flash=\233?5h$<50>\233?5l, fsl=\2330$}, home=\233H,
+- ht=^I, hts=\EH, ich=\233%p1%d@, il=\233%p1%dL, ind=\ED,
+- is1=\E[63;2"p\E[2h,
++ ht=^I, hts=\EH, ich=\233%p1%d@, il=\233%p1%dL, il1=\233L,
++ ind=\ED, is1=\E[63;2"p\E[2h,
+ is2=\E[?2h\E[?3l\E[?5l\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l,
+ is3=\2330$}\233?25h\2332l\233H\233J, ka1=\217w,
+ ka3=\217y, kb2=\217u, kbs=^H, kc1=\217q, kc3=\217s,
+@@ -18401,11 +18764,12 @@
+ khlp=\23328~, kich1=\2332~, knp=\2336~, kpp=\2335~,
+ krdo=\23329~, kslt=\2334~, lf1=pf1, lf2=pf2, lf3=pf3,
+ lf4=pf4, mc0=\233i, mc4=\2334i, mc5=\2335i, nel=\EE, rc=\E8,
+- rev=\2337m, ri=\EM, rmacs=^O, rmam=\233?7l, rmcup=\233?7h,
+- rmir=\2334l, rmkx=\233?1l\E>, rmso=\23327m, rmul=\23324m,
+- rs1=\E[!p, rs2=\E[?3l, s0ds=\E(B, s1ds=\E(0, sc=\E7,
++ rev=\2337m, ri=\EM, rmacs=\E(B, rmam=\233?7l,
++ rmcup=\233?7h, rmir=\2334l, rmkx=\233?1l\E>,
++ rmso=\23327m, rmul=\23324m, rs1=\E[!p, rs2=\E[?3l,
++ s0ds=\E(B, s1ds=\E(0, sc=\E7,
+ sgr=\233%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m%?%p9%t\E(0%e\E(B%;,
+- sgr0=\2330m\E(B, smacs=^N, smam=\233?7h,
++ sgr0=\2330m\E(B, smacs=\E(0, smam=\233?7h,
+ smcup=\233?7l\233?1l\E(B, smir=\2334h, smso=\2337m,
+ smul=\2334m, tbc=\2333g, tsl=\2331$}\2332$~,
+ bq300-8rv|Bull vt320 8-bit reverse mode 80 columns,
+@@ -19010,14 +19374,14 @@
+ cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+ cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+ dch=\E[%p1%dP, dch1=\E[1P, dim=\E[2m, dl=\E[%p1%dM,
+- dsl=\E[>1l, ed=\E[J, el=\E[K, fsl=\E[u\E[>5l, home=\E[H,
+- ht=^I, hts=\EH, if=/usr/share/tabset/vt100, il=\E[%p1%dL,
+- ind=\ED, kbs=^H, kclr=\E[J, kcub1=\EOD, kcud1=\EOB,
+- kcuf1=\EOC, kcuu1=\EOA, ked=\E[J, kf0=\E[~, kf1=\EOS,
+- kf2=\EOT, kf3=\EOU, kf4=\EOV, kf5=\EOW, kf6=\EOP, kf7=\EOQ,
+- kf8=\EOR, kf9=\EOX, khome=\E[H, lf0=help, mc0=\E#7,
+- nel=^M\ED, rc=\E[r, rev=\E[7m, ri=\EM, rmcup=\E[?7h,
+- rmso=\E[m, rmul=\E[m,
++ dl1=\E[M, dsl=\E[>1l, ed=\E[J, el=\E[K, fsl=\E[u\E[>5l,
++ home=\E[H, ht=^I, hts=\EH, if=/usr/share/tabset/vt100,
++ il=\E[%p1%dL, il1=\E[L, ind=\ED, kbs=^H, kclr=\E[J,
++ kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, ked=\E[J,
++ kf0=\E[~, kf1=\EOS, kf2=\EOT, kf3=\EOU, kf4=\EOV, kf5=\EOW,
++ kf6=\EOP, kf7=\EOQ, kf8=\EOR, kf9=\EOX, khome=\E[H, lf0=help,
++ mc0=\E#7, nel=^M\ED, rc=\E[r, rev=\E[7m, ri=\EM,
++ rmcup=\E[?7h, rmso=\E[m, rmul=\E[m,
+ rs1=\E<\E[1;24r\E[24;1H\E[?7h\E[>4h\E[>1;2;3;5;6;7;8;9l\E[m\E[11m,
+ sc=\E[s, sgr0=\E[m, smcup=\E[?7l, smso=\E[7;2m, smul=\E[4m,
+ tbc=\E[3g, tsl=\E[s\E[>5;1h\E[25;%i%dH\E[1K,
+@@ -20217,9 +20581,9 @@
+ sgr0=\EX, smacs=\EF, smso=\ET,
+ env230|envision230|envision 230 graphics terminal,
+ xenl@,
+- mc0=\E[0i, mc4=\E[4i, mc5=\E[5i,
+- sgr=\E[%?%p1%t;1%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m$<2>,
+- use=vt100,
++ enacs@, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, rmacs@,
++ sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m$<2>,
++ sgr0=\E[0m$<2>, smacs@, use=vt100,
+ # These execuports were impact-printer ttys with a 30- or maybe 15-cps acoustic
+ # coupler attached, the whole rig fitting in a suitcase and more or less
+ # portable. Hot stuff for c.1977 :-) -- esr
+@@ -20274,7 +20638,7 @@
+ rmacs=\EH^C, rmam=\Ed., rmcup=, rmir=\Er, rmln=\EA11,
+ rmxon=\Ec20, rs1=\E~!\E~4$<150>, rs2=\EeF$<150>,
+ rs3=\EwG\Ee($<150>,
+- sgr=%?%p8%t\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;\EG%{48}%?%p2%p6%|%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c,
++ sgr=%?%p8%t\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c,
+ sgr0=\E(\EH\003\EG0\EcD, smacs=\EH^B, smam=\Ed/,
+ smcup=\Ezz&\E[A\177\Ezz'\E[B\177\Ezz(\E[D\177\Ezz)\E[C\177\Ezz<\E[Q\177,
+ smir=\Eq, smln=\EA10, smxon=\Ec21, tbc=\E0, tsl=\Ez(,
+@@ -20881,7 +21245,7 @@
+ # assigned in System V terminfo. There are some variant extension sets out
+ # there. We try to describe them here.
+ #
+-# XENIX extensions:
++#### XENIX extensions:
+ #
+ # The XENIX extensions include a set of function-key capabilities as follows:
+ #
+@@ -20946,7 +21310,7 @@
+ # When translating a termcap file, ncurses tic will do this automatically.
+ # The double forms characters don't fit the SVr4 terminfo model.
+ #
+-# AT&T Extensions:
++#### AT&T Extensions:
+ #
+ # The old AT&T 5410, 5420, 5425, pc6300plus, 610, and s4 entries used a set of
+ # nonstandard capabilities. Its signature is the KM capability, used to name
+@@ -20957,7 +21321,7 @@
+ # FL=:LO: (enable soft labels), FE=:LF: (disable soft labels), CI=:vi: (make
+ # cursor invisible), and CV=:ve: (make cursor normal).
+ #
+-# HP Extensions
++#### HP Extensions
+ #
+ # The HP library (as of mid-1995, their term.h file version 70.1) appears to
+ # have the System V capabilities up to SVr1 level. After that, it supports
+@@ -20966,7 +21330,7 @@
+ # label_off, and key_f11..key_f63 capabilities like SVr4's. This makes the
+ # HP binary format incompatible with SVr4's.
+ #
+-# IBM Extensions
++#### IBM Extensions
+ #
+ # There is a set of nonstandard terminfos used by IBM's AIX operating system.
+ # The AIX terminfo library diverged from SVr1 terminfo, and replaces all
+@@ -20994,7 +21358,7 @@
+ # The box2 characters are the double-line versions of these forms graphics.
+ # The AIX binary terminfo format is incompatible with SVr4's.
+ #
+-# Iris console extensions:
++#### Iris console extensions:
+ #
+ # HS is half-intensity start; HE is half-intensity end
+ # CT is color terminal type (for Curses & rogue)
+@@ -21003,7 +21367,7 @@
+ #
+ # The ncurses tic utility recognizes HS as an alias for mh <dim>.
+ #
+-# TC Extensions:
++#### TC Extensions:
+ #
+ # There is a set of extended termcaps associated with something
+ # called the "Terminal Control" or TC package created by MainStream Systems,
+@@ -21011,11 +21375,110 @@
+ # CF for civis and CO for cvvis. Finally, they define a boolean :ct:
+ # that flags color terminals.
+ #
++######## NCURSES USER-DEFINABLE CAPABILITIES
++#
++# Extensions added after ncurses 5.0 generally use the "-x" option of tic and
++# infocmp to manipulate user-definable capabilities. Those that are intended
++# for use in either terminfo or termcap use 2-character names. Extended
++# function keys do not use 2-character names, and are available only with
++# terminfo.
++#
++# As of mid-2012, no other terminfo/termcap implementation than ncurses
++# supports this extension; termcap libraries can as noted above make limited
++# use of the feature.
++#
++# ncurses makes explicit checks for a few user-definable capabilities: AX, U8,
++# XM.
++#
++#### SCREEN Extensions:
++#
++# The screen program uses the termcap interface. It recognizes a few useful
++# nonstandard capabilities. Those are used in this file.
++#
++# AX (bool) Does understand ANSI set default fg/bg color (\E[39m /
++# \E[49m).
++# G0 (bool) Terminal can deal with ISO 2022 font selection sequences.
++# E0 (str) Switch charset 'G0' back to standard charset.
++# S0 (str) Switch charset 'G0' to the specified charset.
++# XT (bool) Terminal understands special xterm sequences (OSC, mouse
++# tracking).
++#
++# AX is relatively straightforward; it is interpreted by ncurses to say that
++# SGR 39/49 reset the terminal's foreground and background colors to their
++# "default".
++#
++# XT is harder, since screen's manpage does not give more details. For that,
++# we must read screen's source-code. When XT is set, screen assumes
++#
++# a) OSC 1 sets the title string, e.g., for the icon. Recent versions of
++# screen may also set the terminal's name, which is (for xterm) distinct
++# from the icon name.
++# b) OSC 20 sets the background pixmap. This is an rxvt feature.
++# c) OSC 39 and OSC 49 set the default foreground/background colors. Again
++# this is an rxvt feature.
++# d) certain mode settings enable the mouse: 9, 1000, 1001, 1002, 1003.
++# These are from xterm, although xterm accepts mouse codes that may not be
++# recognized by screen, e.g., 1005, 1006.
++# e) colors beyond 0..7 are implemented by xterm's aixterm-like 16-color
++# sequence. However, because screen uses only termcap, the values returned
++# by Af/Ab are not usable because they rely on expressions that termcap
++# does not support. Therefore, screen uses a hardcoded string to work
++# around the limitation.
++# f) all entries named "*xterm*" or "*rxvt*" have the bce flag set.
++#
++# The other ISO-2022 features are rarely used, but provided here to make
++# screen's termcap features available.
++#
++#### XTERM Extensions:
++#
++# Most of the xterm extensions are for function-keys. Since patch #94 (in
++# 1999), xterm has supported shift/control/alt/meta modifiers which produce
++# additional function-key strings. Some other developers copied the feature,
++# though they did not follow xterm's lead in patch #167 (in 2002), to make
++# these key definitions less ambiguous.
++#
++# A few terminals provide similar functionality (sending distinct keys when
++# a modifier is used), including rxvt.
++#
++# These are the extended keys defined in this file:
++#
++# kDC3 kDC4 kDC5 kDC6 kDC7 kDN kDN3 kDN4 kDN5 kDN6 kDN7 kEND3 kEND4 kEND5 kEND6
++# kEND7 kHOM3 kHOM4 kHOM5 kHOM6 kHOM7 kIC3 kIC4 kIC5 kIC6 kIC7 kLFT3 kLFT4
++# kLFT5 kLFT6 kLFT7 kNXT3 kNXT4 kNXT5 kNXT6 kNXT7 kPRV3 kPRV4 kPRV5 kPRV6 kPRV7
++# kRIT3 kRIT4 kRIT5 kRIT6 kRIT7 kUP kUP3 kUP4 kUP5 kUP6 kUP7 ka2 kb1 kb3 kc2
++#
++# Here are the other xterm-related extensions which are used in this file:
++#
++# Cr is a string capability which resets the cursor color
++# Cs is a string capability which sets the cursor color to a given value.
++# The single string parameter is the color name/number, according to the
++# implementation.
++# Ms modifies the selection/clipboard. Its parameters are
++# p1 = the storage unit (clipboard, selection or cut buffer)
++# p2 = the base64-encoded clipboard content.
++# Se resets the cursor style to the terminal power-on default.
++# Ss is a string capability with one numeric parameter. It is used to set the
++# cursor style as described by the DECSCUSR function to a block or
++# underline.
++# XM is a string capability which overrides ncurses's built-in string which
++# enables xterm mouse mode.
++#
++#### Miscellaneous extensions:
++#
++# gsbom/grbom are used to enable/disable real bold (not intensity bright) mode.
++# This was implemented for the Hurd.
++# E3 clears the terminal's scrollback buffer. This was implemented in the
++# Linux 3.0 kernel as a security feature. It matches a feature which was
++# added in xterm patch #107.
++# U8 is a numeric capability which denotes a terminal emulator which does not
++# support VT100 SI/SO when processing UTF-8 encoding. Set this to a nonzero
++# value to enable it.
++#
+ ######## CHANGE HISTORY
+ #
+ # The last /etc/termcap version maintained by John Kunze was 8.3, dated 8/5/94.
+-# Releases 9 and up are maintained by Eric S. Raymond as part of the ncurses
+-# project.
++# Releases 9 and 10 (up until the release of ncurses 4.2 in 1998) were
++# maintained by Eric S. Raymond as part of the ncurses project.
+ #
+ # This file contains all the capability information present in John Kunze's
+ # last version of the termcap master file, except as noted in the change
+@@ -21115,7 +21578,7 @@
+ # * Replaced HP entries up to hpsub with purpose-built ones.
+ # * Blank rmir/smir/rmdc/smdc capabilities removed.
+ # * Small fixes merged in from SCO entries for lpr, fos, tvi910+, tvi924.
+-# 9.4.8 (Fri Apr 7 09:36:34 EDT 199):
++# 9.4.8 (Fri Apr 7 09:36:34 EDT 1995):
+ # * Replaced the Ann Arbor entries with SCO's, the init strings are
+ # more efficient (but the entries otherwise identical).
+ # * Added dg211 from Shuford archive.
+@@ -22224,7 +22687,7 @@
+ # * add screen.rxvt -TD
+ #
+ # 2008-04-28
+-# * add screen+fkeys (prompted by Debian # 478094) -TD
++# * add screen+fkeys (prompted by Debian #478094) -TD
+ #
+ # 2008-06-28
+ # * add screen.mlterm -TD
+@@ -22280,7 +22743,7 @@
+ # 2009-12-12
+ # * updated nsterm* entries (Benjamin Sittler, Emanuele Giaquinta)
+ #
+-# 2009-12-12
++# 2009-12-19
+ # * add bw (auto-left-margin) to nsterm* entries (Benjamin Sittler)
+ # * rename minix to minix-1.7, add minix entry for Minux3 -TD
+ #
+@@ -22354,6 +22817,162 @@
+ # * add xterm-utf8 as a demo of the U8 feature -TD
+ #
+ # 2011-02-20
+-# * add cons25-debian entry (Brian M Carlson, Debina #607662).
++# * add cons25-debian entry (Brian M Carlson, Debian #607662).
++#
++# 2011-06-11
++# * update minix entry to minix 3.2 (Thomas Cort).
++#
++# 2011-07-09
++# * fix inconsistent tabset path in pcmw (Todd C. Miller).
++# * remove a backslash which continued comment, obscuring altos3
++# definition with OpenBSD toolset (Nicholas Marriott).
++#
++# 2011-07-16
++# * add/use xterm+tmux chunk from xterm #271 -TD
++# * resync xterm-new entry from xterm #271 -TD
++# * add E3 extended capability to linux-basic (Miroslav Lichvar)
++# * add linux2.2, linux2.6, linux3.0 entries to give context for E3 -TD
++# * add SI/SO change to linux2.6 entry (Debian #515609) -TD
++#
++# 2011-07-21
++# * add kich1 to sun (Yuri Pankov)
++# * use bold rather than reverse for smso in sun-color (Yuri Pankov).
++#
++# 2011-08-06
++# * corrected k9 in dg460-ansi, add other features based on manuals -TD
++#
++# 2011-08-20
++# * minor cleanup of X-terminal emulator section -TD
++# * add terminator entry -TD
++# * add simpleterm entry -TD
++#
++# 2011-09-10
++# * add xterm+kbs fragment from xterm #272 -TD
++#
++# 2011-11-12
++# * add pccon entries for OpenBSD console (Alexei Malinin)
++#
++# 2011-12-17
++# * corrected old changelog comments -TD
++#
++# 2011-11-24
++# * add putty-sco -TD
++#
++# 2012-01-28
++# * add mach-gnu (Samuel Thibault)
++# * add mach-gnu-color, tweaks to mach-gnu -TD
++# * make sgr for sun-color agree with smso -TD
++# * make sgr for prism9 agree with other caps -TD
++# * make sgr for icl6404 agree with other caps -TD
++# * make sgr for ofcons agree with other caps -TD
++# * make sgr for att5410v1, att4415, att620 agree with other caps -TD
++# * make sgr for aaa-unk, aaa-rv agree with other caps -TD
++# * make sgr for avt-ns agree with other caps -TD
++#
++# 2012-02-11
++# * make sgr for xterm-pcolor agree with other caps -TD
++# * make sgr for att5425 agree with other caps -TD
++# * make sgr for att630 agree with other caps -TD
++# * make sgr for linux entries agree with other caps -TD
++# * make sgr for tvi9065 agree with other caps -TD
++# * make sgr for ncr260vt200an agree with other caps -TD
++# * make sgr for ncr160vt100pp agree with other caps -TD
++# * make sgr for ncr260vt300an agree with other caps -TD
++# * make sgr for aaa-60-dec-rv, aaa+dec agree with other caps -TD
++# * make sgr for cygwin, cygwinDBG agree with other caps -TD
++#
++# 2012-03-31
++# * correct order of use-clauses in st-256color -TD
++#
++# 2012-04-01
++# * revert 2011-07-16 change to "linux" alias, return to "linux2.2" -TD
++#
++# 2012-04-14
++# * document all of the user-defined capabilities in one place -TD
++# * add XT to some places to improve usefulness for other applications
++# than screen, which would like to pretend that xterm's title is
++# a status-line. -TD
++# * change use-clauses in ansi-mtabs, hp2626, and hp2622 based on review
++# of ordering and overrides -TD
++#
++# 2012-04-21
++# * add msgr to vt420, similar DEC vtXXX entries -TD
++# * add several missing vt420 capabilities from vt220 -TD
++# * factor out ansi+pp from several entries -TD
++# * change xterm+sl and xterm+sl-twm to include only the status-line
++# capabilities and not "use=xterm", making them more generally useful
++# as building-blocks -TD
++# * add dec+sl building block, as example -TD
++#
++# 2012-04-28
++# * fix some inconsistencies between vt320/vt420, e.g., cnorm/civis -TD
++# * add eslok flag to dec+sl -TD
++# * dec+sl applies to vt320 and up -TD
++# * drop wsl width from xterm+sl -TD
++# * reuse xterm+sl in putty and nsca-m -TD
++# * add ansi+tabs to vt520 -TD
++# * add ansi+enq to vt220-vt520 -TD
++#
++# 2012-05-05
++# * remove p6 (bold) from opus3n1+ for consistency -TD
++# * remove acs stuff from env230 per clues in Ingres termcap -TD
++# * modify env230 sgr/sgr0 to match other capabilities -TD
++# * modify smacs/rmacs in bq300-8 to match sgr/sgr0 -TD
++# * make sgr for dku7202 agree with other caps -TD
++# * make sgr for ibmpc agree with other caps -TD
++# * make sgr for tek4107 agree with other caps -TD
++# * make sgr for ndr9500 agree with other caps -TD
++# * make sgr for sco-ansi agree with other caps -TD
++# * make sgr for d410 agree with other caps -TD
++# * make sgr for d210 agree with other caps -TD
++# * make sgr for d470c, d470c-7b agree with other caps -TD
++#
++# 2012-05-12
++# * rewrite vt520 entry based on vt420 -TD
++# * corrected 'op' for bterm (report by Samuel Thibault) -TD
++#
++# 2012-06-02
++# * add kdch1 to wsvt25 entry from NetBSD CVS (reported by David Lord,
++# analysis by Martin Husemann).
++# * add cnorm/civis to wsvt25 entry from NetBSD CVS (report/analysis by
++# Onno van der Linden).
++# * add kdch1 aka "Remove" to vt220 and vt220-8 entries -TD
++# * add kdch1, etc., to qvt108 -TD
++# * add dl1/il1 to some entries based on dl/il values -TD
++# * add dl to simpleterm -TD
++#
++# 2012-06-10
++# * modify some older xterm entries to align with xterm source -TD
++# * separate "xterm-old" alias from "xterm-r6" -TD
++#
++# 2012-07-28
++# * add E3 to xterm-basic and putty -TD
++#
++# 2012-08-11
++# * add nsterm-256color, make this the default nsterm -TD
++# * remove bw from nsterm-bce, per testing with tack -TD
++#
++# 2012-10-12
++# * add vte-2012, gnome-2012, making these the defaults for vte/gnome
++# (patch by Christian Persch).
++#
++# 2012-11-02
++# * reviewed vte-2012, reverted most of the change since it was incorrect
++# based on testing with tack -TD
++# * un-cancel the initc in vte-256color, since this was implemented
++# starting with version 0.20 in 2009 -TD
++#
++# 2013-03-16
++# * correct typo in sgr string for sun-color,
++# add bold for consistency with sgr,
++# change smso for consistency with sgr -TD
++# * correct typo in sgr string for terminator -TD
++# * add blink to the attributes masked by ncv in linux-16color (report
++# by Benjamin Sittler)
++#
++# 2013-03-23
++# * change initialization for vt220, similar entries for consistency
++# with cursor-key strings (NetBSD #47674) -TD
++# * further improvements to linux-16color (Benjamin Sittler)
+ #
+ ######## SHANTIH! SHANTIH! SHANTIH!
+Index: mk-0th.awk
+Prereq: 1.18
+--- ncurses-5.9/mk-0th.awk 2010-01-09 21:45:41.000000000 +0000
++++ ncurses-5.9-20130504/mk-0th.awk 2012-06-30 20:56:11.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: mk-0th.awk,v 1.18 2010/01/09 21:45:41 tom Exp $
++# $Id: mk-0th.awk,v 1.22 2012/06/30 20:56:11 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -34,14 +34,62 @@
+ # Variables:
+ # libname (library name, e.g., "ncurses", "panel", "forms", "menus")
+ # subsets (is used here to decide if wide-character code is used)
++# ticlib (library name for libtic, e.g., "tic")
++# termlib (library name for libtinfo, e.g., "tinfo")
+ #
++function make_lintlib(name,sources) {
++ print ""
++ print "clean ::"
++ printf "\trm -f llib-l%s.*\n", name
++ print ""
++ print "realclean ::"
++ printf "\trm -f llib-l%s\n", name
++ print ""
++ printf "llib-l%s : %s\n", name, sources
++ printf "\tcproto -a -l -DNCURSES_ENABLE_STDBOOL_H=0 -DLINT $(CPPFLAGS) %s >$@\n", sources
++ print ""
++ print "lintlib ::"
++ printf "\tsh $(srcdir)/../misc/makellib %s $(CPPFLAGS)\n", name
++ print ""
++ print "lint ::"
++ printf "\t$(LINT) $(LINT_OPTS) $(CPPFLAGS) %s $(LINT_LIBS)\n", sources
++}
++
++# A blank in "subsets" indicates a split-off of the library into a separate
++# file, e.g., for libtic or libtinfo. They are all logical parts of the same
++# library.
++function which_library() {
++ if ( ( which == "ticlib" ) && ( subsets ~ /ticlib / ) ) {
++ return ticlib;
++ } else if ( ( which == "termlib" || which == "ext_tinfo" ) && ( subsets ~ /[[:space:]]base/ ) ) {
++ return termlib;
++ } else {
++ return libname;
++ }
++}
++
++function show_list(name, len, list) {
++ if ( len > 0 ) {
++ printf "\n%s_SRC =", toupper(name);
++ for (n = 0; n < len; ++n)
++ printf " \\\n\t%s", list[n];
++ print "";
++ make_lintlib(name, sprintf("$(%s_SRC)", toupper(name)));
++ }
++}
++
+ BEGIN {
+ which = libname;
+ using = 0;
+ found = 0;
++ count_ticlib = 0;
++ count_termlib = 0;
++ count_library = 0;
+ }
+ /^@/ {
+ which = $0;
++ sub(/^@[[:blank:]]+/, "", which);
++ sub(/[[:blank:]]+$/, "", which);
+ }
+ !/^[@#]/ {
+ if (using == 0)
+@@ -50,6 +98,10 @@
+ print "# generated by mk-0th.awk"
+ printf "# libname: %s\n", libname
+ printf "# subsets: %s\n", subsets
++ if ( libname ~ /ncurses/ ) {
++ printf "# ticlib: %s\n", ticlib
++ printf "# termlib: %s\n", termlib
++ }
+ print ""
+ print ".SUFFIXES: .c .cc .h .i .ii"
+ print ".c.i :"
+@@ -80,9 +132,18 @@
+ found = 2
+ }
+ if ( libname == "c++" || libname == "c++w" ) {
+- printf " \\\n\t%s/%s.cc", $3, $1
++ srcname = sprintf("%s/%s.cc", $3, $1);
++ printf " \\\n\t%s", srcname;
+ } else if ( widechar == 1 || $3 != "$(wide)" ) {
+- printf " \\\n\t%s/%s.c", $3, $1
++ srcname = sprintf("%s/%s.c", $3, $1);
++ printf " \\\n\t%s", srcname;
++ if ( which_library() == libname ) {
++ list_library[count_library++] = srcname;
++ } else if ( which_library() == ticlib ) {
++ list_ticlib[count_ticlib++] = srcname;
++ } else {
++ list_termlib[count_termlib++] = srcname;
++ }
+ }
+ }
+ }
+@@ -91,22 +152,11 @@
+ if ( found == 1 )
+ {
+ print ""
+- printf "# Producing llib-l%s is time-consuming, so there's no direct-dependency for\n", libname
+- print "# it in the lintlib rule. We'll only remove in the cleanest setup."
+- print "clean ::"
+- printf "\trm -f llib-l%s.*\n", libname
+- print ""
+- print "realclean ::"
+- printf "\trm -f llib-l%s\n", libname
+- print ""
+- printf "llib-l%s : $(C_SRC)\n", libname
+- printf "\tcproto -a -l -DNCURSES_ENABLE_STDBOOL_H=0 -DLINT $(CPPFLAGS) $(C_SRC) >$@\n"
+- print ""
+- print "lintlib :"
+- printf "\tsh $(srcdir)/../misc/makellib %s $(CPPFLAGS)", libname
+- print ""
+- print "lint :"
+- print "\t$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(C_SRC) $(LINT_LIBS)"
++ printf "# Producing llib-l%s is time-consuming, so there's no direct-dependency for\n", libname;
++ print "# it in the lintlib rule. We'll only remove in the cleanest setup.";
++ show_list(libname, count_library, list_library);
++ show_list(ticlib, count_ticlib, list_ticlib);
++ show_list(termlib, count_termlib, list_termlib);
+ }
+ else
+ {
+@@ -115,3 +165,4 @@
+ print "\t@echo no action needed"
+ }
+ }
++# vile:ts=4 sw=4
+Index: mk-1st.awk
+Prereq: 1.85
+--- ncurses-5.9/mk-1st.awk 2010-08-07 20:42:30.000000000 +0000
++++ ncurses-5.9-20130504/mk-1st.awk 2013-03-12 11:09:40.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: mk-1st.awk,v 1.85 2010/08/07 20:42:30 Gabriele.Balducci Exp $
++# $Id: mk-1st.awk,v 1.95 2013/03/12 11:09:40 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -34,10 +34,12 @@
+ # name (library name, e.g., "ncurses", "panel", "forms", "menus")
+ # traces ("all" or "DEBUG", to control whether tracing is compiled in)
+ # MODEL (e.g., "DEBUG", uppercase; toupper is not portable)
++# CXX_MODEL (e.g., "DEBUG", uppercase)
+ # model (directory into which we compile, e.g., "obj")
+ # prefix (e.g., "lib", for Unix-style libraries)
+ # suffix (e.g., "_g.a", for debug libraries)
+ # subset ("none", "base", "base+ext_funcs" or "termlib", etc.)
++# driver ("yes" or "no", depends on --enable-term-driver)
+ # ShlibVer ("rel", "abi" or "auto", to augment DoLinks variable)
+ # ShlibVerInfix ("yes" or "no", determines location of version #)
+ # SymLink ("ln -s", etc)
+@@ -69,7 +71,7 @@
+ }
+ # see imp_name
+ function imp_name_of(a_name) {
+- if (ShlibVerInfix == "cygdll") {
++ if (ShlibVerInfix == "cygdll" || ShlibVerInfix == "mingw") {
+ result = sprintf("%s%s%s.a", prefix, a_name, suffix);
+ } else {
+ result = "";
+@@ -80,6 +82,8 @@
+ function abi_name_of(a_name) {
+ if (ShlibVerInfix == "cygdll") {
+ result = sprintf("%s%s$(ABI_VERSION)%s", "cyg", a_name, suffix);
++ } else if (ShlibVerInfix == "mingw") {
++ result = sprintf("%s%s$(ABI_VERSION)%s", prefix, a_name, suffix);
+ } else if (ShlibVerInfix == "yes") {
+ result = sprintf("%s%s.$(ABI_VERSION)%s", prefix, a_name, suffix);
+ } else {
+@@ -91,6 +95,8 @@
+ function rel_name_of(a_name) {
+ if (ShlibVerInfix == "cygdll") {
+ result = sprintf("%s%s$(REL_VERSION)%s", "cyg", a_name, suffix);
++ } else if (ShlibVerInfix == "mingw") {
++ result = sprintf("%s%s$(REL_VERSION)%s", prefix, a_name, suffix);
+ } else if (ShlibVerInfix == "yes") {
+ result = sprintf("%s%s.$(REL_VERSION)%s", prefix, a_name, suffix);
+ } else {
+@@ -107,7 +113,7 @@
+ } else {
+ if ( ShlibVer == "rel" ) {
+ result = rel_name_of(a_name);
+- } else if ( ShlibVer == "abi" || ShlibVer == "cygdll" ) {
++ } else if ( ShlibVer == "abi" || ShlibVer == "cygdll" || ShlibVer == "mingw" ) {
+ result = abi_name_of(a_name);
+ } else {
+ result = lib_name_of(a_name);
+@@ -124,23 +130,38 @@
+ }
+ }
+ function rmlink(directory, dst) {
+- printf "\t-rm -f %s/%s\n", directory, dst
++ if ( dst != "" ) {
++ printf "\t-rm -f %s/%s\n", directory, dst
++ }
+ }
+ function removelinks(directory) {
+- rmlink(directory, end_name);
++ nlinks = 0;
++ links[nlinks++] = end_name;
+ if ( DoLinks == "reverse" ) {
+ if ( ShlibVer == "rel" ) {
+- rmlink(directory, abi_name);
+- rmlink(directory, rel_name);
++ links[nlinks++] = abi_name;
++ links[nlinks++] = rel_name;
+ } else if ( ShlibVer == "abi" ) {
+- rmlink(directory, abi_name);
++ links[nlinks++] = abi_name;
+ }
+ } else {
+ if ( ShlibVer == "rel" ) {
+- rmlink(directory, abi_name);
+- rmlink(directory, lib_name);
++ links[nlinks++] = abi_name;
++ links[nlinks++] = lib_name;
+ } else if ( ShlibVer == "abi" ) {
+- rmlink(directory, lib_name);
++ links[nlinks++] = lib_name;
++ }
++ }
++ for (j = 0; j < nlinks; ++j) {
++ found = 0;
++ for (k = 0; k < j; ++k ) {
++ if ( links[j] == links[k] ) {
++ found = 1;
++ break;
++ }
++ }
++ if ( !found ) {
++ rmlink(directory, links[j]);
+ }
+ }
+ }
+@@ -148,7 +169,7 @@
+ printf "\t$(MK_SHARED_LIB) $(%s_OBJS) $(%s) $(LDFLAGS)\n", objs, shlib_list
+ }
+ function sharedlinks(directory) {
+- if ( ShlibVer != "auto" && ShlibVer != "cygdll" ) {
++ if ( ShlibVer != "auto" && ShlibVer != "cygdll" && ShlibVer != "mingw" ) {
+ printf "\tcd %s && (", directory
+ if ( DoLinks == "reverse" ) {
+ if ( ShlibVer == "rel" ) {
+@@ -181,6 +202,11 @@
+ dst_libs = sprintf("%s/%s", directory, end_name);
+ printf "%s : \\\n", dst_libs
+ printf "\t\t%s \\\n", directory
++ if (subset == "ticlib" && driver == "yes" ) {
++ base = name;
++ sub(/^tic/, "ncurses", base); # workaround for "w"
++ printf "\t\t%s/%s \\\n", directory, end_name_of(base);
++ }
+ if (subset ~ /^base/ || subset == "ticlib" ) {
+ save_suffix = suffix
+ sub(/^[^.]\./,".",suffix)
+@@ -223,8 +249,9 @@
+ printf "\t%s %s %s\n", program, src_name, dst_name
+ }
+ BEGIN {
+- found = 0
+- using = 0
++ TOOL_PREFIX = "";
++ found = 0;
++ using = 0;
+ }
+ /^@/ {
+ using = 0
+@@ -233,15 +260,26 @@
+ } else if (index(subset,$2) > 0) {
+ if (using == 0) {
+ if (found == 0) {
++ if ( name ~ /^.*\+\+.*/ ) {
++ if ( CXX_MODEL == "NORMAL" && MODEL == "SHARED" ) {
++ print ""
++ printf "# overriding model from %s to match CXX_MODEL\n", MODEL;
++ MODEL = "NORMAL";
++ suffix = ".a";
++ DoLinks = "no";
++ }
++ }
+ print ""
+ printf "# generated by mk-1st.awk (subset=%s)\n", subset
+ printf "# name: %s\n", name
+ printf "# traces: %s\n", traces
+ printf "# MODEL: %s\n", MODEL
++ printf "# CXX_MODEL: %s\n", CXX_MODEL
+ printf "# model: %s\n", model
+ printf "# prefix: %s\n", prefix
+ printf "# suffix: %s\n", suffix
+ printf "# subset: %s\n", subset
++ printf "# driver: %s\n", driver
+ printf "# ShlibVer: %s\n", ShlibVer
+ printf "# ShlibVerInfix: %s\n", ShlibVerInfix
+ printf "# SymLink: %s\n", SymLink
+@@ -285,12 +323,23 @@
+ if ( found == 0 )
+ {
+ printf "%s_OBJS =", OBJS
+- if ( $2 == "lib" )
+- found = 1
+- else
+- found = 2
++ if ( $2 == "lib" ) {
++ found = 1;
++ } else if ( $2 == "c++" ) {
++ TOOL_PREFIX = "CXX_";
++ found = 1;
++ } else {
++ found = 2;
++ }
++ if ( $2 == "c++" ) {
++ CC_NAME="CXX"
++ CC_FLAG="CXXFLAGS"
++ } else {
++ CC_NAME="CC"
++ CC_FLAG="CFLAGS"
++ }
+ }
+- printf " \\\n\t../%s/%s$o", model, $1
++ printf " \\\n\t../%s/%s$o", model, $1;
+ }
+ }
+ END {
+@@ -316,7 +365,7 @@
+ print "install \\"
+ print "install.libs \\"
+
+- if ( ShlibVer == "cygdll" ) {
++ if ( ShlibVer == "cygdll" || ShlibVer == "mingw") {
+
+ dst_dirs = "$(DESTDIR)$(bindir) $(DESTDIR)$(libdir)";
+ printf "install.%s :: %s $(LIBRARIES)\n", name, dst_dirs
+@@ -337,7 +386,7 @@
+
+ if ( overwrite == "yes" && name == "ncurses" )
+ {
+- if ( ShlibVer == "cygdll" ) {
++ if ( ShlibVer == "cygdll" || ShlibVer == "mingw") {
+ ovr_name = sprintf("libcurses%s.a", suffix)
+ printf "\t@echo linking %s to %s\n", imp_name, ovr_name
+ printf "\tcd $(DESTDIR)$(libdir) && ("
+@@ -358,7 +407,7 @@
+ print "uninstall \\"
+ print "uninstall.libs \\"
+ printf "uninstall.%s ::\n", name
+- if ( ShlibVer == "cygdll" ) {
++ if ( ShlibVer == "cygdll" || ShlibVer == "mingw") {
+
+ printf "\t@echo uninstalling $(DESTDIR)$(bindir)/%s\n", end_name
+ printf "\t-@rm -f $(DESTDIR)$(bindir)/%s\n", end_name
+@@ -371,11 +420,7 @@
+ removelinks("$(DESTDIR)$(libdir)")
+ if ( overwrite == "yes" && name == "ncurses" )
+ {
+- if ( ShlibVer == "cygdll" ) {
+- ovr_name = sprintf("libcurses%s.a", suffix)
+- } else {
+- ovr_name = sprintf("libcurses%s", suffix)
+- }
++ ovr_name = sprintf("libcurses%s", suffix)
+ printf "\t-@rm -f $(DESTDIR)$(libdir)/%s\n", ovr_name
+ }
+ }
+@@ -388,20 +433,19 @@
+ }
+ else if ( MODEL == "LIBTOOL" )
+ {
+- if ( $2 == "c++" ) {
+- compile="CXX"
+- } else {
+- compile="CC"
+- }
+ end_name = lib_name;
+ printf "../lib/%s : $(%s_OBJS)\n", lib_name, OBJS
+ if ( is_ticlib() ) {
+- printf "\tcd ../lib && $(LIBTOOL_LINK) $(%s) -o %s $(%s_OBJS:$o=.lo) -rpath $(DESTDIR)$(libdir) %s $(NCURSES_MAJOR):$(NCURSES_MINOR) $(LT_UNDEF) $(TICS_LIST)\n", compile, lib_name, OBJS, libtool_version
++ which_list = "TICS_LIST";
+ } else if ( is_termlib() ) {
+- printf "\tcd ../lib && $(LIBTOOL_LINK) $(%s) -o %s $(%s_OBJS:$o=.lo) -rpath $(DESTDIR)$(libdir) %s $(NCURSES_MAJOR):$(NCURSES_MINOR) $(LT_UNDEF) $(TINFO_LIST)\n", compile, lib_name, OBJS, libtool_version
++ which_list = "TINFO_LIST";
+ } else {
+- printf "\tcd ../lib && $(LIBTOOL_LINK) $(%s) -o %s $(%s_OBJS:$o=.lo) -rpath $(DESTDIR)$(libdir) %s $(NCURSES_MAJOR):$(NCURSES_MINOR) $(LT_UNDEF) $(SHLIB_LIST)\n", compile, lib_name, OBJS, libtool_version
++ which_list = "SHLIB_LIST";
+ }
++ printf "\tcd ../lib && $(LIBTOOL_LINK) $(%s) $(%s) \\\n", CC_NAME, CC_FLAG;
++ printf "\t\t-o %s $(%s_OBJS:$o=.lo) \\\n", lib_name, OBJS;
++ printf "\t\t-rpath $(DESTDIR)$(libdir) \\\n";
++ printf "\t\t%s $(NCURSES_MAJOR):$(NCURSES_MINOR) $(LT_UNDEF) $(%s) $(LDFLAGS)\n", libtool_version, which_list;
+ print ""
+ print "install \\"
+ print "install.libs \\"
+@@ -419,7 +463,7 @@
+ {
+ end_name = lib_name;
+ printf "../lib/%s : $(%s_OBJS)\n", lib_name, OBJS
+- printf "\t$(AR) $(ARFLAGS) $@ $?\n"
++ printf "\t$(%sAR) $(%sARFLAGS) $@ $?\n", TOOL_PREFIX, TOOL_PREFIX;
+ printf "\t$(RANLIB) $@\n"
+ if ( host == "vxworks" )
+ {
+Index: ncurses/Makefile.in
+Prereq: 1.130
+--- ncurses-5.9/ncurses/Makefile.in 2010-11-27 21:45:27.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/Makefile.in 2012-12-22 23:34:40.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: Makefile.in,v 1.130 2010/11/27 21:45:27 tom Exp $
++# $Id: Makefile.in,v 1.136 2012/12/22 23:34:40 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -64,6 +64,7 @@
+ bindir = @bindir@
+ libdir = @libdir@
+ includedir = @includedir@
++datarootdir = @datarootdir@
+ datadir = @datadir@
+
+ LIBTOOL = @LIBTOOL@
+@@ -107,7 +108,7 @@
+ # is compiled into the build, or are test-programs that are not installed.
+
+ BUILD_EXEEXT = @BUILD_EXEEXT@
+-x = @PROG_EXT@
++x = @EXEEXT@
+
+ CFLAGS_LIBTOOL = $(CCFLAGS)
+ CFLAGS_NORMAL = $(CCFLAGS)
+@@ -125,6 +126,7 @@
+ TINFO_LIST = $(SHLIB_DIRS) @TINFO_LIST@
+ TICS_LIST = $(SHLIB_DIRS) @TICS_LIST@
+
++RPATH_LIST = @RPATH_LIST@
+ MK_SHARED_LIB = @MK_SHARED_LIB@
+
+ NCURSES_MAJOR = @NCURSES_MAJOR@
+@@ -134,7 +136,7 @@
+
+ RANLIB = @LIB_PREP@
+
+-LIBRARIES = @LIBS_TO_MAKE@
++LIBRARIES = @Libs_To_Make@
+
+ LINT = @LINT@
+ LINT_OPTS = @LINT_OPTS@
+@@ -262,7 +264,7 @@
+ -rm -f $(AUTO_SRC)
+ -rm -f make_keys$(BUILD_EXEEXT)
+ -rm -f make_hash$(BUILD_EXEEXT)
+- -rm -rf .libs
++ -rm -rf .libs *.dSYM
+
+ distclean :: clean
+ -rm -f Makefile
+@@ -282,21 +284,21 @@
+ sh -e $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" implemented <../include/curses.h >$@
+
+ captoinfo$x : $(tinfo)/captoinfo.c $(TEST_DEPS)
+- @ECHO_LINK@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DMAIN $(tinfo)/captoinfo.c $(TEST_LDFLAGS)
++ @ECHO_LD@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DMAIN $(tinfo)/captoinfo.c $(TEST_LDFLAGS)
+
+ hardscroll$x : $(serial)/hardscroll.c $(TEST_DEPS)
+- @ECHO_LINK@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DSCROLLDEBUG $(serial)/hardscroll.c $(TEST_LDFLAGS)
++ @ECHO_LD@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DSCROLLDEBUG $(serial)/hardscroll.c $(TEST_LDFLAGS)
+
+ hashmap$x : $(serial)/hashmap.c $(serial)/hardscroll.c $(TEST_DEPS)
+- @ECHO_LINK@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DHASHDEBUG $(serial)/hashmap.c $(serial)/hardscroll.c $(TEST_LDFLAGS)
++ @ECHO_LD@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DHASHDEBUG $(serial)/hashmap.c $(serial)/hardscroll.c $(TEST_LDFLAGS)
+
+ lib_mvcur$x : $(serial)/lib_mvcur.c $(TEST_DEPS) \
+ ../@DFT_OBJ_SUBDIR@/dump_entry$o
+- @ECHO_LINK@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DNCURSES_TEST -I$(serial)/../../progs $(serial)/lib_mvcur.c ../@DFT_OBJ_SUBDIR@/dump_entry$o $(TEST_LDFLAGS)
++ @ECHO_LD@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DNCURSES_TEST -I$(serial)/../../progs $(serial)/lib_mvcur.c ../@DFT_OBJ_SUBDIR@/dump_entry$o $(TEST_LDFLAGS)
+
+ link_test$x : ./link_test.c $(TEST_DEPS) \
+ ../@DFT_OBJ_SUBDIR@/link_test$o
+- @ECHO_LINK@ $(CC) -o $@ $(CFLAGS_DEFAULT) ../@DFT_OBJ_SUBDIR@/link_test$o $(TEST_LDFLAGS)
++ @ECHO_LD@ $(CC) -o $@ $(CFLAGS_DEFAULT) ../@DFT_OBJ_SUBDIR@/link_test$o $(TEST_LDFLAGS)
+
+ ../@DFT_OBJ_SUBDIR@/dump_entry$o:
+ cd ../progs && $(MAKE) ../@DFT_OBJ_SUBDIR@/dump_entry$o
+Index: ncurses/base/MKkeyname.awk
+Prereq: 1.45
+--- ncurses-5.9/ncurses/base/MKkeyname.awk 2010-12-19 01:36:14.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/MKkeyname.awk 2012-02-22 22:35:41.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: MKkeyname.awk,v 1.45 2010/12/19 01:36:14 tom Exp $
++# $Id: MKkeyname.awk,v 1.47 2012/02/22 22:35:41 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1999-2009,2010 Free Software Foundation, Inc. #
++# Copyright (c) 1999-2010,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -100,17 +100,18 @@
+ print " if (MyTable[c] == 0) {"
+ print " int cc = c;"
+ print " p = name;"
++ print "#define P_LIMIT (sizeof(name) - (size_t) (p - name))"
+ print " if (cc >= 128 && (sp == 0 || sp->_use_meta)) {"
+- print " strcpy(p, \"M-\");"
++ print " _nc_STRCPY(p, \"M-\", P_LIMIT);"
+ print " p += 2;"
+ print " cc -= 128;"
+ print " }"
+ print " if (cc < 32)"
+- print " sprintf(p, \"^%c\", cc + '@');"
++ print " _nc_SPRINTF(p, _nc_SLIMIT(P_LIMIT) \"^%c\", cc + '@');"
+ print " else if (cc == 127)"
+- print " strcpy(p, \"^?\");"
++ print " _nc_STRCPY(p, \"^?\", P_LIMIT);"
+ print " else"
+- print " sprintf(p, \"%c\", cc);"
++ print " _nc_SPRINTF(p, _nc_SLIMIT(P_LIMIT) \"%c\", cc);"
+ print " MyTable[c] = strdup(name);"
+ print " }"
+ print " result = MyTable[c];"
+Index: ncurses/base/MKlib_gen.sh
+Prereq: 1.43
+--- ncurses-5.9/ncurses/base/MKlib_gen.sh 2011-01-22 19:47:29.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/MKlib_gen.sh 2011-06-04 19:14:08.000000000 +0000
+@@ -2,7 +2,7 @@
+ #
+ # MKlib_gen.sh -- generate sources from curses.h macro definitions
+ #
+-# ($Id: MKlib_gen.sh,v 1.43 2011/01/22 19:47:29 tom Exp $)
++# ($Id: MKlib_gen.sh,v 1.46 2011/06/04 19:14:08 tom Exp $)
+ #
+ ##############################################################################
+ # Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. #
+@@ -410,10 +410,45 @@
+ print "#undef vwprintw"
+ }
+ /^DECLARATIONS/ {start = 1; next;}
+- {if (start) print \$0;}
++ {
++ if (start) {
++ if ( "$USE" == "generated" ) {
++ print \$0;
++ } else if ( \$0 ~ /^[{}]?\$/ ) {
++ print \$0;
++ } else if ( \$0 ~ /;/ ) {
++ print \$0;
++ } else {
++ calls[start] = \$0;
++ print \$0;
++ start++;
++ }
++ }
++ }
+ END {
+ if ( "$USE" != "generated" ) {
+- print "int main(void) { return 0; }"
++ print "int main(void)"
++ print "{"
++ for (n = 1; n < start; ++n) {
++ value = calls[n];
++ if ( value !~ /P_POUNDC/ ) {
++ gsub(/[[:blank:]]+/," ",value);
++ sub(/^[[:alnum:]_]+ /,"",value);
++ sub(/^\* /,"",value);
++ gsub(/[[:alnum:]_]+ \* /,"",value);
++ gsub(/ (const) /," ",value);
++ gsub(/ (int|short|attr_t|chtype|wchar_t|NCURSES_BOOL|NCURSES_OUTC|NCURSES_OUTC_sp|va_list) /," ",value);
++ gsub(/ void /,"",value);
++ sub(/^/,"call_",value);
++ gsub(/ (a[[:digit:]]|z) /, " 0 ", value);
++ gsub(/ int[[:blank:]]*[(][^)]+[)][(][^)]+[)]/, "0", value);
++ printf "\t%s;\n", value;
++ } else {
++ print value;
++ }
++ }
++ print " return 0;"
++ print "}"
+ }
+ }
+ EOF1
+@@ -422,6 +457,8 @@
+ #include <ncurses_cfg.h>
+ #undef NCURSES_NOMACROS
+ #include <curses.h>
++#include <term.h>
++#include <unctrl.h>
+
+ DECLARATIONS
+
+Index: ncurses/base/MKunctrl.awk
+Prereq: 1.26
+--- ncurses-5.9/ncurses/base/MKunctrl.awk 2009-07-04 22:05:15.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/MKunctrl.awk 2012-06-09 20:29:33.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: MKunctrl.awk,v 1.26 2009/07/04 22:05:15 Clemens.Ladisch Exp $
++# $Id: MKunctrl.awk,v 1.27 2012/06/09 20:29:33 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2009,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -140,7 +140,7 @@
+ } else {
+ stringname = "unctrl"
+ }
+- print "\tint check = ChCharOf(ch);"
++ print "\tint check = (int) ChCharOf(ch);"
+ print "\tconst char *result;"
+ print ""
+ print "\tif (check >= 0 && check < (int)SIZEOF(unctrl_table)) {"
+Index: ncurses/base/keybound.c
+Prereq: 1.10
+--- ncurses-5.9/ncurses/base/keybound.c 2009-10-24 22:15:47.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/keybound.c 2011-10-22 16:47:05.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1999-2006,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1999-2009,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -33,7 +33,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: keybound.c,v 1.10 2009/10/24 22:15:47 tom Exp $")
++MODULE_ID("$Id: keybound.c,v 1.11 2011/10/22 16:47:05 tom Exp $")
+
+ /*
+ * Returns the count'th string definition which is associated with the
+@@ -46,7 +46,10 @@
+
+ T((T_CALLED("keybound(%p, %d,%d)"), (void *) SP_PARM, code, count));
+ if (SP_PARM != 0 && code >= 0) {
+- result = _nc_expand_try(SP_PARM->_keytry, (unsigned) code, &count, 0);
++ result = _nc_expand_try(SP_PARM->_keytry,
++ (unsigned) code,
++ &count,
++ (size_t) 0);
+ }
+ returnPtr(result);
+ }
+Index: ncurses/base/keyok.c
+Prereq: 1.10
+--- ncurses-5.9/ncurses/base/keyok.c 2009-10-24 22:15:47.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/keyok.c 2012-11-18 02:14:35.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2006,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -33,7 +33,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: keyok.c,v 1.10 2009/10/24 22:15:47 tom Exp $")
++MODULE_ID("$Id: keyok.c,v 1.13 2012/11/18 02:14:35 tom Exp $")
+
+ /*
+ * Enable (or disable) ncurses' interpretation of a keycode by adding (or
+@@ -50,37 +50,47 @@
+ {
+ int code = ERR;
+
+- T((T_CALLED("keyok(%p, %d,%d)"), (void *) SP_PARM, c, flag));
++ if (HasTerminal(SP_PARM)) {
++ T((T_CALLED("keyok(%p, %d,%d)"), (void *) SP_PARM, c, flag));
+ #ifdef USE_TERM_DRIVER
+- code = CallDriver_2(sp, kyOk, c, flag);
++ code = CallDriver_2(sp, kyOk, c, flag);
+ #else
+- T((T_CALLED("keyok(%d,%d)"), c, flag));
+- if (c >= 0) {
+- int count = 0;
+- char *s;
+- unsigned ch = (unsigned) c;
+-
+- if (flag) {
+- while ((s = _nc_expand_try(SP_PARM->_key_ok, ch, &count, 0)) != 0
+- && _nc_remove_key(&(SP_PARM->_key_ok), ch)) {
+- code = _nc_add_to_try(&(SP_PARM->_keytry), s, ch);
+- free(s);
+- count = 0;
+- if (code != OK)
+- break;
+- }
+- } else {
+- while ((s = _nc_expand_try(SP_PARM->_keytry, ch, &count, 0)) != 0
+- && _nc_remove_key(&(SP_PARM->_keytry), ch)) {
+- code = _nc_add_to_try(&(SP_PARM->_key_ok), s, ch);
+- free(s);
+- count = 0;
+- if (code != OK)
+- break;
++ T((T_CALLED("keyok(%d,%d)"), c, flag));
++ if (c >= 0) {
++ int count = 0;
++ char *s;
++ unsigned ch = (unsigned) c;
++
++ if (flag) {
++ while ((s = _nc_expand_try(SP_PARM->_key_ok,
++ ch, &count, (size_t) 0)) != 0) {
++ if (_nc_remove_key(&(SP_PARM->_key_ok), ch)) {
++ code = _nc_add_to_try(&(SP_PARM->_keytry), s, ch);
++ free(s);
++ count = 0;
++ if (code != OK)
++ break;
++ } else {
++ free(s);
++ }
++ }
++ } else {
++ while ((s = _nc_expand_try(SP_PARM->_keytry,
++ ch, &count, (size_t) 0)) != 0) {
++ if (_nc_remove_key(&(SP_PARM->_keytry), ch)) {
++ code = _nc_add_to_try(&(SP_PARM->_key_ok), s, ch);
++ free(s);
++ count = 0;
++ if (code != OK)
++ break;
++ } else {
++ free(s);
++ }
++ }
+ }
+ }
+- }
+ #endif
++ }
+ returnCode(code);
+ }
+
+Index: ncurses/base/lib_addch.c
+Prereq: 1.124
+--- ncurses-5.9/ncurses/base/lib_addch.c 2010-04-24 22:41:05.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_addch.c 2013-03-17 00:30:29.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -36,7 +36,7 @@
+ #include <curses.priv.h>
+ #include <ctype.h>
+
+-MODULE_ID("$Id: lib_addch.c,v 1.124 2010/04/24 22:41:05 tom Exp $")
++MODULE_ID("$Id: lib_addch.c,v 1.127 2013/03/17 00:30:29 tom Exp $")
+
+ static const NCURSES_CH_T blankchar = NewChar(BLANK_TEXT);
+
+@@ -209,7 +209,8 @@
+ buffer[WINDOW_EXT(win, addch_used)] = '\0';
+ if ((len = (int) mbrtowc(&result,
+ buffer,
+- WINDOW_EXT(win, addch_used), &state)) > 0) {
++ (size_t) WINDOW_EXT(win, addch_used),
++ &state)) > 0) {
+ attr_t attrs = AttrOf(CHDEREF(ch));
+ if_EXT_COLORS(int pair = GetPair(CHDEREF(ch)));
+ SetChar(CHDEREF(ch), result, attrs);
+@@ -411,10 +412,12 @@
+ #endif
+ const char *s = NCURSES_SP_NAME(unctrl) (NCURSES_SP_ARGx t);
+ int tabsize = 8;
++
+ /*
+ * If we are using the alternate character set, forget about locale.
+ * Otherwise, if unctrl() returns a single-character or the locale
+- * claims the code is printable, treat it that way.
++ * claims the code is printable (and not also a control character),
++ * treat it that way.
+ */
+ if ((AttrOf(ch) & A_ALTCHARSET)
+ || (
+@@ -424,14 +427,15 @@
+ s[1] == 0
+ )
+ || (
+- isprint(t)
++ (isprint(t) && !iscntrl(t))
+ #if USE_WIDEC_SUPPORT
+ || ((sp == 0 || !sp->_legacy_coding) &&
+ (WINDOW_EXT(win, addch_used)
+ || !_nc_is_charable(CharOf(ch))))
+ #endif
+- ))
++ )) {
+ return waddch_literal(win, ch);
++ }
+
+ /*
+ * Handle carriage control and other codes that are not printable, or are
+Index: ncurses/base/lib_addstr.c
+Prereq: 1.51
+--- ncurses-5.9/ncurses/base/lib_addstr.c 2010-12-19 01:22:58.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_addstr.c 2011-05-28 23:02:09.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -44,7 +44,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_addstr.c,v 1.51 2010/12/19 01:22:58 tom Exp $")
++MODULE_ID("$Id: lib_addstr.c,v 1.52 2011/05/28 23:02:09 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ waddnstr(WINDOW *win, const char *astr, int n)
+@@ -119,8 +119,10 @@
+ _nc_wchstrlen(const cchar_t *s)
+ {
+ int result = 0;
+- while (CharOf(s[result]) != L'\0') {
+- result++;
++ if (s != 0) {
++ while (CharOf(s[result]) != L'\0') {
++ result++;
++ }
+ }
+ return result;
+ }
+Index: ncurses/base/lib_beep.c
+Prereq: 1.15
+--- ncurses-5.9/ncurses/base/lib_beep.c 2009-10-24 22:02:14.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_beep.c 2013-01-12 17:26:25.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2009,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -46,7 +46,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_beep.c,v 1.15 2009/10/24 22:02:14 tom Exp $")
++MODULE_ID("$Id: lib_beep.c,v 1.16 2013/01/12 17:26:25 tom Exp $")
+
+ /*
+ * beep()
+@@ -71,12 +71,9 @@
+ if (cur_term == 0) {
+ res = ERR;
+ } else if (bell) {
+- TPUTS_TRACE("bell");
+- res = putp(bell);
+- _nc_flush();
++ res = NCURSES_PUTP2_FLUSH("bell", bell);
+ } else if (flash_screen) {
+- TPUTS_TRACE("flash_screen");
+- res = putp(flash_screen);
++ res = NCURSES_PUTP2_FLUSH("flash_screen", flash_screen);
+ _nc_flush();
+ }
+ #endif
+Index: ncurses/base/lib_bkgd.c
+Prereq: 1.43
+--- ncurses-5.9/ncurses/base/lib_bkgd.c 2011-01-22 19:47:37.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_bkgd.c 2012-12-09 01:01:19.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -36,7 +36,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_bkgd.c,v 1.43 2011/01/22 19:47:37 tom Exp $")
++MODULE_ID("$Id: lib_bkgd.c,v 1.48 2012/12/09 01:01:19 tom Exp $")
+
+ /*
+ * Set the window's background information.
+@@ -85,6 +85,7 @@
+ cchar_t wch;
+ int tmp;
+
++ memset(&wch, 0, sizeof(wch));
+ (void) wgetbkgrnd(win, &wch);
+ tmp = _nc_to_char((wint_t) CharOf(wch));
+
+@@ -118,16 +119,18 @@
+ {
+ int code = ERR;
+ int x, y;
+- NCURSES_CH_T new_bkgd = CHDEREF(ch);
+
+ T((T_CALLED("wbkgd(%p,%s)"), (void *) win, _tracech_t(ch)));
+
+ if (win) {
++ NCURSES_CH_T new_bkgd = CHDEREF(ch);
+ NCURSES_CH_T old_bkgrnd;
++
++ memset(&old_bkgrnd, 0, sizeof(old_bkgrnd));
+ wgetbkgrnd(win, &old_bkgrnd);
+
+ (void) wbkgrndset(win, CHREF(new_bkgd));
+- (void) wattrset(win, AttrOf(win->_nc_bkgd));
++ (void) wattrset(win, (int) AttrOf(win->_nc_bkgd));
+
+ for (y = 0; y <= win->_maxy; y++) {
+ for (x = 0; x <= win->_maxx; x++) {
+Index: ncurses/base/lib_color.c
+Prereq: 1.98
+--- ncurses-5.9/ncurses/base/lib_color.c 2010-04-24 22:57:53.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_color.c 2013-03-09 22:33:38.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -45,7 +45,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_color.c,v 1.98 2010/04/24 22:57:53 tom Exp $")
++MODULE_ID("$Id: lib_color.c,v 1.108 2013/03/09 22:33:38 tom Exp $")
+
+ #ifdef USE_TERM_DRIVER
+ #define CanChange InfoOf(SP_PARM).canchange
+@@ -264,8 +264,7 @@
+
+ (void) SP_PARM;
+ if (orig_pair != 0) {
+- TPUTS_TRACE("orig_pair");
+- putp(orig_pair);
++ (void) NCURSES_PUTP2("orig_pair", orig_pair);
+ result = TRUE;
+ }
+ return result;
+@@ -292,8 +291,7 @@
+ result = CallDriver(SP_PARM, rescolors);
+ #else
+ if (orig_colors != 0) {
+- TPUTS_TRACE("orig_colors");
+- putp(orig_colors);
++ NCURSES_PUTP2("orig_colors", orig_colors);
+ result = TRUE;
+ }
+ #endif
+@@ -331,6 +329,13 @@
+ default_bg(NCURSES_SP_ARG),
+ NCURSES_SP_NAME(_nc_outch));
+ }
++#if !NCURSES_EXT_COLORS
++ /*
++ * Without ext-colors, we cannot represent more than 256 color pairs.
++ */
++ if (maxpairs > 256)
++ maxpairs = 256;
++#endif
+
+ if (maxpairs > 0 && maxcolors > 0) {
+ SP_PARM->_pair_limit = maxpairs;
+@@ -383,10 +388,10 @@
+
+ /* This function was originally written by Daniel Weaver <danw@znyx.com> */
+ static void
+-rgb2hls(short r, short g, short b, short *h, short *l, short *s)
++rgb2hls(int r, int g, int b, short *h, short *l, short *s)
+ /* convert RGB to HLS system */
+ {
+- short min, max, t;
++ int min, max, t;
+
+ if ((min = g < r ? g : r) > b)
+ min = b;
+@@ -416,7 +421,7 @@
+ else
+ t = (short) (360 + ((r - g) * 60) / (max - min));
+
+- *h = t % 360;
++ *h = (short) (t % 360);
+ }
+
+ /*
+@@ -439,7 +444,7 @@
+
+ previous = SP_PARM->_color_pairs[pair];
+ #if NCURSES_EXT_FUNCS
+- if (SP_PARM->_default_color) {
++ if (SP_PARM->_default_color || SP_PARM->_assumed_color) {
+ bool isDefault = FALSE;
+ bool wasDefault = FALSE;
+ int default_pairs = SP_PARM->_default_pairs;
+@@ -498,8 +503,9 @@
+ {
+ if ((f < 0) || !OkColorHi(f)
+ || (b < 0) || !OkColorHi(b)
+- || (pair < 1))
++ || (pair < 1)) {
+ returnCode(ERR);
++ }
+ }
+
+ /*
+@@ -545,11 +551,11 @@
+ tp[f].red, tp[f].green, tp[f].blue,
+ tp[b].red, tp[b].green, tp[b].blue));
+
+- TPUTS_TRACE("initialize_pair");
+- putp(TPARM_7(initialize_pair,
+- pair,
+- tp[f].red, tp[f].green, tp[f].blue,
+- tp[b].red, tp[b].green, tp[b].blue));
++ NCURSES_PUTP2("initialize_pair",
++ TPARM_7(initialize_pair,
++ pair,
++ tp[f].red, tp[f].green, tp[f].blue,
++ tp[b].red, tp[b].green, tp[b].blue));
+ }
+ #endif
+
+@@ -607,8 +613,8 @@
+ #ifdef USE_TERM_DRIVER
+ CallDriver_4(SP_PARM, initcolor, color, r, g, b);
+ #else
+- TPUTS_TRACE("initialize_color");
+- putp(TPARM_4(initialize_color, color, r, g, b));
++ NCURSES_PUTP2("initialize_color",
++ TPARM_4(initialize_color, color, r, g, b));
+ #endif
+ SP_PARM->_color_defs = max(color + 1, SP_PARM->_color_defs);
+
+@@ -628,8 +634,15 @@
+ NCURSES_EXPORT(bool)
+ NCURSES_SP_NAME(can_change_color) (NCURSES_SP_DCL)
+ {
++ int result = FALSE;
++
+ T((T_CALLED("can_change_color(%p)"), (void *) SP_PARM));
+- returnCode((CanChange != 0) ? TRUE : FALSE);
++
++ if (HasTerminal(SP_PARM) && (CanChange != 0)) {
++ result = TRUE;
++ }
++
++ returnCode(result);
+ }
+
+ #if NCURSES_SP_FUNCS
+@@ -643,20 +656,22 @@
+ NCURSES_EXPORT(bool)
+ NCURSES_SP_NAME(has_colors) (NCURSES_SP_DCL0)
+ {
+- int code;
++ int code = FALSE;
+
+ (void) SP_PARM;
+ T((T_CALLED("has_colors()")));
++ if (HasTerminal(SP_PARM)) {
+ #ifdef USE_TERM_DRIVER
+- code = HasColor;
++ code = HasColor;
+ #else
+- code = ((VALID_NUMERIC(max_colors) && VALID_NUMERIC(max_pairs)
+- && (((set_foreground != NULL)
+- && (set_background != NULL))
+- || ((set_a_foreground != NULL)
+- && (set_a_background != NULL))
+- || set_color_pair)) ? TRUE : FALSE);
++ code = ((VALID_NUMERIC(max_colors) && VALID_NUMERIC(max_pairs)
++ && (((set_foreground != NULL)
++ && (set_background != NULL))
++ || ((set_a_foreground != NULL)
++ && (set_a_background != NULL))
++ || set_color_pair)) ? TRUE : FALSE);
+ #endif
++ }
+ returnCode(code);
+ }
+
+@@ -731,8 +746,8 @@
+ if (!ValidPair(pair)) {
+ result = ERR;
+ } else {
+- NCURSES_COLOR_T fg = FORE_OF(SP_PARM->_color_pairs[pair]);
+- NCURSES_COLOR_T bg = BACK_OF(SP_PARM->_color_pairs[pair]);
++ NCURSES_COLOR_T fg = (NCURSES_COLOR_T) FORE_OF(SP_PARM->_color_pairs[pair]);
++ NCURSES_COLOR_T bg = (NCURSES_COLOR_T) BACK_OF(SP_PARM->_color_pairs[pair]);
+
+ #if NCURSES_EXT_FUNCS
+ if (fg == COLOR_DEFAULT)
+@@ -765,9 +780,9 @@
+
+ NCURSES_EXPORT(void)
+ NCURSES_SP_NAME(_nc_do_color) (NCURSES_SP_DCLx
+- short old_pair,
+- short pair,
+- bool reverse,
++ int old_pair,
++ int pair,
++ int reverse,
+ NCURSES_SP_OUTC outc)
+ {
+ #ifdef USE_TERM_DRIVER
+@@ -775,7 +790,8 @@
+ #else
+ NCURSES_COLOR_T fg = COLOR_DEFAULT;
+ NCURSES_COLOR_T bg = COLOR_DEFAULT;
+- NCURSES_COLOR_T old_fg, old_bg;
++ NCURSES_COLOR_T old_fg = -1;
++ NCURSES_COLOR_T old_bg = -1;
+
+ if (!ValidPair(pair)) {
+ return;
+@@ -787,13 +803,14 @@
+ 1, outc);
+ return;
+ } else if (SP_PARM != 0) {
+- pair_content((short) pair, &fg, &bg);
++ if (pair_content((short) pair, &fg, &bg) == ERR)
++ return;
+ }
+ }
+
+ if (old_pair >= 0
+ && SP_PARM != 0
+- && pair_content(old_pair, &old_fg, &old_bg) != ERR) {
++ && pair_content((short) old_pair, &old_fg, &old_bg) != ERR) {
+ if ((isDefaultColor(fg) && !isDefaultColor(old_fg))
+ || (isDefaultColor(bg) && !isDefaultColor(old_bg))) {
+ #if NCURSES_EXT_FUNCS
+@@ -847,7 +864,7 @@
+
+ #if NCURSES_SP_FUNCS
+ NCURSES_EXPORT(void)
+-_nc_do_color(short old_pair, short pair, bool reverse, NCURSES_OUTC outc)
++_nc_do_color(int old_pair, int pair, int reverse, NCURSES_OUTC outc)
+ {
+ SetSafeOutcWrapper(outc);
+ NCURSES_SP_NAME(_nc_do_color) (CURRENT_SCREEN,
+Index: ncurses/base/lib_dft_fgbg.c
+Prereq: 1.25
+--- ncurses-5.9/ncurses/base/lib_dft_fgbg.c 2009-10-24 22:15:00.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_dft_fgbg.c 2011-04-23 18:28:18.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2005,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,7 +37,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_dft_fgbg.c,v 1.25 2009/10/24 22:15:00 tom Exp $")
++MODULE_ID("$Id: lib_dft_fgbg.c,v 1.26 2011/04/23 18:28:18 tom Exp $")
+
+ /*
+ * Modify the behavior of color-pair 0 so that the library doesn't assume that
+@@ -80,6 +80,7 @@
+ SP_PARM->_default_bg = isDefaultColor(bg) ? COLOR_DEFAULT : (bg & C_MASK);
+ if (SP_PARM->_color_pairs != 0) {
+ bool save = SP_PARM->_default_color;
++ SP_PARM->_assumed_color = TRUE;
+ SP_PARM->_default_color = TRUE;
+ init_pair(0, (short) fg, (short) bg);
+ SP_PARM->_default_color = save;
+Index: ncurses/base/lib_driver.c
+Prereq: 1.3
+--- ncurses-5.9/ncurses/base/lib_driver.c 2010-12-20 00:29:17.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_driver.c 2012-09-22 19:32:46.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2008-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2008-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -33,7 +33,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_driver.c,v 1.3 2010/12/20 00:29:17 tom Exp $")
++MODULE_ID("$Id: lib_driver.c,v 1.4 2012/09/22 19:32:46 tom Exp $")
+
+ typedef struct DriverEntry {
+ const char *name;
+@@ -43,9 +43,9 @@
+ static DRIVER_ENTRY DriverTable[] =
+ {
+ #ifdef __MINGW32__
+- {"win", &_nc_WIN_DRIVER},
++ {"win32con", &_nc_WIN_DRIVER},
+ #endif
+- {"tinfo", &_nc_TINFO_DRIVER}
++ {"tinfo", &_nc_TINFO_DRIVER} /* must be last */
+ };
+
+ NCURSES_EXPORT(int)
+@@ -63,6 +63,20 @@
+
+ for (i = 0; i < SIZEOF(DriverTable); i++) {
+ res = DriverTable[i].driver;
++ /*
++ * Use "#" (a character which cannot begin a terminal's name) to
++ * select specific driver from the table.
++ *
++ * In principle, we could have more than one non-terminfo driver,
++ * e.g., "win32gui".
++ */
++ if (name != 0 && *name == '#') {
++ size_t n = strlen(name + 1);
++ if (n != 0
++ && strncmp(name + 1, DriverTable[i].name, n)) {
++ continue;
++ }
++ }
+ if (res->CanHandle(TCB, name, errret)) {
+ use = res;
+ break;
+Index: ncurses/base/lib_flash.c
+Prereq: 1.11
+--- ncurses-5.9/ncurses/base/lib_flash.c 2009-10-24 22:02:14.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_flash.c 2013-01-12 17:26:07.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2000,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -46,7 +46,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_flash.c,v 1.11 2009/10/24 22:02:14 tom Exp $")
++MODULE_ID("$Id: lib_flash.c,v 1.13 2013/01/12 17:26:07 tom Exp $")
+
+ /*
+ * flash()
+@@ -66,15 +66,13 @@
+ if (SP_PARM != 0)
+ res = CallDriver_1(SP_PARM, doBeepOrFlash, FALSE);
+ #else
+- /* FIXME: should make sure that we are not in altchar mode */
+- if (flash_screen) {
+- TPUTS_TRACE("flash_screen");
+- res = putp(flash_screen);
+- _nc_flush();
+- } else if (bell) {
+- TPUTS_TRACE("bell");
+- res = putp(bell);
+- _nc_flush();
++ if (HasTerminal(SP_PARM)) {
++ /* FIXME: should make sure that we are not in altchar mode */
++ if (flash_screen) {
++ res = NCURSES_PUTP2_FLUSH("flash_screen", flash_screen);
++ } else if (bell) {
++ res = NCURSES_PUTP2_FLUSH("bell", bell);
++ }
+ }
+ #endif
+ returnCode(res);
+Index: ncurses/base/lib_freeall.c
+Prereq: 1.59
+--- ncurses-5.9/ncurses/base/lib_freeall.c 2010-01-23 17:57:43.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_freeall.c 2012-11-17 23:53:03.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+ extern int malloc_errfd; /* FIXME */
+ #endif
+
+-MODULE_ID("$Id: lib_freeall.c,v 1.59 2010/01/23 17:57:43 tom Exp $")
++MODULE_ID("$Id: lib_freeall.c,v 1.62 2012/11/17 23:53:03 tom Exp $")
+
+ /*
+ * Free all ncurses data. This is used for testing only (there's no practical
+@@ -70,19 +70,21 @@
+
+ /* Delete only windows that're not a parent */
+ for (each_window(SP_PARM, p)) {
++ WINDOW *p_win = &(p->win);
+ bool found = FALSE;
+
+ for (each_window(SP_PARM, q)) {
++ WINDOW *q_win = &(q->win);
+ if ((p != q)
+- && (q->win._flags & _SUBWIN)
+- && (&(p->win) == q->win._parent)) {
++ && (q_win->_flags & _SUBWIN)
++ && (p_win == q_win->_parent)) {
+ found = TRUE;
+ break;
+ }
+ }
+
+ if (!found) {
+- if (delwin(&(p->win)) != ERR)
++ if (delwin(p_win) != ERR)
+ deleted = TRUE;
+ break;
+ }
+@@ -100,7 +102,7 @@
+
+ (void) _nc_printf_string(0, empty_va);
+ #ifdef TRACE
+- (void) _nc_trace_buf(-1, 0);
++ (void) _nc_trace_buf(-1, (size_t) 0);
+ #endif
+ #if USE_WIDEC_SUPPORT
+ FreeIfNeeded(_nc_wacs);
+@@ -129,8 +131,9 @@
+ NCURSES_EXPORT(void)
+ NCURSES_SP_NAME(_nc_free_and_exit) (NCURSES_SP_DCLx int code)
+ {
+- char *last_setbuf = (SP_PARM != 0) ? SP_PARM->_setbuf : 0;
++ char *last_buffer = (SP_PARM != 0) ? SP_PARM->out_buffer : 0;
+
++ NCURSES_SP_NAME(_nc_flush) (NCURSES_SP_ARG);
+ NCURSES_SP_NAME(_nc_freeall) (NCURSES_SP_ARG);
+ #ifdef TRACE
+ trace(0); /* close trace file, freeing its setbuf */
+@@ -139,8 +142,7 @@
+ free(_nc_varargs("?", fake));
+ }
+ #endif
+- fclose(stdout);
+- FreeIfNeeded(last_setbuf);
++ FreeIfNeeded(last_buffer);
+ exit(code);
+ }
+
+Index: ncurses/base/lib_getch.c
+Prereq: 1.121
+--- ncurses-5.9/ncurses/base/lib_getch.c 2010-12-25 23:24:04.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_getch.c 2013-02-16 18:30:37.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -42,7 +42,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_getch.c,v 1.121 2010/12/25 23:24:04 tom Exp $")
++MODULE_ID("$Id: lib_getch.c,v 1.126 2013/02/16 18:30:37 tom Exp $")
+
+ #include <fifo_defs.h>
+
+@@ -133,7 +133,7 @@
+ int rc;
+
+ #ifdef USE_TERM_DRIVER
+- rc = TCBOf(sp)->drv->testmouse(TCBOf(sp), delay);
++ rc = TCBOf(sp)->drv->testmouse(TCBOf(sp), delay EVENTLIST_2nd(evl));
+ #else
+ #if USE_SYSMOUSE
+ if ((sp->_mouse_type == M_SYSMOUSE)
+@@ -163,7 +163,7 @@
+ static NCURSES_INLINE int
+ fifo_peek(SCREEN *sp)
+ {
+- int ch = sp->_fifo[peek];
++ int ch = (peek >= 0) ? sp->_fifo[peek] : ERR;
+ TR(TRACE_IEVENT, ("peeking at %d", peek));
+
+ p_inc();
+@@ -173,15 +173,16 @@
+ static NCURSES_INLINE int
+ fifo_pull(SCREEN *sp)
+ {
+- int ch;
+- ch = sp->_fifo[head];
++ int ch = (head >= 0) ? sp->_fifo[head] : ERR;
++
+ TR(TRACE_IEVENT, ("pulling %s from %d", _nc_tracechar(sp, ch), head));
+
+ if (peek == head) {
+ h_inc();
+ peek = head;
+- } else
++ } else {
+ h_inc();
++ }
+
+ #ifdef TRACE
+ if (USE_TRACEF(TRACE_IEVENT)) {
+@@ -200,7 +201,7 @@
+ int mask = 0;
+
+ (void) mask;
+- if (tail == -1)
++ if (tail < 0)
+ return ERR;
+
+ #ifdef HIDE_EINTR
+@@ -257,6 +258,13 @@
+ n = 1;
+ } else
+ #endif
++#if USE_KLIBC_KBD
++ if (isatty(sp->_ifd) && sp->_cbreak) {
++ ch = _read_kbd(0, 1, !sp->_raw);
++ n = (ch == -1) ? -1 : 1;
++ sp->_extended_key = (ch == 0);
++ } else
++#endif
+ { /* Can block... */
+ #ifdef USE_TERM_DRIVER
+ int buf;
+@@ -270,7 +278,7 @@
+ # endif
+ _nc_globals.read_thread = pthread_self();
+ # endif
+- n = (int) read(sp->_ifd, &c2, 1);
++ n = (int) read(sp->_ifd, &c2, (size_t) 1);
+ #if USE_PTHREADS_EINTR
+ _nc_globals.read_thread = 0;
+ #endif
+@@ -431,11 +439,11 @@
+ /* ungetch in reverse order */
+ #ifdef NCURSES_WGETCH_EVENTS
+ rc = recur_wgetnstr(win, buf);
+- if (rc != KEY_EVENT)
++ if (rc != KEY_EVENT && rc != ERR)
+ safe_ungetch(sp, '\n');
+ #else
+- (void) recur_wgetnstr(win, buf);
+- safe_ungetch(sp, '\n');
++ if (recur_wgetnstr(win, buf) != ERR)
++ safe_ungetch(sp, '\n');
+ #endif
+ for (bufp = buf + strlen(buf); bufp > buf; bufp--)
+ safe_ungetch(sp, bufp[-1]);
+@@ -569,7 +577,7 @@
+ *
+ * If carriage return is defined as a function key in the
+ * terminfo, e.g., kent, then Solaris may return either ^J (or ^M
+- * if nonl() is set) or KEY_ENTER depending on the echo() mode.
++ * if nonl() is set) or KEY_ENTER depending on the echo() mode.
+ * We echo before translating carriage return based on nonl(),
+ * since the visual result simply moves the cursor to column 0.
+ *
+@@ -709,10 +717,11 @@
+
+ if (ptr->value != 0) { /* sequence terminated */
+ TR(TRACE_IEVENT, ("end of sequence"));
+- if (peek == tail)
++ if (peek == tail) {
+ fifo_clear(sp);
+- else
++ } else {
+ head = peek;
++ }
+ return (ptr->value);
+ }
+
+Index: ncurses/base/lib_getstr.c
+Prereq: 1.29
+--- ncurses-5.9/ncurses/base/lib_getstr.c 2009-10-24 21:59:02.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_getstr.c 2011-10-22 16:31:35.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -40,14 +40,14 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_getstr.c,v 1.29 2009/10/24 21:59:02 tom Exp $")
++MODULE_ID("$Id: lib_getstr.c,v 1.30 2011/10/22 16:31:35 tom Exp $")
+
+ /*
+ * This wipes out the last character, no matter whether it was a tab, control
+ * or other character, and handles reverse wraparound.
+ */
+ static char *
+-WipeOut(WINDOW *win, int y, int x, char *first, char *last, bool echoed)
++WipeOut(WINDOW *win, int y, int x, char *first, char *last, int echoed)
+ {
+ if (last > first) {
+ *--last = '\0';
+Index: ncurses/base/lib_insch.c
+Prereq: 1.32
+--- ncurses-5.9/ncurses/base/lib_insch.c 2009-10-24 22:04:35.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_insch.c 2012-12-15 22:51:12.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2009,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -43,7 +43,7 @@
+ #include <curses.priv.h>
+ #include <ctype.h>
+
+-MODULE_ID("$Id: lib_insch.c,v 1.32 2009/10/24 22:04:35 tom Exp $")
++MODULE_ID("$Id: lib_insch.c,v 1.33 2012/12/15 22:51:12 tom Exp $")
+
+ /*
+ * Insert the given character, updating the current location to simplify
+@@ -82,7 +82,7 @@
+ #if USE_WIDEC_SUPPORT
+ WINDOW_EXT(win, addch_used) == 0 &&
+ #endif
+- is8bits(ChCharOf(ch)) &&
++ is8bits(ch) &&
+ (isprint(ChCharOf(ch)) ||
+ (ChAttrOf(ch) & A_ALTCHARSET) ||
+ (sp != 0 && sp->_legacy_coding && !iscntrl(ChCharOf(ch))))) {
+@@ -101,7 +101,7 @@
+ *temp1 = _nc_render(win, wch);
+ win->_curx++;
+ }
+- } else if (is8bits(ChCharOf(ch)) && iscntrl(ChCharOf(ch))) {
++ } else if (is8bits(ch) && iscntrl(ChCharOf(ch))) {
+ s = NCURSES_SP_NAME(unctrl) (NCURSES_SP_ARGx ChCharOf(ch));
+ while (*s != '\0') {
+ code = _nc_insert_ch(sp, win, ChAttrOf(ch) | UChar(*s));
+Index: ncurses/base/lib_instr.c
+Prereq: 1.17
+--- ncurses-5.9/ncurses/base/lib_instr.c 2009-10-24 22:55:45.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_instr.c 2013-01-20 01:58:13.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2007,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -41,7 +41,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_instr.c,v 1.17 2009/10/24 22:55:45 tom Exp $")
++MODULE_ID("$Id: lib_instr.c,v 1.20 2013/01/20 01:58:13 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ winnstr(WINDOW *win, char *str, int n)
+@@ -78,11 +78,15 @@
+ if (getcchar(cell, wch, &attrs, &pair, 0) == OK) {
+
+ init_mb(state);
+- n3 = wcstombs(0, wch, 0);
++ n3 = wcstombs(0, wch, (size_t) 0);
+ if (!isEILSEQ(n3) && (n3 != 0)) {
+- if (((int) n3 + i) > n) {
++ size_t need = n3 + 10 + (size_t) i;
++ int have = (int) n3 + i;
++
++ /* check for loop-done as well as overflow */
++ if (have > n || (int) need <= 0) {
+ done = TRUE;
+- } else if ((tmp = typeCalloc(char, n3 + 10)) == 0) {
++ } else if ((tmp = typeCalloc(char, need)) == 0) {
+ done = TRUE;
+ } else {
+ init_mb(state);
+Index: ncurses/base/lib_mouse.c
+Prereq: 1.121
+--- ncurses-5.9/ncurses/base/lib_mouse.c 2011-01-22 19:47:47.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_mouse.c 2013-01-12 16:35:34.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -84,7 +84,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_mouse.c,v 1.121 2011/01/22 19:47:47 tom Exp $")
++MODULE_ID("$Id: lib_mouse.c,v 1.140 2013/01/12 16:35:34 tom Exp $")
+
+ #include <tic.h>
+
+@@ -120,6 +120,17 @@
+ #endif
+ #endif /* use_SYSMOUSE */
+
++#if USE_KLIBC_MOUSE
++#include <sys/socket.h>
++#define pipe(handles) socketpair(AF_LOCAL, SOCK_STREAM, 0, handles)
++#define DosWrite(hfile, pbuffer, cbwrite, pcbactual) \
++ write(hfile, pbuffer, cbwrite)
++#define DosExit(action, result ) /* do nothing */
++#define DosCreateThread(ptid, pfn, param, flag, cbStack) \
++ (*(ptid) = _beginthread(pfn, NULL, cbStack, \
++ (void *)param), (*(ptid) == -1))
++#endif
++
+ #define MY_TRACE TRACE_ICALLS|TRACE_IEVENT
+
+ #define MASK_RELEASE(x) (mmask_t) NCURSES_MOUSE_MASK(x, 001)
+@@ -148,6 +159,9 @@
+ #define INVALID_EVENT -1
+ #define NORMAL_EVENT 0
+
++#define ValidEvent(ep) ((ep)->id != INVALID_EVENT)
++#define Invalidate(ep) (ep)->id = INVALID_EVENT
++
+ #if USE_GPM_SUPPORT
+
+ #ifndef LIBGPM_SONAME
+@@ -211,7 +225,7 @@
+ char buf[6];
+ unsigned long ignore;
+
+- strncpy(buf, key_mouse, 3); /* should be "\033[M" */
++ strcpy(buf, "\033[M"); /* should be the same as key_mouse */
+ buf[3] = ' ' + (button - 1) + (down ? 0 : 0x40);
+ buf[4] = ' ' + x - LEFT_COL + 1;
+ buf[5] = ' ' + y - TOP_ROW + 1;
+@@ -219,7 +233,11 @@
+ }
+
+ static void
++#if USE_KLIBC_MOUSE
++mouse_server(void *param)
++#else
+ mouse_server(unsigned long param)
++#endif
+ {
+ SCREEN *sp = (SCREEN *) param;
+ unsigned short fWait = MOU_WAIT;
+@@ -245,7 +263,8 @@
+ /* sit and wait on the event queue */
+ rc = MouReadEventQue(&mouev, &fWait, hmou);
+ if (rc) {
+- sprintf(err, "Error reading mouse queue, rc=%lu.\r\n", rc);
++ _nc_SPRINTF(err, _nc_SLIMIT(sizeof(err))
++ "Error reading mouse queue, rc=%lu.\r\n", rc);
+ break;
+ }
+ if (!sp->_emxmouse_activated)
+@@ -271,9 +290,11 @@
+ finish:
+ oldstate = mouev.fs;
+ }
+- } else
+- sprintf(err, "Error setting event mask, buttons=%d, rc=%lu.\r\n",
+- nbuttons, rc);
++ } else {
++ _nc_SPRINTF(err, _nc_SLIMIT(sizeof(err))
++ "Error setting event mask, buttons=%d, rc=%lu.\r\n",
++ nbuttons, rc);
++ }
+
+ DosWrite(2, err, strlen(err), &rc);
+ MouClose(hmou);
+@@ -367,20 +388,26 @@
+ #if USE_EMX_MOUSE
+ sp->_emxmouse_activated = enable;
+ #else
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
+- "xterm-mouse",
+- TPARM_1(sp->_mouse_xtermcap, enable));
++ NCURSES_PUTP2("xterm-mouse", TPARM_1(sp->_mouse_xtermcap, enable));
+ #endif
+ sp->_mouse_active = enable;
+ }
+
+ #if USE_GPM_SUPPORT
+ static bool
+-allow_gpm_mouse(void)
++allow_gpm_mouse(SCREEN *sp)
+ {
+ bool result = FALSE;
+
+- /* GPM does printf's without checking if stdout is a terminal */
++#if USE_WEAK_SYMBOLS
++ /* Danger Robinson: do not use dlopen for libgpm if already loaded */
++ if ((Gpm_Wgetch)) {
++ if (!sp->_mouse_gpm_loaded) {
++ T(("GPM library was already dlopen'd, not by us"));
++ }
++ } else
++#endif
++ /* GPM does printf's without checking if stdout is a terminal */
+ if (isatty(fileno(stdout))) {
+ char *list = getenv("NCURSES_GPM_TERMS");
+ char *env = getenv("TERM");
+@@ -506,7 +533,7 @@
+
+ /* Try gpm first, because gpm may be configured to run in xterm */
+ #if USE_GPM_SUPPORT
+- if (allow_gpm_mouse()) {
++ if (allow_gpm_mouse(sp)) {
+ if (!sp->_mouse_gpm_loaded) {
+ #ifdef HAVE_LIBDL
+ load_gpm_library(sp);
+@@ -673,7 +700,7 @@
+
+ sp->_mouse_eventp = FirstEV(sp);
+ for (i = 0; i < EV_MAX; i++)
+- sp->_mouse_events[i].id = INVALID_EVENT;
++ Invalidate(sp->_mouse_events + i);
+
+ initialize_mousetype(sp);
+
+@@ -750,6 +777,7 @@
+ eventp->bstate |= BUTTON3_RELEASED;
+ break;
+ default:
++ eventp->bstate |= REPORT_MOUSE_POSITION;
+ break;
+ }
+
+@@ -830,7 +858,6 @@
+
+ if (sp->_mouse_type == M_XTERM) {
+ unsigned char kbuf[4];
+- mmask_t prev;
+ size_t grabbed;
+ int res;
+
+@@ -896,35 +923,51 @@
+
+ /* processing code goes here */
+ eventp->bstate = 0;
+- prev = PREV(eventp)->bstate;
+
+ #if USE_EMX_MOUSE
+ #define PRESS_POSITION(n) \
+- eventp->bstate = MASK_PRESS(n); \
+- if (kbuf[0] & 0x40) \
+- eventp->bstate = MASK_RELEASE(n)
++ do { \
++ eventp->bstate = MASK_PRESS(n); \
++ sp->_mouse_bstate |= MASK_PRESS(n); \
++ if (kbuf[0] & 0x40) { \
++ eventp->bstate = MASK_RELEASE(n); \
++ sp->_mouse_bstate &= ~MASK_PRESS(n); \
++ } \
++ } while (0)
+ #else
+ #define PRESS_POSITION(n) \
+- eventp->bstate = (mmask_t) (prev & MASK_PRESS(n) \
+- ? REPORT_MOUSE_POSITION \
+- : MASK_PRESS(n))
++ do { \
++ eventp->bstate = (mmask_t) (sp->_mouse_bstate & MASK_PRESS(n) \
++ ? REPORT_MOUSE_POSITION \
++ : MASK_PRESS(n)); \
++ sp->_mouse_bstate |= MASK_PRESS(n); \
++ } while (0)
+ #endif
+
+ switch (kbuf[0] & 0x3) {
+ case 0x0:
+- if (kbuf[0] & 64)
++ if ((kbuf[0] & 96) == 96) {
+ eventp->bstate = MASK_PRESS(4);
+- else
++ /* Do not record in sp->_mouse_bstate; there will be no
++ * corresponding release event.
++ */
++ } else {
+ PRESS_POSITION(1);
++ }
+ break;
+
+ case 0x1:
++ if ((kbuf[0] & 96) == 96) {
+ #if NCURSES_MOUSE_VERSION == 2
+- if (kbuf[0] & 64)
+ eventp->bstate = MASK_PRESS(5);
+- else
++ /* See comment above for button 4 */
++#else
++ /* Ignore this event as it is not a true press of the button */
++ eventp->bstate = REPORT_MOUSE_POSITION;
+ #endif
++ } else {
+ PRESS_POSITION(2);
++ }
+ break;
+
+ case 0x2:
+@@ -939,12 +982,13 @@
+ * release, we can infer the button actually released by looking at
+ * the previous event.
+ */
+- if (prev & (BUTTON_PRESSED | BUTTON_RELEASED)) {
++ if (sp->_mouse_bstate & BUTTON_PRESSED) {
+ eventp->bstate = BUTTON_RELEASED;
+ for (b = 1; b <= MAX_BUTTONS; ++b) {
+- if (!(prev & MASK_PRESS(b)))
++ if (!(sp->_mouse_bstate & MASK_PRESS(b)))
+ eventp->bstate &= ~MASK_RELEASE(b);
+ }
++ sp->_mouse_bstate = 0;
+ } else {
+ /*
+ * XFree86 xterm will return a stream of release-events to
+@@ -985,7 +1029,7 @@
+ }
+
+ static void
+-mouse_activate(SCREEN *sp, bool on)
++mouse_activate(SCREEN *sp, int on)
+ {
+ if (!on && !sp->_mouse_initialized)
+ return;
+@@ -994,7 +1038,7 @@
+ return;
+
+ if (on) {
+-
++ sp->_mouse_bstate = 0;
+ switch (sp->_mouse_type) {
+ case M_XTERM:
+ #if NCURSES_EXT_FUNCS
+@@ -1074,10 +1118,13 @@
+ /* parse a run of atomic mouse events into a gesture */
+ {
+ MEVENT *eventp = sp->_mouse_eventp;
+- MEVENT *ep, *runp, *next, *prev = PREV(eventp);
++ MEVENT *next, *ep;
++ MEVENT *first_valid = NULL;
++ MEVENT *first_invalid = NULL;
+ int n;
+ int b;
+ bool merge;
++ bool endLoop;
+
+ TR(MY_TRACE, ("_nc_mouse_parse(%d) called", runcount));
+
+@@ -1094,7 +1141,8 @@
+ *
+ * It's possible that the run may not resolve to a single event (for
+ * example, if the user quadruple-clicks). If so, leading events
+- * in the run are ignored.
++ * in the run are ignored if user does not call getmouse in a loop (getting
++ * them from newest to older).
+ *
+ * Note that this routine is independent of the format of the specific
+ * format of the pointing-device's reports. We can use it to parse
+@@ -1102,79 +1150,110 @@
+ * button basis, as long as the device-dependent mouse code puts stuff
+ * on the queue in MEVENT format.
+ */
+- if (runcount == 1) {
+- TR(MY_TRACE,
+- ("_nc_mouse_parse: returning simple mouse event %s at slot %ld",
+- _nc_tracemouse(sp, prev),
+- (long) IndexEV(sp, prev)));
+- return (prev->id >= NORMAL_EVENT)
+- ? ((prev->bstate & sp->_mouse_mask) ? TRUE : FALSE)
+- : FALSE;
+- }
+
+- /* find the start of the run */
+- runp = eventp;
+- for (n = runcount; n > 0; n--) {
+- runp = PREV(runp);
++ /*
++ * Reset all events that were not set, in case the user sometimes calls
++ * getmouse only once and other times until there are no more events in
++ * queue.
++ *
++ * This also allows reaching the beginning of the run.
++ */
++ ep = eventp;
++ for (n = runcount; n < EV_MAX; n++) {
++ Invalidate(ep);
++ ep = NEXT(ep);
+ }
+
+ #ifdef TRACE
+ if (USE_TRACEF(TRACE_IEVENT)) {
+ _trace_slot(sp, "before mouse press/release merge:");
+ _tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d",
+- RunParams(sp, eventp, runp),
++ RunParams(sp, eventp, ep),
+ runcount);
+ _nc_unlock_global(tracef);
+ }
+ #endif /* TRACE */
+
+ /* first pass; merge press/release pairs */
+- do {
+- merge = FALSE;
+- for (ep = runp; (next = NEXT(ep)) != eventp; ep = next) {
++ endLoop = FALSE;
++ while (!endLoop) {
++ next = NEXT(ep);
++ if (next == eventp) {
++ /* Will end the loop, but compact before */
++ endLoop = TRUE;
++ } else {
+
+ #define MASK_CHANGED(x) (!(ep->bstate & MASK_PRESS(x)) \
+ == !(next->bstate & MASK_RELEASE(x)))
+
+- if (ep->x == next->x && ep->y == next->y
++ if (ValidEvent(ep) && ValidEvent(next)
++ && ep->x == next->x && ep->y == next->y
+ && (ep->bstate & BUTTON_PRESSED)
+- && MASK_CHANGED(1)
+- && MASK_CHANGED(2)
+- && MASK_CHANGED(3)
+- && MASK_CHANGED(4)
+-#if NCURSES_MOUSE_VERSION == 2
+- && MASK_CHANGED(5)
+-#endif
+- ) {
++ && (!(next->bstate & BUTTON_PRESSED))) {
++ bool changed = TRUE;
++
+ for (b = 1; b <= MAX_BUTTONS; ++b) {
+- if ((sp->_mouse_mask & MASK_CLICK(b))
+- && (ep->bstate & MASK_PRESS(b))) {
+- ep->bstate &= ~MASK_PRESS(b);
+- ep->bstate |= MASK_CLICK(b);
+- merge = TRUE;
++ if (!MASK_CHANGED(b)) {
++ changed = FALSE;
++ break;
++ }
++ }
++
++ if (changed) {
++ merge = FALSE;
++ for (b = 1; b <= MAX_BUTTONS; ++b) {
++ if ((sp->_mouse_mask & MASK_CLICK(b))
++ && (ep->bstate & MASK_PRESS(b))) {
++ next->bstate &= ~MASK_RELEASE(b);
++ next->bstate |= MASK_CLICK(b);
++ merge = TRUE;
++ }
++ }
++ if (merge) {
++ Invalidate(ep);
+ }
+ }
+- if (merge)
+- next->id = INVALID_EVENT;
+ }
+ }
+- } while
+- (merge);
+
++ /* Compact valid events */
++ if (!ValidEvent(ep)) {
++ if ((first_valid != NULL) && (first_invalid == NULL)) {
++ first_invalid = ep;
++ }
++ } else {
++ if (first_valid == NULL) {
++ first_valid = ep;
++ } else if (first_invalid != NULL) {
++ *first_invalid = *ep;
++ Invalidate(ep);
++ first_invalid = NEXT(first_invalid);
++ }
++ }
++
++ ep = next;
++ }
++
++ if (first_invalid != NULL) {
++ eventp = first_invalid;
++ }
+ #ifdef TRACE
+ if (USE_TRACEF(TRACE_IEVENT)) {
+ _trace_slot(sp, "before mouse click merge:");
+- _tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d",
+- RunParams(sp, eventp, runp),
+- runcount);
+- _nc_unlock_global(tracef);
++ if (first_valid == NULL) {
++ _tracef("_nc_mouse_parse: no valid event");
++ } else {
++ _tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d",
++ RunParams(sp, eventp, first_valid),
++ runcount);
++ _nc_unlock_global(tracef);
++ }
+ }
+ #endif /* TRACE */
+
+ /*
+- * Second pass; merge click runs. At this point, click events are
+- * each followed by one invalid event. We merge click events
+- * forward in the queue.
++ * Second pass; merge click runs. We merge click events forward in the
++ * queue. For example, double click can be changed to triple click.
+ *
+ * NOTE: There is a problem with this design! If the application
+ * allows enough click events to pile up in the circular queue so
+@@ -1187,87 +1266,102 @@
+ * but the timer element would have to have sub-second resolution,
+ * which would get us into portability trouble.
+ */
+- do {
+- MEVENT *follower;
+-
+- merge = FALSE;
+- for (ep = runp; (next = NEXT(ep)) != eventp; ep = next)
+- if (ep->id != INVALID_EVENT) {
+- if (next->id != INVALID_EVENT)
+- continue;
+- follower = NEXT(next);
+- if (follower->id == INVALID_EVENT)
+- continue;
+-
+- /* merge click events forward */
+- if ((ep->bstate & BUTTON_CLICKED)
+- && (follower->bstate & BUTTON_CLICKED)) {
+- for (b = 1; b <= MAX_BUTTONS; ++b) {
+- if ((sp->_mouse_mask & MASK_DOUBLE_CLICK(b))
+- && (follower->bstate & MASK_CLICK(b))) {
+- follower->bstate &= ~MASK_CLICK(b);
+- follower->bstate |= MASK_DOUBLE_CLICK(b);
+- merge = TRUE;
+- }
++ first_invalid = NULL;
++ endLoop = (first_valid == NULL);
++ ep = first_valid;
++ while (!endLoop) {
++ next = NEXT(ep);
++
++ if (next == eventp) {
++ /* Will end the loop, but check event type and compact before */
++ endLoop = TRUE;
++ } else if (!ValidEvent(next)) {
++ continue;
++ } else {
++ /* merge click events forward */
++ if ((ep->bstate & BUTTON_CLICKED)
++ && (next->bstate & BUTTON_CLICKED)) {
++ merge = FALSE;
++ for (b = 1; b <= MAX_BUTTONS; ++b) {
++ if ((sp->_mouse_mask & MASK_DOUBLE_CLICK(b))
++ && (ep->bstate & MASK_CLICK(b))
++ && (next->bstate & MASK_CLICK(b))) {
++ next->bstate &= ~MASK_CLICK(b);
++ next->bstate |= MASK_DOUBLE_CLICK(b);
++ merge = TRUE;
+ }
+- if (merge)
+- ep->id = INVALID_EVENT;
+ }
++ if (merge) {
++ Invalidate(ep);
++ }
++ }
+
+- /* merge double-click events forward */
+- if ((ep->bstate & BUTTON_DOUBLE_CLICKED)
+- && (follower->bstate & BUTTON_CLICKED)) {
+- for (b = 1; b <= MAX_BUTTONS; ++b) {
+- if ((sp->_mouse_mask & MASK_TRIPLE_CLICK(b))
+- && (follower->bstate & MASK_CLICK(b))) {
+- follower->bstate &= ~MASK_CLICK(b);
+- follower->bstate |= MASK_TRIPLE_CLICK(b);
+- merge = TRUE;
+- }
++ /* merge double-click events forward */
++ if ((ep->bstate & BUTTON_DOUBLE_CLICKED)
++ && (next->bstate & BUTTON_CLICKED)) {
++ merge = FALSE;
++ for (b = 1; b <= MAX_BUTTONS; ++b) {
++ if ((sp->_mouse_mask & MASK_TRIPLE_CLICK(b))
++ && (ep->bstate & MASK_DOUBLE_CLICK(b))
++ && (next->bstate & MASK_CLICK(b))) {
++ next->bstate &= ~MASK_CLICK(b);
++ next->bstate |= MASK_TRIPLE_CLICK(b);
++ merge = TRUE;
+ }
+- if (merge)
+- ep->id = INVALID_EVENT;
++ }
++ if (merge) {
++ Invalidate(ep);
+ }
+ }
+- } while
+- (merge);
++ }
+
+-#ifdef TRACE
+- if (USE_TRACEF(TRACE_IEVENT)) {
+- _trace_slot(sp, "before mouse event queue compaction:");
+- _tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d",
+- RunParams(sp, eventp, runp),
+- runcount);
+- _nc_unlock_global(tracef);
+- }
+-#endif /* TRACE */
++ /* Discard event if it does not match event mask */
++ if (!(ep->bstate & sp->_mouse_mask2)) {
++ Invalidate(ep);
++ }
+
+- /*
+- * Now try to throw away trailing events flagged invalid, or that
+- * don't match the current event mask.
+- */
+- for (; runcount; prev = PREV(eventp), runcount--)
+- if (prev->id == INVALID_EVENT || !(prev->bstate & sp->_mouse_mask)) {
+- sp->_mouse_eventp = eventp = prev;
++ /* Compact valid events */
++ if (!ValidEvent(ep)) {
++ if (ep == first_valid) {
++ first_valid = next;
++ } else if (first_invalid == NULL) {
++ first_invalid = ep;
++ }
++ } else if (first_invalid != NULL) {
++ *first_invalid = *ep;
++ Invalidate(ep);
++ first_invalid = NEXT(first_invalid);
+ }
++
++ ep = next;
++ }
++
++ if (first_invalid == NULL) {
++ first_invalid = eventp;
++ }
++ sp->_mouse_eventp = first_invalid;
++
+ #ifdef TRACE
+- if (USE_TRACEF(TRACE_IEVENT)) {
+- _trace_slot(sp, "after mouse event queue compaction:");
+- _tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d",
+- RunParams(sp, eventp, runp),
+- runcount);
+- _nc_unlock_global(tracef);
++ if (first_valid != NULL) {
++ if (USE_TRACEF(TRACE_IEVENT)) {
++ _trace_slot(sp, "after mouse event queue compaction:");
++ _tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d",
++ RunParams(sp, first_invalid, first_valid),
++ runcount);
++ _nc_unlock_global(tracef);
++ }
++ for (ep = first_valid; ep != first_invalid; ep = NEXT(ep)) {
++ if (ValidEvent(ep))
++ TR(MY_TRACE,
++ ("_nc_mouse_parse: returning composite mouse event %s at slot %ld",
++ _nc_tracemouse(sp, ep),
++ (long) IndexEV(sp, ep)));
++ }
+ }
+- for (ep = runp; ep != eventp; ep = NEXT(ep))
+- if (ep->id != INVALID_EVENT)
+- TR(MY_TRACE,
+- ("_nc_mouse_parse: returning composite mouse event %s at slot %ld",
+- _nc_tracemouse(sp, ep),
+- (long) IndexEV(sp, ep)));
+ #endif /* TRACE */
+
+ /* after all this, do we have a valid event? */
+- return (PREV(eventp)->id != INVALID_EVENT);
++ return ValidEvent(PREV(first_invalid));
+ }
+
+ static void
+@@ -1359,7 +1453,16 @@
+ /* compute the current-event pointer */
+ MEVENT *prev = PREV(eventp);
+
+- if (prev->id != INVALID_EVENT) {
++ /*
++ * Discard events not matching mask (there could be still some if
++ * _nc_mouse_parse was not called, e.g., when _nc_mouse_inline returns
++ * false).
++ */
++ while (ValidEvent(prev) && (!(prev->bstate & SP_PARM->_mouse_mask2))) {
++ Invalidate(prev);
++ prev = PREV(prev);
++ }
++ if (ValidEvent(prev)) {
+ /* copy the event we find there */
+ *aevent = *prev;
+
+@@ -1367,9 +1470,16 @@
+ _nc_tracemouse(SP_PARM, prev),
+ (long) IndexEV(SP_PARM, prev)));
+
+- prev->id = INVALID_EVENT; /* so the queue slot becomes free */
+- SP_PARM->_mouse_eventp = PREV(prev);
++ Invalidate(prev); /* so the queue slot becomes free */
++ SP_PARM->_mouse_eventp = prev;
+ result = OK;
++ } else {
++ /* Reset the provided event */
++ aevent->bstate = 0;
++ Invalidate(aevent);
++ aevent->x = 0;
++ aevent->y = 0;
++ aevent->z = 0;
+ }
+ }
+ returnCode(result);
+@@ -1420,6 +1530,7 @@
+ /* set the mouse event mask */
+ {
+ mmask_t result = 0;
++ int b;
+
+ T((T_CALLED("mousemask(%p,%#lx,%p)"),
+ (void *) SP_PARM,
+@@ -1447,6 +1558,22 @@
+ mouse_activate(SP_PARM, (bool) (result != 0));
+
+ SP_PARM->_mouse_mask = result;
++ SP_PARM->_mouse_mask2 = result;
++
++ /*
++ * Make a mask corresponding to the states we will need to
++ * retain (temporarily) while building up the state that the
++ * user asked for.
++ */
++ for (b = 1; b <= MAX_BUTTONS; ++b) {
++ if (SP_PARM->_mouse_mask2 & MASK_TRIPLE_CLICK(b))
++ SP_PARM->_mouse_mask2 |= MASK_DOUBLE_CLICK(b);
++ if (SP_PARM->_mouse_mask2 & MASK_DOUBLE_CLICK(b))
++ SP_PARM->_mouse_mask2 |= MASK_CLICK(b);
++ if (SP_PARM->_mouse_mask2 & MASK_CLICK(b))
++ SP_PARM->_mouse_mask2 |= (MASK_PRESS(b) |
++ MASK_RELEASE(b));
++ }
+ }
+ }
+ }
+Index: ncurses/base/lib_newterm.c
+Prereq: 1.86
+--- ncurses-5.9/ncurses/base/lib_newterm.c 2010-05-20 23:25:18.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_newterm.c 2012-01-21 19:21:29.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -42,17 +42,13 @@
+
+ #include <curses.priv.h>
+
+-#if SVR4_TERMIO && !defined(_POSIX_SOURCE)
+-#define _POSIX_SOURCE
+-#endif
+-
+ #ifndef CUR
+ #define CUR SP_TERMTYPE
+ #endif
+
+ #include <tic.h>
+
+-MODULE_ID("$Id: lib_newterm.c,v 1.86 2010/05/20 23:25:18 tom Exp $")
++MODULE_ID("$Id: lib_newterm.c,v 1.88 2012/01/21 19:21:29 KO.Myung-Hun Exp $")
+
+ #ifdef USE_TERM_DRIVER
+ #define NumLabels InfoOf(SP_PARM).numlabels
+@@ -283,7 +279,8 @@
+ NCURSES_SP_NAME(typeahead) (NCURSES_SP_ARGx fileno(_ifp));
+ #ifdef TERMIOS
+ SP_PARM->_use_meta = ((new_term->Ottyb.c_cflag & CSIZE) == CS8 &&
+- !(new_term->Ottyb.c_iflag & ISTRIP));
++ !(new_term->Ottyb.c_iflag & ISTRIP)) ||
++ USE_KLIBC_KBD;
+ #else
+ SP_PARM->_use_meta = FALSE;
+ #endif
+Index: ncurses/base/lib_newwin.c
+Prereq: 1.69
+--- ncurses-5.9/ncurses/base/lib_newwin.c 2011-03-07 21:58:17.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_newwin.c 2011-05-28 21:32:51.000000000 +0000
+@@ -43,7 +43,7 @@
+ #include <curses.priv.h>
+ #include <stddef.h>
+
+-MODULE_ID("$Id: lib_newwin.c,v 1.69 2011/03/07 21:58:17 tom Exp $")
++MODULE_ID("$Id: lib_newwin.c,v 1.71 2011/05/28 21:32:51 tom Exp $")
+
+ #define window_is(name) ((sp)->_##name == win)
+
+@@ -141,7 +141,11 @@
+ T((T_CALLED("newwin(%p, %d,%d,%d,%d)"), (void *) SP_PARM, num_lines, num_columns,
+ begy, begx));
+
+- if (begy < 0 || begx < 0 || num_lines < 0 || num_columns < 0)
++ if (begy < 0
++ || begx < 0
++ || num_lines < 0
++ || num_columns < 0
++ || SP_PARM == 0)
+ returnWin(0);
+
+ if (num_lines == 0)
+@@ -235,10 +239,15 @@
+ NCURSES_EXPORT(WINDOW *)
+ subwin(WINDOW *w, int l, int c, int y, int x)
+ {
++ WINDOW *result = 0;
++
+ T((T_CALLED("subwin(%p, %d, %d, %d, %d)"), (void *) w, l, c, y, x));
+- T(("parent has begy = %ld, begx = %ld", (long) w->_begy, (long) w->_begx));
++ if (w != 0) {
++ T(("parent has begy = %ld, begx = %ld", (long) w->_begy, (long) w->_begx));
+
+- returnWin(derwin(w, l, c, y - w->_begy, x - w->_begx));
++ result = derwin(w, l, c, y - w->_begy, x - w->_begx);
++ }
++ returnWin(result);
+ }
+
+ static bool
+Index: ncurses/base/lib_overlay.c
+Prereq: 1.29
+--- ncurses-5.9/ncurses/base/lib_overlay.c 2009-10-24 23:21:31.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_overlay.c 2013-04-06 23:47:13.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2009,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -40,7 +40,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_overlay.c,v 1.29 2009/10/24 23:21:31 tom Exp $")
++MODULE_ID("$Id: lib_overlay.c,v 1.31 2013/04/06 23:47:13 tom Exp $")
+
+ static int
+ overlap(const WINDOW *const src, WINDOW *const dst, int const flag)
+@@ -151,7 +151,10 @@
+ dminrow, dmincol,
+ dmaxrow, dmaxcol, over));
+
+- if (src && dst) {
++ if (src != 0
++ && dst != 0
++ && dmaxrow >= dminrow
++ && dmaxcol >= dmincol) {
+ _nc_lock_global(curses);
+
+ bk = AttrOf(dst->_nc_bkgd);
+@@ -160,6 +163,7 @@
+ /* make sure rectangle exists in source */
+ if ((sminrow + dmaxrow - dminrow) <= (src->_maxy + 1) &&
+ (smincol + dmaxcol - dmincol) <= (src->_maxx + 1)) {
++ bool copied = FALSE;
+
+ T(("rectangle exists in source"));
+
+@@ -172,10 +176,18 @@
+ dy <= dmaxrow;
+ sy++, dy++) {
+
++ if (dy < 0 || sy < 0)
++ continue;
++
+ touched = FALSE;
+ for (dx = dmincol, sx = smincol;
+ dx <= dmaxcol;
+ sx++, dx++) {
++
++ if (dx < 0 || sx < 0)
++ continue;
++ copied = TRUE;
++
+ if (over) {
+ if ((CharOf(src->_line[sy].text[sx]) != L(' ')) &&
+ (!CharEq(dst->_line[dy].text[dx],
+@@ -201,7 +213,8 @@
+ }
+ }
+ T(("finished copywin"));
+- rc = OK;
++ if (copied)
++ rc = OK;
+ }
+ }
+ _nc_unlock_global(curses);
+Index: ncurses/base/lib_printw.c
+Prereq: 1.20
+--- ncurses-5.9/ncurses/base/lib_printw.c 2009-10-24 22:07:03.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_printw.c 2012-09-03 17:55:28.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2005,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2009,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ ****************************************************************************/
+
+ /****************************************************************************
+- * Author: Thomas E. Dickey <dickey@clark.net> 1997 *
++ * Author: Thomas E. Dickey 1997-on *
+ ****************************************************************************/
+
+ /*
+@@ -39,7 +39,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_printw.c,v 1.20 2009/10/24 22:07:03 tom Exp $")
++MODULE_ID("$Id: lib_printw.c,v 1.23 2012/09/03 17:55:28 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ printw(const char *fmt,...)
+@@ -48,10 +48,11 @@
+ int code;
+
+ #ifdef TRACE
+- va_start(argp, fmt);
++ va_list argq;
++ va_start(argq, fmt);
+ T((T_CALLED("printw(%s%s)"),
+- _nc_visbuf(fmt), _nc_varargs(fmt, argp)));
+- va_end(argp);
++ _nc_visbuf(fmt), _nc_varargs(fmt, argq)));
++ va_end(argq);
+ #endif
+
+ va_start(argp, fmt);
+@@ -68,10 +69,11 @@
+ int code;
+
+ #ifdef TRACE
+- va_start(argp, fmt);
++ va_list argq;
++ va_start(argq, fmt);
+ T((T_CALLED("wprintw(%p,%s%s)"),
+- (void *) win, _nc_visbuf(fmt), _nc_varargs(fmt, argp)));
+- va_end(argp);
++ (void *) win, _nc_visbuf(fmt), _nc_varargs(fmt, argq)));
++ va_end(argq);
+ #endif
+
+ va_start(argp, fmt);
+@@ -88,10 +90,11 @@
+ int code;
+
+ #ifdef TRACE
+- va_start(argp, fmt);
++ va_list argq;
++ va_start(argq, fmt);
+ T((T_CALLED("mvprintw(%d,%d,%s%s)"),
+- y, x, _nc_visbuf(fmt), _nc_varargs(fmt, argp)));
+- va_end(argp);
++ y, x, _nc_visbuf(fmt), _nc_varargs(fmt, argq)));
++ va_end(argq);
+ #endif
+
+ if ((code = move(y, x)) != ERR) {
+@@ -109,10 +112,11 @@
+ int code;
+
+ #ifdef TRACE
+- va_start(argp, fmt);
++ va_list argq;
++ va_start(argq, fmt);
+ T((T_CALLED("mvwprintw(%d,%d,%p,%s%s)"),
+- y, x, (void *) win, _nc_visbuf(fmt), _nc_varargs(fmt, argp)));
+- va_end(argp);
++ y, x, (void *) win, _nc_visbuf(fmt), _nc_varargs(fmt, argq)));
++ va_end(argq);
+ #endif
+
+ if ((code = wmove(win, y, x)) != ERR) {
+Index: ncurses/base/lib_refresh.c
+Prereq: 1.44
+--- ncurses-5.9/ncurses/base/lib_refresh.c 2010-12-19 01:22:58.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_refresh.c 2011-06-25 19:02:22.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -42,7 +42,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_refresh.c,v 1.44 2010/12/19 01:22:58 tom Exp $")
++MODULE_ID("$Id: lib_refresh.c,v 1.45 2011/06/25 19:02:22 Vassili.Courzakis Exp $")
+
+ NCURSES_EXPORT(int)
+ wrefresh(WINDOW *win)
+@@ -90,12 +90,6 @@
+ #endif
+
+ T((T_CALLED("wnoutrefresh(%p)"), (void *) win));
+-#ifdef TRACE
+- if (USE_TRACEF(TRACE_UPDATE)) {
+- _tracedump("...win", win);
+- _nc_unlock_global(tracef);
+- }
+-#endif /* TRACE */
+
+ /*
+ * This function will break badly if we try to refresh a pad.
+@@ -104,6 +98,13 @@
+ || (win->_flags & _ISPAD))
+ returnCode(ERR);
+
++#ifdef TRACE
++ if (USE_TRACEF(TRACE_UPDATE)) {
++ _tracedump("...win", win);
++ _nc_unlock_global(tracef);
++ }
++#endif /* TRACE */
++
+ /* put them here so "win == 0" won't break our code */
+ begx = win->_begx;
+ begy = win->_begy;
+Index: ncurses/base/lib_restart.c
+Prereq: 1.13
+--- ncurses-5.9/ncurses/base/lib_restart.c 2009-10-24 22:47:43.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_restart.c 2012-12-08 20:40:06.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -41,11 +41,7 @@
+
+ #include <curses.priv.h>
+
+-#if SVR4_TERMIO && !defined(_POSIX_SOURCE)
+-#define _POSIX_SOURCE
+-#endif
+-
+-MODULE_ID("$Id: lib_restart.c,v 1.13 2009/10/24 22:47:43 tom Exp $")
++MODULE_ID("$Id: lib_restart.c,v 1.15 2012/12/08 20:40:06 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ NCURSES_SP_NAME(restartterm) (NCURSES_SP_DCLx
+@@ -55,7 +51,7 @@
+ {
+ int result;
+ #ifdef USE_TERM_DRIVER
+- TERMINAL *new_term;
++ TERMINAL *new_term = 0;
+ #endif
+
+ T((T_CALLED("restartterm(%p,%s,%d,%p)"),
+Index: ncurses/base/lib_scanw.c
+Prereq: 1.12
+--- ncurses-5.9/ncurses/base/lib_scanw.c 2009-10-24 22:35:14.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_scanw.c 2011-10-22 16:31:35.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -40,14 +40,14 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_scanw.c,v 1.12 2009/10/24 22:35:14 tom Exp $")
++MODULE_ID("$Id: lib_scanw.c,v 1.13 2011/10/22 16:31:35 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ vwscanw(WINDOW *win, NCURSES_CONST char *fmt, va_list argp)
+ {
+ char buf[BUFSIZ];
+
+- if (wgetnstr(win, buf, sizeof(buf) - 1) == ERR)
++ if (wgetnstr(win, buf, (int) sizeof(buf) - 1) == ERR)
+ return (ERR);
+
+ return (vsscanf(buf, fmt, argp));
+Index: ncurses/base/lib_screen.c
+Prereq: 1.38
+--- ncurses-5.9/ncurses/base/lib_screen.c 2009-10-24 22:08:55.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_screen.c 2011-10-22 15:03:11.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_screen.c,v 1.38 2009/10/24 22:08:55 tom Exp $")
++MODULE_ID("$Id: lib_screen.c,v 1.41 2011/10/22 15:03:11 tom Exp $")
+
+ #define MAX_SIZE 0x3fff /* 16k is big enough for a window or pad */
+
+@@ -51,8 +51,11 @@
+
+ T((T_CALLED("getwin(%p)"), (void *) filep));
+
++ if (filep == 0) {
++ returnWin(0);
++ }
+ clearerr(filep);
+- if (fread(&tmp, 1, sizeof(WINDOW), filep) < sizeof(WINDOW)
++ if (fread(&tmp, (size_t) 1, sizeof(WINDOW), filep) < sizeof(WINDOW)
+ || ferror(filep)
+ || tmp._maxy == 0
+ || tmp._maxy > MAX_SIZE
+@@ -110,7 +113,7 @@
+
+ for (n = 0; n <= nwin->_maxy; n++) {
+ clearerr(filep);
+- if (fread(nwin->_line[n].text, 1, linesize, filep) < linesize
++ if (fread(nwin->_line[n].text, (size_t) 1, linesize, filep) < linesize
+ || ferror(filep)) {
+ delwin(nwin);
+ returnWin(0);
+@@ -141,7 +144,7 @@
+ size_t len = (size_t) (win->_maxx + 1);
+
+ clearerr(filep);
+- if (fwrite(win, sizeof(WINDOW), 1, filep) != 1
++ if (fwrite(win, sizeof(WINDOW), (size_t) 1, filep) != 1
+ || ferror(filep))
+ returnCode(code);
+
+@@ -189,18 +192,20 @@
+ NCURSES_EXPORT(int)
+ scr_dump(const char *file)
+ {
++ int result;
+ FILE *fp = 0;
+
+ T((T_CALLED("scr_dump(%s)"), _nc_visbuf(file)));
+
+ if (_nc_access(file, W_OK) < 0
+ || (fp = fopen(file, "wb")) == 0) {
+- returnCode(ERR);
++ result = ERR;
+ } else {
+ (void) putwin(newscr, fp);
+ (void) fclose(fp);
+- returnCode(OK);
++ result = OK;
+ }
++ returnCode(result);
+ }
+
+ NCURSES_EXPORT(int)
+Index: ncurses/base/lib_scroll.c
+Prereq: 1.28
+--- ncurses-5.9/ncurses/base/lib_scroll.c 2010-12-19 01:48:09.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_scroll.c 2011-10-22 16:34:50.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -43,13 +43,13 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_scroll.c,v 1.28 2010/12/19 01:48:09 tom Exp $")
++MODULE_ID("$Id: lib_scroll.c,v 1.29 2011/10/22 16:34:50 tom Exp $")
+
+ NCURSES_EXPORT(void)
+ _nc_scroll_window(WINDOW *win,
+ int const n,
+- NCURSES_SIZE_T const top,
+- NCURSES_SIZE_T const bottom,
++ int const top,
++ int const bottom,
+ NCURSES_CH_T blank)
+ {
+ int limit;
+Index: ncurses/base/lib_set_term.c
+Prereq: 1.138
+--- ncurses-5.9/ncurses/base/lib_set_term.c 2010-12-20 00:42:20.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_set_term.c 2012-12-22 21:30:04.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -47,7 +47,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_set_term.c,v 1.138 2010/12/20 00:42:20 tom Exp $")
++MODULE_ID("$Id: lib_set_term.c,v 1.147 2012/12/22 21:30:04 tom Exp $")
+
+ #ifdef USE_TERM_DRIVER
+ #define MaxColors InfoOf(sp).maxcolors
+@@ -188,18 +188,7 @@
+ FreeIfNeeded(sp->_acs_map);
+ FreeIfNeeded(sp->_screen_acs_map);
+
+- /*
+- * If the associated output stream has been closed, we can discard the
+- * set-buffer. Limit the error check to EBADF, since fflush may fail
+- * for other reasons than trying to operate upon a closed stream.
+- */
+- if (sp->_ofp != 0
+- && sp->_setbuf != 0
+- && fflush(sp->_ofp) != 0
+- && errno == EBADF) {
+- free(sp->_setbuf);
+- }
+-
++ NCURSES_SP_NAME(_nc_flush) (NCURSES_SP_ARG);
+ NCURSES_SP_NAME(del_curterm) (NCURSES_SP_ARGx sp->_term);
+ free(sp);
+
+@@ -272,8 +261,8 @@
+ }
+ #endif
+
+-#define ReturnScreenError() _nc_set_screen(0); \
+- returnCode(ERR)
++#define ReturnScreenError() { _nc_set_screen(0); \
++ returnCode(ERR); } while (0)
+
+ /* OS-independent screen initializations */
+ NCURSES_EXPORT(int)
+@@ -284,7 +273,7 @@
+ int slines,
+ int scolumns,
+ FILE *output,
+- bool filtered,
++ int filtered,
+ int slk_format)
+ {
+ char *env;
+@@ -383,7 +372,15 @@
+ sp->_lines = (NCURSES_SIZE_T) slines;
+ sp->_lines_avail = (NCURSES_SIZE_T) slines;
+ sp->_columns = (NCURSES_SIZE_T) scolumns;
++
++ fflush(output);
++ sp->_ofd = output ? fileno(output) : -1;
+ sp->_ofp = output;
++ sp->out_limit = (size_t) ((2 + slines) * (6 + scolumns));
++ if ((sp->out_buffer = malloc(sp->out_limit)) == 0)
++ sp->out_limit = 0;
++ sp->out_inuse = 0;
++
+ SP_PRE_INIT(sp);
+ SetNoPadding(sp);
+
+@@ -584,9 +581,13 @@
+
+ NCURSES_SP_NAME(_nc_init_acs) (NCURSES_SP_ARG);
+ #if USE_WIDEC_SUPPORT
++ sp->_screen_unicode = _nc_unicode_locale();
+ _nc_init_wacs();
++ if (_nc_wacs == 0) {
++ ReturnScreenError();
++ }
+
+- sp->_screen_acs_fix = (_nc_unicode_locale()
++ sp->_screen_acs_fix = (sp->_screen_unicode
+ && _nc_locale_breaks_acs(sp->_term));
+ #endif
+ env = _nc_get_locale();
+@@ -619,6 +620,7 @@
+ #endif
+ #if USE_SIZECHANGE
+ sp->_resize = NCURSES_SP_NAME(resizeterm);
++ sp->_ungetch = safe_ungetch;
+ #endif
+
+ NewScreen(sp)->_clear = TRUE;
+@@ -695,7 +697,7 @@
+ _nc_setupscreen(int slines GCC_UNUSED,
+ int scolumns GCC_UNUSED,
+ FILE *output,
+- bool filtered,
++ int filtered,
+ int slk_format)
+ {
+ SCREEN *sp = 0;
+@@ -759,6 +761,7 @@
+ int line,
+ int (*init) (WINDOW *, int))
+ {
++ START_TRACE();
+ return NCURSES_SP_NAME(_nc_ripoffline) (NCURSES_SP_ARGx
+ (line < 0) ? -1 : 1,
+ init);
+Index: ncurses/base/lib_slkrefr.c
+Prereq: 1.26
+--- ncurses-5.9/ncurses/base/lib_slkrefr.c 2010-05-01 19:17:28.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_slkrefr.c 2013-01-12 17:25:48.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -43,7 +43,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_slkrefr.c,v 1.26 2010/05/01 19:17:28 tom Exp $")
++MODULE_ID("$Id: lib_slkrefr.c,v 1.29 2013/01/12 17:25:48 tom Exp $")
+
+ #ifdef USE_TERM_DRIVER
+ #define NumLabels InfoOf(SP_PARM).numlabels
+@@ -100,22 +100,22 @@
+ CallDriver_2(sp, hwlabel, i + 1, slk->ent[i].form_text);
+ #else
+ if (i < num_labels) {
+- TPUTS_TRACE("plab_norm");
+- putp(TPARM_2(plab_norm, i + 1, slk->ent[i].form_text));
++ NCURSES_PUTP2("plab_norm",
++ TPARM_2(plab_norm,
++ i + 1,
++ slk->ent[i].form_text));
+ }
+ #endif
+ } else {
+ if (fmt == 4)
+ slk_paint_info(slk->win);
+ wmove(slk->win, SLK_LINES(fmt) - 1, slk->ent[i].ent_x);
+- if (sp->_slk) {
+- (void) wattrset(slk->win, AttrOf(sp->_slk->attr));
+- }
++ (void) wattrset(slk->win, (int) AttrOf(slk->attr));
+ waddstr(slk->win, slk->ent[i].form_text);
+ /* if we simulate SLK's, it's looking much more
+ natural to use the current ATTRIBUTE also
+ for the label window */
+- (void) wattrset(slk->win, WINDOW_ATTRS(StdScreen(sp)));
++ (void) wattrset(slk->win, (int) WINDOW_ATTRS(StdScreen(sp)));
+ }
+ }
+ slk->ent[i].dirty = FALSE;
+@@ -128,11 +128,9 @@
+ CallDriver_1(sp, hwlabelOnOff, slk->hidden ? FALSE : TRUE);
+ #else
+ if (slk->hidden) {
+- TPUTS_TRACE("label_off");
+- putp(label_off);
++ NCURSES_PUTP2("label_off", label_off);
+ } else {
+- TPUTS_TRACE("label_on");
+- putp(label_on);
++ NCURSES_PUTP2("label_on", label_on);
+ }
+ #endif
+ }
+Index: ncurses/base/lib_slkset.c
+Prereq: 1.21
+--- ncurses-5.9/ncurses/base/lib_slkset.c 2010-12-25 23:43:58.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_slkset.c 2012-12-08 23:09:25.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -44,13 +44,13 @@
+ #endif
+ #endif
+
+-MODULE_ID("$Id: lib_slkset.c,v 1.21 2010/12/25 23:43:58 tom Exp $")
++MODULE_ID("$Id: lib_slkset.c,v 1.24 2012/12/08 23:09:25 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ NCURSES_SP_NAME(slk_set) (NCURSES_SP_DCLx int i, const char *astr, int format)
+ {
+ SLK *slk;
+- int offset;
++ int offset = 0;
+ int numchrs;
+ int numcols;
+ int limit;
+@@ -111,13 +111,12 @@
+ slk->ent[i].ent_text[numchrs] = '\0';
+
+ if ((slk->ent[i].form_text = (char *) _nc_doalloc(slk->ent[i].form_text,
+- (unsigned) (limit +
+- numchrs + 1))
++ (size_t) (limit +
++ numchrs + 1))
+ ) == 0)
+ returnCode(ERR);
+
+ switch (format) {
+- default:
+ case 0: /* left-justified */
+ offset = 0;
+ break;
+@@ -131,16 +130,16 @@
+ if (offset <= 0)
+ offset = 0;
+ else
+- memset(slk->ent[i].form_text, ' ', (unsigned) offset);
++ memset(slk->ent[i].form_text, ' ', (size_t) offset);
+
+ memcpy(slk->ent[i].form_text + offset,
+ slk->ent[i].ent_text,
+- (unsigned) numchrs);
++ (size_t) numchrs);
+
+ if (offset < limit) {
+ memset(slk->ent[i].form_text + offset + numchrs,
+ ' ',
+- (unsigned) (limit - (offset + numcols)));
++ (size_t) (limit - (offset + numcols)));
+ }
+
+ slk->ent[i].form_text[numchrs - numcols + limit] = 0;
+Index: ncurses/base/lib_touch.c
+Prereq: 1.11
+--- ncurses-5.9/ncurses/base/lib_touch.c 2010-12-19 01:22:58.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_touch.c 2012-06-09 20:29:33.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -43,7 +43,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_touch.c,v 1.11 2010/12/19 01:22:58 tom Exp $")
++MODULE_ID("$Id: lib_touch.c,v 1.12 2012/06/09 20:29:33 tom Exp $")
+
+ NCURSES_EXPORT(bool)
+ is_linetouched(WINDOW *win, int line)
+@@ -84,7 +84,7 @@
+ for (i = y; i < y + n; i++) {
+ if (i > win->_maxy)
+ break;
+- win->_line[i].firstchar = changed ? 0 : _NOCHANGE;
++ win->_line[i].firstchar = (NCURSES_SIZE_T) (changed ? 0 : _NOCHANGE);
+ win->_line[i].lastchar = (NCURSES_SIZE_T) (changed
+ ? win->_maxx
+ : _NOCHANGE);
+Index: ncurses/base/lib_ungetch.c
+Prereq: 1.14
+--- ncurses-5.9/ncurses/base/lib_ungetch.c 2009-10-24 22:12:21.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_ungetch.c 2012-08-04 17:38:53.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -42,7 +42,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_ungetch.c,v 1.14 2009/10/24 22:12:21 tom Exp $")
++MODULE_ID("$Id: lib_ungetch.c,v 1.16 2012/08/04 17:38:53 tom Exp $")
+
+ #include <fifo_defs.h>
+
+@@ -64,13 +64,14 @@
+
+ T((T_CALLED("ungetch(%p,%s)"), (void *) sp, _nc_tracechar(sp, ch)));
+
+- if (tail != -1) {
+- if (head == -1) {
++ if (sp != 0 && tail >= 0) {
++ if (head < 0) {
+ head = 0;
+ t_inc();
+ peek = tail; /* no raw keys */
+- } else
++ } else {
+ h_dec();
++ }
+
+ sp->_fifo[head] = ch;
+ T(("ungetch %s ok", _nc_tracechar(sp, ch)));
+Index: ncurses/base/resizeterm.c
+Prereq: 1.43
+--- ncurses-5.9/ncurses/base/resizeterm.c 2011-01-10 01:34:49.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/resizeterm.c 2012-07-07 17:07:23.000000000 +0000
+@@ -45,7 +45,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: resizeterm.c,v 1.43 2011/01/10 01:34:49 tom Exp $")
++MODULE_ID("$Id: resizeterm.c,v 1.45 2012/07/07 17:07:23 tom Exp $")
+
+ /*
+ * If we're trying to be reentrant, do not want any local statics.
+@@ -365,58 +365,71 @@
+ }
+ #endif
+ if (ToLines > screen_lines(SP_PARM)) {
+- increase_size(NCURSES_SP_ARGx
+- myLines = ToLines, myCols, was_stolen EXTRA_ARGS);
++ result = increase_size(NCURSES_SP_ARGx
++ myLines = ToLines,
++ myCols,
++ was_stolen EXTRA_ARGS);
+ CurLines = myLines;
+ CurCols = myCols;
+ }
+
+- if (ToCols > screen_columns(SP_PARM)) {
+- increase_size(NCURSES_SP_ARGx
+- myLines, myCols = ToCols, was_stolen EXTRA_ARGS);
++ if ((result == OK)
++ && (ToCols > screen_columns(SP_PARM))) {
++ result = increase_size(NCURSES_SP_ARGx
++ myLines,
++ myCols = ToCols,
++ was_stolen EXTRA_ARGS);
+ CurLines = myLines;
+ CurCols = myCols;
+ }
+
+- if (ToLines < myLines ||
+- ToCols < myCols) {
+- decrease_size(NCURSES_SP_ARGx ToLines, ToCols, was_stolen EXTRA_ARGS);
++ if ((result == OK)
++ && (ToLines < myLines ||
++ ToCols < myCols)) {
++ result = decrease_size(NCURSES_SP_ARGx
++ ToLines,
++ ToCols,
++ was_stolen EXTRA_ARGS);
+ }
+
+- screen_lines(SP_PARM) = (NCURSES_SIZE_T) ToLines;
+- screen_columns(SP_PARM) = (NCURSES_SIZE_T) ToCols;
++ if (result == OK) {
++ screen_lines(SP_PARM) = (NCURSES_SIZE_T) ToLines;
++ screen_columns(SP_PARM) = (NCURSES_SIZE_T) ToCols;
+
+ #ifdef USE_TERM_DRIVER
+- CallDriver_2(SP_PARM, setsize, ToLines, ToCols);
++ CallDriver_2(SP_PARM, setsize, ToLines, ToCols);
+ #else
+- lines = (NCURSES_SIZE_T) ToLines;
+- columns = (NCURSES_SIZE_T) ToCols;
++ lines = (NCURSES_SIZE_T) ToLines;
++ columns = (NCURSES_SIZE_T) ToCols;
+ #endif
+
+- SP_PARM->_lines_avail = (NCURSES_SIZE_T) (ToLines - was_stolen);
++ SP_PARM->_lines_avail = (NCURSES_SIZE_T) (ToLines - was_stolen);
+
+- if (SP_PARM->oldhash) {
+- FreeAndNull(SP_PARM->oldhash);
+- }
+- if (SP_PARM->newhash) {
+- FreeAndNull(SP_PARM->newhash);
+- }
++ if (SP_PARM->oldhash) {
++ FreeAndNull(SP_PARM->oldhash);
++ }
++ if (SP_PARM->newhash) {
++ FreeAndNull(SP_PARM->newhash);
++ }
+ #ifdef TRACE
+- if (USE_TRACEF(TRACE_UPDATE)) {
+- SET_LINES(ToLines - was_stolen);
+- SET_COLS(ToCols);
+- show_window_sizes("after");
+- _nc_unlock_global(tracef);
+- }
++ if (USE_TRACEF(TRACE_UPDATE)) {
++ SET_LINES(ToLines - was_stolen);
++ SET_COLS(ToCols);
++ show_window_sizes("after");
++ _nc_unlock_global(tracef);
++ }
+ #endif
++ }
+ }
+
+- /*
+- * Always update LINES, to allow for call from lib_doupdate.c which
+- * needs to have the count adjusted by the stolen (ripped off) lines.
+- */
+- SET_LINES(ToLines - was_stolen);
+- SET_COLS(ToCols);
++ if (result == OK) {
++ /*
++ * Always update LINES, to allow for call from lib_doupdate.c which
++ * needs to have the count adjusted by the stolen (ripped off) lines.
++ */
++ SET_LINES(ToLines - was_stolen);
++ SET_COLS(ToCols);
++ }
+
+ _nc_nonsp_unlock_global(curses);
+
+@@ -471,7 +484,6 @@
+ result = NCURSES_SP_NAME(resize_term) (NCURSES_SP_ARGx ToLines, ToCols);
+
+ #if USE_SIGWINCH
+- safe_ungetch(SP_PARM, KEY_RESIZE); /* so application can know this */
+ clearok(CurScreen(SP_PARM), TRUE); /* screen contents are unknown */
+
+ /* ripped-off lines are a special case: if we did not lengthen
+@@ -501,6 +513,9 @@
+ }
+ #endif
+ }
++#if USE_SIGWINCH
++ safe_ungetch(SP_PARM, KEY_RESIZE); /* so application can know this */
++#endif
+ }
+
+ returnCode(result);
+Index: ncurses/base/safe_sprintf.c
+Prereq: 1.24
+--- ncurses-5.9/ncurses/base/safe_sprintf.c 2010-06-05 22:22:27.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/safe_sprintf.c 2013-01-20 01:04:32.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,13 +27,13 @@
+ ****************************************************************************/
+
+ /****************************************************************************
+- * Author: Thomas E. Dickey <dickey@clark.net> 1997 *
++ * Author: Thomas E. Dickey 1997-on *
+ ****************************************************************************/
+
+ #include <curses.priv.h>
+ #include <ctype.h>
+
+-MODULE_ID("$Id: safe_sprintf.c,v 1.24 2010/06/05 22:22:27 tom Exp $")
++MODULE_ID("$Id: safe_sprintf.c,v 1.27 2013/01/20 01:04:32 tom Exp $")
+
+ #if USE_SAFE_SPRINTF
+
+@@ -109,12 +109,16 @@
+ } else if (state == Prec) {
+ prec = ival;
+ }
+- sprintf(fmt_arg, "%d", ival);
++ _nc_SPRINTF(fmt_arg,
++ _nc_SLIMIT(sizeof(fmt_arg))
++ "%d", ival);
+ fmt_len += strlen(fmt_arg);
+ if ((format = _nc_doalloc(format, fmt_len)) == 0) {
++ free(buffer);
+ return -1;
+ }
+- strcpy(&format[--f], fmt_arg);
++ --f;
++ _nc_STRCPY(&format[f], fmt_arg, fmt_len - f);
+ f = strlen(format);
+ } else if (isalpha(UChar(*fmt))) {
+ done = TRUE;
+@@ -185,13 +189,13 @@
+ format[f] = '\0';
+ switch (used) {
+ case 'i':
+- sprintf(buffer, format, ival);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(length) format, ival);
+ break;
+ case 'f':
+- sprintf(buffer, format, fval);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(length) format, fval);
+ break;
+ default:
+- sprintf(buffer, format, pval);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(length) format, pval);
+ break;
+ }
+ len += (int) strlen(buffer);
+Index: ncurses/base/vsscanf.c
+Prereq: 1.18
+--- ncurses-5.9/ncurses/base/vsscanf.c 2004-04-03 20:27:02.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/vsscanf.c 2012-02-22 22:26:58.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2004,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -38,7 +38,7 @@
+
+ #if !HAVE_VSSCANF
+
+-MODULE_ID("$Id: vsscanf.c,v 1.18 2004/04/03 20:27:02 tom Exp $")
++MODULE_ID("$Id: vsscanf.c,v 1.20 2012/02/22 22:26:58 tom Exp $")
+
+ #if !(HAVE_VFSCANF || HAVE__DOSCAN)
+
+@@ -293,12 +293,12 @@
+
+ /* add %n, if the format was not that */
+ if (chunk != cAssigned) {
+- strcat(my_fmt, "%n");
++ _nc_STRCAT(my_fmt, "%n", len_fmt);
+ }
+
+ switch (chunk) {
+ case cAssigned:
+- strcat(my_fmt, "%n");
++ _nc_STRCAT(my_fmt, "%n", len_fmt);
+ pointer = &eaten;
+ break;
+ case cInt:
+Index: ncurses/base/wresize.c
+Prereq: 1.34
+--- ncurses-5.9/ncurses/base/wresize.c 2010-06-05 22:36:26.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/wresize.c 2011-05-21 18:55:07.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -33,7 +33,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: wresize.c,v 1.34 2010/06/05 22:36:26 tom Exp $")
++MODULE_ID("$Id: wresize.c,v 1.35 2011/05/21 18:55:07 tom Exp $")
+
+ static int
+ cleanup_lines(struct ldat *data, int length)
+@@ -175,9 +175,10 @@
+ for (col = 0; col <= ToCols; ++col)
+ s[col] = win->_nc_bkgd;
+ }
+- } else {
+- assert(pline != 0);
++ } else if (pline != 0 && pline[win->_pary + row].text != 0) {
+ s = &pline[win->_pary + row].text[win->_parx];
++ } else {
++ s = 0;
+ }
+
+ if_USE_SCROLL_HINTS(new_lines[row].oldindex = row);
+Index: ncurses/build.priv.h
+Prereq: 1.6
+--- ncurses-5.9/ncurses/build.priv.h 2010-05-22 20:30:35.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/build.priv.h 2012-02-22 22:17:02.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -30,9 +30,8 @@
+ * Author: Thomas E. Dickey 2010 *
+ ****************************************************************************/
+
+-
+ /*
+- * $Id: build.priv.h,v 1.6 2010/05/22 20:30:35 tom Exp $
++ * $Id: build.priv.h,v 1.9 2012/02/22 22:17:02 tom Exp $
+ *
+ * build.priv.h
+ *
+@@ -83,6 +82,7 @@
+ #define SIZEOF(v) (sizeof(v) / sizeof(v[0]))
+
+ #include <nc_alloc.h>
++#include <nc_string.h>
+
+ /* declare these, to avoid needing term.h */
+ #if BROKEN_LINKER || USE_REENTRANT
+Index: ncurses/curses.priv.h
+Prereq: 1.475
+--- ncurses-5.9/ncurses/curses.priv.h 2011-01-22 21:10:19.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/curses.priv.h 2013-01-26 21:51:56.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -34,7 +34,7 @@
+ ****************************************************************************/
+
+ /*
+- * $Id: curses.priv.h,v 1.475 2011/01/22 21:10:19 tom Exp $
++ * $Id: curses.priv.h,v 1.523 2013/01/26 21:51:56 tom Exp $
+ *
+ * curses.priv.h
+ *
+@@ -65,6 +65,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <sys/types.h>
++#include <sys/stat.h>
+
+ #if HAVE_UNISTD_H
+ #include <unistd.h>
+@@ -85,6 +86,12 @@
+
+ #include <errno.h>
+
++#if defined __hpux
++# ifndef EILSEQ
++# define EILSEQ 47
++# endif
++#endif
++
+ #ifndef PATH_MAX
+ # if defined(_POSIX_PATH_MAX)
+ # define PATH_MAX _POSIX_PATH_MAX
+@@ -111,6 +118,14 @@
+ #define USE_FUNC_POLL 0
+ #endif
+
++#if HAVE_INTTYPES_H
++# include <inttypes.h>
++#else
++# if HAVE_STDINT_H
++# include <stdint.h>
++# endif
++#endif
++
+ /* include signal.h before curses.h to work-around defect in glibc 2.1.3 */
+ #include <signal.h>
+
+@@ -135,6 +150,15 @@
+ #define USE_EMX_MOUSE 0
+ #endif
+
++/* kLIBC keyboard/mouse support */
++#if defined(__OS2__) && defined(__KLIBC__)
++#define USE_KLIBC_KBD 1
++#define USE_KLIBC_MOUSE 1
++#else
++#define USE_KLIBC_KBD 0
++#define USE_KLIBC_MOUSE 0
++#endif
++
+ #define DEFAULT_MAXCLICK 166
+ #define EV_MAX 8 /* size of mouse circular event queue */
+
+@@ -192,6 +216,18 @@
+ #endif
+
+ /*
++ * Either/both S_ISxxx and/or S_IFxxx are defined in sys/types.h; some systems
++ * lack one or the other.
++ */
++#ifndef S_ISDIR
++#define S_ISDIR(mode) ((mode & S_IFMT) == S_IFDIR)
++#endif
++
++#ifndef S_ISREG
++#define S_ISREG(mode) ((mode & S_IFMT) == S_IFREG)
++#endif
++
++/*
+ * Scroll hints are useless when hashmap is used
+ */
+ #if !USE_SCROLL_HINTS
+@@ -208,6 +244,8 @@
+ #define if_USE_SCROLL_HINTS(stmt) /*nothing*/
+ #endif
+
++#include <nc_string.h>
++
+ /*
+ * Options for terminal drivers, etc...
+ */
+@@ -325,6 +363,7 @@
+ #endif
+
+ #include <term.h>
++#include <nc_termios.h>
+
+ /*
+ * Reduce dependency on cur_term global by using terminfo data from SCREEN's
+@@ -365,7 +404,7 @@
+ #define if_EXT_COLORS(stmt) stmt
+ #define SetPair(value,p) SetPair2((value).ext_color, AttrOf(value), p)
+ #define SetPair2(c,a,p) c = (p), \
+- a = (unColor2(a) | (A_COLOR & ColorPair(oldColor(c))))
++ a = (unColor2(a) | (A_COLOR & (unsigned) ColorPair(oldColor(c))))
+ #define GetPair(value) GetPair2((value).ext_color, AttrOf(value))
+ #define GetPair2(c,a) ((c) ? (c) : PairNumber(a))
+ #define oldColor(p) (((p) > 255) ? 255 : (p))
+@@ -373,11 +412,7 @@
+ #define SET_WINDOW_PAIR(w,p) (w)->_color = (p)
+ #define SameAttrOf(a,b) (AttrOf(a) == AttrOf(b) && GetPair(a) == GetPair(b))
+
+-#if NCURSES_SP_FUNCS
+-#define VIDATTR(sp,attr,pair) NCURSES_SP_NAME(vid_attr)(sp, attr, pair, 0)
+-#else
+-#define VIDATTR(sp,attr,pair) vid_attr(attr, pair, 0)
+-#endif
++#define VIDATTR(sp,attr,pair) NCURSES_SP_NAME(vid_puts)(NCURSES_SP_ARGx attr, (short) pair, 0, NCURSES_OUTC_FUNC)
+
+ #else /* !NCURSES_EXT_COLORS */
+
+@@ -390,14 +425,14 @@
+ WINDOW_ATTRS(w) |= (A_COLOR & (attr_t) ColorPair(p))
+ #define SameAttrOf(a,b) (AttrOf(a) == AttrOf(b))
+
+-#if NCURSES_SP_FUNCS
+-#define VIDATTR(sp,attr,pair) NCURSES_SP_NAME(vidattr)(sp, attr)
+-#else
+-#define VIDATTR(sp,attr,pair) vidattr(attr)
+-#endif
++#define VIDATTR(sp,attr,pair) NCURSES_SP_NAME(vidputs)(NCURSES_SP_ARGx attr, NCURSES_OUTC_FUNC)
+
+ #endif /* NCURSES_EXT_COLORS */
+
++#define NCURSES_OUTC_FUNC NCURSES_SP_NAME(_nc_outch)
++#define NCURSES_PUTP2(name,value) NCURSES_SP_NAME(_nc_putp)(NCURSES_SP_ARGx name, value)
++#define NCURSES_PUTP2_FLUSH(name,value) NCURSES_SP_NAME(_nc_putp_flush)(NCURSES_SP_ARGx name, value)
++
+ #if NCURSES_NO_PADDING
+ #define GetNoPadding(sp) ((sp) ? (sp)->_no_padding : _nc_prescreen._no_padding)
+ #define SetNoPadding(sp) _nc_set_no_padding(sp)
+@@ -467,6 +502,9 @@
+ # endif
+ # define _declare(name) __extension__ extern __typeof__(name) name
+ # define weak_symbol(name) _weak_pragma(name) _declare(name) __attribute__((weak))
++#else
++# undef USE_WEAK_SYMBOLS
++# define USE_WEAK_SYMBOLS 0
+ #endif
+ #endif
+
+@@ -665,6 +703,9 @@
+ #if USE_GPM_SUPPORT
+ #undef buttons /* term.h defines this, and gpm uses it! */
+ #include <gpm.h>
++#if USE_WEAK_SYMBOLS
++weak_symbol(Gpm_Wgetch);
++#endif
+
+ #ifdef HAVE_LIBDL
+ /* link dynamically to GPM */
+@@ -766,17 +807,23 @@
+ #define INIT_TERM_DRIVER() /* nothing */
+ #endif
+
++typedef struct {
++ const char *name;
++ char *value;
++} ITERATOR_VARS;
++
+ /*
+ * Global data which is not specific to a screen.
+ */
+ typedef struct {
++ SIG_ATOMIC_T have_sigtstp;
+ SIG_ATOMIC_T have_sigwinch;
+ SIG_ATOMIC_T cleanup_nested;
+
+ bool init_signals;
+ bool init_screen;
+
+- const char *comp_sourcename;
++ char *comp_sourcename;
+ char *comp_termtype;
+
+ bool have_tic_directory;
+@@ -798,6 +845,12 @@
+ int tgetent_index;
+ long tgetent_sequence;
+
++ char *dbd_blob; /* string-heap for dbd_list[] */
++ char **dbd_list; /* distinct places to look for data */
++ int dbd_size; /* length of dbd_list[] */
++ time_t dbd_time; /* cache last updated */
++ ITERATOR_VARS dbd_vars[dbdLAST];
++
+ #ifndef USE_SP_WINDOWLIST
+ WINDOWLIST *_nc_windowlist;
+ #define WindowList(sp) _nc_globals._nc_windowlist
+@@ -891,6 +944,7 @@
+ const char *_tputs_trace;
+ #endif
+ #endif
++ bool use_tioctl;
+ } NCURSES_PRESCREEN;
+
+ /*
+@@ -911,11 +965,13 @@
+ */
+
+ struct screen {
+- int _ifd; /* input file ptr for screen */
++ int _ifd; /* input file descriptor for screen */
++ int _ofd; /* output file descriptor for screen */
+ FILE *_ofp; /* output file ptr for screen */
+- char *_setbuf; /* buffered I/O for output */
++ char *out_buffer; /* output buffer */
++ size_t out_limit; /* output buffer size */
++ size_t out_inuse; /* output buffer current use */
+ bool _filtered; /* filter() was called */
+- bool _buffered; /* setvbuf uses _setbuf data */
+ bool _prescreen; /* is in prescreen phase */
+ bool _use_env; /* LINES & COLS from environment? */
+ int _checkfd; /* filedesc for typeahead check */
+@@ -1015,6 +1071,7 @@
+ int _pair_count; /* count of color pairs */
+ int _pair_limit; /* actual limit of color-pairs */
+ #if NCURSES_EXT_FUNCS
++ bool _assumed_color; /* use assumed colors */
+ bool _default_color; /* use default colors */
+ bool _has_sgr_39_49; /* has ECMA default color support */
+ int _default_fg; /* assumed default foreground */
+@@ -1032,6 +1089,10 @@
+ bool _use_rmso; /* true if we may use 'rmso' */
+ bool _use_rmul; /* true if we may use 'rmul' */
+
++#if USE_KLIBC_KBD
++ bool _extended_key; /* true if an extended key */
++#endif
++
+ /*
+ * These data correspond to the state of the idcok() and idlok()
+ * functions. A caveat is in order here: the XSI and SVr4
+@@ -1055,7 +1116,9 @@
+ void (*_mouse_wrap) (SCREEN *);
+ int _mouse_fd; /* file-descriptor, if any */
+ bool _mouse_active; /* true if initialized */
+- mmask_t _mouse_mask;
++ mmask_t _mouse_mask; /* set via mousemask() */
++ mmask_t _mouse_mask2; /* OR's in press/release bits */
++ mmask_t _mouse_bstate;
+ NCURSES_CONST char *_mouse_xtermcap; /* string to enable/disable mouse */
+ MEVENT _mouse_events[EV_MAX]; /* hold the last mouse event seen */
+ MEVENT *_mouse_eventp; /* next free slot in event queue */
+@@ -1102,6 +1165,7 @@
+ */
+ #if USE_SIZECHANGE
+ int (*_resize)(NCURSES_SP_DCLx int y, int x);
++ int (*_ungetch)(SCREEN *, int);
+ #endif
+
+ /*
+@@ -1120,7 +1184,6 @@
+ int *_oldnum_list;
+ int _oldnum_size;
+
+- bool _cleanup; /* cleanup after int/quit signal */
+ NCURSES_SP_OUTC _outch; /* output handler if not putc */
+
+ int _legacy_coding; /* see use_legacy_coding() */
+@@ -1158,7 +1221,10 @@
+ * UTF-8, but do not permit ACS at the same time (see tty_update.c).
+ */
+ bool _screen_acs_fix;
++ bool _screen_unicode;
+ #endif
++
++ bool _use_tioctl;
+ };
+
+ extern NCURSES_EXPORT_VAR(SCREEN *) _nc_screen_chain;
+@@ -1168,7 +1234,7 @@
+ WINDOWLIST *next;
+ SCREEN *screen; /* screen containing the window */
+ WINDOW win; /* WINDOW_EXT() needs to account for offset */
+-#ifdef NCURSES_WIDECHAR
++#if NCURSES_WIDECHAR
+ char addch_work[(MB_LEN_MAX * 9) + 1];
+ unsigned addch_used; /* number of bytes in addch_work[] */
+ int addch_x; /* x-position for addch_work[] */
+@@ -1189,7 +1255,7 @@
+ sp->_endwin = TRUE; \
+ sp->_cursor = -1; \
+ WindowList(sp) = 0; \
+- sp->_outch = NCURSES_SP_NAME(_nc_outch); \
++ sp->_outch = NCURSES_OUTC_FUNC; \
+ sp->jump = 0 \
+
+ /* usually in <limits.h> */
+@@ -1322,9 +1388,9 @@
+ #define PUTC_DATA char PUTC_buf[MB_LEN_MAX]; int PUTC_i, PUTC_n; \
+ mbstate_t PUT_st; wchar_t PUTC_ch
+ #define PUTC_INIT init_mb (PUT_st)
+-#define PUTC(ch,b) do { if(!isWidecExt(ch)) { \
++#define PUTC(ch) do { if(!isWidecExt(ch)) { \
+ if (Charable(ch)) { \
+- fputc(CharOf(ch), b); \
++ NCURSES_OUTC_FUNC (NCURSES_SP_ARGx CharOf(ch)); \
+ COUNT_OUTCHARS(1); \
+ } else { \
+ PUTC_INIT; \
+@@ -1336,10 +1402,14 @@
+ (ch).chars[PUTC_i], &PUT_st); \
+ if (PUTC_n <= 0) { \
+ if (PUTC_ch && is8bits(PUTC_ch) && PUTC_i == 0) \
+- putc(PUTC_ch,b); \
++ NCURSES_OUTC_FUNC (NCURSES_SP_ARGx CharOf(ch)); \
+ break; \
++ } else { \
++ int PUTC_j; \
++ for (PUTC_j = 0; PUTC_j < PUTC_n; ++PUTC_j) { \
++ NCURSES_OUTC_FUNC (NCURSES_SP_ARGx PUTC_buf[PUTC_j]); \
++ } \
+ } \
+- IGNORE_RC(fwrite(PUTC_buf, (unsigned) PUTC_n, 1, b)); \
+ } \
+ COUNT_OUTCHARS(PUTC_i); \
+ } } } while (0)
+@@ -1362,7 +1432,7 @@
+ AttrOf(dst) |= (attr_t) (ext + 1)
+
+ #define if_WIDEC(code) code
+-#define Charable(ch) ((SP_PARM != 0 && SP_PARM->_legacy_coding) \
++#define Charable(ch) ((SP_PARM->_legacy_coding) \
+ || (AttrOf(ch) & A_ALTCHARSET) \
+ || (!isWidecExt(ch) && \
+ (ch).chars[1] == L'\0' && \
+@@ -1383,8 +1453,8 @@
+ #define CHDEREF(wch) wch
+ #define ARG_CH_T NCURSES_CH_T
+ #define CARG_CH_T NCURSES_CH_T
+-#define PUTC_DATA int data = 0
+-#define PUTC(ch,b) do { data = CharOf(ch); putc(data,b); } while (0)
++#define PUTC_DATA /* nothing */
++#define PUTC(ch) NCURSES_OUTC_FUNC (NCURSES_SP_ARGx (int) ch)
+
+ #define BLANK (' '|A_NORMAL)
+ #define ZEROS ('\0'|A_NORMAL)
+@@ -1412,25 +1482,25 @@
+
+ #define CHANGED_CELL(line,col) \
+ if (line->firstchar == _NOCHANGE) \
+- line->firstchar = line->lastchar = (NCURSES_SIZE_T) col; \
++ line->firstchar = line->lastchar = (NCURSES_SIZE_T) (col); \
+ else if ((col) < line->firstchar) \
+- line->firstchar = (NCURSES_SIZE_T) col; \
++ line->firstchar = (NCURSES_SIZE_T) (col); \
+ else if ((col) > line->lastchar) \
+- line->lastchar = (NCURSES_SIZE_T) col
++ line->lastchar = (NCURSES_SIZE_T) (col)
+
+ #define CHANGED_RANGE(line,start,end) \
+ if (line->firstchar == _NOCHANGE \
+ || line->firstchar > (start)) \
+- line->firstchar = (NCURSES_SIZE_T) start; \
++ line->firstchar = (NCURSES_SIZE_T) (start); \
+ if (line->lastchar == _NOCHANGE \
+ || line->lastchar < (end)) \
+- line->lastchar = (NCURSES_SIZE_T) end
++ line->lastchar = (NCURSES_SIZE_T) (end)
+
+ #define CHANGED_TO_EOL(line,start,end) \
+ if (line->firstchar == _NOCHANGE \
+ || line->firstchar > (start)) \
+- line->firstchar = (NCURSES_SIZE_T) start; \
+- line->lastchar = (NCURSES_SIZE_T) end
++ line->firstchar = (NCURSES_SIZE_T) (start); \
++ line->lastchar = (NCURSES_SIZE_T) (end)
+
+ #define SIZEOF(v) (sizeof(v)/sizeof(v[0]))
+
+@@ -1444,6 +1514,20 @@
+ #include <nc_alloc.h>
+
+ /*
++ * Use these for tic/infocmp malloc failures. Generally the ncurses library
++ * tries to limp along after a failure.
++ */
++#define TYPE_MALLOC(type, size, name) \
++ name = typeMalloc(type, size); \
++ if (name == 0) \
++ _nc_err_abort(MSG_NO_MEMORY)
++
++#define TYPE_REALLOC(type, size, name) \
++ name = typeRealloc(type, size, name); \
++ if (name == 0) \
++ _nc_err_abort(MSG_NO_MEMORY)
++
++/*
+ * TTY bit definition for converting tabs to spaces.
+ */
+ #ifdef TAB3
+@@ -1528,7 +1612,7 @@
+ #define returnVoidPtr(code) TRACE_RETURN(code,void_ptr)
+ #define returnWin(code) TRACE_RETURN(code,win)
+
+-extern NCURSES_EXPORT(NCURSES_BOOL) _nc_retrace_bool (NCURSES_BOOL);
++extern NCURSES_EXPORT(NCURSES_BOOL) _nc_retrace_bool (int);
+ extern NCURSES_EXPORT(NCURSES_CONST void *) _nc_retrace_cvoid_ptr (NCURSES_CONST void *);
+ extern NCURSES_EXPORT(SCREEN *) _nc_retrace_sp (SCREEN *);
+ extern NCURSES_EXPORT(WINDOW *) _nc_retrace_win (WINDOW *);
+@@ -1539,7 +1623,7 @@
+ extern NCURSES_EXPORT(chtype) _nc_retrace_chtype (chtype);
+ extern NCURSES_EXPORT(const char *) _nc_altcharset_name(attr_t, chtype);
+ extern NCURSES_EXPORT(const char *) _nc_retrace_cptr (const char *);
+-extern NCURSES_EXPORT(char) _nc_retrace_char (char);
++extern NCURSES_EXPORT(char) _nc_retrace_char (int);
+ extern NCURSES_EXPORT(int) _nc_retrace_int (int);
+ extern NCURSES_EXPORT(int) _nc_retrace_int_attr_t (attr_t);
+ extern NCURSES_EXPORT(mmask_t) _nc_retrace_mmask_t (SCREEN *, mmask_t);
+@@ -1795,6 +1879,8 @@
+ /* lib_mvcur.c */
+ #define INFINITY 1000000 /* cost: too high to use */
+
++extern NCURSES_EXPORT(int) _nc_mvcur(int yold, int xold, int ynew, int xnew);
++
+ extern NCURSES_EXPORT(void) _nc_mvcur_init (void);
+ extern NCURSES_EXPORT(void) _nc_mvcur_resume (void);
+ extern NCURSES_EXPORT(void) _nc_mvcur_wrap (void);
+@@ -1816,12 +1902,31 @@
+ extern NCURSES_EXPORT(char *) _nc_get_locale(void);
+ extern NCURSES_EXPORT(int) _nc_unicode_locale(void);
+ extern NCURSES_EXPORT(int) _nc_locale_breaks_acs(TERMINAL *);
+-extern NCURSES_EXPORT(int) _nc_setupterm(NCURSES_CONST char *, int, int *, bool);
+-extern NCURSES_EXPORT(void) _nc_tinfo_cmdch(TERMINAL *, char);
++extern NCURSES_EXPORT(int) _nc_setupterm(NCURSES_CONST char *, int, int *, int);
++extern NCURSES_EXPORT(void) _nc_tinfo_cmdch(TERMINAL *, int);
+
+ /* lib_set_term.c */
+ extern NCURSES_EXPORT(int) _nc_ripoffline(int, int(*)(WINDOW*, int));
+
++/* lib_setup.c */
++#define ret_error(code, fmt, arg) if (errret) {\
++ *errret = code;\
++ returnCode(ERR);\
++ } else {\
++ fprintf(stderr, fmt, arg);\
++ exit(EXIT_FAILURE);\
++ }
++
++#define ret_error1(code, fmt, arg) ret_error(code, "'%s': " fmt, arg)
++
++#define ret_error0(code, msg) if (errret) {\
++ *errret = code;\
++ returnCode(ERR);\
++ } else {\
++ fprintf(stderr, msg);\
++ exit(EXIT_FAILURE);\
++ }
++
+ /* lib_tstp.c */
+ #if USE_SIGWINCH
+ extern NCURSES_EXPORT(int) _nc_handle_sigwinch(SCREEN *);
+@@ -1875,16 +1980,17 @@
+ extern NCURSES_EXPORT(int) _nc_baudrate (int);
+ extern NCURSES_EXPORT(int) _nc_freewin (WINDOW *);
+ extern NCURSES_EXPORT(int) _nc_getenv_num (const char *);
+-extern NCURSES_EXPORT(int) _nc_keypad (SCREEN *, bool);
++extern NCURSES_EXPORT(int) _nc_keypad (SCREEN *, int);
+ extern NCURSES_EXPORT(int) _nc_ospeed (int);
+ extern NCURSES_EXPORT(int) _nc_outch (int);
++extern NCURSES_EXPORT(int) _nc_putchar (int);
+ extern NCURSES_EXPORT(int) _nc_putp(const char *, const char *);
+ extern NCURSES_EXPORT(int) _nc_putp_flush(const char *, const char *);
+ extern NCURSES_EXPORT(int) _nc_read_termcap_entry (const char *const, TERMTYPE *const);
+-extern NCURSES_EXPORT(int) _nc_setupscreen (int, int, FILE *, bool, int);
+ extern NCURSES_EXPORT(int) _nc_setup_tinfo(const char *, TERMTYPE *);
++extern NCURSES_EXPORT(int) _nc_setupscreen (int, int, FILE *, int, int);
+ extern NCURSES_EXPORT(int) _nc_timed_wait (SCREEN *, int, int, int * EVENTLIST_2nd(_nc_eventlist *));
+-extern NCURSES_EXPORT(void) _nc_do_color (short, short, bool, NCURSES_OUTC);
++extern NCURSES_EXPORT(void) _nc_do_color (int, int, int, NCURSES_OUTC);
+ extern NCURSES_EXPORT(void) _nc_flush (void);
+ extern NCURSES_EXPORT(void) _nc_free_and_exit (int) GCC_NORETURN;
+ extern NCURSES_EXPORT(void) _nc_free_entry (ENTRY *, TERMTYPE *);
+@@ -1895,8 +2001,9 @@
+ extern NCURSES_EXPORT(void) _nc_make_oldhash (int i);
+ extern NCURSES_EXPORT(void) _nc_scroll_oldhash (int n, int top, int bot);
+ extern NCURSES_EXPORT(void) _nc_scroll_optimize (void);
+-extern NCURSES_EXPORT(void) _nc_set_buffer (FILE *, bool);
+-extern NCURSES_EXPORT(void) _nc_signal_handler (bool);
++extern NCURSES_EXPORT(void) _nc_set_buffer (FILE *, int);
++extern NCURSES_EXPORT(void) _nc_setenv_num (const char *, int);
++extern NCURSES_EXPORT(void) _nc_signal_handler (int);
+ extern NCURSES_EXPORT(void) _nc_synchook (WINDOW *);
+ extern NCURSES_EXPORT(void) _nc_trace_tries (TRIES *);
+
+@@ -1905,7 +2012,9 @@
+ extern NCURSES_EXPORT(void) _nc_captoinfo_leaks(void);
+ extern NCURSES_EXPORT(void) _nc_codes_leaks(void);
+ extern NCURSES_EXPORT(void) _nc_comp_captab_leaks(void);
++extern NCURSES_EXPORT(void) _nc_comp_error_leaks(void);
+ extern NCURSES_EXPORT(void) _nc_comp_scan_leaks(void);
++extern NCURSES_EXPORT(void) _nc_db_iterator_leaks(void);
+ extern NCURSES_EXPORT(void) _nc_keyname_leaks(void);
+ extern NCURSES_EXPORT(void) _nc_names_leaks(void);
+ extern NCURSES_EXPORT(void) _nc_tgetent_leaks(void);
+@@ -1914,7 +2023,7 @@
+ #if !(defined(USE_TERMLIB) || defined(USE_BUILD_CC))
+ extern NCURSES_EXPORT(NCURSES_CH_T) _nc_render (WINDOW *, NCURSES_CH_T);
+ extern NCURSES_EXPORT(int) _nc_waddch_nosync (WINDOW *, const NCURSES_CH_T);
+-extern NCURSES_EXPORT(void) _nc_scroll_window (WINDOW *, int const, NCURSES_SIZE_T const, NCURSES_SIZE_T const, NCURSES_CH_T);
++extern NCURSES_EXPORT(void) _nc_scroll_window (WINDOW *, int const, int const, int const, NCURSES_CH_T);
+ #endif
+
+ #if USE_WIDEC_SUPPORT
+@@ -1946,8 +2055,26 @@
+ * Wide-character macros to hide some platform-differences.
+ */
+ #if USE_WIDEC_SUPPORT
++
++#if defined(__MINGW32__)
++/*
++ * MinGW has wide-character functions, but they do not work correctly.
++ */
++
++extern int __MINGW_NOTHROW _nc_wctomb(char *, wchar_t);
++#define wctomb(s,wc) _nc_wctomb(s,wc)
++#define wcrtomb(s,wc,n) _nc_wctomb(s,wc)
++
++extern int __MINGW_NOTHROW _nc_mbtowc(wchar_t *, const char *, size_t);
++#define mbtowc(pwc,s,n) _nc_mbtowc(pwc,s,n)
++
++extern int __MINGW_NOTHROW _nc_mblen(const char *, size_t);
++#define mblen(s,n) _nc_mblen(s, n)
++
++#endif /* __MINGW32__ */
++
+ #if HAVE_MBTOWC && HAVE_MBLEN
+-#define reset_mbytes(state) IGNORE_RC(mblen(NULL, 0)), IGNORE_RC(mbtowc(NULL, NULL, 0))
++#define reset_mbytes(state) IGNORE_RC(mblen(NULL, (size_t) 0)), IGNORE_RC(mbtowc(NULL, NULL, (size_t) 0))
+ #define count_mbytes(buffer,length,state) mblen(buffer,length)
+ #define check_mbytes(wch,buffer,length,state) \
+ (int) mbtowc(&wch, buffer, length)
+@@ -1960,7 +2087,8 @@
+ #else
+ make an error
+ #endif
+-#endif
++
++#endif /* USE_WIDEC_SUPPORT */
+
+ /*
+ * Not everyone has vsscanf(), but we'd like to use it for scanw().
+@@ -2049,9 +2177,9 @@
+
+ #define SetSafeOutcWrapper(outc) \
+ SCREEN* sp = CURRENT_SCREEN; \
++ struct screen outc_wrapper; \
+ if (sp==0) { \
+- struct screen dummy; \
+- sp = &dummy; \
++ sp = &outc_wrapper; \
+ memset(sp,0,sizeof(struct screen)); \
+ sp->_outch = _nc_outc_wrapper; \
+ }\
+@@ -2084,39 +2212,39 @@
+
+ typedef struct term_driver {
+ bool isTerminfo;
+- bool (*CanHandle)(struct DriverTCB*,const char*,int*);
++ bool (*CanHandle)(struct DriverTCB*, const char*, int*);
+ void (*init)(struct DriverTCB*);
+ void (*release)(struct DriverTCB*);
+ int (*size)(struct DriverTCB*, int* Line, int *Cols);
+- int (*sgmode)(struct DriverTCB*, bool setFlag, TTY*);
++ int (*sgmode)(struct DriverTCB*, int setFlag, TTY*);
+ chtype (*conattr)(struct DriverTCB*);
+ int (*hwcur)(struct DriverTCB*, int yold, int xold, int y, int x);
+- int (*mode)(struct DriverTCB*, bool progFlag, bool defFlag);
++ int (*mode)(struct DriverTCB*, int progFlag, int defFlag);
+ bool (*rescol)(struct DriverTCB*);
+ bool (*rescolors)(struct DriverTCB*);
+- void (*color)(struct DriverTCB*,bool fore, int color, int(*)(SCREEN*,int));
+- int (*doBeepOrFlash)(struct DriverTCB*, bool);
+- void (*initpair)(struct DriverTCB*,short,short,short);
+- void (*initcolor)(struct DriverTCB*,short,short,short,short);
+- void (*docolor)(struct DriverTCB*,short,short,bool,int(*)(SCREEN*,int));
++ void (*color)(struct DriverTCB*, int fore, int color, int(*)(SCREEN*, int));
++ int (*doBeepOrFlash)(struct DriverTCB*, int);
++ void (*initpair)(struct DriverTCB*, int, int, int);
++ void (*initcolor)(struct DriverTCB*, int, int, int, int);
++ void (*docolor)(struct DriverTCB*, int, int, int, int(*)(SCREEN*, int));
+ void (*initmouse)(struct DriverTCB*);
+- int (*testmouse)(struct DriverTCB*,int);
++ int (*testmouse)(struct DriverTCB*, int EVENTLIST_2nd(_nc_eventlist*));
+ void (*setfilter)(struct DriverTCB*);
+- void (*hwlabel)(struct DriverTCB*,int,char*);
+- void (*hwlabelOnOff)(struct DriverTCB*,bool);
++ void (*hwlabel)(struct DriverTCB*, int, char*);
++ void (*hwlabelOnOff)(struct DriverTCB*, int);
+ int (*update)(struct DriverTCB*);
+- int (*defaultcolors)(struct DriverTCB*,int,int);
+- int (*print)(struct DriverTCB*,char*,int);
+- int (*getsize)(struct DriverTCB*,int*,int*);
+- int (*setsize)(struct DriverTCB*,int,int);
+- void (*initacs)(struct DriverTCB*,chtype*,chtype*);
++ int (*defaultcolors)(struct DriverTCB*, int, int);
++ int (*print)(struct DriverTCB*, char*, int);
++ int (*getsize)(struct DriverTCB*, int*, int*);
++ int (*setsize)(struct DriverTCB*, int, int);
++ void (*initacs)(struct DriverTCB*, chtype*, chtype*);
+ void (*scinit)(SCREEN *);
+ void (*scexit)(SCREEN *);
+- int (*twait)(struct DriverTCB*,int,int,int* EVENTLIST_2nd(_nc_eventlist*));
+- int (*read)(struct DriverTCB*,int*);
+- int (*nap)(struct DriverTCB*,int);
+- int (*kpad)(struct DriverTCB*, bool);
+- int (*kyOk)(struct DriverTCB*, int, bool);
++ int (*twait)(struct DriverTCB*, int, int, int* EVENTLIST_2nd(_nc_eventlist*));
++ int (*read)(struct DriverTCB*, int*);
++ int (*nap)(struct DriverTCB*, int);
++ int (*kpad)(struct DriverTCB*, int);
++ int (*kyOk)(struct DriverTCB*, int, int);
+ bool (*kyExist)(struct DriverTCB*, int);
+ } TERM_DRIVER;
+
+@@ -2166,7 +2294,7 @@
+ #else
+ #define TINFO_HAS_KEY NCURSES_SP_NAME(has_key)
+ #define TINFO_DOUPDATE NCURSES_SP_NAME(doupdate)
+-#define TINFO_MVCUR NCURSES_SP_NAME(mvcur)
++#define TINFO_MVCUR NCURSES_SP_NAME(_nc_mvcur)
+ #endif
+
+ /*
+@@ -2174,7 +2302,7 @@
+ */
+ #ifdef USE_TERM_DRIVER
+ extern NCURSES_EXPORT(void) _nc_get_screensize(SCREEN *, TERMINAL *, int *, int *);
+-extern NCURSES_EXPORT(int) _nc_setupterm_ex(TERMINAL **, NCURSES_CONST char *, int , int *, bool);
++extern NCURSES_EXPORT(int) _nc_setupterm_ex(TERMINAL **, NCURSES_CONST char *, int , int *, int);
+ #define TINFO_GET_SIZE(sp, tp, lp, cp) \
+ _nc_get_screensize(sp, tp, lp, cp)
+ #define TINFO_SET_CURTERM(sp, tp) \
+@@ -2239,7 +2367,9 @@
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_get_tty_mode)(SCREEN*,TTY*);
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_mcprint)(SCREEN*,char*, int);
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_msec_cost)(SCREEN*, const char *, int);
++extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_mvcur)(SCREEN*, int, int, int, int);
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_outch)(SCREEN*, int);
++extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_putchar)(SCREEN*, int);
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_putp)(SCREEN*, const char *, const char*);
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_putp_flush)(SCREEN*, const char *, const char *);
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_resetty)(SCREEN*);
+@@ -2250,12 +2380,12 @@
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_scr_restore)(SCREEN*, const char*);
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_scrolln)(SCREEN*, int, int, int, int);
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_set_tty_mode)(SCREEN*, TTY*);
+-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_setupscreen)(SCREEN**, int, int, FILE *, bool, int);
++extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_setupscreen)(SCREEN**, int, int, FILE *, int, int);
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_tgetent)(SCREEN*,char*,const char *);
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_tigetnum)(SCREEN*,NCURSES_CONST char*);
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_vid_attr)(SCREEN *, attr_t, short, void *);
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_vidputs)(SCREEN*,chtype,int(*) (SCREEN*, int));
+-extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_do_color)(SCREEN*, short, short, bool, NCURSES_SP_OUTC);
++extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_do_color)(SCREEN*, int, int, int, NCURSES_SP_OUTC);
+ extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_do_xmc_glitch)(SCREEN*, attr_t);
+ extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_flush)(SCREEN*);
+ extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_free_and_exit)(SCREEN*, int) GCC_NORETURN;
+@@ -2271,7 +2401,7 @@
+ extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_screen_wrap)(SCREEN*);
+ extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_scroll_oldhash)(SCREEN*, int n, int top, int bot);
+ extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_scroll_optimize)(SCREEN*);
+-extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_set_buffer)(SCREEN*, FILE *, bool);
++extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_set_buffer)(SCREEN*, FILE *, int);
+
+ extern NCURSES_EXPORT(void) _nc_cookie_init(SCREEN *sp);
+
+Index: ncurses/fifo_defs.h
+Prereq: 1.6
+--- ncurses-5.9/ncurses/fifo_defs.h 2008-06-28 15:52:32.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/fifo_defs.h 2012-08-04 15:59:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2002,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2008,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -34,7 +34,7 @@
+ /*
+ * Common macros for lib_getch.c, lib_ungetch.c
+ *
+- * $Id: fifo_defs.h,v 1.6 2008/06/28 15:52:32 tom Exp $
++ * $Id: fifo_defs.h,v 1.7 2012/08/04 15:59:17 tom Exp $
+ */
+
+ #ifndef FIFO_DEFS_H
+@@ -45,14 +45,42 @@
+ /* peek points to next uninterpreted character */
+ #define peek sp->_fifopeek
+
+-#define h_inc() { head == FIFO_SIZE-1 ? head = 0 : head++; if (head == tail) head = -1, tail = 0;}
+-#define h_dec() { head == 0 ? head = FIFO_SIZE-1 : head--; if (head == tail) tail = -1;}
+-#define t_inc() { tail == FIFO_SIZE-1 ? tail = 0 : tail++; if (tail == head) tail = -1;}
+-#define t_dec() { tail == 0 ? tail = FIFO_SIZE-1 : tail--; if (head == tail) fifo_clear(sp);}
+-#define p_inc() { peek == FIFO_SIZE-1 ? peek = 0 : peek++;}
++#define h_inc() { \
++ (head >= FIFO_SIZE-1) \
++ ? head = 0 \
++ : head++; \
++ if (head == tail) \
++ head = -1, tail = 0; \
++ }
++#define h_dec() { \
++ (head <= 0) \
++ ? head = FIFO_SIZE-1 \
++ : head--; \
++ if (head == tail) \
++ tail = -1; \
++ }
++#define t_inc() { \
++ (tail >= FIFO_SIZE-1) \
++ ? tail = 0 \
++ : tail++; \
++ if (tail == head) \
++ tail = -1; \
++ }
++#define t_dec() { \
++ (tail <= 0) \
++ ? tail = FIFO_SIZE-1 \
++ : tail--; \
++ if (head == tail) \
++ fifo_clear(sp); \
++ }
++#define p_inc() { \
++ (peek >= FIFO_SIZE-1) \
++ ? peek = 0 \
++ : peek++; \
++ }
+
+-#define cooked_key_in_fifo() ((head != -1) && (peek != head))
+-#define raw_key_in_fifo() ((head != -1) && (peek != tail))
++#define cooked_key_in_fifo() ((head >= 0) && (peek != head))
++#define raw_key_in_fifo() ((head >= 0) && (peek != tail))
+
+ #undef HIDE_EINTR
+
+Index: ncurses/llib-lncurses
+--- ncurses-5.9/ncurses/llib-lncurses 2011-01-08 18:57:00.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/llib-lncurses 2012-07-14 17:39:00.000000000 +0000
+@@ -3369,6 +3369,17 @@
+ NCURSES_BOOL f)
+ { /* void */ }
+
++#undef use_tioctl_sp
++void use_tioctl_sp(
++ SCREEN *sp,
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef use_tioctl
++void use_tioctl(
++ NCURSES_BOOL f)
++ { /* void */ }
++
+ #undef _nc_get_screensize
+ void _nc_get_screensize(
+ SCREEN *sp,
+Index: ncurses/llib-lncursest
+--- ncurses-5.9/ncurses/llib-lncursest 2011-01-08 19:03:20.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/llib-lncursest 2012-07-14 17:39:00.000000000 +0000
+@@ -3449,6 +3449,17 @@
+ NCURSES_BOOL f)
+ { /* void */ }
+
++#undef use_tioctl_sp
++void use_tioctl_sp(
++ SCREEN *sp,
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef use_tioctl
++void use_tioctl(
++ NCURSES_BOOL f)
++ { /* void */ }
++
+ #undef _nc_get_screensize
+ void _nc_get_screensize(
+ SCREEN *sp,
+Index: ncurses/llib-lncursestw
+--- ncurses-5.9/ncurses/llib-lncursestw 2011-01-08 19:11:35.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/llib-lncursestw 2012-07-14 17:39:00.000000000 +0000
+@@ -4234,6 +4234,17 @@
+ NCURSES_BOOL f)
+ { /* void */ }
+
++#undef use_tioctl_sp
++void use_tioctl_sp(
++ SCREEN *sp,
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef use_tioct
++void use_tioct(
++ NCURSES_BOOL f)
++ { /* void */ }
++
+ #undef _nc_get_screensize
+ void _nc_get_screensize(
+ SCREEN *sp,
+Index: ncurses/llib-lncursesw
+--- ncurses-5.9/ncurses/llib-lncursesw 2011-01-08 19:01:11.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/llib-lncursesw 2012-07-14 17:39:00.000000000 +0000
+@@ -4154,6 +4154,17 @@
+ NCURSES_BOOL f)
+ { /* void */ }
+
++#undef use_tioctl_sp
++void use_tioctl_sp(
++ SCREEN *sp,
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef use_tioctl
++void use_tioctl(
++ NCURSES_BOOL f)
++ { /* void */ }
++
+ #undef _nc_get_screensize
+ void _nc_get_screensize(
+ SCREEN *sp,
+Index: ncurses/llib-ltic
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/ncurses/llib-ltic 2012-06-30 20:16:16.000000000 +0000
+@@ -0,0 +1,212 @@
++/****************************************************************************
++ * Copyright (c) 2012 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++
++/****************************************************************************
++ * Author: Thomas E. Dickey 2012 *
++ ****************************************************************************/
++/* LINTLIBRARY */
++
++/* ./tinfo/alloc_entry.c */
++
++#include <curses.priv.h>
++#include <tic.h>
++
++#undef _nc_init_entry
++void _nc_init_entry(
++ TERMTYPE *const tp)
++ { /* void */ }
++
++#undef _nc_copy_entry
++ENTRY *_nc_copy_entry(
++ ENTRY *oldp)
++ { return(*(ENTRY **)0); }
++
++#undef _nc_save_str
++char *_nc_save_str(
++ const char *const string)
++ { return(*(char **)0); }
++
++#undef _nc_wrap_entry
++void _nc_wrap_entry(
++ ENTRY *const ep,
++ NCURSES_BOOL copy_strings)
++ { /* void */ }
++
++#undef _nc_merge_entry
++void _nc_merge_entry(
++ TERMTYPE *const to,
++ TERMTYPE *const from)
++ { /* void */ }
++
++/* ./tinfo/captoinfo.c */
++
++#include <ctype.h>
++
++#undef _nc_captoinfo
++char *_nc_captoinfo(
++ const char *cap,
++ const char *s,
++ int const parameterized)
++ { return(*(char **)0); }
++
++#undef _nc_infotocap
++char *_nc_infotocap(
++ const char *cap,
++ const char *str,
++ int const parameterized)
++ { return(*(char **)0); }
++
++/* ./tinfo/comp_expand.c */
++
++#undef _nc_tic_expand
++char *_nc_tic_expand(
++ const char *srcp,
++ NCURSES_BOOL tic_format,
++ int numbers)
++ { return(*(char **)0); }
++
++/* ./tinfo/comp_parse.c */
++
++#undef _nc_check_termtype2
++void (*_nc_check_termtype2)(
++ TERMTYPE *p1,
++ NCURSES_BOOL p2);
++#undef _nc_check_termtype
++void (*_nc_check_termtype)(
++ TERMTYPE *p1);
++
++#undef _nc_entry_match
++NCURSES_BOOL _nc_entry_match(
++ char *n1,
++ char *n2)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_read_entry_source
++void _nc_read_entry_source(
++ FILE *fp,
++ char *buf,
++ int literal,
++ NCURSES_BOOL silent,
++ NCURSES_BOOL (*hook)(
++ ENTRY *p1))
++ { /* void */ }
++
++#undef _nc_resolve_uses2
++int _nc_resolve_uses2(
++ NCURSES_BOOL fullresolve,
++ NCURSES_BOOL literal)
++ { return(*(int *)0); }
++
++#undef _nc_resolve_uses
++int _nc_resolve_uses(
++ NCURSES_BOOL fullresolve)
++ { return(*(int *)0); }
++
++/* ./tinfo/comp_scan.c */
++
++#undef _nc_syntax
++int _nc_syntax;
++#undef _nc_strict_bsd
++int _nc_strict_bsd;
++#undef _nc_curr_file_pos
++long _nc_curr_file_pos;
++#undef _nc_comment_start
++long _nc_comment_start;
++#undef _nc_comment_end
++long _nc_comment_end;
++#undef _nc_start_line
++long _nc_start_line;
++#undef _nc_curr_token
++struct token _nc_curr_token;
++#undef _nc_disable_period
++NCURSES_BOOL _nc_disable_period;
++
++#undef _nc_reset_input
++void _nc_reset_input(
++ FILE *fp,
++ char *buf)
++ { /* void */ }
++
++#undef _nc_get_token
++int _nc_get_token(
++ NCURSES_BOOL silent)
++ { return(*(int *)0); }
++
++#undef _nc_trans_string
++int _nc_trans_string(
++ char *ptr,
++ char *last)
++ { return(*(int *)0); }
++
++#undef _nc_push_token
++void _nc_push_token(
++ int tokclass)
++ { /* void */ }
++
++#undef _nc_panic_mode
++void _nc_panic_mode(
++ char ch)
++ { /* void */ }
++
++/* ./tinfo/parse_entry.c */
++
++#undef _nc_parse_entry
++int _nc_parse_entry(
++ struct entry *entryp,
++ int literal,
++ NCURSES_BOOL silent)
++ { return(*(int *)0); }
++
++#undef _nc_capcmp
++int _nc_capcmp(
++ const char *s,
++ const char *t)
++ { return(*(int *)0); }
++
++typedef struct {
++ const char *from;
++ const char *to;
++} assoc;
++
++/* ./tinfo/write_entry.c */
++
++#include <hashed_db.h>
++
++#undef _nc_set_writedir
++void _nc_set_writedir(
++ char *dir)
++ { /* void */ }
++
++#undef _nc_write_entry
++void _nc_write_entry(
++ TERMTYPE *const tp)
++ { /* void */ }
++
++#undef _nc_tic_written
++int _nc_tic_written(void)
++ { return(*(int *)0); }
+Index: ncurses/llib-ltictw
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/ncurses/llib-ltictw 2012-06-30 21:24:08.000000000 +0000
+@@ -0,0 +1,212 @@
++/****************************************************************************
++ * Copyright (c) 2012 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++
++/****************************************************************************
++ * Author: Thomas E. Dickey 2012 *
++ ****************************************************************************/
++/* LINTLIBRARY */
++
++/* ./tinfo/alloc_entry.c */
++
++#include <curses.priv.h>
++#include <tic.h>
++
++#undef _nc_init_entry
++void _nc_init_entry(
++ TERMTYPE *const tp)
++ { /* void */ }
++
++#undef _nc_copy_entry
++ENTRY *_nc_copy_entry(
++ ENTRY *oldp)
++ { return(*(ENTRY **)0); }
++
++#undef _nc_save_str
++char *_nc_save_str(
++ const char *const string)
++ { return(*(char **)0); }
++
++#undef _nc_wrap_entry
++void _nc_wrap_entry(
++ ENTRY *const ep,
++ NCURSES_BOOL copy_strings)
++ { /* void */ }
++
++#undef _nc_merge_entry
++void _nc_merge_entry(
++ TERMTYPE *const to,
++ TERMTYPE *const from)
++ { /* void */ }
++
++/* ./tinfo/captoinfo.c */
++
++#include <ctype.h>
++
++#undef _nc_captoinfo
++char *_nc_captoinfo(
++ const char *cap,
++ const char *s,
++ int const parameterized)
++ { return(*(char **)0); }
++
++#undef _nc_infotocap
++char *_nc_infotocap(
++ const char *cap,
++ const char *str,
++ int const parameterized)
++ { return(*(char **)0); }
++
++/* ./tinfo/comp_expand.c */
++
++#undef _nc_tic_expand
++char *_nc_tic_expand(
++ const char *srcp,
++ NCURSES_BOOL tic_format,
++ int numbers)
++ { return(*(char **)0); }
++
++/* ./tinfo/comp_parse.c */
++
++#undef _nc_check_termtype2
++void (*_nc_check_termtype2)(
++ TERMTYPE *p1,
++ NCURSES_BOOL p2);
++#undef _nc_check_termtype
++void (*_nc_check_termtype)(
++ TERMTYPE *p1);
++
++#undef _nc_entry_match
++NCURSES_BOOL _nc_entry_match(
++ char *n1,
++ char *n2)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_read_entry_source
++void _nc_read_entry_source(
++ FILE *fp,
++ char *buf,
++ int literal,
++ NCURSES_BOOL silent,
++ NCURSES_BOOL (*hook)(
++ ENTRY *p1))
++ { /* void */ }
++
++#undef _nc_resolve_uses2
++int _nc_resolve_uses2(
++ NCURSES_BOOL fullresolve,
++ NCURSES_BOOL literal)
++ { return(*(int *)0); }
++
++#undef _nc_resolve_uses
++int _nc_resolve_uses(
++ NCURSES_BOOL fullresolve)
++ { return(*(int *)0); }
++
++/* ./tinfo/comp_scan.c */
++
++#undef _nc_syntax
++int _nc_syntax;
++#undef _nc_strict_bsd
++int _nc_strict_bsd;
++#undef _nc_curr_file_pos
++long _nc_curr_file_pos;
++#undef _nc_comment_start
++long _nc_comment_start;
++#undef _nc_comment_end
++long _nc_comment_end;
++#undef _nc_start_line
++long _nc_start_line;
++#undef _nc_curr_token
++struct token _nc_curr_token;
++#undef _nc_disable_period
++NCURSES_BOOL _nc_disable_period;
++
++#undef _nc_reset_input
++void _nc_reset_input(
++ FILE *fp,
++ char *buf)
++ { /* void */ }
++
++#undef _nc_get_token
++int _nc_get_token(
++ NCURSES_BOOL silent)
++ { return(*(int *)0); }
++
++#undef _nc_trans_string
++int _nc_trans_string(
++ char *ptr,
++ char *last)
++ { return(*(int *)0); }
++
++#undef _nc_push_token
++void _nc_push_token(
++ int tokclass)
++ { /* void */ }
++
++#undef _nc_panic_mode
++void _nc_panic_mode(
++ char ch)
++ { /* void */ }
++
++/* ./tinfo/parse_entry.c */
++
++#undef _nc_parse_entry
++int _nc_parse_entry(
++ struct entry *entryp,
++ int literal,
++ NCURSES_BOOL silent)
++ { return(*(int *)0); }
++
++#undef _nc_capcmp
++int _nc_capcmp(
++ const char *s,
++ const char *t)
++ { return(*(int *)0); }
++
++typedef struct {
++ const char *from;
++ const char *to;
++} assoc;
++
++/* ./tinfo/write_entry.c */
++
++#include <hashed_db.h>
++
++#undef _nc_set_writedir
++void _nc_set_writedir(
++ char *dir)
++ { /* void */ }
++
++#undef _nc_write_entry
++void _nc_write_entry(
++ TERMTYPE *const tp)
++ { /* void */ }
++
++#undef _nc_tic_written
++int _nc_tic_written(void)
++ { return(*(int *)0); }
+Index: ncurses/llib-lticw
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/ncurses/llib-lticw 2012-06-30 21:00:26.000000000 +0000
+@@ -0,0 +1,212 @@
++/****************************************************************************
++ * Copyright (c) 2012 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++
++/****************************************************************************
++ * Author: Thomas E. Dickey 2012 *
++ ****************************************************************************/
++/* LINTLIBRARY */
++
++/* ./tinfo/alloc_entry.c */
++
++#include <curses.priv.h>
++#include <tic.h>
++
++#undef _nc_init_entry
++void _nc_init_entry(
++ TERMTYPE *const tp)
++ { /* void */ }
++
++#undef _nc_copy_entry
++ENTRY *_nc_copy_entry(
++ ENTRY *oldp)
++ { return(*(ENTRY **)0); }
++
++#undef _nc_save_str
++char *_nc_save_str(
++ const char *const string)
++ { return(*(char **)0); }
++
++#undef _nc_wrap_entry
++void _nc_wrap_entry(
++ ENTRY *const ep,
++ NCURSES_BOOL copy_strings)
++ { /* void */ }
++
++#undef _nc_merge_entry
++void _nc_merge_entry(
++ TERMTYPE *const to,
++ TERMTYPE *const from)
++ { /* void */ }
++
++/* ./tinfo/captoinfo.c */
++
++#include <ctype.h>
++
++#undef _nc_captoinfo
++char *_nc_captoinfo(
++ const char *cap,
++ const char *s,
++ int const parameterized)
++ { return(*(char **)0); }
++
++#undef _nc_infotocap
++char *_nc_infotocap(
++ const char *cap,
++ const char *str,
++ int const parameterized)
++ { return(*(char **)0); }
++
++/* ./tinfo/comp_expand.c */
++
++#undef _nc_tic_expand
++char *_nc_tic_expand(
++ const char *srcp,
++ NCURSES_BOOL tic_format,
++ int numbers)
++ { return(*(char **)0); }
++
++/* ./tinfo/comp_parse.c */
++
++#undef _nc_check_termtype2
++void (*_nc_check_termtype2)(
++ TERMTYPE *p1,
++ NCURSES_BOOL p2);
++#undef _nc_check_termtype
++void (*_nc_check_termtype)(
++ TERMTYPE *p1);
++
++#undef _nc_entry_match
++NCURSES_BOOL _nc_entry_match(
++ char *n1,
++ char *n2)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_read_entry_source
++void _nc_read_entry_source(
++ FILE *fp,
++ char *buf,
++ int literal,
++ NCURSES_BOOL silent,
++ NCURSES_BOOL (*hook)(
++ ENTRY *p1))
++ { /* void */ }
++
++#undef _nc_resolve_uses2
++int _nc_resolve_uses2(
++ NCURSES_BOOL fullresolve,
++ NCURSES_BOOL literal)
++ { return(*(int *)0); }
++
++#undef _nc_resolve_uses
++int _nc_resolve_uses(
++ NCURSES_BOOL fullresolve)
++ { return(*(int *)0); }
++
++/* ./tinfo/comp_scan.c */
++
++#undef _nc_syntax
++int _nc_syntax;
++#undef _nc_strict_bsd
++int _nc_strict_bsd;
++#undef _nc_curr_file_pos
++long _nc_curr_file_pos;
++#undef _nc_comment_start
++long _nc_comment_start;
++#undef _nc_comment_end
++long _nc_comment_end;
++#undef _nc_start_line
++long _nc_start_line;
++#undef _nc_curr_token
++struct token _nc_curr_token;
++#undef _nc_disable_period
++NCURSES_BOOL _nc_disable_period;
++
++#undef _nc_reset_input
++void _nc_reset_input(
++ FILE *fp,
++ char *buf)
++ { /* void */ }
++
++#undef _nc_get_token
++int _nc_get_token(
++ NCURSES_BOOL silent)
++ { return(*(int *)0); }
++
++#undef _nc_trans_string
++int _nc_trans_string(
++ char *ptr,
++ char *last)
++ { return(*(int *)0); }
++
++#undef _nc_push_token
++void _nc_push_token(
++ int tokclass)
++ { /* void */ }
++
++#undef _nc_panic_mode
++void _nc_panic_mode(
++ char ch)
++ { /* void */ }
++
++/* ./tinfo/parse_entry.c */
++
++#undef _nc_parse_entry
++int _nc_parse_entry(
++ struct entry *entryp,
++ int literal,
++ NCURSES_BOOL silent)
++ { return(*(int *)0); }
++
++#undef _nc_capcmp
++int _nc_capcmp(
++ const char *s,
++ const char *t)
++ { return(*(int *)0); }
++
++typedef struct {
++ const char *from;
++ const char *to;
++} assoc;
++
++/* ./tinfo/write_entry.c */
++
++#include <hashed_db.h>
++
++#undef _nc_set_writedir
++void _nc_set_writedir(
++ char *dir)
++ { /* void */ }
++
++#undef _nc_write_entry
++void _nc_write_entry(
++ TERMTYPE *const tp)
++ { /* void */ }
++
++#undef _nc_tic_written
++int _nc_tic_written(void)
++ { return(*(int *)0); }
+Index: ncurses/llib-ltinfo
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/ncurses/llib-ltinfo 2012-07-14 17:39:00.000000000 +0000
+@@ -0,0 +1,1504 @@
++/****************************************************************************
++ * Copyright (c) 2012 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++
++/****************************************************************************
++ * Author: Thomas E. Dickey 2012 *
++ ****************************************************************************/
++/* LINTLIBRARY */
++
++/* ./tinfo/access.c */
++
++#include <curses.priv.h>
++#include <ctype.h>
++#include <tic.h>
++
++#undef _nc_rootname
++char *_nc_rootname(
++ char *path)
++ { return(*(char **)0); }
++
++#undef _nc_is_abs_path
++NCURSES_BOOL _nc_is_abs_path(
++ const char *path)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_pathlast
++unsigned _nc_pathlast(
++ const char *path)
++ { return(*(unsigned *)0); }
++
++#undef _nc_basename
++char *_nc_basename(
++ char *path)
++ { return(*(char **)0); }
++
++#undef _nc_access
++int _nc_access(
++ const char *path,
++ int mode)
++ { return(*(int *)0); }
++
++#undef _nc_is_dir_path
++NCURSES_BOOL _nc_is_dir_path(
++ const char *path)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_is_file_path
++NCURSES_BOOL _nc_is_file_path(
++ const char *path)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_env_access
++int _nc_env_access(void)
++ { return(*(int *)0); }
++
++/* ./tinfo/add_tries.c */
++
++#undef _nc_add_to_try
++int _nc_add_to_try(
++ TRIES **tree,
++ const char *str,
++ unsigned code)
++ { return(*(int *)0); }
++
++/* ./tinfo/alloc_ttype.c */
++
++#undef _nc_align_termtype
++void _nc_align_termtype(
++ TERMTYPE *to,
++ TERMTYPE *from)
++ { /* void */ }
++
++#undef _nc_copy_termtype
++void _nc_copy_termtype(
++ TERMTYPE *dst,
++ const TERMTYPE *src)
++ { /* void */ }
++
++/* ./codes.c */
++
++#undef boolcodes
++char *const boolcodes[] = {0};
++#undef numcodes
++char *const numcodes[] = {0};
++#undef strcodes
++char *const strcodes[] = {0};
++
++/* ./comp_captab.c */
++
++#include <hashsize.h>
++
++#undef _nc_get_table
++const struct name_table_entry *_nc_get_table(
++ NCURSES_BOOL termcap)
++ { return(*(const struct name_table_entry **)0); }
++
++#undef _nc_get_hash_table
++const HashValue *_nc_get_hash_table(
++ NCURSES_BOOL termcap)
++ { return(*(const HashValue **)0); }
++
++#undef _nc_get_alias_table
++const struct alias *_nc_get_alias_table(
++ NCURSES_BOOL termcap)
++ { return(*(const struct alias **)0); }
++
++#undef _nc_get_hash_info
++const HashData *_nc_get_hash_info(
++ NCURSES_BOOL termcap)
++ { return(*(const HashData **)0); }
++
++/* ./tinfo/comp_error.c */
++
++#undef _nc_suppress_warnings
++NCURSES_BOOL _nc_suppress_warnings;
++#undef _nc_curr_line
++int _nc_curr_line;
++#undef _nc_curr_col
++int _nc_curr_col;
++
++#undef _nc_get_source
++const char *_nc_get_source(void)
++ { return(*(const char **)0); }
++
++#undef _nc_set_source
++void _nc_set_source(
++ const char *const name)
++ { /* void */ }
++
++#undef _nc_set_type
++void _nc_set_type(
++ const char *const name)
++ { /* void */ }
++
++#undef _nc_get_type
++void _nc_get_type(
++ char *name)
++ { /* void */ }
++
++#undef _nc_warning
++void _nc_warning(
++ const char *const fmt,
++ ...)
++ { /* void */ }
++
++#undef _nc_err_abort
++void _nc_err_abort(
++ const char *const fmt,
++ ...)
++ { /* void */ }
++
++#undef _nc_syserr_abort
++void _nc_syserr_abort(
++ const char *const fmt,
++ ...)
++ { /* void */ }
++
++/* ./tinfo/comp_hash.c */
++
++#undef _nc_find_entry
++struct name_table_entry const *_nc_find_entry(
++ const char *string,
++ const HashValue *hash_table)
++ { return(*(struct name_table_entry const **)0); }
++
++#undef _nc_find_type_entry
++struct name_table_entry const *_nc_find_type_entry(
++ const char *string,
++ int type,
++ NCURSES_BOOL termcap)
++ { return(*(struct name_table_entry const **)0); }
++
++/* ./tinfo/db_iterator.c */
++
++#include <time.h>
++
++#undef _nc_tic_dir
++const char *_nc_tic_dir(
++ const char *path)
++ { return(*(const char **)0); }
++
++#undef _nc_keep_tic_dir
++void _nc_keep_tic_dir(
++ const char *path)
++ { /* void */ }
++
++#undef _nc_last_db
++void _nc_last_db(void)
++ { /* void */ }
++
++#undef _nc_next_db
++const char *_nc_next_db(
++ DBDIRS *state,
++ int *offset)
++ { return(*(const char **)0); }
++
++#undef _nc_first_db
++void _nc_first_db(
++ DBDIRS *state,
++ int *offset)
++ { /* void */ }
++
++/* ./tinfo/doalloc.c */
++
++#undef _nc_doalloc
++void *_nc_doalloc(
++ void *oldp,
++ size_t amount)
++ { return(*(void **)0); }
++
++/* ./tinfo/entries.c */
++
++#undef _nc_head
++ENTRY *_nc_head;
++#undef _nc_tail
++ENTRY *_nc_tail;
++
++#undef _nc_free_entry
++void _nc_free_entry(
++ ENTRY *headp,
++ TERMTYPE *tterm)
++ { /* void */ }
++
++#undef _nc_free_entries
++void _nc_free_entries(
++ ENTRY *headp)
++ { /* void */ }
++
++#undef _nc_delink_entry
++ENTRY *_nc_delink_entry(
++ ENTRY *headp,
++ TERMTYPE *tterm)
++ { return(*(ENTRY **)0); }
++
++#undef _nc_leaks_tinfo
++void _nc_leaks_tinfo(void)
++ { /* void */ }
++
++/* ./fallback.c */
++
++#undef _nc_fallback
++const TERMTYPE *_nc_fallback(
++ const char *name)
++ { return(*(const TERMTYPE **)0); }
++
++/* ./tinfo/free_ttype.c */
++
++#undef _nc_free_termtype
++void _nc_free_termtype(
++ TERMTYPE *ptr)
++ { /* void */ }
++
++#undef _nc_user_definable
++NCURSES_BOOL _nc_user_definable;
++
++#undef use_extended_names
++int use_extended_names(
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++/* ./tinfo/getenv_num.c */
++
++#undef _nc_getenv_num
++int _nc_getenv_num(
++ const char *name)
++ { return(*(int *)0); }
++
++/* ./tinfo/home_terminfo.c */
++
++#undef _nc_home_terminfo
++char *_nc_home_terminfo(void)
++ { return(*(char **)0); }
++
++/* ./tinfo/init_keytry.c */
++
++#if 0
++
++#include <init_keytry.h>
++
++#undef _nc_tinfo_fkeys
++const struct tinfo_fkeys _nc_tinfo_fkeys[] = {0};
++
++#endif
++
++#undef _nc_init_keytry
++void _nc_init_keytry(
++ SCREEN *sp)
++ { /* void */ }
++
++/* ./tinfo/lib_acs.c */
++
++#undef acs_map
++chtype acs_map[128];
++
++#undef _nc_init_acs_sp
++void _nc_init_acs_sp(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef _nc_init_acs
++void _nc_init_acs(void)
++ { /* void */ }
++
++/* ./tinfo/lib_baudrate.c */
++
++#include <termcap.h>
++
++struct speed {
++ int s;
++ int sp;
++};
++
++#undef _nc_baudrate
++int _nc_baudrate(
++ int OSpeed)
++ { return(*(int *)0); }
++
++#undef _nc_ospeed
++int _nc_ospeed(
++ int BaudRate)
++ { return(*(int *)0); }
++
++#undef baudrate_sp
++int baudrate_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef baudrate
++int baudrate(void)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_cur_term.c */
++
++#undef cur_term
++TERMINAL *cur_term;
++
++#undef set_curterm_sp
++TERMINAL *set_curterm_sp(
++ SCREEN *sp,
++ TERMINAL *termp)
++ { return(*(TERMINAL **)0); }
++
++#undef set_curterm
++TERMINAL *set_curterm(
++ TERMINAL *termp)
++ { return(*(TERMINAL **)0); }
++
++#undef del_curterm_sp
++int del_curterm_sp(
++ SCREEN *sp,
++ TERMINAL *termp)
++ { return(*(int *)0); }
++
++#undef del_curterm
++int del_curterm(
++ TERMINAL *termp)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_data.c */
++
++#undef stdscr
++WINDOW *stdscr;
++#undef curscr
++WINDOW *curscr;
++#undef newscr
++WINDOW *newscr;
++#undef _nc_screen_chain
++SCREEN *_nc_screen_chain;
++#undef SP
++SCREEN *SP;
++#undef _nc_globals
++NCURSES_GLOBALS _nc_globals;
++#undef _nc_prescreen
++NCURSES_PRESCREEN _nc_prescreen;
++
++#undef _nc_screen_of
++SCREEN *_nc_screen_of(
++ WINDOW *win)
++ { return(*(SCREEN **)0); }
++
++/* ./tinfo/lib_has_cap.c */
++
++#undef has_ic_sp
++NCURSES_BOOL has_ic_sp(
++ SCREEN *sp)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef has_ic
++NCURSES_BOOL has_ic(void)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef has_il_sp
++NCURSES_BOOL has_il_sp(
++ SCREEN *sp)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef has_il
++NCURSES_BOOL has_il(void)
++ { return(*(NCURSES_BOOL *)0); }
++
++/* ./tinfo/lib_kernel.c */
++
++#undef erasechar_sp
++char erasechar_sp(
++ SCREEN *sp)
++ { return(*(char *)0); }
++
++#undef erasechar
++char erasechar(void)
++ { return(*(char *)0); }
++
++#undef killchar_sp
++char killchar_sp(
++ SCREEN *sp)
++ { return(*(char *)0); }
++
++#undef killchar
++char killchar(void)
++ { return(*(char *)0); }
++
++#undef flushinp_sp
++int flushinp_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef flushinp
++int flushinp(void)
++ { return(*(int *)0); }
++
++/* ./lib_keyname.c */
++
++struct kn { short offset; int code; };
++
++#undef keyname_sp
++char *keyname_sp(
++ SCREEN *sp,
++ int c)
++ { return(*(char **)0); }
++
++#undef keyname
++char *keyname(
++ int c)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_longname.c */
++
++#undef longname
++char *longname(void)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_napms.c */
++
++#include <sys/time.h>
++
++#undef napms_sp
++int napms_sp(
++ SCREEN *sp,
++ int ms)
++ { return(*(int *)0); }
++
++#undef napms
++int napms(
++ int ms)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_options.c */
++
++#undef idlok
++int idlok(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef idcok
++void idcok(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { /* void */ }
++
++#undef halfdelay_sp
++int halfdelay_sp(
++ SCREEN *sp,
++ int t)
++ { return(*(int *)0); }
++
++#undef halfdelay
++int halfdelay(
++ int t)
++ { return(*(int *)0); }
++
++#undef nodelay
++int nodelay(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef notimeout
++int notimeout(
++ WINDOW *win,
++ NCURSES_BOOL f)
++ { return(*(int *)0); }
++
++#undef wtimeout
++void wtimeout(
++ WINDOW *win,
++ int delay)
++ { /* void */ }
++
++#undef keypad
++int keypad(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef meta
++int meta(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef curs_set_sp
++int curs_set_sp(
++ SCREEN *sp,
++ int vis)
++ { return(*(int *)0); }
++
++#undef curs_set
++int curs_set(
++ int vis)
++ { return(*(int *)0); }
++
++#undef typeahead_sp
++int typeahead_sp(
++ SCREEN *sp,
++ int fd)
++ { return(*(int *)0); }
++
++#undef typeahead
++int typeahead(
++ int fd)
++ { return(*(int *)0); }
++
++#undef has_key_sp
++int has_key_sp(
++ SCREEN *sp,
++ int keycode)
++ { return(*(int *)0); }
++
++#undef has_key
++int has_key(
++ int keycode)
++ { return(*(int *)0); }
++
++#undef _nc_putp_flush_sp
++int _nc_putp_flush_sp(
++ SCREEN *sp,
++ const char *name,
++ const char *value)
++ { return(*(int *)0); }
++
++#undef _nc_keypad
++int _nc_keypad(
++ SCREEN *sp,
++ int flag)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_raw.c */
++
++#undef raw_sp
++int raw_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef raw
++int raw(void)
++ { return(*(int *)0); }
++
++#undef cbreak_sp
++int cbreak_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef cbreak
++int cbreak(void)
++ { return(*(int *)0); }
++
++#undef qiflush_sp
++void qiflush_sp(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef qiflush
++void qiflush(void)
++ { /* void */ }
++
++#undef noraw_sp
++int noraw_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef noraw
++int noraw(void)
++ { return(*(int *)0); }
++
++#undef nocbreak_sp
++int nocbreak_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef nocbreak
++int nocbreak(void)
++ { return(*(int *)0); }
++
++#undef noqiflush_sp
++void noqiflush_sp(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef noqiflush
++void noqiflush(void)
++ { /* void */ }
++
++#undef intrflush_sp
++int intrflush_sp(
++ SCREEN *sp,
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef intrflush
++int intrflush(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_setup.c */
++
++#include <locale.h>
++#include <sys/ioctl.h>
++#include <langinfo.h>
++
++#undef ttytype
++char ttytype[256];
++#undef LINES
++int LINES;
++#undef COLS
++int COLS;
++#undef TABSIZE
++int TABSIZE;
++
++#undef set_tabsize_sp
++int set_tabsize_sp(
++ SCREEN *sp,
++ int value)
++ { return(*(int *)0); }
++
++#undef set_tabsize
++int set_tabsize(
++ int value)
++ { return(*(int *)0); }
++
++#undef _nc_handle_sigwinch
++int _nc_handle_sigwinch(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef use_env_sp
++void use_env_sp(
++ SCREEN *sp,
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef use_env
++void use_env(
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef use_tioctl_sp
++void use_tioctl_sp(
++ SCREEN *sp,
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef use_tioctl
++void use_tioctl(
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef _nc_get_screensize
++void _nc_get_screensize(
++ SCREEN *sp,
++ int *linep,
++ int *colp)
++ { /* void */ }
++
++#undef _nc_update_screensize
++void _nc_update_screensize(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef _nc_setup_tinfo
++int _nc_setup_tinfo(
++ const char *const tn,
++ TERMTYPE *const tp)
++ { return(*(int *)0); }
++
++#undef _nc_tinfo_cmdch
++void _nc_tinfo_cmdch(
++ TERMINAL *termp,
++ int proto)
++ { /* void */ }
++
++#undef _nc_get_locale
++char *_nc_get_locale(void)
++ { return(*(char **)0); }
++
++#undef _nc_unicode_locale
++int _nc_unicode_locale(void)
++ { return(*(int *)0); }
++
++#undef _nc_locale_breaks_acs
++int _nc_locale_breaks_acs(
++ TERMINAL *termp)
++ { return(*(int *)0); }
++
++#undef _nc_setupterm
++int _nc_setupterm(
++ char *tname,
++ int Filedes,
++ int *errret,
++ int reuse)
++ { return(*(int *)0); }
++
++#undef new_prescr
++SCREEN *new_prescr(void)
++ { return(*(SCREEN **)0); }
++
++#undef setupterm
++int setupterm(
++ char *tname,
++ int Filedes,
++ int *errret)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_termcap.c */
++
++#undef UP
++char *UP;
++#undef BC
++char *BC;
++
++#undef tgetent_sp
++int tgetent_sp(
++ SCREEN *sp,
++ char *bufp,
++ const char *name)
++ { return(*(int *)0); }
++
++#if 0
++
++#include <capdefaults.c>
++
++#endif
++
++#undef tgetent
++int tgetent(
++ char *bufp,
++ const char *name)
++ { return(*(int *)0); }
++
++#undef tgetflag_sp
++int tgetflag_sp(
++ SCREEN *sp,
++ char *id)
++ { return(*(int *)0); }
++
++#undef tgetflag
++int tgetflag(
++ char *id)
++ { return(*(int *)0); }
++
++#undef tgetnum_sp
++int tgetnum_sp(
++ SCREEN *sp,
++ char *id)
++ { return(*(int *)0); }
++
++#undef tgetnum
++int tgetnum(
++ char *id)
++ { return(*(int *)0); }
++
++#undef tgetstr_sp
++char *tgetstr_sp(
++ SCREEN *sp,
++ char *id,
++ char **area)
++ { return(*(char **)0); }
++
++#undef tgetstr
++char *tgetstr(
++ char *id,
++ char **area)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_termname.c */
++
++#undef termname_sp
++char *termname_sp(
++ SCREEN *sp)
++ { return(*(char **)0); }
++
++#undef termname
++char *termname(void)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_tgoto.c */
++
++#undef tgoto
++char *tgoto(
++ const char *string,
++ int x,
++ int y)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_ti.c */
++
++#undef tigetflag_sp
++int tigetflag_sp(
++ SCREEN *sp,
++ char *str)
++ { return(*(int *)0); }
++
++#undef tigetflag
++int tigetflag(
++ char *str)
++ { return(*(int *)0); }
++
++#undef tigetnum_sp
++int tigetnum_sp(
++ SCREEN *sp,
++ char *str)
++ { return(*(int *)0); }
++
++#undef tigetnum
++int tigetnum(
++ char *str)
++ { return(*(int *)0); }
++
++#undef tigetstr_sp
++char *tigetstr_sp(
++ SCREEN *sp,
++ char *str)
++ { return(*(char **)0); }
++
++#undef tigetstr
++char *tigetstr(
++ char *str)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_tparm.c */
++
++#undef _nc_tparm_err
++int _nc_tparm_err;
++
++#undef _nc_tparm_analyze
++int _nc_tparm_analyze(
++ const char *string,
++ char *p_is_s[9],
++ int *popcount)
++ { return(*(int *)0); }
++
++#undef tparm
++char *tparm(
++ char *string,
++ ...)
++ { return(*(char **)0); }
++
++#undef tiparm
++char *tiparm(
++ const char *string,
++ ...)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_tputs.c */
++
++#undef PC
++char PC;
++#undef ospeed
++short ospeed;
++#undef _nc_nulls_sent
++int _nc_nulls_sent;
++
++#undef _nc_set_no_padding
++void _nc_set_no_padding(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef delay_output_sp
++int delay_output_sp(
++ SCREEN *sp,
++ int ms)
++ { return(*(int *)0); }
++
++#undef delay_output
++int delay_output(
++ int ms)
++ { return(*(int *)0); }
++
++#undef _nc_flush_sp
++void _nc_flush_sp(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef _nc_flush
++void _nc_flush(void)
++ { /* void */ }
++
++#undef _nc_outch_sp
++int _nc_outch_sp(
++ SCREEN *sp,
++ int ch)
++ { return(*(int *)0); }
++
++#undef _nc_outch
++int _nc_outch(
++ int ch)
++ { return(*(int *)0); }
++
++#undef putp_sp
++int putp_sp(
++ SCREEN *sp,
++ const char *string)
++ { return(*(int *)0); }
++
++#undef _nc_putp_sp
++int _nc_putp_sp(
++ SCREEN *sp,
++ const char *name,
++ const char *string)
++ { return(*(int *)0); }
++
++#undef putp
++int putp(
++ const char *string)
++ { return(*(int *)0); }
++
++#undef _nc_putp
++int _nc_putp(
++ const char *name,
++ const char *string)
++ { return(*(int *)0); }
++
++#undef tputs_sp
++int tputs_sp(
++ SCREEN *sp,
++ const char *string,
++ int affcnt,
++ NCURSES_OUTC_sp outc)
++ { return(*(int *)0); }
++
++#undef _nc_outc_wrapper
++int _nc_outc_wrapper(
++ SCREEN *sp,
++ int c)
++ { return(*(int *)0); }
++
++#undef tputs
++int tputs(
++ const char *string,
++ int affcnt,
++ int (*outc)(
++ int p1))
++ { return(*(int *)0); }
++
++/* ./trace/lib_trace.c */
++
++#undef _nc_tracing
++unsigned _nc_tracing;
++#undef _nc_tputs_trace
++const char *_nc_tputs_trace = {0};
++#undef _nc_outchars
++long _nc_outchars;
++
++#undef trace
++void trace(
++ const unsigned int tracelevel)
++ { /* void */ }
++
++#undef _tracef
++void _tracef(
++ const char *fmt,
++ ...)
++ { /* void */ }
++
++#undef _nc_retrace_bool
++NCURSES_BOOL _nc_retrace_bool(
++ int code)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_retrace_char
++char _nc_retrace_char(
++ int code)
++ { return(*(char *)0); }
++
++#undef _nc_retrace_int
++int _nc_retrace_int(
++ int code)
++ { return(*(int *)0); }
++
++#undef _nc_retrace_unsigned
++unsigned _nc_retrace_unsigned(
++ unsigned code)
++ { return(*(unsigned *)0); }
++
++#undef _nc_retrace_ptr
++char *_nc_retrace_ptr(
++ char *code)
++ { return(*(char **)0); }
++
++#undef _nc_retrace_cptr
++const char *_nc_retrace_cptr(
++ const char *code)
++ { return(*(const char **)0); }
++
++#undef _nc_retrace_cvoid_ptr
++void *_nc_retrace_cvoid_ptr(
++ void *code)
++ { return(*(void **)0); }
++
++#undef _nc_retrace_void_ptr
++void *_nc_retrace_void_ptr(
++ void *code)
++ { return(*(void **)0); }
++
++#undef _nc_retrace_sp
++SCREEN *_nc_retrace_sp(
++ SCREEN *code)
++ { return(*(SCREEN **)0); }
++
++#undef _nc_retrace_win
++WINDOW *_nc_retrace_win(
++ WINDOW *code)
++ { return(*(WINDOW **)0); }
++
++/* ./trace/lib_traceatr.c */
++
++#undef _traceattr2
++char *_traceattr2(
++ int bufnum,
++ chtype newmode)
++ { return(*(char **)0); }
++
++#undef _traceattr
++char *_traceattr(
++ attr_t newmode)
++ { return(*(char **)0); }
++
++#undef _nc_retrace_int_attr_t
++int _nc_retrace_int_attr_t(
++ attr_t code)
++ { return(*(int *)0); }
++
++#undef _nc_retrace_attr_t
++attr_t _nc_retrace_attr_t(
++ attr_t code)
++ { return(*(attr_t *)0); }
++
++#undef _nc_altcharset_name
++const char *_nc_altcharset_name(
++ attr_t attr,
++ chtype ch)
++ { return(*(const char **)0); }
++
++#undef _tracechtype2
++char *_tracechtype2(
++ int bufnum,
++ chtype ch)
++ { return(*(char **)0); }
++
++#undef _tracechtype
++char *_tracechtype(
++ chtype ch)
++ { return(*(char **)0); }
++
++#undef _nc_retrace_chtype
++chtype _nc_retrace_chtype(
++ chtype code)
++ { return(*(chtype *)0); }
++
++/* ./trace/lib_tracebits.c */
++
++typedef struct {
++ unsigned int val;
++ const char *name;
++} BITNAMES;
++
++#undef _nc_trace_ttymode
++char *_nc_trace_ttymode(
++ struct termios *tty)
++ { return(*(char **)0); }
++
++#undef _nc_tracebits
++char *_nc_tracebits(void)
++ { return(*(char **)0); }
++
++/* ./trace/lib_tracechr.c */
++
++#undef _nc_tracechar
++char *_nc_tracechar(
++ SCREEN *sp,
++ int ch)
++ { return(*(char **)0); }
++
++#undef _tracechar
++char *_tracechar(
++ int ch)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_ttyflags.c */
++
++#undef _nc_get_tty_mode_sp
++int _nc_get_tty_mode_sp(
++ SCREEN *sp,
++ struct termios *buf)
++ { return(*(int *)0); }
++
++#undef _nc_get_tty_mode
++int _nc_get_tty_mode(
++ struct termios *buf)
++ { return(*(int *)0); }
++
++#undef _nc_set_tty_mode_sp
++int _nc_set_tty_mode_sp(
++ SCREEN *sp,
++ struct termios *buf)
++ { return(*(int *)0); }
++
++#undef _nc_set_tty_mode
++int _nc_set_tty_mode(
++ struct termios *buf)
++ { return(*(int *)0); }
++
++#undef def_shell_mode_sp
++int def_shell_mode_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef def_shell_mode
++int def_shell_mode(void)
++ { return(*(int *)0); }
++
++#undef def_prog_mode_sp
++int def_prog_mode_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef def_prog_mode
++int def_prog_mode(void)
++ { return(*(int *)0); }
++
++#undef reset_prog_mode_sp
++int reset_prog_mode_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef reset_prog_mode
++int reset_prog_mode(void)
++ { return(*(int *)0); }
++
++#undef reset_shell_mode_sp
++int reset_shell_mode_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef reset_shell_mode
++int reset_shell_mode(void)
++ { return(*(int *)0); }
++
++#undef savetty_sp
++int savetty_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef savetty
++int savetty(void)
++ { return(*(int *)0); }
++
++#undef resetty_sp
++int resetty_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef resetty
++int resetty(void)
++ { return(*(int *)0); }
++
++/* ./tty/lib_twait.c */
++
++#undef _nc_timed_wait
++int _nc_timed_wait(
++ SCREEN *sp,
++ int mode,
++ int milliseconds,
++ int *timeleft)
++ { return(*(int *)0); }
++
++/* ./tinfo/name_match.c */
++
++#undef _nc_first_name
++char *_nc_first_name(
++ const char *const sp)
++ { return(*(char **)0); }
++
++#undef _nc_name_match
++int _nc_name_match(
++ const char *const namelst,
++ const char *const name,
++ const char *const delim)
++ { return(*(int *)0); }
++
++/* ./names.c */
++
++#undef boolnames
++char *const boolnames[] = {0};
++#undef boolfnames
++char *const boolfnames[] = {0};
++#undef numnames
++char *const numnames[] = {0};
++#undef numfnames
++char *const numfnames[] = {0};
++#undef strnames
++char *const strnames[] = {0};
++#undef strfnames
++char *const strfnames[] = {0};
++
++/* ./tinfo/read_entry.c */
++
++#include <hashed_db.h>
++
++#undef _nc_read_termtype
++int _nc_read_termtype(
++ TERMTYPE *ptr,
++ char *buffer,
++ int limit)
++ { return(*(int *)0); }
++
++#undef _nc_read_file_entry
++int _nc_read_file_entry(
++ const char *const filename,
++ TERMTYPE *ptr)
++ { return(*(int *)0); }
++
++#undef _nc_read_entry
++int _nc_read_entry(
++ const char *const name,
++ char *const filename,
++ TERMTYPE *const tp)
++ { return(*(int *)0); }
++
++/* ./tinfo/read_termcap.c */
++
++#include <sys/types.h>
++
++#undef _nc_read_termcap
++void _nc_read_termcap(void)
++ { /* void */ }
++
++/* ./tinfo/setbuf.c */
++
++#undef _nc_set_buffer_sp
++void _nc_set_buffer_sp(
++ SCREEN *sp,
++ FILE *ofp,
++ int buffered)
++ { /* void */ }
++
++#undef _nc_set_buffer
++void _nc_set_buffer(
++ FILE *ofp,
++ int buffered)
++ { /* void */ }
++
++/* ./tinfo/strings.c */
++
++#undef _nc_str_init
++string_desc *_nc_str_init(
++ string_desc *dst,
++ char *src,
++ size_t len)
++ { return(*(string_desc **)0); }
++
++#undef _nc_str_null
++string_desc *_nc_str_null(
++ string_desc *dst,
++ size_t len)
++ { return(*(string_desc **)0); }
++
++#undef _nc_str_copy
++string_desc *_nc_str_copy(
++ string_desc *dst,
++ string_desc *src)
++ { return(*(string_desc **)0); }
++
++#undef _nc_safe_strcat
++NCURSES_BOOL _nc_safe_strcat(
++ string_desc *dst,
++ const char *src)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_safe_strcpy
++NCURSES_BOOL _nc_safe_strcpy(
++ string_desc *dst,
++ const char *src)
++ { return(*(NCURSES_BOOL *)0); }
++
++/* ./trace/trace_buf.c */
++
++#undef _nc_trace_buf
++char *_nc_trace_buf(
++ int bufnum,
++ size_t want)
++ { return(*(char **)0); }
++
++#undef _nc_trace_bufcat
++char *_nc_trace_bufcat(
++ int bufnum,
++ const char *value)
++ { return(*(char **)0); }
++
++/* ./trace/trace_tries.c */
++
++#undef _nc_trace_tries
++void _nc_trace_tries(
++ TRIES *tree)
++ { /* void */ }
++
++/* ./base/tries.c */
++
++#undef _nc_expand_try
++char *_nc_expand_try(
++ TRIES *tree,
++ unsigned code,
++ int *count,
++ size_t len)
++ { return(*(char **)0); }
++
++#undef _nc_remove_key
++int _nc_remove_key(
++ TRIES **tree,
++ unsigned code)
++ { return(*(int *)0); }
++
++#undef _nc_remove_string
++int _nc_remove_string(
++ TRIES **tree,
++ const char *string)
++ { return(*(int *)0); }
++
++/* ./tinfo/trim_sgr0.c */
++
++#undef _nc_trim_sgr0
++char *_nc_trim_sgr0(
++ TERMTYPE *tp)
++ { return(*(char **)0); }
++
++/* ./unctrl.c */
++
++#undef unctrl_sp
++char *unctrl_sp(
++ SCREEN *sp,
++ chtype ch)
++ { return(*(char **)0); }
++
++#undef unctrl
++char *unctrl(
++ chtype ch)
++ { return(*(char **)0); }
++
++/* ./trace/visbuf.c */
++
++#undef _nc_visbuf2
++const char *_nc_visbuf2(
++ int bufnum,
++ const char *buf)
++ { return(*(const char **)0); }
++
++#undef _nc_visbuf
++const char *_nc_visbuf(
++ const char *buf)
++ { return(*(const char **)0); }
++
++#undef _nc_visbufn
++const char *_nc_visbufn(
++ const char *buf,
++ int len)
++ { return(*(const char **)0); }
++
++#undef _nc_viscbuf2
++const char *_nc_viscbuf2(
++ int bufnum,
++ const chtype *buf,
++ int len)
++ { return(*(const char **)0); }
++
++#undef _nc_viscbuf
++const char *_nc_viscbuf(
++ const chtype *buf,
++ int len)
++ { return(*(const char **)0); }
++
++/* ./base/define_key.c */
++
++#undef define_key_sp
++int define_key_sp(
++ SCREEN *sp,
++ const char *str,
++ int keycode)
++ { return(*(int *)0); }
++
++#undef define_key
++int define_key(
++ const char *str,
++ int keycode)
++ { return(*(int *)0); }
++
++/* ./tinfo/hashed_db.c */
++
++#undef _nc_hashed_db
++void _nc_hashed_db(void)
++ { /* void */ }
++
++/* ./base/key_defined.c */
++
++#undef key_defined_sp
++int key_defined_sp(
++ SCREEN *sp,
++ const char *str)
++ { return(*(int *)0); }
++
++#undef key_defined
++int key_defined(
++ const char *str)
++ { return(*(int *)0); }
++
++/* ./base/keybound.c */
++
++#undef keybound_sp
++char *keybound_sp(
++ SCREEN *sp,
++ int code,
++ int count)
++ { return(*(char **)0); }
++
++#undef keybound
++char *keybound(
++ int code,
++ int count)
++ { return(*(char **)0); }
++
++/* ./base/keyok.c */
++
++#undef keyok_sp
++int keyok_sp(
++ SCREEN *sp,
++ int c,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef keyok
++int keyok(
++ int c,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++/* ./base/version.c */
++
++#undef curses_version
++const char *curses_version(void)
++ { return(*(const char **)0); }
+Index: ncurses/llib-ltinfotw
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/ncurses/llib-ltinfotw 2012-07-14 17:39:00.000000000 +0000
+@@ -0,0 +1,1646 @@
++/****************************************************************************
++ * Copyright (c) 2012 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++
++/****************************************************************************
++ * Author: Thomas E. Dickey 2012 *
++ ****************************************************************************/
++/* LINTLIBRARY */
++
++/* ./tinfo/access.c */
++
++#include <curses.priv.h>
++#include <ctype.h>
++#include <tic.h>
++
++#undef _nc_rootname
++char *_nc_rootname(
++ char *path)
++ { return(*(char **)0); }
++
++#undef _nc_is_abs_path
++NCURSES_BOOL _nc_is_abs_path(
++ const char *path)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_pathlast
++unsigned _nc_pathlast(
++ const char *path)
++ { return(*(unsigned *)0); }
++
++#undef _nc_basename
++char *_nc_basename(
++ char *path)
++ { return(*(char **)0); }
++
++#undef _nc_access
++int _nc_access(
++ const char *path,
++ int mode)
++ { return(*(int *)0); }
++
++#undef _nc_is_dir_path
++NCURSES_BOOL _nc_is_dir_path(
++ const char *path)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_is_file_path
++NCURSES_BOOL _nc_is_file_path(
++ const char *path)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_env_access
++int _nc_env_access(void)
++ { return(*(int *)0); }
++
++/* ./tinfo/add_tries.c */
++
++#undef _nc_add_to_try
++int _nc_add_to_try(
++ TRIES **tree,
++ const char *str,
++ unsigned code)
++ { return(*(int *)0); }
++
++/* ./tinfo/alloc_ttype.c */
++
++#undef _nc_align_termtype
++void _nc_align_termtype(
++ TERMTYPE *to,
++ TERMTYPE *from)
++ { /* void */ }
++
++#undef _nc_copy_termtype
++void _nc_copy_termtype(
++ TERMTYPE *dst,
++ const TERMTYPE *src)
++ { /* void */ }
++
++/* ./codes.c */
++
++#undef _nc_boolcodes
++char *const *_nc_boolcodes(void)
++ { return(*(char **)0); }
++
++#undef _nc_numcodes
++char *const *_nc_numcodes(void)
++ { return(*(char **)0); }
++
++#undef _nc_strcodes
++char *const *_nc_strcodes(void)
++ { return(*(char **)0); }
++
++/* ./comp_captab.c */
++
++#include <hashsize.h>
++
++#undef _nc_get_table
++const struct name_table_entry *_nc_get_table(
++ NCURSES_BOOL termcap)
++ { return(*(const struct name_table_entry **)0); }
++
++#undef _nc_get_hash_table
++const HashValue *_nc_get_hash_table(
++ NCURSES_BOOL termcap)
++ { return(*(const HashValue **)0); }
++
++#undef _nc_get_alias_table
++const struct alias *_nc_get_alias_table(
++ NCURSES_BOOL termcap)
++ { return(*(const struct alias **)0); }
++
++#undef _nc_get_hash_info
++const HashData *_nc_get_hash_info(
++ NCURSES_BOOL termcap)
++ { return(*(const HashData **)0); }
++
++/* ./tinfo/comp_error.c */
++
++#undef _nc_suppress_warnings
++NCURSES_BOOL _nc_suppress_warnings;
++#undef _nc_curr_line
++int _nc_curr_line;
++#undef _nc_curr_col
++int _nc_curr_col;
++
++#undef _nc_get_source
++const char *_nc_get_source(void)
++ { return(*(const char **)0); }
++
++#undef _nc_set_source
++void _nc_set_source(
++ const char *const name)
++ { /* void */ }
++
++#undef _nc_set_type
++void _nc_set_type(
++ const char *const name)
++ { /* void */ }
++
++#undef _nc_get_type
++void _nc_get_type(
++ char *name)
++ { /* void */ }
++
++#undef _nc_warning
++void _nc_warning(
++ const char *const fmt,
++ ...)
++ { /* void */ }
++
++#undef _nc_err_abort
++void _nc_err_abort(
++ const char *const fmt,
++ ...)
++ { /* void */ }
++
++#undef _nc_syserr_abort
++void _nc_syserr_abort(
++ const char *const fmt,
++ ...)
++ { /* void */ }
++
++/* ./tinfo/comp_hash.c */
++
++#undef _nc_find_entry
++struct name_table_entry const *_nc_find_entry(
++ const char *string,
++ const HashValue *hash_table)
++ { return(*(struct name_table_entry const **)0); }
++
++#undef _nc_find_type_entry
++struct name_table_entry const *_nc_find_type_entry(
++ const char *string,
++ int type,
++ NCURSES_BOOL termcap)
++ { return(*(struct name_table_entry const **)0); }
++
++/* ./tinfo/db_iterator.c */
++
++#include <time.h>
++
++#undef _nc_tic_dir
++const char *_nc_tic_dir(
++ const char *path)
++ { return(*(const char **)0); }
++
++#undef _nc_keep_tic_dir
++void _nc_keep_tic_dir(
++ const char *path)
++ { /* void */ }
++
++#undef _nc_last_db
++void _nc_last_db(void)
++ { /* void */ }
++
++#undef _nc_next_db
++const char *_nc_next_db(
++ DBDIRS *state,
++ int *offset)
++ { return(*(const char **)0); }
++
++#undef _nc_first_db
++void _nc_first_db(
++ DBDIRS *state,
++ int *offset)
++ { /* void */ }
++
++/* ./tinfo/doalloc.c */
++
++#undef _nc_doalloc
++void *_nc_doalloc(
++ void *oldp,
++ size_t amount)
++ { return(*(void **)0); }
++
++/* ./tinfo/entries.c */
++
++#undef _nc_head
++ENTRY *_nc_head;
++#undef _nc_tail
++ENTRY *_nc_tail;
++
++#undef _nc_free_entry
++void _nc_free_entry(
++ ENTRY *headp,
++ TERMTYPE *tterm)
++ { /* void */ }
++
++#undef _nc_free_entries
++void _nc_free_entries(
++ ENTRY *headp)
++ { /* void */ }
++
++#undef _nc_delink_entry
++ENTRY *_nc_delink_entry(
++ ENTRY *headp,
++ TERMTYPE *tterm)
++ { return(*(ENTRY **)0); }
++
++#undef _nc_leaks_tinfo
++void _nc_leaks_tinfo(void)
++ { /* void */ }
++
++/* ./fallback.c */
++
++#undef _nc_fallback
++const TERMTYPE *_nc_fallback(
++ const char *name)
++ { return(*(const TERMTYPE **)0); }
++
++/* ./tinfo/free_ttype.c */
++
++#undef _nc_free_termtype
++void _nc_free_termtype(
++ TERMTYPE *ptr)
++ { /* void */ }
++
++#undef _nc_user_definable
++NCURSES_BOOL _nc_user_definable;
++
++#undef use_extended_names
++int use_extended_names(
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++/* ./tinfo/getenv_num.c */
++
++#undef _nc_getenv_num
++int _nc_getenv_num(
++ const char *name)
++ { return(*(int *)0); }
++
++/* ./tinfo/home_terminfo.c */
++
++#undef _nc_home_terminfo
++char *_nc_home_terminfo(void)
++ { return(*(char **)0); }
++
++/* ./tinfo/init_keytry.c */
++
++#if 0
++
++#include <init_keytry.h>
++
++#undef _nc_tinfo_fkeys
++const struct tinfo_fkeys _nc_tinfo_fkeys[] = {0};
++
++#endif
++
++#undef _nc_init_keytry
++void _nc_init_keytry(
++ SCREEN *sp)
++ { /* void */ }
++
++/* ./tinfo/lib_acs.c */
++
++#undef _nc_acs_map
++chtype *_nc_acs_map(void)
++ { return(*(chtype **)0); }
++
++#undef _nc_init_acs_sp
++void _nc_init_acs_sp(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef _nc_init_acs
++void _nc_init_acs(void)
++ { /* void */ }
++
++/* ./tinfo/lib_baudrate.c */
++
++#include <termcap.h>
++
++struct speed {
++ int s;
++ int sp;
++};
++
++#undef _nc_baudrate
++int _nc_baudrate(
++ int OSpeed)
++ { return(*(int *)0); }
++
++#undef _nc_ospeed
++int _nc_ospeed(
++ int BaudRate)
++ { return(*(int *)0); }
++
++#undef baudrate_sp
++int baudrate_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef baudrate
++int baudrate(void)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_cur_term.c */
++
++#undef _nc_get_cur_term_sp
++TERMINAL *_nc_get_cur_term_sp(
++ SCREEN *sp)
++ { return(*(TERMINAL **)0); }
++
++#undef _nc_get_cur_term
++TERMINAL *_nc_get_cur_term(void)
++ { return(*(TERMINAL **)0); }
++
++#undef _nc_cur_term
++TERMINAL *_nc_cur_term(void)
++ { return(*(TERMINAL **)0); }
++
++#undef set_curterm_sp
++TERMINAL *set_curterm_sp(
++ SCREEN *sp,
++ TERMINAL *termp)
++ { return(*(TERMINAL **)0); }
++
++#undef set_curterm
++TERMINAL *set_curterm(
++ TERMINAL *termp)
++ { return(*(TERMINAL **)0); }
++
++#undef del_curterm_sp
++int del_curterm_sp(
++ SCREEN *sp,
++ TERMINAL *termp)
++ { return(*(int *)0); }
++
++#undef del_curterm
++int del_curterm(
++ TERMINAL *termp)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_data.c */
++
++#undef _nc_stdscr
++WINDOW *_nc_stdscr(void)
++ { return(*(WINDOW **)0); }
++
++#undef _nc_curscr
++WINDOW *_nc_curscr(void)
++ { return(*(WINDOW **)0); }
++
++#undef _nc_newscr
++WINDOW *_nc_newscr(void)
++ { return(*(WINDOW **)0); }
++
++#undef _nc_screen_chain
++SCREEN *_nc_screen_chain;
++#undef SP
++SCREEN *SP;
++#undef _nc_globals
++NCURSES_GLOBALS _nc_globals;
++#undef _nc_prescreen
++NCURSES_PRESCREEN _nc_prescreen;
++
++#undef _nc_screen_of
++SCREEN *_nc_screen_of(
++ WINDOW *win)
++ { return(*(SCREEN **)0); }
++
++#undef _nc_init_pthreads
++void _nc_init_pthreads(void)
++ { /* void */ }
++
++#undef _nc_mutex_init
++void _nc_mutex_init(
++ pthread_mutex_t *obj)
++ { /* void */ }
++
++#undef _nc_mutex_lock
++int _nc_mutex_lock(
++ pthread_mutex_t *obj)
++ { return(*(int *)0); }
++
++#undef _nc_mutex_trylock
++int _nc_mutex_trylock(
++ pthread_mutex_t *obj)
++ { return(*(int *)0); }
++
++#undef _nc_mutex_unlock
++int _nc_mutex_unlock(
++ pthread_mutex_t *obj)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_has_cap.c */
++
++#undef has_ic_sp
++NCURSES_BOOL has_ic_sp(
++ SCREEN *sp)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef has_ic
++NCURSES_BOOL has_ic(void)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef has_il_sp
++NCURSES_BOOL has_il_sp(
++ SCREEN *sp)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef has_il
++NCURSES_BOOL has_il(void)
++ { return(*(NCURSES_BOOL *)0); }
++
++/* ./tinfo/lib_kernel.c */
++
++#undef erasechar_sp
++char erasechar_sp(
++ SCREEN *sp)
++ { return(*(char *)0); }
++
++#undef erasechar
++char erasechar(void)
++ { return(*(char *)0); }
++
++#undef killchar_sp
++char killchar_sp(
++ SCREEN *sp)
++ { return(*(char *)0); }
++
++#undef killchar
++char killchar(void)
++ { return(*(char *)0); }
++
++#undef flushinp_sp
++int flushinp_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef flushinp
++int flushinp(void)
++ { return(*(int *)0); }
++
++/* ./lib_keyname.c */
++
++struct kn { short offset; int code; };
++
++#undef keyname_sp
++char *keyname_sp(
++ SCREEN *sp,
++ int c)
++ { return(*(char **)0); }
++
++#undef keyname
++char *keyname(
++ int c)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_longname.c */
++
++#undef longname_sp
++char *longname_sp(
++ SCREEN *sp)
++ { return(*(char **)0); }
++
++#undef longname
++char *longname(void)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_napms.c */
++
++#undef napms_sp
++int napms_sp(
++ SCREEN *sp,
++ int ms)
++ { return(*(int *)0); }
++
++#undef napms
++int napms(
++ int ms)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_options.c */
++
++#undef idlok
++int idlok(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef idcok
++void idcok(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { /* void */ }
++
++#undef halfdelay_sp
++int halfdelay_sp(
++ SCREEN *sp,
++ int t)
++ { return(*(int *)0); }
++
++#undef halfdelay
++int halfdelay(
++ int t)
++ { return(*(int *)0); }
++
++#undef nodelay
++int nodelay(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef notimeout
++int notimeout(
++ WINDOW *win,
++ NCURSES_BOOL f)
++ { return(*(int *)0); }
++
++#undef wtimeout
++void wtimeout(
++ WINDOW *win,
++ int delay)
++ { /* void */ }
++
++#undef keypad
++int keypad(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef meta
++int meta(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef curs_set_sp
++int curs_set_sp(
++ SCREEN *sp,
++ int vis)
++ { return(*(int *)0); }
++
++#undef curs_set
++int curs_set(
++ int vis)
++ { return(*(int *)0); }
++
++#undef typeahead_sp
++int typeahead_sp(
++ SCREEN *sp,
++ int fd)
++ { return(*(int *)0); }
++
++#undef typeahead
++int typeahead(
++ int fd)
++ { return(*(int *)0); }
++
++#undef has_key_sp
++int has_key_sp(
++ SCREEN *sp,
++ int keycode)
++ { return(*(int *)0); }
++
++#undef has_key
++int has_key(
++ int keycode)
++ { return(*(int *)0); }
++
++#undef _nc_putp_flush_sp
++int _nc_putp_flush_sp(
++ SCREEN *sp,
++ const char *name,
++ const char *value)
++ { return(*(int *)0); }
++
++#undef _nc_keypad
++int _nc_keypad(
++ SCREEN *sp,
++ int flag)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_raw.c */
++
++#undef raw_sp
++int raw_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef raw
++int raw(void)
++ { return(*(int *)0); }
++
++#undef cbreak_sp
++int cbreak_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef cbreak
++int cbreak(void)
++ { return(*(int *)0); }
++
++#undef qiflush_sp
++void qiflush_sp(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef qiflush
++void qiflush(void)
++ { /* void */ }
++
++#undef noraw_sp
++int noraw_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef noraw
++int noraw(void)
++ { return(*(int *)0); }
++
++#undef nocbreak_sp
++int nocbreak_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef nocbreak
++int nocbreak(void)
++ { return(*(int *)0); }
++
++#undef noqiflush_sp
++void noqiflush_sp(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef noqiflush
++void noqiflush(void)
++ { /* void */ }
++
++#undef intrflush_sp
++int intrflush_sp(
++ SCREEN *sp,
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef intrflush
++int intrflush(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_setup.c */
++
++#include <locale.h>
++#include <sys/ioctl.h>
++#include <langinfo.h>
++
++#undef _nc_ttytype
++char *_nc_ttytype(void)
++ { return(*(char **)0); }
++
++#undef _nc_ptr_Lines
++int *_nc_ptr_Lines(
++ SCREEN *sp)
++ { return(*(int **)0); }
++
++#undef _nc_LINES
++int _nc_LINES(void)
++ { return(*(int *)0); }
++
++#undef _nc_ptr_Cols
++int *_nc_ptr_Cols(
++ SCREEN *sp)
++ { return(*(int **)0); }
++
++#undef _nc_COLS
++int _nc_COLS(void)
++ { return(*(int *)0); }
++
++#undef _nc_ptr_Tabsize
++int *_nc_ptr_Tabsize(
++ SCREEN *sp)
++ { return(*(int **)0); }
++
++#undef _nc_TABSIZE
++int _nc_TABSIZE(void)
++ { return(*(int *)0); }
++
++#undef set_tabsize_sp
++int set_tabsize_sp(
++ SCREEN *sp,
++ int value)
++ { return(*(int *)0); }
++
++#undef set_tabsize
++int set_tabsize(
++ int value)
++ { return(*(int *)0); }
++
++#undef _nc_handle_sigwinch
++int _nc_handle_sigwinch(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef use_env_sp
++void use_env_sp(
++ SCREEN *sp,
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef use_env
++void use_env(
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef use_tioctl_sp
++void use_tioctl_sp(
++ SCREEN *sp,
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef use_tioctl
++void use_tioctl(
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef _nc_get_screensize
++void _nc_get_screensize(
++ SCREEN *sp,
++ int *linep,
++ int *colp)
++ { /* void */ }
++
++#undef _nc_update_screensize
++void _nc_update_screensize(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef _nc_setup_tinfo
++int _nc_setup_tinfo(
++ const char *const tn,
++ TERMTYPE *const tp)
++ { return(*(int *)0); }
++
++#undef _nc_tinfo_cmdch
++void _nc_tinfo_cmdch(
++ TERMINAL *termp,
++ int proto)
++ { /* void */ }
++
++#undef _nc_get_locale
++char *_nc_get_locale(void)
++ { return(*(char **)0); }
++
++#undef _nc_unicode_locale
++int _nc_unicode_locale(void)
++ { return(*(int *)0); }
++
++#undef _nc_locale_breaks_acs
++int _nc_locale_breaks_acs(
++ TERMINAL *termp)
++ { return(*(int *)0); }
++
++#undef _nc_setupterm
++int _nc_setupterm(
++ char *tname,
++ int Filedes,
++ int *errret,
++ int reuse)
++ { return(*(int *)0); }
++
++#undef new_prescr
++SCREEN *new_prescr(void)
++ { return(*(SCREEN **)0); }
++
++#undef setupterm
++int setupterm(
++ char *tname,
++ int Filedes,
++ int *errret)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_termcap.c */
++
++#undef UP
++char *UP;
++#undef BC
++char *BC;
++
++#undef tgetent_sp
++int tgetent_sp(
++ SCREEN *sp,
++ char *bufp,
++ const char *name)
++ { return(*(int *)0); }
++
++#if 0
++
++#include <capdefaults.c>
++
++#endif
++
++#undef tgetent
++int tgetent(
++ char *bufp,
++ const char *name)
++ { return(*(int *)0); }
++
++#undef tgetflag_sp
++int tgetflag_sp(
++ SCREEN *sp,
++ char *id)
++ { return(*(int *)0); }
++
++#undef tgetflag
++int tgetflag(
++ char *id)
++ { return(*(int *)0); }
++
++#undef tgetnum_sp
++int tgetnum_sp(
++ SCREEN *sp,
++ char *id)
++ { return(*(int *)0); }
++
++#undef tgetnum
++int tgetnum(
++ char *id)
++ { return(*(int *)0); }
++
++#undef tgetstr_sp
++char *tgetstr_sp(
++ SCREEN *sp,
++ char *id,
++ char **area)
++ { return(*(char **)0); }
++
++#undef tgetstr
++char *tgetstr(
++ char *id,
++ char **area)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_termname.c */
++
++#undef termname_sp
++char *termname_sp(
++ SCREEN *sp)
++ { return(*(char **)0); }
++
++#undef termname
++char *termname(void)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_tgoto.c */
++
++#undef tgoto
++char *tgoto(
++ const char *string,
++ int x,
++ int y)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_ti.c */
++
++#undef tigetflag_sp
++int tigetflag_sp(
++ SCREEN *sp,
++ char *str)
++ { return(*(int *)0); }
++
++#undef tigetflag
++int tigetflag(
++ char *str)
++ { return(*(int *)0); }
++
++#undef tigetnum_sp
++int tigetnum_sp(
++ SCREEN *sp,
++ char *str)
++ { return(*(int *)0); }
++
++#undef tigetnum
++int tigetnum(
++ char *str)
++ { return(*(int *)0); }
++
++#undef tigetstr_sp
++char *tigetstr_sp(
++ SCREEN *sp,
++ char *str)
++ { return(*(char **)0); }
++
++#undef tigetstr
++char *tigetstr(
++ char *str)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_tparm.c */
++
++#undef _nc_tparm_err
++int _nc_tparm_err;
++
++#undef _nc_tparm_analyze
++int _nc_tparm_analyze(
++ const char *string,
++ char *p_is_s[9],
++ int *popcount)
++ { return(*(int *)0); }
++
++#undef tparm
++char *tparm(
++ char *string,
++ ...)
++ { return(*(char **)0); }
++
++#undef tiparm
++char *tiparm(
++ const char *string,
++ ...)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_tputs.c */
++
++#undef PC
++char PC;
++#undef ospeed
++short ospeed;
++#undef _nc_nulls_sent
++int _nc_nulls_sent;
++
++#undef _nc_set_no_padding
++void _nc_set_no_padding(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef delay_output_sp
++int delay_output_sp(
++ SCREEN *sp,
++ int ms)
++ { return(*(int *)0); }
++
++#undef delay_output
++int delay_output(
++ int ms)
++ { return(*(int *)0); }
++
++#undef _nc_flush_sp
++void _nc_flush_sp(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef _nc_flush
++void _nc_flush(void)
++ { /* void */ }
++
++#undef _nc_outch_sp
++int _nc_outch_sp(
++ SCREEN *sp,
++ int ch)
++ { return(*(int *)0); }
++
++#undef _nc_outch
++int _nc_outch(
++ int ch)
++ { return(*(int *)0); }
++
++#undef putp_sp
++int putp_sp(
++ SCREEN *sp,
++ const char *string)
++ { return(*(int *)0); }
++
++#undef _nc_putp_sp
++int _nc_putp_sp(
++ SCREEN *sp,
++ const char *name,
++ const char *string)
++ { return(*(int *)0); }
++
++#undef putp
++int putp(
++ const char *string)
++ { return(*(int *)0); }
++
++#undef _nc_putp
++int _nc_putp(
++ const char *name,
++ const char *string)
++ { return(*(int *)0); }
++
++#undef tputs_sp
++int tputs_sp(
++ SCREEN *sp,
++ const char *string,
++ int affcnt,
++ NCURSES_OUTC_sp outc)
++ { return(*(int *)0); }
++
++#undef _nc_outc_wrapper
++int _nc_outc_wrapper(
++ SCREEN *sp,
++ int c)
++ { return(*(int *)0); }
++
++#undef tputs
++int tputs(
++ const char *string,
++ int affcnt,
++ int (*outc)(
++ int p1))
++ { return(*(int *)0); }
++
++/* ./trace/lib_trace.c */
++
++#undef _nc_tracing
++unsigned _nc_tracing;
++
++#undef _nc__nc_tputs_trace
++const char *_nc__nc_tputs_trace(void)
++ { return(*(const char **)0); }
++
++#undef _nc__nc_outchars
++long _nc__nc_outchars(void)
++ { return(*(long *)0); }
++
++#undef _nc_set_tputs_trace
++void _nc_set_tputs_trace(
++ const char *s)
++ { /* void */ }
++
++#undef _nc_count_outchars
++void _nc_count_outchars(
++ long increment)
++ { /* void */ }
++
++#undef trace
++void trace(
++ const unsigned int tracelevel)
++ { /* void */ }
++
++#undef _tracef
++void _tracef(
++ const char *fmt,
++ ...)
++ { /* void */ }
++
++#undef _nc_retrace_bool
++NCURSES_BOOL _nc_retrace_bool(
++ int code)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_retrace_char
++char _nc_retrace_char(
++ int code)
++ { return(*(char *)0); }
++
++#undef _nc_retrace_int
++int _nc_retrace_int(
++ int code)
++ { return(*(int *)0); }
++
++#undef _nc_retrace_unsigned
++unsigned _nc_retrace_unsigned(
++ unsigned code)
++ { return(*(unsigned *)0); }
++
++#undef _nc_retrace_ptr
++char *_nc_retrace_ptr(
++ char *code)
++ { return(*(char **)0); }
++
++#undef _nc_retrace_cptr
++const char *_nc_retrace_cptr(
++ const char *code)
++ { return(*(const char **)0); }
++
++#undef _nc_retrace_cvoid_ptr
++void *_nc_retrace_cvoid_ptr(
++ void *code)
++ { return(*(void **)0); }
++
++#undef _nc_retrace_void_ptr
++void *_nc_retrace_void_ptr(
++ void *code)
++ { return(*(void **)0); }
++
++#undef _nc_retrace_sp
++SCREEN *_nc_retrace_sp(
++ SCREEN *code)
++ { return(*(SCREEN **)0); }
++
++#undef _nc_retrace_win
++WINDOW *_nc_retrace_win(
++ WINDOW *code)
++ { return(*(WINDOW **)0); }
++
++#undef _nc_use_tracef
++int _nc_use_tracef(
++ unsigned mask)
++ { return(*(int *)0); }
++
++#undef _nc_locked_tracef
++void _nc_locked_tracef(
++ const char *fmt,
++ ...)
++ { /* void */ }
++
++/* ./trace/lib_traceatr.c */
++
++#undef _traceattr2
++char *_traceattr2(
++ int bufnum,
++ chtype newmode)
++ { return(*(char **)0); }
++
++#undef _traceattr
++char *_traceattr(
++ attr_t newmode)
++ { return(*(char **)0); }
++
++#undef _nc_retrace_int_attr_t
++int _nc_retrace_int_attr_t(
++ attr_t code)
++ { return(*(int *)0); }
++
++#undef _nc_retrace_attr_t
++attr_t _nc_retrace_attr_t(
++ attr_t code)
++ { return(*(attr_t *)0); }
++
++#undef _nc_altcharset_name
++const char *_nc_altcharset_name(
++ attr_t attr,
++ chtype ch)
++ { return(*(const char **)0); }
++
++#undef _tracechtype2
++char *_tracechtype2(
++ int bufnum,
++ chtype ch)
++ { return(*(char **)0); }
++
++#undef _tracechtype
++char *_tracechtype(
++ chtype ch)
++ { return(*(char **)0); }
++
++#undef _nc_retrace_chtype
++chtype _nc_retrace_chtype(
++ chtype code)
++ { return(*(chtype *)0); }
++
++#undef _tracecchar_t2
++char *_tracecchar_t2(
++ int bufnum,
++ const cchar_t *ch)
++ { return(*(char **)0); }
++
++#undef _tracecchar_t
++char *_tracecchar_t(
++ const cchar_t *ch)
++ { return(*(char **)0); }
++
++/* ./trace/lib_tracebits.c */
++
++typedef struct {
++ unsigned int val;
++ const char *name;
++} BITNAMES;
++
++#undef _nc_trace_ttymode
++char *_nc_trace_ttymode(
++ struct termios *tty)
++ { return(*(char **)0); }
++
++#undef _nc_tracebits
++char *_nc_tracebits(void)
++ { return(*(char **)0); }
++
++/* ./trace/lib_tracechr.c */
++
++#undef _nc_tracechar
++char *_nc_tracechar(
++ SCREEN *sp,
++ int ch)
++ { return(*(char **)0); }
++
++#undef _tracechar
++char *_tracechar(
++ int ch)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_ttyflags.c */
++
++#undef _nc_get_tty_mode_sp
++int _nc_get_tty_mode_sp(
++ SCREEN *sp,
++ struct termios *buf)
++ { return(*(int *)0); }
++
++#undef _nc_get_tty_mode
++int _nc_get_tty_mode(
++ struct termios *buf)
++ { return(*(int *)0); }
++
++#undef _nc_set_tty_mode_sp
++int _nc_set_tty_mode_sp(
++ SCREEN *sp,
++ struct termios *buf)
++ { return(*(int *)0); }
++
++#undef _nc_set_tty_mode
++int _nc_set_tty_mode(
++ struct termios *buf)
++ { return(*(int *)0); }
++
++#undef def_shell_mode_sp
++int def_shell_mode_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef def_shell_mode
++int def_shell_mode(void)
++ { return(*(int *)0); }
++
++#undef def_prog_mode_sp
++int def_prog_mode_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef def_prog_mode
++int def_prog_mode(void)
++ { return(*(int *)0); }
++
++#undef reset_prog_mode_sp
++int reset_prog_mode_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef reset_prog_mode
++int reset_prog_mode(void)
++ { return(*(int *)0); }
++
++#undef reset_shell_mode_sp
++int reset_shell_mode_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef reset_shell_mode
++int reset_shell_mode(void)
++ { return(*(int *)0); }
++
++#undef savetty_sp
++int savetty_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef savetty
++int savetty(void)
++ { return(*(int *)0); }
++
++#undef resetty_sp
++int resetty_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef resetty
++int resetty(void)
++ { return(*(int *)0); }
++
++/* ./tty/lib_twait.c */
++
++#include <sys/time.h>
++
++#undef _nc_timed_wait
++int _nc_timed_wait(
++ SCREEN *sp,
++ int mode,
++ int milliseconds,
++ int *timeleft)
++ { return(*(int *)0); }
++
++/* ./tinfo/name_match.c */
++
++#undef _nc_first_name
++char *_nc_first_name(
++ const char *const sp)
++ { return(*(char **)0); }
++
++#undef _nc_name_match
++int _nc_name_match(
++ const char *const namelst,
++ const char *const name,
++ const char *const delim)
++ { return(*(int *)0); }
++
++/* ./names.c */
++
++#undef _nc_boolnames
++char *const *_nc_boolnames(void)
++ { return(*(char **)0); }
++
++#undef _nc_boolfnames
++char *const *_nc_boolfnames(void)
++ { return(*(char **)0); }
++
++#undef _nc_numnames
++char *const *_nc_numnames(void)
++ { return(*(char **)0); }
++
++#undef _nc_numfnames
++char *const *_nc_numfnames(void)
++ { return(*(char **)0); }
++
++#undef _nc_strnames
++char *const *_nc_strnames(void)
++ { return(*(char **)0); }
++
++#undef _nc_strfnames
++char *const *_nc_strfnames(void)
++ { return(*(char **)0); }
++
++/* ./tinfo/read_entry.c */
++
++#include <hashed_db.h>
++
++#undef _nc_read_termtype
++int _nc_read_termtype(
++ TERMTYPE *ptr,
++ char *buffer,
++ int limit)
++ { return(*(int *)0); }
++
++#undef _nc_read_file_entry
++int _nc_read_file_entry(
++ const char *const filename,
++ TERMTYPE *ptr)
++ { return(*(int *)0); }
++
++#undef _nc_read_entry
++int _nc_read_entry(
++ const char *const name,
++ char *const filename,
++ TERMTYPE *const tp)
++ { return(*(int *)0); }
++
++/* ./tinfo/read_termcap.c */
++
++#include <sys/types.h>
++
++#undef _nc_read_termcap
++void _nc_read_termcap(void)
++ { /* void */ }
++
++/* ./tinfo/setbuf.c */
++
++#undef _nc_set_buffer_sp
++void _nc_set_buffer_sp(
++ SCREEN *sp,
++ FILE *ofp,
++ int buffered)
++ { /* void */ }
++
++#undef _nc_set_buffer
++void _nc_set_buffer(
++ FILE *ofp,
++ int buffered)
++ { /* void */ }
++
++/* ./tinfo/strings.c */
++
++#undef _nc_str_init
++string_desc *_nc_str_init(
++ string_desc *dst,
++ char *src,
++ size_t len)
++ { return(*(string_desc **)0); }
++
++#undef _nc_str_null
++string_desc *_nc_str_null(
++ string_desc *dst,
++ size_t len)
++ { return(*(string_desc **)0); }
++
++#undef _nc_str_copy
++string_desc *_nc_str_copy(
++ string_desc *dst,
++ string_desc *src)
++ { return(*(string_desc **)0); }
++
++#undef _nc_safe_strcat
++NCURSES_BOOL _nc_safe_strcat(
++ string_desc *dst,
++ const char *src)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_safe_strcpy
++NCURSES_BOOL _nc_safe_strcpy(
++ string_desc *dst,
++ const char *src)
++ { return(*(NCURSES_BOOL *)0); }
++
++/* ./trace/trace_buf.c */
++
++#undef _nc_trace_buf
++char *_nc_trace_buf(
++ int bufnum,
++ size_t want)
++ { return(*(char **)0); }
++
++#undef _nc_trace_bufcat
++char *_nc_trace_bufcat(
++ int bufnum,
++ const char *value)
++ { return(*(char **)0); }
++
++/* ./trace/trace_tries.c */
++
++#undef _nc_trace_tries
++void _nc_trace_tries(
++ TRIES *tree)
++ { /* void */ }
++
++/* ./base/tries.c */
++
++#undef _nc_expand_try
++char *_nc_expand_try(
++ TRIES *tree,
++ unsigned code,
++ int *count,
++ size_t len)
++ { return(*(char **)0); }
++
++#undef _nc_remove_key
++int _nc_remove_key(
++ TRIES **tree,
++ unsigned code)
++ { return(*(int *)0); }
++
++#undef _nc_remove_string
++int _nc_remove_string(
++ TRIES **tree,
++ const char *string)
++ { return(*(int *)0); }
++
++/* ./tinfo/trim_sgr0.c */
++
++#undef _nc_trim_sgr0
++char *_nc_trim_sgr0(
++ TERMTYPE *tp)
++ { return(*(char **)0); }
++
++/* ./unctrl.c */
++
++#undef unctrl_sp
++char *unctrl_sp(
++ SCREEN *sp,
++ chtype ch)
++ { return(*(char **)0); }
++
++#undef unctrl
++char *unctrl(
++ chtype ch)
++ { return(*(char **)0); }
++
++/* ./trace/visbuf.c */
++
++#undef _nc_visbuf2
++const char *_nc_visbuf2(
++ int bufnum,
++ const char *buf)
++ { return(*(const char **)0); }
++
++#undef _nc_visbuf
++const char *_nc_visbuf(
++ const char *buf)
++ { return(*(const char **)0); }
++
++#undef _nc_visbufn
++const char *_nc_visbufn(
++ const char *buf,
++ int len)
++ { return(*(const char **)0); }
++
++#undef _nc_viswbuf2
++const char *_nc_viswbuf2(
++ int bufnum,
++ const wchar_t *buf)
++ { return(*(const char **)0); }
++
++#undef _nc_viswbuf
++const char *_nc_viswbuf(
++ const wchar_t *buf)
++ { return(*(const char **)0); }
++
++#undef _nc_viswbufn
++const char *_nc_viswbufn(
++ const wchar_t *buf,
++ int len)
++ { return(*(const char **)0); }
++
++#undef _nc_viswibuf
++const char *_nc_viswibuf(
++ const wint_t *buf)
++ { return(*(const char **)0); }
++
++#undef _nc_viscbuf2
++const char *_nc_viscbuf2(
++ int bufnum,
++ const cchar_t *buf,
++ int len)
++ { return(*(const char **)0); }
++
++#undef _nc_viscbuf
++const char *_nc_viscbuf(
++ const cchar_t *buf,
++ int len)
++ { return(*(const char **)0); }
++
++/* ./base/define_key.c */
++
++#undef define_key_sp
++int define_key_sp(
++ SCREEN *sp,
++ const char *str,
++ int keycode)
++ { return(*(int *)0); }
++
++#undef define_key
++int define_key(
++ const char *str,
++ int keycode)
++ { return(*(int *)0); }
++
++/* ./tinfo/hashed_db.c */
++
++#undef _nc_hashed_db
++void _nc_hashed_db(void)
++ { /* void */ }
++
++/* ./base/key_defined.c */
++
++#undef key_defined_sp
++int key_defined_sp(
++ SCREEN *sp,
++ const char *str)
++ { return(*(int *)0); }
++
++#undef key_defined
++int key_defined(
++ const char *str)
++ { return(*(int *)0); }
++
++/* ./base/keybound.c */
++
++#undef keybound_sp
++char *keybound_sp(
++ SCREEN *sp,
++ int code,
++ int count)
++ { return(*(char **)0); }
++
++#undef keybound
++char *keybound(
++ int code,
++ int count)
++ { return(*(char **)0); }
++
++/* ./base/keyok.c */
++
++#undef keyok_sp
++int keyok_sp(
++ SCREEN *sp,
++ int c,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef keyok
++int keyok(
++ int c,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++/* ./base/version.c */
++
++#undef curses_version
++const char *curses_version(void)
++ { return(*(const char **)0); }
+Index: ncurses/llib-ltinfow
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/ncurses/llib-ltinfow 2012-07-14 17:39:00.000000000 +0000
+@@ -0,0 +1,1537 @@
++/****************************************************************************
++ * Copyright (c) 2012 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++
++/****************************************************************************
++ * Author: Thomas E. Dickey 2012 *
++ ****************************************************************************/
++/* LINTLIBRARY */
++
++/* ./tinfo/access.c */
++
++#include <curses.priv.h>
++#include <ctype.h>
++#include <tic.h>
++
++#undef _nc_rootname
++char *_nc_rootname(
++ char *path)
++ { return(*(char **)0); }
++
++#undef _nc_is_abs_path
++NCURSES_BOOL _nc_is_abs_path(
++ const char *path)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_pathlast
++unsigned _nc_pathlast(
++ const char *path)
++ { return(*(unsigned *)0); }
++
++#undef _nc_basename
++char *_nc_basename(
++ char *path)
++ { return(*(char **)0); }
++
++#undef _nc_access
++int _nc_access(
++ const char *path,
++ int mode)
++ { return(*(int *)0); }
++
++#undef _nc_is_dir_path
++NCURSES_BOOL _nc_is_dir_path(
++ const char *path)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_is_file_path
++NCURSES_BOOL _nc_is_file_path(
++ const char *path)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_env_access
++int _nc_env_access(void)
++ { return(*(int *)0); }
++
++/* ./tinfo/add_tries.c */
++
++#undef _nc_add_to_try
++int _nc_add_to_try(
++ TRIES **tree,
++ const char *str,
++ unsigned code)
++ { return(*(int *)0); }
++
++/* ./tinfo/alloc_ttype.c */
++
++#undef _nc_align_termtype
++void _nc_align_termtype(
++ TERMTYPE *to,
++ TERMTYPE *from)
++ { /* void */ }
++
++#undef _nc_copy_termtype
++void _nc_copy_termtype(
++ TERMTYPE *dst,
++ const TERMTYPE *src)
++ { /* void */ }
++
++/* ./codes.c */
++
++#undef boolcodes
++char *const boolcodes[] = {0};
++#undef numcodes
++char *const numcodes[] = {0};
++#undef strcodes
++char *const strcodes[] = {0};
++
++/* ./comp_captab.c */
++
++#include <hashsize.h>
++
++#undef _nc_get_table
++const struct name_table_entry *_nc_get_table(
++ NCURSES_BOOL termcap)
++ { return(*(const struct name_table_entry **)0); }
++
++#undef _nc_get_hash_table
++const HashValue *_nc_get_hash_table(
++ NCURSES_BOOL termcap)
++ { return(*(const HashValue **)0); }
++
++#undef _nc_get_alias_table
++const struct alias *_nc_get_alias_table(
++ NCURSES_BOOL termcap)
++ { return(*(const struct alias **)0); }
++
++#undef _nc_get_hash_info
++const HashData *_nc_get_hash_info(
++ NCURSES_BOOL termcap)
++ { return(*(const HashData **)0); }
++
++/* ./tinfo/comp_error.c */
++
++#undef _nc_suppress_warnings
++NCURSES_BOOL _nc_suppress_warnings;
++#undef _nc_curr_line
++int _nc_curr_line;
++#undef _nc_curr_col
++int _nc_curr_col;
++
++#undef _nc_get_source
++const char *_nc_get_source(void)
++ { return(*(const char **)0); }
++
++#undef _nc_set_source
++void _nc_set_source(
++ const char *const name)
++ { /* void */ }
++
++#undef _nc_set_type
++void _nc_set_type(
++ const char *const name)
++ { /* void */ }
++
++#undef _nc_get_type
++void _nc_get_type(
++ char *name)
++ { /* void */ }
++
++#undef _nc_warning
++void _nc_warning(
++ const char *const fmt,
++ ...)
++ { /* void */ }
++
++#undef _nc_err_abort
++void _nc_err_abort(
++ const char *const fmt,
++ ...)
++ { /* void */ }
++
++#undef _nc_syserr_abort
++void _nc_syserr_abort(
++ const char *const fmt,
++ ...)
++ { /* void */ }
++
++/* ./tinfo/comp_hash.c */
++
++#undef _nc_find_entry
++struct name_table_entry const *_nc_find_entry(
++ const char *string,
++ const HashValue *hash_table)
++ { return(*(struct name_table_entry const **)0); }
++
++#undef _nc_find_type_entry
++struct name_table_entry const *_nc_find_type_entry(
++ const char *string,
++ int type,
++ NCURSES_BOOL termcap)
++ { return(*(struct name_table_entry const **)0); }
++
++/* ./tinfo/db_iterator.c */
++
++#include <time.h>
++
++#undef _nc_tic_dir
++const char *_nc_tic_dir(
++ const char *path)
++ { return(*(const char **)0); }
++
++#undef _nc_keep_tic_dir
++void _nc_keep_tic_dir(
++ const char *path)
++ { /* void */ }
++
++#undef _nc_last_db
++void _nc_last_db(void)
++ { /* void */ }
++
++#undef _nc_next_db
++const char *_nc_next_db(
++ DBDIRS *state,
++ int *offset)
++ { return(*(const char **)0); }
++
++#undef _nc_first_db
++void _nc_first_db(
++ DBDIRS *state,
++ int *offset)
++ { /* void */ }
++
++/* ./tinfo/doalloc.c */
++
++#undef _nc_doalloc
++void *_nc_doalloc(
++ void *oldp,
++ size_t amount)
++ { return(*(void **)0); }
++
++/* ./tinfo/entries.c */
++
++#undef _nc_head
++ENTRY *_nc_head;
++#undef _nc_tail
++ENTRY *_nc_tail;
++
++#undef _nc_free_entry
++void _nc_free_entry(
++ ENTRY *headp,
++ TERMTYPE *tterm)
++ { /* void */ }
++
++#undef _nc_free_entries
++void _nc_free_entries(
++ ENTRY *headp)
++ { /* void */ }
++
++#undef _nc_delink_entry
++ENTRY *_nc_delink_entry(
++ ENTRY *headp,
++ TERMTYPE *tterm)
++ { return(*(ENTRY **)0); }
++
++#undef _nc_leaks_tinfo
++void _nc_leaks_tinfo(void)
++ { /* void */ }
++
++/* ./fallback.c */
++
++#undef _nc_fallback
++const TERMTYPE *_nc_fallback(
++ const char *name)
++ { return(*(const TERMTYPE **)0); }
++
++/* ./tinfo/free_ttype.c */
++
++#undef _nc_free_termtype
++void _nc_free_termtype(
++ TERMTYPE *ptr)
++ { /* void */ }
++
++#undef _nc_user_definable
++NCURSES_BOOL _nc_user_definable;
++
++#undef use_extended_names
++int use_extended_names(
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++/* ./tinfo/getenv_num.c */
++
++#undef _nc_getenv_num
++int _nc_getenv_num(
++ const char *name)
++ { return(*(int *)0); }
++
++/* ./tinfo/home_terminfo.c */
++
++#undef _nc_home_terminfo
++char *_nc_home_terminfo(void)
++ { return(*(char **)0); }
++
++/* ./tinfo/init_keytry.c */
++
++#if 0
++
++#include <init_keytry.h>
++
++#undef _nc_tinfo_fkeys
++const struct tinfo_fkeys _nc_tinfo_fkeys[] = {0};
++
++#endif
++
++#undef _nc_init_keytry
++void _nc_init_keytry(
++ SCREEN *sp)
++ { /* void */ }
++
++/* ./tinfo/lib_acs.c */
++
++#undef acs_map
++chtype acs_map[128];
++
++#undef _nc_init_acs_sp
++void _nc_init_acs_sp(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef _nc_init_acs
++void _nc_init_acs(void)
++ { /* void */ }
++
++/* ./tinfo/lib_baudrate.c */
++
++#include <termcap.h>
++
++struct speed {
++ int s;
++ int sp;
++};
++
++#undef _nc_baudrate
++int _nc_baudrate(
++ int OSpeed)
++ { return(*(int *)0); }
++
++#undef _nc_ospeed
++int _nc_ospeed(
++ int BaudRate)
++ { return(*(int *)0); }
++
++#undef baudrate_sp
++int baudrate_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef baudrate
++int baudrate(void)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_cur_term.c */
++
++#undef cur_term
++TERMINAL *cur_term;
++
++#undef set_curterm_sp
++TERMINAL *set_curterm_sp(
++ SCREEN *sp,
++ TERMINAL *termp)
++ { return(*(TERMINAL **)0); }
++
++#undef set_curterm
++TERMINAL *set_curterm(
++ TERMINAL *termp)
++ { return(*(TERMINAL **)0); }
++
++#undef del_curterm_sp
++int del_curterm_sp(
++ SCREEN *sp,
++ TERMINAL *termp)
++ { return(*(int *)0); }
++
++#undef del_curterm
++int del_curterm(
++ TERMINAL *termp)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_data.c */
++
++#undef stdscr
++WINDOW *stdscr;
++#undef curscr
++WINDOW *curscr;
++#undef newscr
++WINDOW *newscr;
++#undef _nc_screen_chain
++SCREEN *_nc_screen_chain;
++#undef SP
++SCREEN *SP;
++#undef _nc_globals
++NCURSES_GLOBALS _nc_globals;
++#undef _nc_prescreen
++NCURSES_PRESCREEN _nc_prescreen;
++
++#undef _nc_screen_of
++SCREEN *_nc_screen_of(
++ WINDOW *win)
++ { return(*(SCREEN **)0); }
++
++/* ./tinfo/lib_has_cap.c */
++
++#undef has_ic_sp
++NCURSES_BOOL has_ic_sp(
++ SCREEN *sp)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef has_ic
++NCURSES_BOOL has_ic(void)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef has_il_sp
++NCURSES_BOOL has_il_sp(
++ SCREEN *sp)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef has_il
++NCURSES_BOOL has_il(void)
++ { return(*(NCURSES_BOOL *)0); }
++
++/* ./tinfo/lib_kernel.c */
++
++#undef erasechar_sp
++char erasechar_sp(
++ SCREEN *sp)
++ { return(*(char *)0); }
++
++#undef erasechar
++char erasechar(void)
++ { return(*(char *)0); }
++
++#undef killchar_sp
++char killchar_sp(
++ SCREEN *sp)
++ { return(*(char *)0); }
++
++#undef killchar
++char killchar(void)
++ { return(*(char *)0); }
++
++#undef flushinp_sp
++int flushinp_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef flushinp
++int flushinp(void)
++ { return(*(int *)0); }
++
++/* ./lib_keyname.c */
++
++struct kn { short offset; int code; };
++
++#undef keyname_sp
++char *keyname_sp(
++ SCREEN *sp,
++ int c)
++ { return(*(char **)0); }
++
++#undef keyname
++char *keyname(
++ int c)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_longname.c */
++
++#undef longname
++char *longname(void)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_napms.c */
++
++#include <sys/time.h>
++
++#undef napms_sp
++int napms_sp(
++ SCREEN *sp,
++ int ms)
++ { return(*(int *)0); }
++
++#undef napms
++int napms(
++ int ms)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_options.c */
++
++#undef idlok
++int idlok(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef idcok
++void idcok(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { /* void */ }
++
++#undef halfdelay_sp
++int halfdelay_sp(
++ SCREEN *sp,
++ int t)
++ { return(*(int *)0); }
++
++#undef halfdelay
++int halfdelay(
++ int t)
++ { return(*(int *)0); }
++
++#undef nodelay
++int nodelay(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef notimeout
++int notimeout(
++ WINDOW *win,
++ NCURSES_BOOL f)
++ { return(*(int *)0); }
++
++#undef wtimeout
++void wtimeout(
++ WINDOW *win,
++ int delay)
++ { /* void */ }
++
++#undef keypad
++int keypad(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef meta
++int meta(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef curs_set_sp
++int curs_set_sp(
++ SCREEN *sp,
++ int vis)
++ { return(*(int *)0); }
++
++#undef curs_set
++int curs_set(
++ int vis)
++ { return(*(int *)0); }
++
++#undef typeahead_sp
++int typeahead_sp(
++ SCREEN *sp,
++ int fd)
++ { return(*(int *)0); }
++
++#undef typeahead
++int typeahead(
++ int fd)
++ { return(*(int *)0); }
++
++#undef has_key_sp
++int has_key_sp(
++ SCREEN *sp,
++ int keycode)
++ { return(*(int *)0); }
++
++#undef has_key
++int has_key(
++ int keycode)
++ { return(*(int *)0); }
++
++#undef _nc_putp_flush_sp
++int _nc_putp_flush_sp(
++ SCREEN *sp,
++ const char *name,
++ const char *value)
++ { return(*(int *)0); }
++
++#undef _nc_keypad
++int _nc_keypad(
++ SCREEN *sp,
++ int flag)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_raw.c */
++
++#undef raw_sp
++int raw_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef raw
++int raw(void)
++ { return(*(int *)0); }
++
++#undef cbreak_sp
++int cbreak_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef cbreak
++int cbreak(void)
++ { return(*(int *)0); }
++
++#undef qiflush_sp
++void qiflush_sp(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef qiflush
++void qiflush(void)
++ { /* void */ }
++
++#undef noraw_sp
++int noraw_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef noraw
++int noraw(void)
++ { return(*(int *)0); }
++
++#undef nocbreak_sp
++int nocbreak_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef nocbreak
++int nocbreak(void)
++ { return(*(int *)0); }
++
++#undef noqiflush_sp
++void noqiflush_sp(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef noqiflush
++void noqiflush(void)
++ { /* void */ }
++
++#undef intrflush_sp
++int intrflush_sp(
++ SCREEN *sp,
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef intrflush
++int intrflush(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_setup.c */
++
++#include <locale.h>
++#include <sys/ioctl.h>
++#include <langinfo.h>
++
++#undef ttytype
++char ttytype[256];
++#undef LINES
++int LINES;
++#undef COLS
++int COLS;
++#undef TABSIZE
++int TABSIZE;
++
++#undef set_tabsize_sp
++int set_tabsize_sp(
++ SCREEN *sp,
++ int value)
++ { return(*(int *)0); }
++
++#undef set_tabsize
++int set_tabsize(
++ int value)
++ { return(*(int *)0); }
++
++#undef _nc_handle_sigwinch
++int _nc_handle_sigwinch(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef use_env_sp
++void use_env_sp(
++ SCREEN *sp,
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef use_env
++void use_env(
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef use_tioctl_sp
++void use_tioctl_sp(
++ SCREEN *sp,
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef use_tioctl
++void use_tioctl(
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef _nc_get_screensize
++void _nc_get_screensize(
++ SCREEN *sp,
++ int *linep,
++ int *colp)
++ { /* void */ }
++
++#undef _nc_update_screensize
++void _nc_update_screensize(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef _nc_setup_tinfo
++int _nc_setup_tinfo(
++ const char *const tn,
++ TERMTYPE *const tp)
++ { return(*(int *)0); }
++
++#undef _nc_tinfo_cmdch
++void _nc_tinfo_cmdch(
++ TERMINAL *termp,
++ int proto)
++ { /* void */ }
++
++#undef _nc_get_locale
++char *_nc_get_locale(void)
++ { return(*(char **)0); }
++
++#undef _nc_unicode_locale
++int _nc_unicode_locale(void)
++ { return(*(int *)0); }
++
++#undef _nc_locale_breaks_acs
++int _nc_locale_breaks_acs(
++ TERMINAL *termp)
++ { return(*(int *)0); }
++
++#undef _nc_setupterm
++int _nc_setupterm(
++ char *tname,
++ int Filedes,
++ int *errret,
++ int reuse)
++ { return(*(int *)0); }
++
++#undef new_prescr
++SCREEN *new_prescr(void)
++ { return(*(SCREEN **)0); }
++
++#undef setupterm
++int setupterm(
++ char *tname,
++ int Filedes,
++ int *errret)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_termcap.c */
++
++#undef UP
++char *UP;
++#undef BC
++char *BC;
++
++#undef tgetent_sp
++int tgetent_sp(
++ SCREEN *sp,
++ char *bufp,
++ const char *name)
++ { return(*(int *)0); }
++
++#if 0
++
++#include <capdefaults.c>
++
++#endif
++
++#undef tgetent
++int tgetent(
++ char *bufp,
++ const char *name)
++ { return(*(int *)0); }
++
++#undef tgetflag_sp
++int tgetflag_sp(
++ SCREEN *sp,
++ char *id)
++ { return(*(int *)0); }
++
++#undef tgetflag
++int tgetflag(
++ char *id)
++ { return(*(int *)0); }
++
++#undef tgetnum_sp
++int tgetnum_sp(
++ SCREEN *sp,
++ char *id)
++ { return(*(int *)0); }
++
++#undef tgetnum
++int tgetnum(
++ char *id)
++ { return(*(int *)0); }
++
++#undef tgetstr_sp
++char *tgetstr_sp(
++ SCREEN *sp,
++ char *id,
++ char **area)
++ { return(*(char **)0); }
++
++#undef tgetstr
++char *tgetstr(
++ char *id,
++ char **area)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_termname.c */
++
++#undef termname_sp
++char *termname_sp(
++ SCREEN *sp)
++ { return(*(char **)0); }
++
++#undef termname
++char *termname(void)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_tgoto.c */
++
++#undef tgoto
++char *tgoto(
++ const char *string,
++ int x,
++ int y)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_ti.c */
++
++#undef tigetflag_sp
++int tigetflag_sp(
++ SCREEN *sp,
++ char *str)
++ { return(*(int *)0); }
++
++#undef tigetflag
++int tigetflag(
++ char *str)
++ { return(*(int *)0); }
++
++#undef tigetnum_sp
++int tigetnum_sp(
++ SCREEN *sp,
++ char *str)
++ { return(*(int *)0); }
++
++#undef tigetnum
++int tigetnum(
++ char *str)
++ { return(*(int *)0); }
++
++#undef tigetstr_sp
++char *tigetstr_sp(
++ SCREEN *sp,
++ char *str)
++ { return(*(char **)0); }
++
++#undef tigetstr
++char *tigetstr(
++ char *str)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_tparm.c */
++
++#undef _nc_tparm_err
++int _nc_tparm_err;
++
++#undef _nc_tparm_analyze
++int _nc_tparm_analyze(
++ const char *string,
++ char *p_is_s[9],
++ int *popcount)
++ { return(*(int *)0); }
++
++#undef tparm
++char *tparm(
++ char *string,
++ ...)
++ { return(*(char **)0); }
++
++#undef tiparm
++char *tiparm(
++ const char *string,
++ ...)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_tputs.c */
++
++#undef PC
++char PC;
++#undef ospeed
++short ospeed;
++#undef _nc_nulls_sent
++int _nc_nulls_sent;
++
++#undef _nc_set_no_padding
++void _nc_set_no_padding(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef delay_output_sp
++int delay_output_sp(
++ SCREEN *sp,
++ int ms)
++ { return(*(int *)0); }
++
++#undef delay_output
++int delay_output(
++ int ms)
++ { return(*(int *)0); }
++
++#undef _nc_flush_sp
++void _nc_flush_sp(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef _nc_flush
++void _nc_flush(void)
++ { /* void */ }
++
++#undef _nc_outch_sp
++int _nc_outch_sp(
++ SCREEN *sp,
++ int ch)
++ { return(*(int *)0); }
++
++#undef _nc_outch
++int _nc_outch(
++ int ch)
++ { return(*(int *)0); }
++
++#undef putp_sp
++int putp_sp(
++ SCREEN *sp,
++ const char *string)
++ { return(*(int *)0); }
++
++#undef _nc_putp_sp
++int _nc_putp_sp(
++ SCREEN *sp,
++ const char *name,
++ const char *string)
++ { return(*(int *)0); }
++
++#undef putp
++int putp(
++ const char *string)
++ { return(*(int *)0); }
++
++#undef _nc_putp
++int _nc_putp(
++ const char *name,
++ const char *string)
++ { return(*(int *)0); }
++
++#undef tputs_sp
++int tputs_sp(
++ SCREEN *sp,
++ const char *string,
++ int affcnt,
++ NCURSES_OUTC_sp outc)
++ { return(*(int *)0); }
++
++#undef _nc_outc_wrapper
++int _nc_outc_wrapper(
++ SCREEN *sp,
++ int c)
++ { return(*(int *)0); }
++
++#undef tputs
++int tputs(
++ const char *string,
++ int affcnt,
++ int (*outc)(
++ int p1))
++ { return(*(int *)0); }
++
++/* ./trace/lib_trace.c */
++
++#undef _nc_tracing
++unsigned _nc_tracing;
++#undef _nc_tputs_trace
++const char *_nc_tputs_trace = {0};
++#undef _nc_outchars
++long _nc_outchars;
++
++#undef trace
++void trace(
++ const unsigned int tracelevel)
++ { /* void */ }
++
++#undef _tracef
++void _tracef(
++ const char *fmt,
++ ...)
++ { /* void */ }
++
++#undef _nc_retrace_bool
++NCURSES_BOOL _nc_retrace_bool(
++ int code)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_retrace_char
++char _nc_retrace_char(
++ int code)
++ { return(*(char *)0); }
++
++#undef _nc_retrace_int
++int _nc_retrace_int(
++ int code)
++ { return(*(int *)0); }
++
++#undef _nc_retrace_unsigned
++unsigned _nc_retrace_unsigned(
++ unsigned code)
++ { return(*(unsigned *)0); }
++
++#undef _nc_retrace_ptr
++char *_nc_retrace_ptr(
++ char *code)
++ { return(*(char **)0); }
++
++#undef _nc_retrace_cptr
++const char *_nc_retrace_cptr(
++ const char *code)
++ { return(*(const char **)0); }
++
++#undef _nc_retrace_cvoid_ptr
++void *_nc_retrace_cvoid_ptr(
++ void *code)
++ { return(*(void **)0); }
++
++#undef _nc_retrace_void_ptr
++void *_nc_retrace_void_ptr(
++ void *code)
++ { return(*(void **)0); }
++
++#undef _nc_retrace_sp
++SCREEN *_nc_retrace_sp(
++ SCREEN *code)
++ { return(*(SCREEN **)0); }
++
++#undef _nc_retrace_win
++WINDOW *_nc_retrace_win(
++ WINDOW *code)
++ { return(*(WINDOW **)0); }
++
++/* ./trace/lib_traceatr.c */
++
++#undef _traceattr2
++char *_traceattr2(
++ int bufnum,
++ chtype newmode)
++ { return(*(char **)0); }
++
++#undef _traceattr
++char *_traceattr(
++ attr_t newmode)
++ { return(*(char **)0); }
++
++#undef _nc_retrace_int_attr_t
++int _nc_retrace_int_attr_t(
++ attr_t code)
++ { return(*(int *)0); }
++
++#undef _nc_retrace_attr_t
++attr_t _nc_retrace_attr_t(
++ attr_t code)
++ { return(*(attr_t *)0); }
++
++#undef _nc_altcharset_name
++const char *_nc_altcharset_name(
++ attr_t attr,
++ chtype ch)
++ { return(*(const char **)0); }
++
++#undef _tracechtype2
++char *_tracechtype2(
++ int bufnum,
++ chtype ch)
++ { return(*(char **)0); }
++
++#undef _tracechtype
++char *_tracechtype(
++ chtype ch)
++ { return(*(char **)0); }
++
++#undef _nc_retrace_chtype
++chtype _nc_retrace_chtype(
++ chtype code)
++ { return(*(chtype *)0); }
++
++#undef _tracecchar_t2
++char *_tracecchar_t2(
++ int bufnum,
++ const cchar_t *ch)
++ { return(*(char **)0); }
++
++#undef _tracecchar_t
++char *_tracecchar_t(
++ const cchar_t *ch)
++ { return(*(char **)0); }
++
++/* ./trace/lib_tracebits.c */
++
++typedef struct {
++ unsigned int val;
++ const char *name;
++} BITNAMES;
++
++#undef _nc_trace_ttymode
++char *_nc_trace_ttymode(
++ struct termios *tty)
++ { return(*(char **)0); }
++
++#undef _nc_tracebits
++char *_nc_tracebits(void)
++ { return(*(char **)0); }
++
++/* ./trace/lib_tracechr.c */
++
++#undef _nc_tracechar
++char *_nc_tracechar(
++ SCREEN *sp,
++ int ch)
++ { return(*(char **)0); }
++
++#undef _tracechar
++char *_tracechar(
++ int ch)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_ttyflags.c */
++
++#undef _nc_get_tty_mode_sp
++int _nc_get_tty_mode_sp(
++ SCREEN *sp,
++ struct termios *buf)
++ { return(*(int *)0); }
++
++#undef _nc_get_tty_mode
++int _nc_get_tty_mode(
++ struct termios *buf)
++ { return(*(int *)0); }
++
++#undef _nc_set_tty_mode_sp
++int _nc_set_tty_mode_sp(
++ SCREEN *sp,
++ struct termios *buf)
++ { return(*(int *)0); }
++
++#undef _nc_set_tty_mode
++int _nc_set_tty_mode(
++ struct termios *buf)
++ { return(*(int *)0); }
++
++#undef def_shell_mode_sp
++int def_shell_mode_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef def_shell_mode
++int def_shell_mode(void)
++ { return(*(int *)0); }
++
++#undef def_prog_mode_sp
++int def_prog_mode_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef def_prog_mode
++int def_prog_mode(void)
++ { return(*(int *)0); }
++
++#undef reset_prog_mode_sp
++int reset_prog_mode_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef reset_prog_mode
++int reset_prog_mode(void)
++ { return(*(int *)0); }
++
++#undef reset_shell_mode_sp
++int reset_shell_mode_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef reset_shell_mode
++int reset_shell_mode(void)
++ { return(*(int *)0); }
++
++#undef savetty_sp
++int savetty_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef savetty
++int savetty(void)
++ { return(*(int *)0); }
++
++#undef resetty_sp
++int resetty_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef resetty
++int resetty(void)
++ { return(*(int *)0); }
++
++/* ./tty/lib_twait.c */
++
++#undef _nc_timed_wait
++int _nc_timed_wait(
++ SCREEN *sp,
++ int mode,
++ int milliseconds,
++ int *timeleft)
++ { return(*(int *)0); }
++
++/* ./tinfo/name_match.c */
++
++#undef _nc_first_name
++char *_nc_first_name(
++ const char *const sp)
++ { return(*(char **)0); }
++
++#undef _nc_name_match
++int _nc_name_match(
++ const char *const namelst,
++ const char *const name,
++ const char *const delim)
++ { return(*(int *)0); }
++
++/* ./names.c */
++
++#undef boolnames
++char *const boolnames[] = {0};
++#undef boolfnames
++char *const boolfnames[] = {0};
++#undef numnames
++char *const numnames[] = {0};
++#undef numfnames
++char *const numfnames[] = {0};
++#undef strnames
++char *const strnames[] = {0};
++#undef strfnames
++char *const strfnames[] = {0};
++
++/* ./tinfo/read_entry.c */
++
++#include <hashed_db.h>
++
++#undef _nc_read_termtype
++int _nc_read_termtype(
++ TERMTYPE *ptr,
++ char *buffer,
++ int limit)
++ { return(*(int *)0); }
++
++#undef _nc_read_file_entry
++int _nc_read_file_entry(
++ const char *const filename,
++ TERMTYPE *ptr)
++ { return(*(int *)0); }
++
++#undef _nc_read_entry
++int _nc_read_entry(
++ const char *const name,
++ char *const filename,
++ TERMTYPE *const tp)
++ { return(*(int *)0); }
++
++/* ./tinfo/read_termcap.c */
++
++#include <sys/types.h>
++
++#undef _nc_read_termcap
++void _nc_read_termcap(void)
++ { /* void */ }
++
++/* ./tinfo/setbuf.c */
++
++#undef _nc_set_buffer_sp
++void _nc_set_buffer_sp(
++ SCREEN *sp,
++ FILE *ofp,
++ int buffered)
++ { /* void */ }
++
++#undef _nc_set_buffer
++void _nc_set_buffer(
++ FILE *ofp,
++ int buffered)
++ { /* void */ }
++
++/* ./tinfo/strings.c */
++
++#undef _nc_str_init
++string_desc *_nc_str_init(
++ string_desc *dst,
++ char *src,
++ size_t len)
++ { return(*(string_desc **)0); }
++
++#undef _nc_str_null
++string_desc *_nc_str_null(
++ string_desc *dst,
++ size_t len)
++ { return(*(string_desc **)0); }
++
++#undef _nc_str_copy
++string_desc *_nc_str_copy(
++ string_desc *dst,
++ string_desc *src)
++ { return(*(string_desc **)0); }
++
++#undef _nc_safe_strcat
++NCURSES_BOOL _nc_safe_strcat(
++ string_desc *dst,
++ const char *src)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_safe_strcpy
++NCURSES_BOOL _nc_safe_strcpy(
++ string_desc *dst,
++ const char *src)
++ { return(*(NCURSES_BOOL *)0); }
++
++/* ./trace/trace_buf.c */
++
++#undef _nc_trace_buf
++char *_nc_trace_buf(
++ int bufnum,
++ size_t want)
++ { return(*(char **)0); }
++
++#undef _nc_trace_bufcat
++char *_nc_trace_bufcat(
++ int bufnum,
++ const char *value)
++ { return(*(char **)0); }
++
++/* ./trace/trace_tries.c */
++
++#undef _nc_trace_tries
++void _nc_trace_tries(
++ TRIES *tree)
++ { /* void */ }
++
++/* ./base/tries.c */
++
++#undef _nc_expand_try
++char *_nc_expand_try(
++ TRIES *tree,
++ unsigned code,
++ int *count,
++ size_t len)
++ { return(*(char **)0); }
++
++#undef _nc_remove_key
++int _nc_remove_key(
++ TRIES **tree,
++ unsigned code)
++ { return(*(int *)0); }
++
++#undef _nc_remove_string
++int _nc_remove_string(
++ TRIES **tree,
++ const char *string)
++ { return(*(int *)0); }
++
++/* ./tinfo/trim_sgr0.c */
++
++#undef _nc_trim_sgr0
++char *_nc_trim_sgr0(
++ TERMTYPE *tp)
++ { return(*(char **)0); }
++
++/* ./unctrl.c */
++
++#undef unctrl_sp
++char *unctrl_sp(
++ SCREEN *sp,
++ chtype ch)
++ { return(*(char **)0); }
++
++#undef unctrl
++char *unctrl(
++ chtype ch)
++ { return(*(char **)0); }
++
++/* ./trace/visbuf.c */
++
++#undef _nc_visbuf2
++const char *_nc_visbuf2(
++ int bufnum,
++ const char *buf)
++ { return(*(const char **)0); }
++
++#undef _nc_visbuf
++const char *_nc_visbuf(
++ const char *buf)
++ { return(*(const char **)0); }
++
++#undef _nc_visbufn
++const char *_nc_visbufn(
++ const char *buf,
++ int len)
++ { return(*(const char **)0); }
++
++#undef _nc_viswbuf2
++const char *_nc_viswbuf2(
++ int bufnum,
++ const wchar_t *buf)
++ { return(*(const char **)0); }
++
++#undef _nc_viswbuf
++const char *_nc_viswbuf(
++ const wchar_t *buf)
++ { return(*(const char **)0); }
++
++#undef _nc_viswbufn
++const char *_nc_viswbufn(
++ const wchar_t *buf,
++ int len)
++ { return(*(const char **)0); }
++
++#undef _nc_viswibuf
++const char *_nc_viswibuf(
++ const wint_t *buf)
++ { return(*(const char **)0); }
++
++#undef _nc_viscbuf2
++const char *_nc_viscbuf2(
++ int bufnum,
++ const cchar_t *buf,
++ int len)
++ { return(*(const char **)0); }
++
++#undef _nc_viscbuf
++const char *_nc_viscbuf(
++ const cchar_t *buf,
++ int len)
++ { return(*(const char **)0); }
++
++/* ./base/define_key.c */
++
++#undef define_key_sp
++int define_key_sp(
++ SCREEN *sp,
++ const char *str,
++ int keycode)
++ { return(*(int *)0); }
++
++#undef define_key
++int define_key(
++ const char *str,
++ int keycode)
++ { return(*(int *)0); }
++
++/* ./tinfo/hashed_db.c */
++
++#undef _nc_hashed_db
++void _nc_hashed_db(void)
++ { /* void */ }
++
++/* ./base/key_defined.c */
++
++#undef key_defined_sp
++int key_defined_sp(
++ SCREEN *sp,
++ const char *str)
++ { return(*(int *)0); }
++
++#undef key_defined
++int key_defined(
++ const char *str)
++ { return(*(int *)0); }
++
++/* ./base/keybound.c */
++
++#undef keybound_sp
++char *keybound_sp(
++ SCREEN *sp,
++ int code,
++ int count)
++ { return(*(char **)0); }
++
++#undef keybound
++char *keybound(
++ int code,
++ int count)
++ { return(*(char **)0); }
++
++/* ./base/keyok.c */
++
++#undef keyok_sp
++int keyok_sp(
++ SCREEN *sp,
++ int c,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef keyok
++int keyok(
++ int c,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++/* ./base/version.c */
++
++#undef curses_version
++const char *curses_version(void)
++ { return(*(const char **)0); }
+Index: ncurses/modules
+Prereq: 1.117
+--- ncurses-5.9/ncurses/modules 2010-08-07 18:41:02.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/modules 2013-01-26 22:17:55.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: modules,v 1.117 2010/08/07 18:41:02 tom Exp $
++# $Id: modules,v 1.120 2013/01/26 22:17:55 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -115,7 +115,6 @@
+ varargs lib $(trace) $(HEADER_DEPS)
+
+ # Modules for porting
+-memmove lib $(base) $(HEADER_DEPS)
+ vsscanf lib $(base) $(HEADER_DEPS)
+
+ # actually an extension, but with its own configure option (--disable-leaks)
+@@ -199,9 +198,9 @@
+ lib_twait lib $(serial) $(HEADER_DEPS)
+ name_match lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h
+ names lib . $(HEADER_DEPS)
++obsolete lib $(tinfo) $(HEADER_DEPS)
+ read_entry lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h $(INCDIR)/hashed_db.h
+ read_termcap lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h
+-setbuf lib $(tinfo) $(HEADER_DEPS)
+ strings lib $(tinfo) $(HEADER_DEPS)
+ trace_buf lib $(trace) $(HEADER_DEPS)
+ trace_tries lib $(trace) $(HEADER_DEPS)
+@@ -236,6 +235,7 @@
+ @ port_win32con
+ gettimeofday lib $(win32con) $(HEADER_DEPS)
+ wcwidth lib $(win32con) $(HEADER_DEPS)
++widechars lib $(wide) $(HEADER_DEPS)
+ win_driver lib $(win32con) $(HEADER_DEPS)
+
+ @ port_tinfo
+Index: ncurses/tinfo/MKcaptab.sh
+Prereq: 1.13
+--- ncurses-5.9/ncurses/tinfo/MKcaptab.sh 2010-12-25 23:43:58.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/MKcaptab.sh 2011-10-22 16:34:50.000000000 +0000
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+ ##############################################################################
+-# Copyright (c) 2007-2009,2010 Free Software Foundation, Inc. #
++# Copyright (c) 2007-2010,2011 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -26,7 +26,7 @@
+ # use or other dealings in this Software without prior written #
+ # authorization. #
+ ##############################################################################
+-# $Id: MKcaptab.sh,v 1.13 2010/12/25 23:43:58 tom Exp $
++# $Id: MKcaptab.sh,v 1.14 2011/10/22 16:34:50 tom Exp $
+ AWK=${1-awk}
+ OPT1=${2-0}
+ OPT2=${3-tinfo/MKcaptab.awk}
+@@ -99,12 +99,12 @@
+ _nc_build_alias(struct alias **actual,
+ const alias_table_data *source,
+ const char *strings,
+- unsigned tablesize)
++ size_t tablesize)
+ {
+ if (*actual == 0) {
+ *actual = typeCalloc(struct alias, tablesize + 1);
+ if (*actual != 0) {
+- unsigned n;
++ size_t n;
+ for (n = 0; n < tablesize; ++n) {
+ add_alias(from);
+ add_alias(to);
+@@ -178,7 +178,7 @@
+ static int
+ compare_tcap_names(const char *a, const char *b)
+ {
+- return !strncmp(a, b, TCAP_LEN);
++ return !strncmp(a, b, (size_t) TCAP_LEN);
+ }
+
+ static int
+Index: ncurses/tinfo/access.c
+Prereq: 1.16
+--- ncurses-5.9/ncurses/tinfo/access.c 2010-01-23 17:57:43.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/access.c 2012-09-01 19:21:29.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -33,11 +33,18 @@
+ #include <curses.priv.h>
+
+ #include <ctype.h>
+-#include <sys/stat.h>
+
+ #include <tic.h>
+
+-MODULE_ID("$Id: access.c,v 1.16 2010/01/23 17:57:43 tom Exp $")
++MODULE_ID("$Id: access.c,v 1.23 2012/09/01 19:21:29 tom Exp $")
++
++#ifdef __TANDEM
++#define ROOT_UID 65535
++#endif
++
++#ifndef ROOT_UID
++#define ROOT_UID 0
++#endif
+
+ #define LOWERCASE(c) ((isalpha(UChar(c)) && isupper(UChar(c))) ? tolower(UChar(c)) : (c))
+
+@@ -53,7 +60,7 @@
+ result = temp;
+ #if !MIXEDCASE_FILENAMES
+ for (s = result; *s != '\0'; ++s) {
+- *s = LOWERCASE(*s);
++ *s = (char) LOWERCASE(*s);
+ }
+ #endif
+ #if defined(PROG_EXT)
+@@ -108,24 +115,33 @@
+ NCURSES_EXPORT(int)
+ _nc_access(const char *path, int mode)
+ {
+- if (access(path, mode) < 0) {
++ int result;
++
++ if (path == 0) {
++ result = -1;
++ } else if (access(path, mode) < 0) {
+ if ((mode & W_OK) != 0
+ && errno == ENOENT
+ && strlen(path) < PATH_MAX) {
+ char head[PATH_MAX];
+- char *leaf = _nc_basename(strcpy(head, path));
++ char *leaf;
+
++ _nc_STRCPY(head, path, sizeof(head));
++ leaf = _nc_basename(head);
+ if (leaf == 0)
+ leaf = head;
+ *leaf = '\0';
+ if (head == leaf)
+- (void) strcpy(head, ".");
++ _nc_STRCPY(head, ".", sizeof(head));
+
+- return access(head, R_OK | W_OK | X_OK);
++ result = access(head, R_OK | W_OK | X_OK);
++ } else {
++ result = -1;
+ }
+- return -1;
++ } else {
++ result = 0;
+ }
+- return 0;
++ return result;
+ }
+
+ NCURSES_EXPORT(bool)
+@@ -135,7 +151,7 @@
+ struct stat sb;
+
+ if (stat(path, &sb) == 0
+- && (sb.st_mode & S_IFMT) == S_IFDIR) {
++ && S_ISDIR(sb.st_mode)) {
+ result = TRUE;
+ }
+ return result;
+@@ -148,7 +164,7 @@
+ struct stat sb;
+
+ if (stat(path, &sb) == 0
+- && (sb.st_mode & S_IFMT) == S_IFREG) {
++ && S_ISREG(sb.st_mode)) {
+ result = TRUE;
+ }
+ return result;
+@@ -170,6 +186,7 @@
+ || getgid() != getegid())
+ return FALSE;
+ #endif
+- return getuid() != 0 && geteuid() != 0; /* ...finally, disallow root */
++ /* ...finally, disallow root */
++ return (getuid() != ROOT_UID) && (geteuid() != ROOT_UID);
+ }
+ #endif
+Index: ncurses/tinfo/alloc_entry.c
+Prereq: 1.51
+--- ncurses-5.9/ncurses/tinfo/alloc_entry.c 2010-12-25 23:06:01.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/alloc_entry.c 2012-10-27 21:32:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -47,7 +47,7 @@
+
+ #include <tic.h>
+
+-MODULE_ID("$Id: alloc_entry.c,v 1.51 2010/12/25 23:06:01 tom Exp $")
++MODULE_ID("$Id: alloc_entry.c,v 1.57 2012/10/27 21:32:23 tom Exp $")
+
+ #define ABSENT_OFFSET -1
+ #define CANCELLED_OFFSET -2
+@@ -73,7 +73,7 @@
+ #endif
+
+ if (stringbuf == 0)
+- stringbuf = (char *) malloc(MAX_STRTAB);
++ TYPE_MALLOC(char, (size_t) MAX_STRTAB, stringbuf);
+
+ #if NCURSES_XNAMES
+ tp->num_Booleans = BOOLCOUNT;
+@@ -84,11 +84,11 @@
+ tp->ext_Strings = 0;
+ #endif
+ if (tp->Booleans == 0)
+- tp->Booleans = typeMalloc(NCURSES_SBOOL, BOOLCOUNT);
++ TYPE_MALLOC(NCURSES_SBOOL, BOOLCOUNT, tp->Booleans);
+ if (tp->Numbers == 0)
+- tp->Numbers = typeMalloc(short, NUMCOUNT);
++ TYPE_MALLOC(short, NUMCOUNT, tp->Numbers);
+ if (tp->Strings == 0)
+- tp->Strings = typeMalloc(char *, STRCOUNT);
++ TYPE_MALLOC(char *, STRCOUNT, tp->Strings);
+
+ for_each_boolean(i, tp)
+ tp->Booleans[i] = FALSE;
+@@ -131,7 +131,7 @@
+ result = (stringbuf + next_free - 1);
+ }
+ } else if (next_free + len < MAX_STRTAB) {
+- strcpy(&stringbuf[next_free], string);
++ _nc_STRCPY(&stringbuf[next_free], string, MAX_STRTAB);
+ DEBUG(7, ("Saved string %s", _nc_visbuf(string)));
+ DEBUG(7, ("at location %d", (int) next_free));
+ next_free += len;
+@@ -194,8 +194,7 @@
+ useoffsets[i] = (int) (ep->uses[i].name - stringbuf);
+ }
+
+- if ((tp->str_table = typeMalloc(char, next_free)) == (char *) 0)
+- _nc_err_abort(MSG_NO_MEMORY);
++ TYPE_MALLOC(char, next_free, tp->str_table);
+ (void) memcpy(tp->str_table, stringbuf, next_free);
+
+ tp->term_names = tp->str_table + n;
+@@ -216,16 +215,18 @@
+ if ((n = (unsigned) NUM_EXT_NAMES(tp)) != 0) {
+ if (n < SIZEOF(offsets)) {
+ size_t length = 0;
++ size_t offset;
+ for (i = 0; i < n; i++) {
+ length += strlen(tp->ext_Names[i]) + 1;
+ offsets[i] = (int) (tp->ext_Names[i] - stringbuf);
+ }
+- if ((tp->ext_str_table = typeMalloc(char, length)) == 0)
+- _nc_err_abort(MSG_NO_MEMORY);
+- for (i = 0, length = 0; i < n; i++) {
+- tp->ext_Names[i] = tp->ext_str_table + length;
+- strcpy(tp->ext_Names[i], stringbuf + offsets[i]);
+- length += strlen(tp->ext_Names[i]) + 1;
++ TYPE_MALLOC(char, length, tp->ext_str_table);
++ for (i = 0, offset = 0; i < n; i++) {
++ tp->ext_Names[i] = tp->ext_str_table + offset;
++ _nc_STRCPY(tp->ext_Names[i],
++ stringbuf + offsets[i],
++ length - offset);
++ offset += strlen(tp->ext_Names[i]) + 1;
+ }
+ }
+ }
+Index: ncurses/tinfo/alloc_ttype.c
+Prereq: 1.22
+--- ncurses-5.9/ncurses/tinfo/alloc_ttype.c 2010-12-19 00:24:09.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/alloc_ttype.c 2012-10-27 21:23:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1999-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1999-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -42,7 +42,7 @@
+
+ #include <tic.h>
+
+-MODULE_ID("$Id: alloc_ttype.c,v 1.22 2010/12/19 00:24:09 tom Exp $")
++MODULE_ID("$Id: alloc_ttype.c,v 1.26 2012/10/27 21:23:17 tom Exp $")
+
+ #if NCURSES_XNAMES
+ /*
+@@ -104,7 +104,7 @@
+
+ if (to->ext_Booleans != ext_Booleans) {
+ EXTEND_NUM(num_Booleans, ext_Booleans);
+- to->Booleans = typeRealloc(NCURSES_SBOOL, to->num_Booleans, to->Booleans);
++ TYPE_REALLOC(NCURSES_SBOOL, to->num_Booleans, to->Booleans);
+ for (n = to->ext_Booleans - 1,
+ m = ext_Booleans - 1,
+ base = to->num_Booleans - (m + 1); m >= 0; m--) {
+@@ -116,9 +116,10 @@
+ }
+ to->ext_Booleans = UShort(ext_Booleans);
+ }
++
+ if (to->ext_Numbers != ext_Numbers) {
+ EXTEND_NUM(num_Numbers, ext_Numbers);
+- to->Numbers = typeRealloc(short, to->num_Numbers, to->Numbers);
++ TYPE_REALLOC(short, to->num_Numbers, to->Numbers);
+ for (n = to->ext_Numbers - 1,
+ m = ext_Numbers - 1,
+ base = to->num_Numbers - (m + 1); m >= 0; m--) {
+@@ -132,7 +133,7 @@
+ }
+ if (to->ext_Strings != ext_Strings) {
+ EXTEND_NUM(num_Strings, ext_Strings);
+- to->Strings = typeRealloc(char *, to->num_Strings, to->Strings);
++ TYPE_REALLOC(char *, to->num_Strings, to->Strings);
+ for (n = to->ext_Strings - 1,
+ m = ext_Strings - 1,
+ base = to->num_Strings - (m + 1); m >= 0; m--) {
+@@ -301,7 +302,7 @@
+ }
+ }
+
+- tp->ext_Names = typeRealloc(char *, total, tp->ext_Names);
++ TYPE_REALLOC(char *, total, tp->ext_Names);
+ for (k = total - 1; k > j; k--)
+ tp->ext_Names[k] = tp->ext_Names[k - 1];
+ tp->ext_Names[j] = name;
+@@ -311,21 +312,21 @@
+ case BOOLEAN:
+ tp->ext_Booleans++;
+ tp->num_Booleans++;
+- tp->Booleans = typeRealloc(NCURSES_SBOOL, tp->num_Booleans, tp->Booleans);
++ TYPE_REALLOC(NCURSES_SBOOL, tp->num_Booleans, tp->Booleans);
+ for (k = (unsigned) (tp->num_Booleans - 1); k > j; k--)
+ tp->Booleans[k] = tp->Booleans[k - 1];
+ break;
+ case NUMBER:
+ tp->ext_Numbers++;
+ tp->num_Numbers++;
+- tp->Numbers = typeRealloc(short, tp->num_Numbers, tp->Numbers);
++ TYPE_REALLOC(short, tp->num_Numbers, tp->Numbers);
+ for (k = (unsigned) (tp->num_Numbers - 1); k > j; k--)
+ tp->Numbers[k] = tp->Numbers[k - 1];
+ break;
+ case STRING:
+ tp->ext_Strings++;
+ tp->num_Strings++;
+- tp->Strings = typeRealloc(char *, tp->num_Strings, tp->Strings);
++ TYPE_REALLOC(char *, tp->num_Strings, tp->Strings);
+ for (k = (unsigned) (tp->num_Strings - 1); k > j; k--)
+ tp->Strings[k] = tp->Strings[k - 1];
+ break;
+@@ -417,7 +418,7 @@
+ * into it, updating to's counts for booleans, etc. Fortunately we do
+ * this only for the terminfo compiler (tic) and comparer (infocmp).
+ */
+- ext_Names = typeMalloc(char *, (size_t)(na + nb));
++ TYPE_MALLOC(char *, (size_t)(na + nb), ext_Names);
+
+ if (to->ext_Strings && (from->ext_Booleans + from->ext_Numbers))
+ adjust_cancels(to, from);
+@@ -461,7 +462,7 @@
+ if (nb != (ext_Booleans + ext_Numbers + ext_Strings)) {
+ nb = (ext_Booleans + ext_Numbers + ext_Strings);
+ realign_data(from, ext_Names, ext_Booleans, ext_Numbers, ext_Strings);
+- from->ext_Names = typeRealloc(char *, (size_t) nb, from->ext_Names);
++ TYPE_REALLOC(char *, (size_t) nb, from->ext_Names);
+ memcpy(from->ext_Names, ext_Names, sizeof(char *) * (size_t) nb);
+ DEBUG(2, ("realigned %d extended names for '%s' (from)",
+ NUM_EXT_NAMES(from), from->term_names));
+@@ -473,22 +474,25 @@
+ #endif
+
+ NCURSES_EXPORT(void)
+-_nc_copy_termtype(TERMTYPE *dst, TERMTYPE *src)
++_nc_copy_termtype(TERMTYPE *dst, const TERMTYPE *src)
+ {
+ unsigned i;
+
+ *dst = *src; /* ...to copy the sizes and string-tables */
+- dst->Booleans = typeMalloc(NCURSES_SBOOL, NUM_BOOLEANS(dst));
+- dst->Numbers = typeMalloc(short, NUM_NUMBERS(dst));
+- dst->Strings = typeMalloc(char *, NUM_STRINGS(dst));
+-
+- /* FIXME: use memcpy for these and similar loops */
+- for_each_boolean(i, dst)
+- dst->Booleans[i] = src->Booleans[i];
+- for_each_number(i, dst)
+- dst->Numbers[i] = src->Numbers[i];
+- for_each_string(i, dst)
+- dst->Strings[i] = src->Strings[i];
++
++ TYPE_MALLOC(NCURSES_SBOOL, NUM_BOOLEANS(dst), dst->Booleans);
++ TYPE_MALLOC(short, NUM_NUMBERS(dst), dst->Numbers);
++ TYPE_MALLOC(char *, NUM_STRINGS(dst), dst->Strings);
++
++ memcpy(dst->Booleans,
++ src->Booleans,
++ NUM_BOOLEANS(dst) * sizeof(dst->Booleans[0]));
++ memcpy(dst->Numbers,
++ src->Numbers,
++ NUM_NUMBERS(dst) * sizeof(dst->Numbers[0]));
++ memcpy(dst->Strings,
++ src->Strings,
++ NUM_STRINGS(dst) * sizeof(dst->Strings[0]));
+
+ /* FIXME: we probably should also copy str_table and ext_str_table,
+ * but tic and infocmp are not written to exploit that (yet).
+@@ -496,7 +500,7 @@
+
+ #if NCURSES_XNAMES
+ if ((i = NUM_EXT_NAMES(src)) != 0) {
+- dst->ext_Names = typeMalloc(char *, i);
++ TYPE_MALLOC(char *, i, dst->ext_Names);
+ memcpy(dst->ext_Names, src->ext_Names, i * sizeof(char *));
+ } else {
+ dst->ext_Names = 0;
+Index: ncurses/tinfo/captoinfo.c
+Prereq: 1.58
+--- ncurses-5.9/ncurses/tinfo/captoinfo.c 2010-12-04 20:08:19.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/captoinfo.c 2012-12-30 00:50:40.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -93,7 +93,7 @@
+ #include <ctype.h>
+ #include <tic.h>
+
+-MODULE_ID("$Id: captoinfo.c,v 1.58 2010/12/04 20:08:19 tom Exp $")
++MODULE_ID("$Id: captoinfo.c,v 1.77 2012/12/30 00:50:40 tom Exp $")
+
+ #define MAX_PUSHED 16 /* max # args we can push onto the stack */
+
+@@ -114,9 +114,7 @@
+ /* initialize 'my_string', 'my_length' */
+ {
+ if (my_string == 0)
+- my_string = typeMalloc(char, my_length = 256);
+- if (my_string == 0)
+- _nc_err_abort(MSG_NO_MEMORY);
++ TYPE_MALLOC(char, my_length = 256, my_string);
+
+ *my_string = '\0';
+ return my_string;
+@@ -133,7 +131,7 @@
+ _nc_err_abort(MSG_NO_MEMORY);
+ d = my_string + have;
+ }
+- (void) strcpy(d, s);
++ _nc_STRCPY(d, s, my_length - have);
+ return d + strlen(d);
+ }
+
+@@ -240,6 +238,12 @@
+ else if (parm == 2)
+ parm = 1;
+ }
++
++ while (n--) {
++ dp = save_string(dp, "%p");
++ dp = save_char(dp, '0' + parm);
++ }
++
+ if (onstack == parm) {
+ if (n > 1) {
+ _nc_warning("string may not be optimal");
+@@ -255,11 +259,6 @@
+
+ onstack = parm;
+
+- while (n--) {
+- dp = save_string(dp, "%p");
+- dp = save_char(dp, '0' + parm);
+- }
+-
+ if (seenn && parm < 3) {
+ dp = save_string(dp, "%{96}%^");
+ }
+@@ -469,73 +468,9 @@
+ break;
+ }
+ break;
+-#ifdef REVISIBILIZE
+- case '\\':
+- dp = save_char(dp, *s++);
+- dp = save_char(dp, *s++);
+- break;
+- case '\n':
+- dp = save_string(dp, "\\n");
+- s++;
+- break;
+- case '\t':
+- dp = save_string(dp, "\\t");
+- s++;
+- break;
+- case '\r':
+- dp = save_string(dp, "\\r");
+- s++;
+- break;
+- case '\200':
+- dp = save_string(dp, "\\0");
+- s++;
+- break;
+- case '\f':
+- dp = save_string(dp, "\\f");
+- s++;
+- break;
+- case '\b':
+- dp = save_string(dp, "\\b");
+- s++;
+- break;
+- case ' ':
+- dp = save_string(dp, "\\s");
+- s++;
+- break;
+- case '^':
+- dp = save_string(dp, "\\^");
+- s++;
+- break;
+- case ':':
+- dp = save_string(dp, "\\:");
+- s++;
+- break;
+- case ',':
+- dp = save_string(dp, "\\,");
+- s++;
+- break;
+- default:
+- if (*s == '\033') {
+- dp = save_string(dp, "\\E");
+- s++;
+- } else if (*s > 0 && *s < 32) {
+- dp = save_char(dp, '^');
+- dp = save_char(dp, *s + '@');
+- s++;
+- } else if (*s <= 0 || *s >= 127) {
+- dp = save_char(dp, '\\');
+- dp = save_char(dp, ((*s & 0300) >> 6) + '0');
+- dp = save_char(dp, ((*s & 0070) >> 3) + '0');
+- dp = save_char(dp, (*s & 0007) + '0');
+- s++;
+- } else
+- dp = save_char(dp, *s++);
+- break;
+-#else
+ default:
+ dp = save_char(dp, *s++);
+ break;
+-#endif
+ }
+ }
+
+@@ -578,7 +513,7 @@
+ {
+ char buffer[80];
+ int tst;
+- sprintf(buffer, fmt, ch1, ch2);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer)) fmt, ch1, ch2);
+ tst = strlen(buffer) - 1;
+ assert(len == tst);
+ }
+@@ -597,10 +532,13 @@
+ bufptr = save_char(bufptr, '\\');
+ bufptr = save_char(bufptr, c1);
+ } else {
+- if (c1 == (c1 & 0x1f)) /* iscntrl() returns T on 255 */
+- (void) strcpy(temp, unctrl((chtype) c1));
+- else
+- (void) sprintf(temp, "\\%03o", c1);
++ if (c1 == (c1 & 0x1f)) { /* iscntrl() returns T on 255 */
++ _nc_SPRINTF(temp, _nc_SLIMIT(sizeof(temp))
++ "%.20s", unctrl((chtype) c1));
++ } else {
++ _nc_SPRINTF(temp, _nc_SLIMIT(sizeof(temp))
++ "\\%03o", c1);
++ }
+ bufptr = save_string(bufptr, temp);
+ }
+ return bufptr;
+@@ -646,13 +584,15 @@
+ int in0, in1, in2;
+ char ch1 = 0, ch2 = 0;
+ char *bufptr = init_string();
++ char octal[4];
+ int len;
+ bool syntax_error = FALSE;
+
+ /* we may have to move some trailing mandatory padding up front */
+ padding = str + strlen(str) - 1;
+- if (padding > str && *padding == '>' && *--padding == '/') {
+- --padding;
++ if (padding > str && *padding == '>') {
++ if (*--padding == '/')
++ --padding;
+ while (isdigit(UChar(*padding)) || *padding == '.' || *padding == '*')
+ padding--;
+ if (padding > str && *padding == '<' && *--padding == '$')
+@@ -663,7 +603,7 @@
+ bufptr = save_char(bufptr, *padding++);
+ }
+
+- for (; *str && str != trimmed; str++) {
++ for (; *str && ((trimmed == 0) || (str < trimmed)); str++) {
+ int c1, c2;
+ char *cp = 0;
+
+@@ -685,8 +625,72 @@
+ } else if (str[1] == ',') {
+ bufptr = save_char(bufptr, *++str);
+ } else {
++ int xx1, xx2;
++
+ bufptr = save_char(bufptr, *str++);
+- bufptr = save_char(bufptr, *str);
++ xx1 = *str;
++ if (_nc_strict_bsd) {
++ if (isdigit(UChar(xx1))) {
++ int pad = 0;
++
++ if (!isdigit(UChar(str[1])))
++ pad = 2;
++ else if (str[1] && !isdigit(UChar(str[2])))
++ pad = 1;
++
++ /*
++ * Test for "\0", "\00" or "\000" and transform those
++ * into "\200".
++ */
++ if (xx1 == '0'
++ && ((pad == 2) || (str[1] == '0'))
++ && ((pad >= 1) || (str[2] == '0'))) {
++ xx2 = '2';
++ } else {
++ xx2 = '0';
++ pad = 0; /* FIXME - optionally pad to 3 digits */
++ }
++ while (pad-- > 0) {
++ bufptr = save_char(bufptr, xx2);
++ xx2 = '0';
++ }
++ } else if (strchr("E\\nrtbf", xx1) == 0) {
++ switch (xx1) {
++ case 'e':
++ xx1 = 'E';
++ break;
++ case 'l':
++ xx1 = 'n';
++ break;
++ case 's':
++ bufptr = save_char(bufptr, '0');
++ bufptr = save_char(bufptr, '4');
++ xx1 = '0';
++ break;
++ case ':':
++ /*
++ * Note: termcap documentation claims that ":"
++ * must be escaped as "\072", however the
++ * documentation is incorrect - read the code.
++ * The replacement does not work reliably,
++ * so the advice is not helpful.
++ */
++ bufptr = save_char(bufptr, '0');
++ bufptr = save_char(bufptr, '7');
++ xx1 = '2';
++ break;
++ default:
++ /* should not happen, but handle this anyway */
++ _nc_SPRINTF(octal, _nc_SLIMIT(sizeof(octal))
++ "%03o", UChar(xx1));
++ bufptr = save_char(bufptr, octal[0]);
++ bufptr = save_char(bufptr, octal[1]);
++ xx1 = octal[2];
++ break;
++ }
++ }
++ }
++ bufptr = save_char(bufptr, xx1);
+ }
+ } else if (str[0] == '$' && str[1] == '<') { /* discard padding */
+ str += 2;
+@@ -703,7 +707,8 @@
+ && ((in0 == 4 && in1 == 10 && in2 == 48)
+ || (in0 == 3 && in1 == 9 && in2 == 38))) {
+ /* dumb-down an optimized case from xterm-256color for termcap */
+- str = strstr(str, ";m");
++ if ((str = strstr(str, ";m")) == 0)
++ break; /* cannot happen */
+ ++str;
+ if (in2 == 48) {
+ bufptr = save_string(bufptr, "[48;5;%dm");
+@@ -720,13 +725,13 @@
+ bufptr = save_tc_inequality(bufptr, c1, c2);
+ } else if (sscanf(str, "%%?%%{%d}%%>%%t%%'%c'%%+%%;", &c1, &ch2) == 2) {
+ str = strchr(str, ';');
+- bufptr = save_tc_inequality(bufptr, c1, c2);
++ bufptr = save_tc_inequality(bufptr, c1, ch2);
+ } else if (sscanf(str, "%%?%%'%c'%%>%%t%%{%d}%%+%%;", &ch1, &c2) == 2) {
+ str = strchr(str, ';');
+- bufptr = save_tc_inequality(bufptr, c1, c2);
++ bufptr = save_tc_inequality(bufptr, ch1, c2);
+ } else if (sscanf(str, "%%?%%'%c'%%>%%t%%'%c'%%+%%;", &ch1, &ch2) == 2) {
+ str = strchr(str, ';');
+- bufptr = save_tc_inequality(bufptr, c1, c2);
++ bufptr = save_tc_inequality(bufptr, ch1, ch2);
+ } else if ((len = bcd_expression(str)) != 0) {
+ str += len;
+ bufptr = save_string(bufptr, "%B");
+@@ -741,15 +746,15 @@
+ bufptr = save_tc_char(bufptr, c1);
+ }
+ /* FIXME: this "works" for 'delta' */
+- else if (strncmp(str, "%{2}%*%-", 8) == 0) {
++ else if (strncmp(str, "%{2}%*%-", (size_t) 8) == 0) {
+ str += 7;
+ bufptr = save_string(bufptr, "%D");
+- } else if (strncmp(str, "%{96}%^", 7) == 0) {
++ } else if (strncmp(str, "%{96}%^", (size_t) 7) == 0) {
+ str += 6;
+ if (saw_m++ == 0) {
+ bufptr = save_string(bufptr, "%n");
+ }
+- } else if (strncmp(str, "%{127}%^", 8) == 0) {
++ } else if (strncmp(str, "%{127}%^", (size_t) 8) == 0) {
+ str += 7;
+ if (saw_n++ == 0) {
+ bufptr = save_string(bufptr, "%m");
+@@ -772,8 +777,25 @@
+ case '8':
+ case '9':
+ bufptr = save_char(bufptr, '%');
+- while (isdigit(UChar(*str)))
+- bufptr = save_char(bufptr, *str++);
++ ch1 = 0;
++ ch2 = 0;
++ while (isdigit(UChar(*str))) {
++ ch2 = ch1;
++ ch1 = *str++;
++ if (_nc_strict_bsd) {
++ if (ch1 > '3')
++ return 0;
++ } else {
++ bufptr = save_char(bufptr, ch1);
++ }
++ }
++ if (_nc_strict_bsd) {
++ if (ch2 != 0 && ch2 != '0')
++ return 0;
++ if (ch1 < '2')
++ ch1 = 'd';
++ bufptr = save_char(bufptr, ch1);
++ }
+ if (strchr("doxX.", *str)) {
+ if (*str != 'd') /* termcap doesn't have octal, hex */
+ return 0;
+@@ -794,6 +816,8 @@
+ * termcap notation.
+ */
+ case 's':
++ if (_nc_strict_bsd)
++ return 0;
+ bufptr = save_string(bufptr, "%s");
+ break;
+
+@@ -826,7 +850,7 @@
+ * but that may not be the end of the string.
+ */
+ assert(str != 0);
+- if (*str == '\0')
++ if (str == 0 || *str == '\0')
+ break;
+
+ } /* endwhile (*str) */
+Index: ncurses/tinfo/comp_error.c
+Prereq: 1.31
+--- ncurses-5.9/ncurses/tinfo/comp_error.c 2007-04-21 23:38:32.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/comp_error.c 2012-02-22 22:34:31.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2005,2007 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -41,7 +41,7 @@
+
+ #include <tic.h>
+
+-MODULE_ID("$Id: comp_error.c,v 1.31 2007/04/21 23:38:32 tom Exp $")
++MODULE_ID("$Id: comp_error.c,v 1.36 2012/02/22 22:34:31 tom Exp $")
+
+ NCURSES_EXPORT_VAR(bool) _nc_suppress_warnings = FALSE;
+ NCURSES_EXPORT_VAR(int) _nc_curr_line = 0; /* current line # in input */
+@@ -59,7 +59,8 @@
+ NCURSES_EXPORT(void)
+ _nc_set_source(const char *const name)
+ {
+- SourceName = name;
++ FreeIfNeeded(SourceName);
++ SourceName = strdup(name);
+ }
+
+ NCURSES_EXPORT(void)
+@@ -70,7 +71,7 @@
+ if (TermType != 0) {
+ TermType[0] = '\0';
+ if (name)
+- strncat(TermType, name, MAX_NAME_SIZE);
++ strncat(TermType, name, (size_t) MAX_NAME_SIZE);
+ }
+ }
+
+@@ -84,7 +85,7 @@
+ }
+ #endif
+ if (name != 0)
+- strcpy(name, TermType != 0 ? TermType : "");
++ _nc_STRCPY(name, TermType != 0 ? TermType : "", MAX_NAME_SIZE);
+ }
+
+ static NCURSES_INLINE void
+@@ -151,3 +152,12 @@
+ exit(EXIT_FAILURE);
+ #endif
+ }
++
++#if NO_LEAKS
++NCURSES_EXPORT(void)
++_nc_comp_error_leaks(void)
++{
++ FreeAndNull(SourceName);
++ FreeAndNull(TermType);
++}
++#endif
+Index: ncurses/tinfo/comp_expand.c
+Prereq: 1.21
+--- ncurses-5.9/ncurses/tinfo/comp_expand.c 2010-01-16 17:11:23.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/comp_expand.c 2012-03-24 18:37:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -35,7 +35,7 @@
+ #include <ctype.h>
+ #include <tic.h>
+
+-MODULE_ID("$Id: comp_expand.c,v 1.21 2010/01/16 17:11:23 tom Exp $")
++MODULE_ID("$Id: comp_expand.c,v 1.25 2012/03/24 18:37:17 tom Exp $")
+
+ static int
+ trailing_spaces(const char *src)
+@@ -49,6 +49,8 @@
+ #define REALCTL(s) (UChar(*(s)) < 127 && iscntrl(UChar(*(s))))
+ #define REALPRINT(s) (UChar(*(s)) < 127 && isprint(UChar(*(s))))
+
++#define P_LIMIT(p) (length - (size_t)(p))
++
+ NCURSES_EXPORT(char *)
+ _nc_tic_expand(const char *srcp, bool tic_format, int numbers)
+ {
+@@ -61,15 +63,15 @@
+ size_t need = (2 + strlen(str)) * 4;
+ int ch;
+
+-#if NO_LEAKS
+ if (srcp == 0) {
++#if NO_LEAKS
+ if (buffer != 0) {
+ FreeAndNull(buffer);
+ length = 0;
+ }
++#endif
+ return 0;
+ }
+-#endif
+ if (buffer == 0 || need > length) {
+ if ((buffer = typeRealloc(char, length = need, buffer)) == 0)
+ return 0;
+@@ -90,7 +92,8 @@
+ && str[1] != '\\'
+ && REALPRINT(str + 1)
+ && str[2] == S_QUOTE) {
+- sprintf(buffer + bufp, "{%d}", str[1]);
++ _nc_SPRINTF(buffer + bufp, _nc_SLIMIT(P_LIMIT(bufp))
++ "{%d}", str[1]);
+ bufp += (int) strlen(buffer + bufp);
+ str += 2;
+ } else {
+@@ -177,10 +180,12 @@
+ #define UnCtl(c) ((c) + '@')
+ else if (REALCTL(str) && ch != '\\'
+ && (!islong || isdigit(UChar(str[1])))) {
+- (void) sprintf(&buffer[bufp], "^%c", UnCtl(ch));
++ _nc_SPRINTF(&buffer[bufp], _nc_SLIMIT(P_LIMIT(bufp))
++ "^%c", UnCtl(ch));
+ bufp += 2;
+ } else {
+- (void) sprintf(&buffer[bufp], "\\%03o", ch);
++ _nc_SPRINTF(&buffer[bufp], _nc_SLIMIT(P_LIMIT(bufp))
++ "\\%03o", ch);
+ bufp += 4;
+ }
+
+Index: ncurses/tinfo/comp_parse.c
+Prereq: 1.73
+--- ncurses-5.9/ncurses/tinfo/comp_parse.c 2010-12-25 23:06:37.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/comp_parse.c 2012-10-27 21:48:03.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -35,15 +35,10 @@
+ /*
+ * comp_parse.c -- parser driver loop and use handling.
+ *
+- * _nc_read_entry_source(FILE *, literal, bool, bool (*hook)())
+- * _nc_resolve_uses2(void)
+- * _nc_free_entries(void)
+- *
+ * Use this code by calling _nc_read_entry_source() on as many source
+ * files as you like (either terminfo or termcap syntax). If you
+ * want use-resolution, call _nc_resolve_uses2(). To free the list
+ * storage, do _nc_free_entries().
+- *
+ */
+
+ #include <curses.priv.h>
+@@ -52,7 +47,7 @@
+
+ #include <tic.h>
+
+-MODULE_ID("$Id: comp_parse.c,v 1.73 2010/12/25 23:06:37 tom Exp $")
++MODULE_ID("$Id: comp_parse.c,v 1.86 2012/10/27 21:48:03 tom Exp $")
+
+ static void sanity_check2(TERMTYPE *, bool);
+ NCURSES_IMPEXP void NCURSES_API(*_nc_check_termtype2) (TERMTYPE *, bool) = sanity_check2;
+@@ -61,6 +56,8 @@
+ static void sanity_check(TERMTYPE *);
+ NCURSES_IMPEXP void NCURSES_API(*_nc_check_termtype) (TERMTYPE *) = sanity_check;
+
++static void fixup_acsc(TERMTYPE *, int);
++
+ static void
+ enqueue(ENTRY * ep)
+ /* add an entry to the in-core list */
+@@ -86,16 +83,28 @@
+ if (len > MAX_NAME_SIZE)
+ len = MAX_NAME_SIZE;
+ (void) strncpy(dst, src, len);
+- (void) strcpy(dst + len, "|");
++ _nc_STRCPY(dst + len, "|", MAX_NAME_SIZE);
+ src = dst;
+ }
+ return src;
+ }
+ #define ForceBar(dst, src) ((strchr(src, '|') == 0) ? force_bar(dst, src) : src)
+
+-NCURSES_EXPORT(bool)
+-_nc_entry_match(char *n1, char *n2)
+-/* do any of the aliases in a pair of terminal names match? */
++#if USE_TERMCAP && NCURSES_XNAMES
++static char *
++skip_index(char *name)
++{
++ char *bar = strchr(name, '|');
++
++ if (bar != 0 && (bar - name) == 2)
++ name = bar + 1;
++
++ return name;
++}
++#endif
++
++static bool
++check_collisions(char *n1, char *n2, int counter)
+ {
+ char *pstart, *qstart, *pend, *qend;
+ char nc1[MAX_NAME_SIZE + 2];
+@@ -104,15 +113,98 @@
+ n1 = ForceBar(nc1, n1);
+ n2 = ForceBar(nc2, n2);
+
+- for (pstart = n1; (pend = strchr(pstart, '|')); pstart = pend + 1)
+- for (qstart = n2; (qend = strchr(qstart, '|')); qstart = qend + 1)
++#if USE_TERMCAP && NCURSES_XNAMES
++ if ((_nc_syntax == SYN_TERMCAP) && _nc_user_definable) {
++ n1 = skip_index(n1);
++ n2 = skip_index(n2);
++ }
++#endif
++
++ for (pstart = n1; (pend = strchr(pstart, '|')); pstart = pend + 1) {
++ for (qstart = n2; (qend = strchr(qstart, '|')); qstart = qend + 1) {
+ if ((pend - pstart == qend - qstart)
+- && memcmp(pstart, qstart, (size_t) (pend - pstart)) == 0)
++ && memcmp(pstart, qstart, (size_t) (pend - pstart)) == 0) {
++ if (counter > 0)
++ (void) fprintf(stderr, "Name collision '%.*s' between\n",
++ (int) (pend - pstart), pstart);
+ return (TRUE);
++ }
++ }
++ }
+
+ return (FALSE);
+ }
+
++static char *
++next_name(char *name)
++{
++ if (*name != '\0')
++ ++name;
++ return name;
++}
++
++static char *
++name_ending(char *name)
++{
++ if (*name == '\0') {
++ name = 0;
++ } else {
++ while (*name != '\0' && *name != '|')
++ ++name;
++ }
++ return name;
++}
++
++/*
++ * Essentially, find the conflict reported in check_collisions() and remove
++ * it from the second name, unless that happens to be the last alias.
++ */
++static bool
++remove_collision(char *n1, char *n2)
++{
++ char *p1 = n1;
++ char *p2 = n2;
++ char *pstart, *qstart, *pend, *qend;
++ bool removed = FALSE;
++
++#if USE_TERMCAP && NCURSES_XNAMES
++ if ((_nc_syntax == SYN_TERMCAP) && _nc_user_definable) {
++ p1 = n1 = skip_index(n1);
++ p2 = n2 = skip_index(n2);
++ }
++#else
++ (void) p1;
++#endif
++
++ for (pstart = n1; (pend = name_ending(pstart)); pstart = next_name(pend)) {
++ for (qstart = n2; (qend = name_ending(qstart)); qstart = next_name(qend)) {
++ if ((pend - pstart == qend - qstart)
++ && memcmp(pstart, qstart, (size_t) (pend - pstart)) == 0) {
++ if (qstart != p2 || *qend == '|') {
++ if (*qend == '|')
++ ++qend;
++ while ((*qstart++ = *qend++) != '\0') ;
++ fprintf(stderr, "...now\t%s\n", p2);
++ } else {
++ fprintf(stderr, "Cannot remove alias '%.*s'\n",
++ (int) (qend - qstart), qstart);
++ }
++ removed = TRUE;
++ break;
++ }
++ }
++ }
++
++ return removed;
++}
++
++/* do any of the aliases in a pair of terminal names match? */
++NCURSES_EXPORT(bool)
++_nc_entry_match(char *n1, char *n2)
++{
++ return check_collisions(n1, n2, 0);
++}
++
+ /****************************************************************************
+ *
+ * Entry compiler and resolution logic
+@@ -198,19 +290,19 @@
+
+ for_entry_list(rp) {
+ if (qp > rp
+- && _nc_entry_match(qp->tterm.term_names, rp->tterm.term_names)) {
+- matchcount++;
+- if (matchcount == 1) {
+- (void) fprintf(stderr, "Name collision between %s",
+- _nc_first_name(qp->tterm.term_names));
+- multiples++;
++ && check_collisions(qp->tterm.term_names,
++ rp->tterm.term_names,
++ matchcount + 1)) {
++ if (!matchcount++) {
++ (void) fprintf(stderr, "\t%s\n", rp->tterm.term_names);
++ }
++ (void) fprintf(stderr, "and\t%s\n", qp->tterm.term_names);
++ if (!remove_collision(rp->tterm.term_names,
++ qp->tterm.term_names)) {
++ ++multiples;
+ }
+- if (matchcount >= 1)
+- (void) fprintf(stderr, " %s", _nc_first_name(rp->tterm.term_names));
+ }
+ }
+- if (matchcount >= 1)
+- (void) putc('\n', stderr);
+ }
+ if (multiples > 0)
+ return (FALSE);
+@@ -256,9 +348,7 @@
+ DEBUG(2, ("%s: resolving use=%s (compiled)",
+ child, lookfor));
+
+- rp = typeMalloc(ENTRY, 1);
+- if (rp == 0)
+- _nc_err_abort(MSG_NO_MEMORY);
++ TYPE_MALLOC(ENTRY, 1, rp);
+ rp->tterm = thisterm;
+ rp->nuses = 0;
+ rp->next = lastread;
+@@ -378,7 +468,34 @@
+ for_entry_list(qp) {
+ _nc_curr_line = (int) qp->startline;
+ _nc_set_type(_nc_first_name(qp->tterm.term_names));
+- _nc_check_termtype2(&qp->tterm, literal);
++ /*
++ * tic overrides this function pointer to provide more verbose
++ * checking.
++ */
++ if (_nc_check_termtype2 != sanity_check2) {
++ SCREEN *save_SP = SP;
++ SCREEN fake_sp;
++ TERMINAL fake_tm;
++ TERMINAL *save_tm = cur_term;
++
++ /*
++ * Setup so that tic can use ordinary terminfo interface
++ * to obtain capability information.
++ */
++ memset(&fake_sp, 0, sizeof(fake_sp));
++ memset(&fake_tm, 0, sizeof(fake_tm));
++ fake_sp._term = &fake_tm;
++ fake_tm.type = qp->tterm;
++ SP = &fake_sp;
++ set_curterm(&fake_tm);
++
++ _nc_check_termtype2(&qp->tterm, literal);
++
++ SP = save_SP;
++ set_curterm(save_tm);
++ } else {
++ fixup_acsc(&qp->tterm, literal);
++ }
+ }
+ DEBUG(2, ("SANITY CHECK FINISHED"));
+ }
+@@ -403,6 +520,17 @@
+ #define CUR tp->
+
+ static void
++fixup_acsc(TERMTYPE *tp, int literal)
++{
++ if (!literal) {
++ if (acs_chars == 0
++ && enter_alt_charset_mode != 0
++ && exit_alt_charset_mode != 0)
++ acs_chars = strdup(VT_ACSC);
++ }
++}
++
++static void
+ sanity_check2(TERMTYPE *tp, bool literal)
+ {
+ if (!PRESENT(exit_attribute_mode)) {
+@@ -428,10 +556,7 @@
+ * prefer to bypass it...
+ */
+ if (!literal) {
+- if (acs_chars == 0
+- && enter_alt_charset_mode != 0
+- && exit_alt_charset_mode != 0)
+- acs_chars = strdup(VT_ACSC);
++ fixup_acsc(tp, literal);
+ ANDMISSING(enter_alt_charset_mode, acs_chars);
+ ANDMISSING(exit_alt_charset_mode, acs_chars);
+ }
+Index: ncurses/tinfo/comp_scan.c
+Prereq: 1.89
+--- ncurses-5.9/ncurses/tinfo/comp_scan.c 2010-12-25 23:06:37.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/comp_scan.c 2012-12-08 22:19:25.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -50,7 +50,7 @@
+ #include <ctype.h>
+ #include <tic.h>
+
+-MODULE_ID("$Id: comp_scan.c,v 1.89 2010/12/25 23:06:37 tom Exp $")
++MODULE_ID("$Id: comp_scan.c,v 1.101 2012/12/08 22:19:25 tom Exp $")
+
+ /*
+ * Maximum length of string capability we'll accept before raising an error.
+@@ -61,6 +61,7 @@
+ #define iswhite(ch) (ch == ' ' || ch == '\t')
+
+ NCURSES_EXPORT_VAR (int) _nc_syntax = 0; /* termcap or terminfo? */
++NCURSES_EXPORT_VAR (int) _nc_strict_bsd = 1; /* ncurses extended termcap? */
+ NCURSES_EXPORT_VAR (long) _nc_curr_file_pos = 0; /* file offset of current line */
+ NCURSES_EXPORT_VAR (long) _nc_comment_start = 0; /* start of comment range before name */
+ NCURSES_EXPORT_VAR (long) _nc_comment_end = 0; /* end of comment range before name */
+@@ -127,14 +128,19 @@
+ * Returns the final nonblank character on the current input buffer
+ */
+ static int
+-last_char(void)
++last_char(int from_end)
+ {
+ size_t len = strlen(bufptr);
++ int result = 0;
++
+ while (len--) {
+- if (!isspace(UChar(bufptr[len])))
+- return bufptr[len];
++ if (!isspace(UChar(bufptr[len]))) {
++ if (from_end < (int) len)
++ result = bufptr[(int) len - from_end];
++ break;
++ }
+ }
+- return 0;
++ return result;
+ }
+
+ /*
+@@ -195,7 +201,8 @@
+ result = typeRealloc(char, allocated, result);
+ if (result == 0)
+ return (EOF);
+- bufstart = result;
++ if (bufstart)
++ bufstart = result;
+ }
+ if (used == 0)
+ _nc_curr_file_pos = ftell(yyin);
+@@ -212,7 +219,7 @@
+ }
+ } else {
+ if (used != 0)
+- strcat(result, "\n");
++ _nc_STRCAT(result, "\n", allocated);
+ }
+ if ((bufptr = bufstart) != 0) {
+ used = strlen(bufptr);
+@@ -256,12 +263,12 @@
+ }
+
+ static void
+-push_back(char c)
++push_back(int c)
+ /* push a character back onto the input stream */
+ {
+ if (bufptr == bufstart)
+ _nc_syserr_abort("Can't backspace off beginning of line");
+- *--bufptr = c;
++ *--bufptr = (char) c;
+ _nc_curr_col--;
+ }
+
+@@ -299,6 +306,8 @@
+ *tok_ptr++ = (char) ch; \
+ *tok_ptr = '\0'
+
++static char *tok_buf;
++
+ /*
+ * int
+ * get_token()
+@@ -336,15 +345,14 @@
+ _nc_get_token(bool silent)
+ {
+ static const char terminfo_punct[] = "@%&*!#";
+- static char *tok_buf;
+
+- char *after_list;
+- char *after_name;
++ char *after_name; /* after primary name */
++ char *after_list; /* after primary and alias list */
+ char *numchk;
+ char *tok_ptr;
+ char *s;
+ char numbuf[80];
+- int ch;
++ int ch, c0, c1;
+ int dot_flag = FALSE;
+ int type;
+ long number;
+@@ -372,11 +380,10 @@
+
+ if (end_of_stream()) {
+ yyin = 0;
+- next_char(); /* frees its allocated memory */
++ (void) next_char(); /* frees its allocated memory */
+ if (tok_buf != 0) {
+ if (_nc_curr_token.tk_name == tok_buf)
+ _nc_curr_token.tk_name = 0;
+- FreeAndNull(tok_buf);
+ }
+ return (EOF);
+ }
+@@ -390,6 +397,7 @@
+ }
+
+ ch = eat_escaped_newline(ch);
++ _nc_curr_token.tk_valstring = 0;
+
+ #ifdef TRACE
+ old_line = _nc_curr_line;
+@@ -457,7 +465,7 @@
+ after_list = tok_ptr;
+ if (after_name == 0)
+ after_name = tok_ptr;
+- } else if (ch == ':' && last_char() != ',') {
++ } else if (ch == ':' && last_char(0) != ',') {
+ _nc_syntax = SYN_TERMCAP;
+ separator = ':';
+ break;
+@@ -471,12 +479,64 @@
+ if (after_name == 0)
+ break;
+ /*
+- * If we see a comma, we assume this is terminfo unless we
+- * subsequently run into a colon. But we don't stop
+- * looking for a colon until hitting a newline. This
+- * allows commas to be embedded in description fields of
+- * either syntax.
++ * We saw a comma, but are not entirely sure this is
++ * terminfo format, since we can still be parsing the
++ * description field (for either syntax).
++ *
++ * A properly formatted termcap line ends with either a
++ * colon, or a backslash after a colon. It is possible
++ * to have a backslash in the middle of a capability, but
++ * then there would be no leading whitespace on the next
++ * line - something we want to discourage.
+ */
++ c0 = last_char(0);
++ c1 = last_char(1);
++ if (c1 != ':' && c0 != '\\' && c0 != ':') {
++ bool capability = FALSE;
++
++ /*
++ * Since it is not termcap, assume the line is terminfo
++ * format. However, the comma can be embedded in a
++ * description field. It also can be a separator
++ * between a description field and a capability.
++ *
++ * Improve the guess by checking if the next word after
++ * the comma does not look like a capability. In that
++ * case, extend the description past the comma.
++ */
++ for (s = bufptr; isspace(UChar(*s)); ++s) {
++ ;
++ }
++ if (islower(UChar(*s))) {
++ char *name = s;
++ while (isalnum(UChar(*s))) {
++ ++s;
++ }
++ if (*s == '#' || *s == '=' || *s == '@') {
++ /*
++ * Checking solely with syntax allows us to
++ * support extended capabilities with string
++ * values.
++ */
++ capability = TRUE;
++ } else if (*s == ',') {
++ c0 = *s;
++ *s = '\0';
++ /*
++ * Otherwise, we can handle predefined boolean
++ * capabilities, still aided by syntax.
++ */
++ if (_nc_find_entry(name,
++ _nc_get_hash_table(FALSE))) {
++ capability = TRUE;
++ }
++ *s = (char) c0;
++ }
++ }
++ if (capability) {
++ break;
++ }
++ }
+ } else
+ ch = eat_escaped_newline(ch);
+
+@@ -748,7 +808,7 @@
+ if (!(is7bits(c) && isprint(c))) {
+ _nc_warning("Illegal ^ character - '%s'", unctrl(UChar(c)));
+ }
+- if (c == '?') {
++ if (c == '?' && (_nc_syntax != SYN_TERMCAP)) {
+ *(ptr++) = '\177';
+ if (_nc_tracing)
+ _nc_warning("Allow ^? as synonym for \\177");
+@@ -758,23 +818,29 @@
+ *(ptr++) = (char) (c);
+ }
+ } else if (c == '\\') {
++ bool strict_bsd = ((_nc_syntax == SYN_TERMCAP) && _nc_strict_bsd);
++
+ c = next_char();
+ if (c == EOF)
+ _nc_err_abort(MSG_NO_INPUTS);
+
+- if (c >= '0' && c <= '7') {
++#define isoctal(c) ((c) >= '0' && (c) <= '7')
++
++ if (isoctal(c) || (strict_bsd && isdigit(c))) {
+ number = c - '0';
+ for (i = 0; i < 2; i++) {
+ c = next_char();
+ if (c == EOF)
+ _nc_err_abort(MSG_NO_INPUTS);
+
+- if (c < '0' || c > '7') {
++ if (!isoctal(c)) {
+ if (isdigit(c)) {
+- _nc_warning("Non-octal digit `%c' in \\ sequence", c);
+- /* allow the digit; it'll do less harm */
++ if (!strict_bsd) {
++ _nc_warning("Non-octal digit `%c' in \\ sequence", c);
++ /* allow the digit; it'll do less harm */
++ }
+ } else {
+- push_back((char) c);
++ push_back(c);
+ break;
+ }
+ }
+@@ -782,21 +848,16 @@
+ number = number * 8 + c - '0';
+ }
+
+- if (number == 0)
++ number = UChar(number);
++ if (number == 0 && !strict_bsd)
+ number = 0200;
+ *(ptr++) = (char) number;
+ } else {
+ switch (c) {
+ case 'E':
+- case 'e':
+ *(ptr++) = '\033';
+ break;
+
+- case 'a':
+- *(ptr++) = '\007';
+- break;
+-
+- case 'l':
+ case 'n':
+ *(ptr++) = '\n';
+ break;
+@@ -809,10 +870,6 @@
+ *(ptr++) = '\010';
+ break;
+
+- case 's':
+- *(ptr++) = ' ';
+- break;
+-
+ case 'f':
+ *(ptr++) = '\014';
+ break;
+@@ -833,16 +890,33 @@
+ *(ptr++) = ',';
+ break;
+
+- case ':':
+- *(ptr++) = ':';
+- break;
+-
+ case '\n':
+ continue;
+
+ default:
+- _nc_warning("Illegal character '%s' in \\ sequence",
+- unctrl(UChar(c)));
++ if ((_nc_syntax == SYN_TERMINFO) || !_nc_strict_bsd) {
++ switch (c) {
++ case 'a':
++ c = '\007';
++ break;
++ case 'e':
++ c = '\033';
++ break;
++ case 'l':
++ c = '\n';
++ break;
++ case 's':
++ c = ' ';
++ break;
++ case ':':
++ c = ':';
++ break;
++ default:
++ _nc_warning("Illegal character '%s' in \\ sequence",
++ unctrl(UChar(c)));
++ break;
++ }
++ }
+ /* FALLTHRU */
+ case '|':
+ *(ptr++) = (char) c;
+@@ -862,7 +936,7 @@
+
+ if (!ignored) {
+ if (_nc_curr_col <= 1) {
+- push_back((char) c);
++ push_back(c);
+ c = '\n';
+ break;
+ }
+@@ -934,5 +1008,8 @@
+ if (pushname != 0) {
+ FreeAndNull(pushname);
+ }
++ if (tok_buf != 0) {
++ FreeAndNull(tok_buf);
++ }
+ }
+ #endif
+Index: ncurses/tinfo/db_iterator.c
+Prereq: 1.9
+--- ncurses-5.9/ncurses/tinfo/db_iterator.c 2010-12-25 23:00:25.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/db_iterator.c 2012-08-25 21:55:00.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2006-2007,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2006-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -36,13 +36,142 @@
+
+ #include <curses.priv.h>
+
++#include <time.h>
+ #include <tic.h>
+
+-MODULE_ID("$Id: db_iterator.c,v 1.9 2010/12/25 23:00:25 tom Exp $")
++#if USE_HASHED_DB
++#include <hashed_db.h>
++#endif
++
++MODULE_ID("$Id: db_iterator.c,v 1.35 2012/08/25 21:55:00 tom Exp $")
+
+ #define HaveTicDirectory _nc_globals.have_tic_directory
+ #define KeepTicDirectory _nc_globals.keep_tic_directory
+ #define TicDirectory _nc_globals.tic_directory
++#define my_blob _nc_globals.dbd_blob
++#define my_list _nc_globals.dbd_list
++#define my_size _nc_globals.dbd_size
++#define my_time _nc_globals.dbd_time
++#define my_vars _nc_globals.dbd_vars
++
++static void
++add_to_blob(const char *text, size_t limit)
++{
++ (void) limit;
++
++ if (*text != '\0') {
++ char *last = my_blob + strlen(my_blob);
++ if (last != my_blob)
++ *last++ = NCURSES_PATHSEP;
++ _nc_STRCPY(last, text, limit);
++ }
++}
++
++static bool
++check_existence(const char *name, struct stat *sb)
++{
++ bool result = FALSE;
++
++ if (stat(name, sb) == 0
++ && (S_ISDIR(sb->st_mode) || S_ISREG(sb->st_mode))) {
++ result = TRUE;
++ }
++#if USE_HASHED_DB
++ else if (strlen(name) < PATH_MAX - sizeof(DBM_SUFFIX)) {
++ char temp[PATH_MAX];
++ _nc_SPRINTF(temp, _nc_SLIMIT(sizeof(temp)) "%s%s", name, DBM_SUFFIX);
++ if (stat(temp, sb) == 0 && S_ISREG(sb->st_mode)) {
++ result = TRUE;
++ }
++ }
++#endif
++ return result;
++}
++
++/*
++ * Store the latest value of an environment variable in my_vars[] so we can
++ * detect if one changes, invalidating the cached search-list.
++ */
++static bool
++update_getenv(const char *name, DBDIRS which)
++{
++ bool result = FALSE;
++
++ if (which < dbdLAST) {
++ char *value;
++
++ if ((value = getenv(name)) == 0 || (value = strdup(value)) == 0) {
++ ;
++ } else if (my_vars[which].name == 0 || strcmp(my_vars[which].name, name)) {
++ FreeIfNeeded(my_vars[which].value);
++ my_vars[which].name = name;
++ my_vars[which].value = value;
++ result = TRUE;
++ } else if ((my_vars[which].value != 0) ^ (value != 0)) {
++ FreeIfNeeded(my_vars[which].value);
++ my_vars[which].value = value;
++ result = TRUE;
++ } else if (value != 0 && strcmp(value, my_vars[which].value)) {
++ FreeIfNeeded(my_vars[which].value);
++ my_vars[which].value = value;
++ result = TRUE;
++ } else {
++ free(value);
++ }
++ }
++ return result;
++}
++
++static char *
++cache_getenv(const char *name, DBDIRS which)
++{
++ char *result = 0;
++
++ (void) update_getenv(name, which);
++ if (which < dbdLAST) {
++ result = my_vars[which].value;
++ }
++ return result;
++}
++
++/*
++ * The cache expires if at least a second has passed since the initial lookup,
++ * or if one of the environment variables changed.
++ *
++ * Only a few applications use multiple lookups of terminal entries, seems that
++ * aside from bulk I/O such as tic and toe, that leaves interactive programs
++ * which should not be modifying the terminal databases in a way that would
++ * invalidate the search-list.
++ *
++ * The "1-second" is to allow for user-directed changes outside the program.
++ */
++static bool
++cache_expired(void)
++{
++ bool result = FALSE;
++ time_t now = time((time_t *) 0);
++
++ if (now > my_time) {
++ result = TRUE;
++ } else {
++ DBDIRS n;
++ for (n = (DBDIRS) 0; n < dbdLAST; ++n) {
++ if (my_vars[n].name != 0
++ && update_getenv(my_vars[n].name, n)) {
++ result = TRUE;
++ break;
++ }
++ }
++ }
++ return result;
++}
++
++static void
++free_cache(void)
++{
++ FreeAndNull(my_blob);
++ FreeAndNull(my_list);
++}
+
+ /*
+ * Record the "official" location of the terminfo directory, according to
+@@ -51,6 +180,7 @@
+ NCURSES_EXPORT(const char *)
+ _nc_tic_dir(const char *path)
+ {
++ T(("_nc_tic_dir %s", NonNull(path)));
+ if (!KeepTicDirectory) {
+ if (path != 0) {
+ TicDirectory = path;
+@@ -61,7 +191,7 @@
+ return _nc_tic_dir(envp);
+ }
+ }
+- return TicDirectory;
++ return TicDirectory ? TicDirectory : TERMINFO;
+ }
+
+ /*
+@@ -77,61 +207,16 @@
+ }
+
+ /*
+- * Process the list of :-separated directories, looking for the terminal type.
+- * We don't use strtok because it does not show us empty tokens.
+- */
+-#define ThisDbList _nc_globals.dbi_list
+-#define ThisDbSize _nc_globals.dbi_size
+-
+-/*
+ * Cleanup.
+ */
+ NCURSES_EXPORT(void)
+ _nc_last_db(void)
+ {
+- if (ThisDbList != 0) {
+- FreeAndNull(ThisDbList);
+- }
+- ThisDbSize = 0;
+-}
+-
+-/* The TERMINFO_DIRS value, if defined by the configure script, begins with a
+- * ":", which will be interpreted as TERMINFO.
+- */
+-static const char *
+-next_list_item(const char *source, int *offset)
+-{
+- if (source != 0) {
+- FreeIfNeeded(ThisDbList);
+- ThisDbList = strdup(source);
+- ThisDbSize = (int) strlen(source);
+- }
+-
+- if (ThisDbList != 0 && ThisDbSize && *offset < ThisDbSize) {
+- static char system_db[] = TERMINFO;
+- char *result = ThisDbList + *offset;
+- char *marker = strchr(result, NCURSES_PATHSEP);
+-
+- /*
+- * Put a null on the marker if a separator was found. Set the offset
+- * to the next position after the marker so we can call this function
+- * again, using the data at the offset.
+- */
+- if (marker == 0) {
+- *offset += (int) strlen(result);
+- } else {
+- *marker++ = 0;
+- *offset = (int) (marker - ThisDbList);
+- }
+- if (*result == 0 && result != (ThisDbList + ThisDbSize))
+- result = system_db;
+- return result;
++ if (my_blob != 0 && cache_expired()) {
++ free_cache();
+ }
+- return 0;
+ }
+
+-#define NEXT_DBD(var, offset) next_list_item((*offset == 0) ? var : 0, offset)
+-
+ /*
+ * This is a simple iterator which allows the caller to step through the
+ * possible locations for a terminfo directory. ncurses uses this to find
+@@ -141,84 +226,186 @@
+ _nc_next_db(DBDIRS * state, int *offset)
+ {
+ const char *result;
+- char *envp;
+-
+- while (*state < dbdLAST) {
+- DBDIRS next = (DBDIRS) ((int) (*state) + 1);
+
++ (void) offset;
++ if ((int) *state < my_size
++ && my_list != 0
++ && my_list[*state] != 0) {
++ result = my_list[*state];
++ (*state)++;
++ } else {
+ result = 0;
++ }
++ if (result != 0) {
++ T(("_nc_next_db %d %s", *state, result));
++ }
++ return result;
++}
++
++NCURSES_EXPORT(void)
++_nc_first_db(DBDIRS * state, int *offset)
++{
++ bool cache_has_expired = FALSE;
++ *state = dbdTIC;
++ *offset = 0;
++
++ T(("_nc_first_db"));
++
++ /* build a blob containing all of the strings we will use for a lookup
++ * table.
++ */
++ if (my_blob == 0 || (cache_has_expired = cache_expired())) {
++ size_t blobsize = 0;
++ const char *values[dbdLAST];
++ struct stat *my_stat;
++ int j, k;
++
++ if (cache_has_expired)
++ free_cache();
++
++ for (j = 0; j < dbdLAST; ++j)
++ values[j] = 0;
++
++ /*
++ * This is the first item in the list, and is used only when tic is
++ * writing to the database, as a performance improvement.
++ */
++ values[dbdTIC] = TicDirectory;
+
+- switch (*state) {
+- case dbdTIC:
+- if (HaveTicDirectory)
+- result = _nc_tic_dir(0);
+- break;
+ #if USE_DATABASE
+- case dbdEnvOnce:
+- if (use_terminfo_vars()) {
+- if ((envp = getenv("TERMINFO")) != 0)
+- result = _nc_tic_dir(envp);
+- }
+- break;
+- case dbdHome:
+- if (use_terminfo_vars()) {
+- result = _nc_home_terminfo();
+- }
+- break;
+- case dbdEnvList:
+- if (use_terminfo_vars()) {
+- if ((result = NEXT_DBD(getenv("TERMINFO_DIRS"), offset)) != 0)
+- next = *state;
+- }
+- break;
+- case dbdCfgList:
+ #ifdef TERMINFO_DIRS
+- if ((result = NEXT_DBD(TERMINFO_DIRS, offset)) != 0)
+- next = *state;
++ values[dbdCfgList] = TERMINFO_DIRS;
++#endif
++#ifdef TERMINFO
++ values[dbdCfgOnce] = TERMINFO;
+ #endif
+- break;
+- case dbdCfgOnce:
+-#ifndef TERMINFO_DIRS
+- result = TERMINFO;
+ #endif
+- break;
+-#endif /* USE_DATABASE */
++
+ #if USE_TERMCAP
+- case dbdEnvOnce2:
+- if (use_terminfo_vars()) {
+- if ((envp = getenv("TERMCAP")) != 0)
+- result = _nc_tic_dir(envp);
+- }
+- break;
+- case dbdEnvList2:
+- if (use_terminfo_vars()) {
+- if ((result = NEXT_DBD(getenv("TERMPATH"), offset)) != 0)
+- next = *state;
++ values[dbdCfgList2] = TERMPATH;
++#endif
++
++ if (use_terminfo_vars()) {
++#if USE_DATABASE
++ values[dbdEnvOnce] = cache_getenv("TERMINFO", dbdEnvOnce);
++ values[dbdHome] = _nc_home_terminfo();
++ (void) cache_getenv("HOME", dbdHome);
++ values[dbdEnvList] = cache_getenv("TERMINFO_DIRS", dbdEnvList);
++
++#endif
++#if USE_TERMCAP
++ values[dbdEnvOnce2] = cache_getenv("TERMCAP", dbdEnvOnce2);
++ /* only use $TERMCAP if it is an absolute path */
++ if (values[dbdEnvOnce2] != 0
++ && *values[dbdEnvOnce2] != '/') {
++ values[dbdEnvOnce2] = 0;
+ }
+- break;
+- case dbdCfgList2:
+- if ((result = NEXT_DBD(TERMPATH, offset)) != 0)
+- next = *state;
+- break;
++ values[dbdEnvList2] = cache_getenv("TERMPATH", dbdEnvList2);
+ #endif /* USE_TERMCAP */
+- case dbdLAST:
+- break;
+ }
+- if (*state != next) {
+- *state = next;
+- *offset = 0;
+- _nc_last_db();
++
++ for (j = 0; j < dbdLAST; ++j) {
++ if (values[j] == 0)
++ values[j] = "";
++ blobsize += 2 + strlen(values[j]);
+ }
+- if (result != 0) {
+- return result;
++
++ my_blob = malloc(blobsize);
++ if (my_blob != 0) {
++ *my_blob = '\0';
++ for (j = 0; j < dbdLAST; ++j) {
++ add_to_blob(values[j], blobsize);
++ }
++
++ /* Now, build an array which will be pointers to the distinct
++ * strings in the blob.
++ */
++ blobsize = 2;
++ for (j = 0; my_blob[j] != '\0'; ++j) {
++ if (my_blob[j] == NCURSES_PATHSEP)
++ ++blobsize;
++ }
++ my_list = typeCalloc(char *, blobsize);
++ my_stat = typeCalloc(struct stat, blobsize);
++ if (my_list != 0 && my_stat != 0) {
++ k = 0;
++ my_list[k++] = my_blob;
++ for (j = 0; my_blob[j] != '\0'; ++j) {
++ if (my_blob[j] == NCURSES_PATHSEP) {
++ my_blob[j] = '\0';
++ my_list[k++] = &my_blob[j + 1];
++ }
++ }
++
++ /*
++ * Eliminate duplicates from the list.
++ */
++ for (j = 0; my_list[j] != 0; ++j) {
++#ifdef TERMINFO
++ if (*my_list[j] == '\0')
++ my_list[j] = strdup(TERMINFO);
++#endif
++ for (k = 0; k < j; ++k) {
++ if (!strcmp(my_list[j], my_list[k])) {
++ k = j - 1;
++ while ((my_list[j] = my_list[j + 1]) != 0) {
++ ++j;
++ }
++ j = k;
++ break;
++ }
++ }
++ }
++
++ /*
++ * Eliminate non-existent databases, and those that happen to
++ * be symlinked to another location.
++ */
++ for (j = 0; my_list[j] != 0; ++j) {
++ bool found = check_existence(my_list[j], &my_stat[j]);
++#if HAVE_LINK
++ if (found) {
++ for (k = 0; k < j; ++k) {
++ if (my_stat[j].st_dev == my_stat[k].st_dev
++ && my_stat[j].st_ino == my_stat[k].st_ino) {
++ found = FALSE;
++ break;
++ }
++ }
++ }
++#endif
++ if (!found) {
++ k = j;
++ while ((my_list[k] = my_list[k + 1]) != 0) {
++ ++k;
++ }
++ --j;
++ }
++ }
++ my_size = j;
++ my_time = time((time_t *) 0);
++ } else {
++ FreeAndNull(my_blob);
++ }
++ free(my_stat);
+ }
+ }
+- return 0;
+ }
+
+-NCURSES_EXPORT(void)
+-_nc_first_db(DBDIRS * state, int *offset)
++#if NO_LEAKS
++void
++_nc_db_iterator_leaks(void)
+ {
+- *state = dbdTIC;
+- *offset = 0;
++ DBDIRS which;
++
++ if (my_blob != 0)
++ FreeAndNull(my_blob);
++ if (my_list != 0)
++ FreeAndNull(my_list);
++ for (which = 0; (int) which < dbdLAST; ++which) {
++ my_vars[which].name = 0;
++ FreeIfNeeded(my_vars[which].value);
++ my_vars[which].value = 0;
++ }
+ }
++#endif
+Index: ncurses/tinfo/doalloc.c
+Prereq: 1.8
+--- ncurses-5.9/ncurses/tinfo/doalloc.c 2002-08-31 21:48:11.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/doalloc.c 2012-11-03 19:27:41.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2000,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: doalloc.c,v 1.8 2002/08/31 21:48:11 Philippe.Blain Exp $")
++MODULE_ID("$Id: doalloc.c,v 1.11 2012/11/03 19:27:41 tom Exp $")
+
+ NCURSES_EXPORT(void *)
+ _nc_doalloc(void *oldp, size_t amount)
+@@ -56,20 +56,3 @@
+ }
+ return newp;
+ }
+-
+-#if !HAVE_STRDUP
+-NCURSES_EXPORT(char *)
+-_nc_strdup(const char *src)
+-{
+- char *dst;
+- if (src != 0) {
+- dst = typeMalloc(char, strlen(src) + 1);
+- if (dst != 0) {
+- (void) strcpy(dst, src);
+- }
+- } else {
+- dst = 0;
+- }
+- return dst;
+-}
+-#endif
+Index: ncurses/tinfo/entries.c
+Prereq: 1.17
+--- ncurses-5.9/ncurses/tinfo/entries.c 2010-01-23 17:57:43.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/entries.c 2012-05-05 20:33:44.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2006-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2006-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,7 +37,7 @@
+
+ #include <tic.h>
+
+-MODULE_ID("$Id: entries.c,v 1.17 2010/01/23 17:57:43 tom Exp $")
++MODULE_ID("$Id: entries.c,v 1.21 2012/05/05 20:33:44 tom Exp $")
+
+ /****************************************************************************
+ *
+@@ -96,6 +96,9 @@
+ if (last != 0) {
+ last->next = ep->next;
+ }
++ if (ep->next != 0) {
++ ep->next->last = last;
++ }
+ if (ep == _nc_head) {
+ _nc_head = ep->next;
+ }
+@@ -128,19 +131,21 @@
+ _nc_free_entries(_nc_head);
+ _nc_get_type(0);
+ _nc_first_name(0);
++ _nc_db_iterator_leaks();
+ _nc_keyname_leaks();
+ #if BROKEN_LINKER || USE_REENTRANT
+ _nc_names_leaks();
+ _nc_codes_leaks();
+ FreeIfNeeded(_nc_prescreen.real_acs_map);
+ #endif
++ _nc_comp_error_leaks();
+
+ if ((s = _nc_home_terminfo()) != 0)
+ free(s);
+
+ #ifdef TRACE
+ trace(0);
+- _nc_trace_buf(-1, 0);
++ _nc_trace_buf(-1, (size_t) 0);
+ #endif
+
+ #endif /* NO_LEAKS */
+Index: ncurses/tinfo/getenv_num.c
+Prereq: 1.3
+--- ncurses-5.9/ncurses/tinfo/getenv_num.c 2000-12-10 02:55:07.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/getenv_num.c 2012-07-14 21:17:19.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2000,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -36,7 +36,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: getenv_num.c,v 1.3 2000/12/10 02:55:07 tom Exp $")
++MODULE_ID("$Id: getenv_num.c,v 1.4 2012/07/14 21:17:19 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ _nc_getenv_num(const char *name)
+@@ -54,3 +54,20 @@
+
+ return (int) value;
+ }
++
++NCURSES_EXPORT(void)
++_nc_setenv_num(const char *name, int value)
++{
++ if (name != 0 && value >= 0) {
++ char buffer[128];
++#if HAVE_SETENV
++ sprintf(buffer, "%d", value);
++ setenv(name, buffer, 1);
++#elif HAVE_PUTENV
++ char *s;
++ sprintf(buffer, "%s=%d", name, value);
++ if ((s = strdup(buffer)) != 0)
++ putenv(s);
++#endif
++ }
++}
+Index: ncurses/tinfo/hashed_db.c
+Prereq: 1.14
+--- ncurses-5.9/ncurses/tinfo/hashed_db.c 2008-12-13 20:59:02.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/hashed_db.c 2013-02-16 21:50:03.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2006,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 2006-2011,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -36,12 +36,81 @@
+
+ #if USE_HASHED_DB
+
+-MODULE_ID("$Id: hashed_db.c,v 1.14 2008/12/13 20:59:02 tom Exp $")
++MODULE_ID("$Id: hashed_db.c,v 1.16 2013/02/16 21:50:03 tom Exp $")
+
+ #if HASHED_DB_API >= 2
+ static DBC *cursor;
+ #endif
+
++typedef struct _myconn {
++ struct _myconn *next;
++ DB *db;
++ char *path;
++ bool modify;
++} MYCONN;
++
++static MYCONN *connections;
++
++static void
++cleanup(void)
++{
++ while (connections != 0) {
++ _nc_db_close(connections->db);
++ }
++}
++
++static DB *
++find_connection(const char *path, bool modify)
++{
++ DB *result = 0;
++ MYCONN *p;
++
++ for (p = connections; p != 0; p = p->next) {
++ if (!strcmp(p->path, path) && p->modify == modify) {
++ result = p->db;
++ break;
++ }
++ }
++
++ return result;
++}
++
++static void
++drop_connection(DB * db)
++{
++ MYCONN *p, *q;
++
++ for (p = connections, q = 0; p != 0; q = p, p = p->next) {
++ if (p->db == db) {
++ if (q != 0)
++ q->next = p->next;
++ else
++ connections = p->next;
++ free(p->path);
++ free(p);
++ break;
++ }
++ }
++}
++
++static void
++make_connection(DB * db, const char *path, bool modify)
++{
++ MYCONN *p = typeCalloc(MYCONN, 1);
++
++ if (p != 0) {
++ p->db = db;
++ p->path = strdup(path);
++ p->modify = modify;
++ if (p->path != 0) {
++ p->next = connections;
++ connections = p;
++ } else {
++ free(p);
++ }
++ }
++}
++
+ /*
+ * Open the database.
+ */
+@@ -51,50 +120,57 @@
+ DB *result = 0;
+ int code;
+
++ if (connections == 0)
++ atexit(cleanup);
++
++ if ((result = find_connection(path, modify)) == 0) {
++
+ #if HASHED_DB_API >= 4
+- db_create(&result, NULL, 0);
+- if ((code = result->open(result,
+- NULL,
+- path,
+- NULL,
+- DB_HASH,
+- modify ? DB_CREATE : DB_RDONLY,
+- 0644)) != 0) {
+- result = 0;
+- }
++ db_create(&result, NULL, 0);
++ if ((code = result->open(result,
++ NULL,
++ path,
++ NULL,
++ DB_HASH,
++ modify ? DB_CREATE : DB_RDONLY,
++ 0644)) != 0) {
++ result = 0;
++ }
+ #elif HASHED_DB_API >= 3
+- db_create(&result, NULL, 0);
+- if ((code = result->open(result,
+- path,
+- NULL,
+- DB_HASH,
+- modify ? DB_CREATE : DB_RDONLY,
+- 0644)) != 0) {
+- result = 0;
+- }
++ db_create(&result, NULL, 0);
++ if ((code = result->open(result,
++ path,
++ NULL,
++ DB_HASH,
++ modify ? DB_CREATE : DB_RDONLY,
++ 0644)) != 0) {
++ result = 0;
++ }
+ #elif HASHED_DB_API >= 2
+- if ((code = db_open(path,
+- DB_HASH,
+- modify ? DB_CREATE : DB_RDONLY,
+- 0644,
+- (DB_ENV *) 0,
+- (DB_INFO *) 0,
+- &result)) != 0) {
+- result = 0;
+- }
++ if ((code = db_open(path,
++ DB_HASH,
++ modify ? DB_CREATE : DB_RDONLY,
++ 0644,
++ (DB_ENV *) 0,
++ (DB_INFO *) 0,
++ &result)) != 0) {
++ result = 0;
++ }
+ #else
+- if ((result = dbopen(path,
+- modify ? (O_CREAT | O_RDWR) : O_RDONLY,
+- 0644,
+- DB_HASH,
+- NULL)) == 0) {
+- code = errno;
+- }
++ if ((result = dbopen(path,
++ modify ? (O_CREAT | O_RDWR) : O_RDONLY,
++ 0644,
++ DB_HASH,
++ NULL)) == 0) {
++ code = errno;
++ }
+ #endif
+- if (result != 0) {
+- T(("opened %s", path));
+- } else {
+- T(("cannot open %s: %s", path, strerror(code)));
++ if (result != 0) {
++ make_connection(result, path, modify);
++ T(("opened %s", path));
++ } else {
++ T(("cannot open %s: %s", path, strerror(code)));
++ }
+ }
+ return result;
+ }
+@@ -107,6 +183,7 @@
+ {
+ int result;
+
++ drop_connection(db);
+ #if HASHED_DB_API >= 2
+ result = db->close(db, 0);
+ #else
+Index: ncurses/tinfo/home_terminfo.c
+Prereq: 1.12
+--- ncurses-5.9/ncurses/tinfo/home_terminfo.c 2010-12-25 23:43:58.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/home_terminfo.c 2012-10-27 21:49:14.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,7 +37,7 @@
+ #include <curses.priv.h>
+ #include <tic.h>
+
+-MODULE_ID("$Id: home_terminfo.c,v 1.12 2010/12/25 23:43:58 tom Exp $")
++MODULE_ID("$Id: home_terminfo.c,v 1.15 2012/10/27 21:49:14 tom Exp $")
+
+ /* ncurses extension...fall back on user's private directory */
+
+@@ -54,10 +54,8 @@
+ if (MyBuffer == 0) {
+ if ((home = getenv("HOME")) != 0) {
+ size_t want = (strlen(home) + sizeof(PRIVATE_INFO));
+- MyBuffer = typeMalloc(char, want);
+- if (MyBuffer == 0)
+- _nc_err_abort(MSG_NO_MEMORY);
+- (void) sprintf(MyBuffer, PRIVATE_INFO, home);
++ TYPE_MALLOC(char, want, MyBuffer);
++ _nc_SPRINTF(MyBuffer, _nc_SLIMIT(want) PRIVATE_INFO, home);
+ }
+ }
+ result = MyBuffer;
+Index: ncurses/tinfo/lib_acs.c
+Prereq: 1.43
+--- ncurses-5.9/ncurses/tinfo/lib_acs.c 2010-12-25 23:00:45.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/lib_acs.c 2013-01-12 17:24:42.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_acs.c,v 1.43 2010/12/25 23:00:45 tom Exp $")
++MODULE_ID("$Id: lib_acs.c,v 1.44 2013/01/12 17:24:42 tom Exp $")
+
+ #if BROKEN_LINKER || USE_REENTRANT
+ #define MyBuffer _nc_prescreen.real_acs_map
+@@ -169,8 +169,7 @@
+ CallDriver_2(SP_PARM, initacs, real_map, fake_map);
+ #else
+ if (ena_acs != NULL) {
+- TPUTS_TRACE("ena_acs");
+- putp(ena_acs);
++ NCURSES_PUTP2("ena_acs", ena_acs);
+ }
+ #if NCURSES_EXT_FUNCS
+ /*
+Index: ncurses/tinfo/lib_cur_term.c
+Prereq: 1.30
+--- ncurses-5.9/ncurses/tinfo/lib_cur_term.c 2010-12-19 01:38:45.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/lib_cur_term.c 2012-11-18 02:12:43.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+ #include <curses.priv.h>
+ #include <termcap.h> /* ospeed */
+
+-MODULE_ID("$Id: lib_cur_term.c,v 1.30 2010/12/19 01:38:45 tom Exp $")
++MODULE_ID("$Id: lib_cur_term.c,v 1.31 2012/11/18 02:12:43 tom Exp $")
+
+ #undef CUR
+ #define CUR termp->type.
+@@ -148,8 +148,9 @@
+
+ FreeIfNeeded(termp->_termname);
+ #if USE_HOME_TERMINFO
+- if (_nc_globals.home_terminfo != 0)
++ if (_nc_globals.home_terminfo != 0) {
+ FreeAndNull(_nc_globals.home_terminfo);
++ }
+ #endif
+ #ifdef USE_TERM_DRIVER
+ if (TCB->drv)
+Index: ncurses/tinfo/lib_data.c
+Prereq: 1.61
+--- ncurses-5.9/ncurses/tinfo/lib_data.c 2010-05-15 22:06:56.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/lib_data.c 2012-08-25 18:38:43.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -42,7 +42,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_data.c,v 1.61 2010/05/15 22:06:56 tom Exp $")
++MODULE_ID("$Id: lib_data.c,v 1.65 2012/08/25 18:38:43 tom Exp $")
+
+ /*
+ * OS/2's native linker complains if we don't initialize public data when
+@@ -114,6 +114,7 @@
+ #define TGETENT_0s { TGETENT_0, TGETENT_0, TGETENT_0, TGETENT_0 }
+
+ NCURSES_EXPORT_VAR(NCURSES_GLOBALS) _nc_globals = {
++ 0, /* have_sigtstp */
+ 0, /* have_sigwinch */
+ 0, /* cleanup_nested */
+
+@@ -125,7 +126,7 @@
+
+ FALSE, /* have_tic_directory */
+ FALSE, /* keep_tic_directory */
+- TERMINFO, /* tic_directory */
++ 0, /* tic_directory */
+
+ NULL, /* dbi_list */
+ 0, /* dbi_size */
+@@ -142,6 +143,12 @@
+ 0, /* tgetent_index */
+ 0, /* tgetent_sequence */
+
++ 0, /* dbd_blob */
++ 0, /* dbd_list */
++ 0, /* dbd_size */
++ 0, /* dbd_time */
++ { { 0, 0 } }, /* dbd_vars */
++
+ #ifndef USE_SP_WINDOWLIST
+ 0, /* _nc_windowlist */
+ #endif
+@@ -249,6 +256,7 @@
+ NULL, /* _tputs_trace */
+ #endif
+ #endif
++ FALSE, /* use_tioctl */
+ };
+ /* *INDENT-ON* */
+
+Index: ncurses/tinfo/lib_napms.c
+Prereq: 1.20
+--- ncurses-5.9/ncurses/tinfo/lib_napms.c 2009-11-07 20:37:30.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/lib_napms.c 2012-06-30 22:08:24.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -51,17 +51,21 @@
+ #endif
+ #endif
+
+-MODULE_ID("$Id: lib_napms.c,v 1.20 2009/11/07 20:37:30 tom Exp $")
++MODULE_ID("$Id: lib_napms.c,v 1.23 2012/06/30 22:08:24 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ NCURSES_SP_NAME(napms) (NCURSES_SP_DCLx int ms)
+ {
+- (void) SP_PARM;
+ T((T_CALLED("napms(%d)"), ms));
+
+ #ifdef USE_TERM_DRIVER
+- CallDriver_1(SP_PARM, nap, ms);
++ if (HasTerminal(SP_PARM)) {
++ CallDriver_1(SP_PARM, nap, ms);
++ }
+ #else /* !USE_TERM_DRIVER */
++#if NCURSES_SP_FUNCS
++ (void) sp;
++#endif
+ #if HAVE_NANOSLEEP
+ {
+ struct timespec request, remaining;
+Index: ncurses/tinfo/lib_options.c
+Prereq: 1.71
+--- ncurses-5.9/ncurses/tinfo/lib_options.c 2009-10-24 21:56:15.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/lib_options.c 2013-01-12 16:44:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -46,7 +46,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_options.c,v 1.71 2009/10/24 21:56:15 tom Exp $")
++MODULE_ID("$Id: lib_options.c,v 1.74 2013/01/12 16:44:17 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ idlok(WINDOW *win, bool flag)
+@@ -165,16 +165,16 @@
+ #ifdef USE_TERM_DRIVER
+ if (IsTermInfo(sp)) {
+ if (flag) {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "meta_on", meta_on);
++ NCURSES_PUTP2("meta_on", meta_on);
+ } else {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "meta_off", meta_off);
++ NCURSES_PUTP2("meta_off", meta_off);
+ }
+ }
+ #else
+ if (flag) {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "meta_on", meta_on);
++ NCURSES_PUTP2("meta_on", meta_on);
+ } else {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "meta_off", meta_off);
++ NCURSES_PUTP2("meta_off", meta_off);
+ }
+ #endif
+ result = OK;
+@@ -199,19 +199,16 @@
+ if (!bBuiltIn) {
+ switch (vis) {
+ case 2:
+- code = NCURSES_SP_NAME(_nc_putp_flush) (NCURSES_SP_ARGx
+- "cursor_visible",
+- cursor_visible);
++ code = NCURSES_PUTP2_FLUSH("cursor_visible",
++ cursor_visible);
+ break;
+ case 1:
+- code = NCURSES_SP_NAME(_nc_putp_flush) (NCURSES_SP_ARGx
+- "cursor_normal",
+- cursor_normal);
++ code = NCURSES_PUTP2_FLUSH("cursor_normal",
++ cursor_normal);
+ break;
+ case 0:
+- code = NCURSES_SP_NAME(_nc_putp_flush) (NCURSES_SP_ARGx
+- "cursor_invisible",
+- cursor_invisible);
++ code = NCURSES_PUTP2_FLUSH("cursor_invisible",
++ cursor_invisible);
+ break;
+ }
+ } else
+@@ -301,7 +298,7 @@
+ NCURSES_SP_NAME(_nc_putp_flush) (NCURSES_SP_DCLx
+ const char *name, const char *value)
+ {
+- int rc = NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx name, value);
++ int rc = NCURSES_PUTP2(name, value);
+ if (rc != ERR) {
+ _nc_flush();
+ }
+@@ -324,7 +321,7 @@
+ * the terminal state _before_ switching modes.
+ */
+ NCURSES_EXPORT(int)
+-_nc_keypad(SCREEN *sp, bool flag)
++_nc_keypad(SCREEN *sp, int flag)
+ {
+ int rc = ERR;
+
+@@ -354,13 +351,9 @@
+ sp->_keypad_on = flag;
+ #else
+ if (flag) {
+- (void) NCURSES_SP_NAME(_nc_putp_flush) (NCURSES_SP_ARGx
+- "keypad_xmit",
+- keypad_xmit);
++ (void) NCURSES_PUTP2_FLUSH("keypad_xmit", keypad_xmit);
+ } else if (!flag && keypad_local) {
+- (void) NCURSES_SP_NAME(_nc_putp_flush) (NCURSES_SP_ARGx
+- "keypad_local",
+- keypad_local);
++ (void) NCURSES_PUTP2_FLUSH("keypad_local", keypad_local);
+ }
+
+ if (flag && !sp->_tried) {
+Index: ncurses/tinfo/lib_print.c
+Prereq: 1.20
+--- ncurses-5.9/ncurses/tinfo/lib_print.c 2010-06-05 22:18:35.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/lib_print.c 2012-02-22 22:34:31.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_print.c,v 1.20 2010/06/05 22:18:35 tom Exp $")
++MODULE_ID("$Id: lib_print.c,v 1.23 2012/02/22 22:34:31 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ NCURSES_SP_NAME(mcprint) (NCURSES_SP_DCLx char *data, int len)
+@@ -76,10 +76,10 @@
+ return (ERR);
+ }
+
+- (void) strcpy(mybuf, switchon);
+- memcpy(mybuf + onsize, data, (unsigned) len);
++ _nc_STRCPY(mybuf, switchon, need);
++ memcpy(mybuf + onsize, data, (size_t) len);
+ if (offsize)
+- (void) strcpy(mybuf + onsize + len, prtr_off);
++ _nc_STRCPY(mybuf + onsize + len, prtr_off, need);
+
+ /*
+ * We're relying on the atomicity of UNIX writes here. The
+Index: ncurses/tinfo/lib_raw.c
+Prereq: 1.19
+--- ncurses-5.9/ncurses/tinfo/lib_raw.c 2010-04-24 23:49:12.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/lib_raw.c 2012-01-21 19:21:29.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -49,11 +49,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_raw.c,v 1.19 2010/04/24 23:49:12 tom Exp $")
+-
+-#if SVR4_TERMIO && !defined(_POSIX_SOURCE)
+-#define _POSIX_SOURCE
+-#endif
++MODULE_ID("$Id: lib_raw.c,v 1.21 2012/01/21 19:21:29 KO.Myung-Hun Exp $")
+
+ #if HAVE_SYS_TERMIO_H
+ #include <sys/termio.h> /* needed for ISC */
+@@ -66,6 +62,11 @@
+ #define _nc_setmode(mode) /* nothing */
+ #endif
+
++#if USE_KLIBC_KBD
++#define INCL_KBD
++#include <os2.h>
++#endif
++
+ #define COOKED_INPUT (IXON|BRKINT|PARMRK)
+
+ #ifdef TRACE
+@@ -100,6 +101,17 @@
+ #endif
+ result = NCURSES_SP_NAME(_nc_set_tty_mode) (NCURSES_SP_ARGx &buf);
+ if (result == OK) {
++#if USE_KLIBC_KBD
++ KBDINFO kbdinfo;
++
++ kbdinfo.cb = sizeof(kbdinfo);
++ KbdGetStatus(&kbdinfo, 0);
++
++ kbdinfo.cb = sizeof(kbdinfo);
++ kbdinfo.fsMask &= ~KEYBOARD_ASCII_MODE;
++ kbdinfo.fsMask |= KEYBOARD_BINARY_MODE;
++ KbdSetStatus(&kbdinfo, 0);
++#endif
+ SP_PARM->_raw = TRUE;
+ SP_PARM->_cbreak = 1;
+ termp->Nttyb = buf;
+@@ -218,6 +230,17 @@
+ #endif
+ result = NCURSES_SP_NAME(_nc_set_tty_mode) (NCURSES_SP_ARGx &buf);
+ if (result == OK) {
++#if USE_KLIBC_KBD
++ KBDINFO kbdinfo;
++
++ kbdinfo.cb = sizeof(kbdinfo);
++ KbdGetStatus(&kbdinfo, 0);
++
++ kbdinfo.cb = sizeof(kbdinfo);
++ kbdinfo.fsMask &= ~KEYBOARD_BINARY_MODE;
++ kbdinfo.fsMask |= KEYBOARD_ASCII_MODE;
++ KbdSetStatus(&kbdinfo, 0);
++#endif
+ SP_PARM->_raw = FALSE;
+ SP_PARM->_cbreak = 0;
+ termp->Nttyb = buf;
+Index: ncurses/tinfo/lib_setup.c
+Prereq: 1.135
+--- ncurses-5.9/ncurses/tinfo/lib_setup.c 2011-02-06 01:04:21.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/lib_setup.c 2012-12-15 19:04:54.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,21 +37,18 @@
+ * Terminal setup routines common to termcap and terminfo:
+ *
+ * use_env(bool)
++ * use_tioctl(bool)
+ * setupterm(char *, int, int *)
+ */
+
+ #include <curses.priv.h>
+ #include <tic.h> /* for MAX_NAME_SIZE */
+
+-#if SVR4_TERMIO && !defined(_POSIX_SOURCE)
+-#define _POSIX_SOURCE
+-#endif
+-
+ #if HAVE_LOCALE_H
+ #include <locale.h>
+ #endif
+
+-MODULE_ID("$Id: lib_setup.c,v 1.135 2011/02/06 01:04:21 tom Exp $")
++MODULE_ID("$Id: lib_setup.c,v 1.155 2012/12/15 19:04:54 tom Exp $")
+
+ /****************************************************************************
+ *
+@@ -225,6 +222,7 @@
+ {
+ T((T_CALLED("use_env(%p,%d)"), (void *) SP_PARM, (int) f));
+ #if NCURSES_SP_FUNCS
++ START_TRACE();
+ if (IsPreScreen(SP_PARM)) {
+ SP_PARM->_use_env = f;
+ }
+@@ -234,14 +232,39 @@
+ returnVoid;
+ }
+
++NCURSES_EXPORT(void)
++NCURSES_SP_NAME(use_tioctl) (NCURSES_SP_DCLx bool f)
++{
++ T((T_CALLED("use_tioctl(%p,%d)"), (void *) SP_PARM, (int) f));
++#if NCURSES_SP_FUNCS
++ START_TRACE();
++ if (IsPreScreen(SP_PARM)) {
++ SP_PARM->_use_tioctl = f;
++ }
++#else
++ _nc_prescreen.use_tioctl = f;
++#endif
++ returnVoid;
++}
++
+ #if NCURSES_SP_FUNCS
+ NCURSES_EXPORT(void)
+ use_env(bool f)
+ {
+ T((T_CALLED("use_env(%d)"), (int) f));
++ START_TRACE();
+ _nc_prescreen.use_env = f;
+ returnVoid;
+ }
++
++NCURSES_EXPORT(void)
++use_tioctl(bool f)
++{
++ T((T_CALLED("use_tioctl(%d)"), (int) f));
++ START_TRACE();
++ _nc_prescreen.use_tioctl = f;
++ returnVoid;
++}
+ #endif
+
+ NCURSES_EXPORT(void)
+@@ -281,7 +304,7 @@
+ *linep = (int) lines;
+ *colp = (int) columns;
+
+- if (_nc_prescreen.use_env) {
++ if (_nc_prescreen.use_env || _nc_prescreen.use_tioctl) {
+ int value;
+
+ #ifdef __EMX__
+@@ -289,7 +312,9 @@
+ int screendata[2];
+ _scrsize(screendata);
+ *colp = screendata[0];
+- *linep = screendata[1];
++ *linep = ((sp != 0 && sp->_filtered)
++ ? 1
++ : screendata[1]);
+ T(("EMX screen size: environment LINES = %d COLUMNS = %d",
+ *linep, *colp));
+ }
+@@ -315,19 +340,33 @@
+ }
+ #endif /* HAVE_SIZECHANGE */
+
+- /*
+- * Finally, look for environment variables.
+- *
+- * Solaris lets users override either dimension with an environment
+- * variable.
+- */
+- if ((value = _nc_getenv_num("LINES")) > 0) {
+- *linep = value;
+- T(("screen size: environment LINES = %d", *linep));
+- }
+- if ((value = _nc_getenv_num("COLUMNS")) > 0) {
+- *colp = value;
+- T(("screen size: environment COLUMNS = %d", *colp));
++ if (_nc_prescreen.use_env) {
++ if (_nc_prescreen.use_tioctl) {
++ /*
++ * If environment variables are used, update them.
++ */
++ if ((sp == 0 || !sp->_filtered) && _nc_getenv_num("LINES") > 0) {
++ _nc_setenv_num("LINES", *linep);
++ }
++ if (_nc_getenv_num("COLUMNS") > 0) {
++ _nc_setenv_num("COLUMNS", *colp);
++ }
++ }
++
++ /*
++ * Finally, look for environment variables.
++ *
++ * Solaris lets users override either dimension with an environment
++ * variable.
++ */
++ if ((value = _nc_getenv_num("LINES")) > 0) {
++ *linep = value;
++ T(("screen size: environment LINES = %d", *linep));
++ }
++ if ((value = _nc_getenv_num("COLUMNS")) > 0) {
++ *colp = value;
++ T(("screen size: environment COLUMNS = %d", *colp));
++ }
+ }
+
+ /* if we can't get dynamic info about the size, use static */
+@@ -399,10 +438,12 @@
+ * We're doing it this way because those functions belong to the upper
+ * ncurses library, while this resides in the lower terminfo library.
+ */
+- if (sp != 0
+- && sp->_resize != 0) {
+- if ((new_lines != old_lines) || (new_cols != old_cols))
++ if (sp != 0 && sp->_resize != 0) {
++ if ((new_lines != old_lines) || (new_cols != old_cols)) {
+ sp->_resize(NCURSES_SP_ARGx new_lines, new_cols);
++ } else if (sp->_sig_winch && (sp->_ungetch != 0)) {
++ sp->_ungetch(SP_PARM, KEY_RESIZE); /* so application can know this */
++ }
+ sp->_sig_winch = FALSE;
+ }
+ }
+@@ -414,22 +455,6 @@
+ *
+ ****************************************************************************/
+
+-#define ret_error(code, fmt, arg) if (errret) {\
+- *errret = code;\
+- returnCode(ERR);\
+- } else {\
+- fprintf(stderr, fmt, arg);\
+- exit(EXIT_FAILURE);\
+- }
+-
+-#define ret_error0(code, msg) if (errret) {\
+- *errret = code;\
+- returnCode(ERR);\
+- } else {\
+- fprintf(stderr, msg);\
+- exit(EXIT_FAILURE);\
+- }
+-
+ #if USE_DATABASE || USE_TERMCAP
+ /*
+ * Return 1 if entry found, 0 if not found, -1 if database not accessible,
+@@ -467,7 +492,7 @@
+ ** and substitute it in for the prototype given in 'command_character'.
+ */
+ void
+-_nc_tinfo_cmdch(TERMINAL * termp, char proto)
++_nc_tinfo_cmdch(TERMINAL * termp, int proto)
+ {
+ unsigned i;
+ char CC;
+@@ -481,8 +506,8 @@
+ if ((tmp = getenv("CC")) != 0 && strlen(tmp) == 1) {
+ CC = *tmp;
+ for_each_string(i, &(termp->type)) {
+- for (tmp = termp->type.Strings[i]; *tmp; tmp++) {
+- if (*tmp == proto)
++ for (tmp = termp->type.Strings[i]; tmp && *tmp; tmp++) {
++ if (UChar(*tmp) == proto)
+ *tmp = CC;
+ }
+ }
+@@ -520,7 +545,9 @@
+ _nc_unicode_locale(void)
+ {
+ int result = 0;
+-#if HAVE_LANGINFO_CODESET
++#if defined(__MINGW32__) && USE_WIDEC_SUPPORT
++ result = 1;
++#elif HAVE_LANGINFO_CODESET
+ char *env = nl_langinfo(CODESET);
+ result = !strcmp(env, "UTF-8");
+ T(("_nc_unicode_locale(%s) ->%d", env, result));
+@@ -551,7 +578,7 @@
+ int value;
+ int result = 0;
+
+- if ((env = getenv(env_name)) != 0) {
++ if (getenv(env_name) != 0) {
+ result = _nc_getenv_num(env_name);
+ } else if ((value = tigetnum("U8")) >= 0) {
+ result = value; /* use extension feature */
+@@ -578,7 +605,7 @@
+ NCURSES_CONST char *tname,
+ int Filedes,
+ int *errret,
+- bool reuse)
++ int reuse)
+ {
+ #ifdef USE_TERM_DRIVER
+ TERMINAL_CONTROL_BLOCK *TCB = 0;
+@@ -608,7 +635,11 @@
+ if (tname == 0) {
+ tname = getenv("TERM");
+ if (tname == 0 || *tname == '\0') {
++#ifdef USE_TERM_DRIVER
++ tname = "unknown";
++#else
+ ret_error0(TGETENT_ERR, "TERM environment variable not set.\n");
++#endif
+ }
+ }
+
+@@ -651,6 +682,9 @@
+ && _nc_name_match(termp->type.term_names, tname, "|")) {
+ T(("reusing existing terminal information and mode-settings"));
+ code = OK;
++#ifdef USE_TERM_DRIVER
++ TCB = (TERMINAL_CONTROL_BLOCK *) termp;
++#endif
+ } else {
+ #ifdef USE_TERM_DRIVER
+ termp = (TERMINAL *) typeCalloc(TERMINAL_CONTROL_BLOCK, 1);
+@@ -684,7 +718,7 @@
+ const TERMTYPE *fallback = _nc_fallback(tname);
+
+ if (fallback) {
+- termp->type = *fallback;
++ _nc_copy_termtype(&(termp->type), fallback);
+ status = TGETENT_YES;
+ }
+ }
+@@ -694,11 +728,11 @@
+ if (status == TGETENT_ERR) {
+ ret_error0(status, "terminals database is inaccessible\n");
+ } else if (status == TGETENT_NO) {
+- ret_error(status, "'%s': unknown terminal type.\n", tname);
++ ret_error1(status, "unknown terminal type.\n", tname);
+ }
+ }
+ #if !USE_REENTRANT
+- strncpy(ttytype, termp->type.term_names, NAMESIZE - 1);
++ strncpy(ttytype, termp->type.term_names, (size_t) (NAMESIZE - 1));
+ ttytype[NAMESIZE - 1] = '\0';
+ #endif
+
+@@ -708,7 +742,7 @@
+ set_curterm(termp);
+
+ if (command_character)
+- _nc_tinfo_cmdch(termp, *command_character);
++ _nc_tinfo_cmdch(termp, UChar(*command_character));
+
+ /*
+ * If an application calls setupterm() rather than initscr() or
+@@ -742,10 +776,22 @@
+
+ #ifndef USE_TERM_DRIVER
+ if (generic_type) {
+- ret_error(TGETENT_NO, "'%s': I need something more specific.\n", tname);
+- }
+- if (hard_copy) {
+- ret_error(TGETENT_YES, "'%s': I can't handle hardcopy terminals.\n", tname);
++ /*
++ * BSD 4.3's termcap contains mis-typed "gn" for wy99. Do a sanity
++ * check before giving up.
++ */
++ if ((VALID_STRING(cursor_address)
++ || (VALID_STRING(cursor_down) && VALID_STRING(cursor_home)))
++ && VALID_STRING(clear_screen)) {
++ free(termp);
++ ret_error1(TGETENT_YES, "terminal is not really generic.\n", tname);
++ } else {
++ free(termp);
++ ret_error1(TGETENT_NO, "I need something more specific.\n", tname);
++ }
++ } else if (hard_copy) {
++ free(termp);
++ ret_error1(TGETENT_YES, "I can't handle hardcopy terminals.\n", tname);
+ }
+ #endif
+ returnCode(code);
+@@ -798,10 +844,10 @@
+ _nc_setupterm(NCURSES_CONST char *tname,
+ int Filedes,
+ int *errret,
+- bool reuse)
++ int reuse)
+ {
+ int res;
+- TERMINAL *termp;
++ TERMINAL *termp = 0;
+ res = TINFO_SETUP_TERM(&termp, tname, Filedes, errret, reuse);
+ if (ERR != res)
+ NCURSES_SP_NAME(set_curterm) (CURRENT_SCREEN_PRE, termp);
+Index: ncurses/tinfo/lib_termcap.c
+Prereq: 1.73
+--- ncurses-5.9/ncurses/tinfo/lib_termcap.c 2010-12-25 19:27:12.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/lib_termcap.c 2013-01-19 18:20:05.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -48,7 +48,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_termcap.c,v 1.73 2010/12/25 19:27:12 tom Exp $")
++MODULE_ID("$Id: lib_termcap.c,v 1.79 2013/01/19 18:20:05 tom Exp $")
+
+ NCURSES_EXPORT_VAR(char *) UP = 0;
+ NCURSES_EXPORT_VAR(char *) BC = 0;
+@@ -63,6 +63,15 @@
+ #define LAST_USE MyCache[CacheInx].last_used
+ #define LAST_SEQ MyCache[CacheInx].sequence
+
++/*
++ * Termcap names are matched only using the first two bytes.
++ * Ignore any extended names longer than two bytes, to avoid problems
++ * with legacy code which passes in parameters whose use is long forgotten.
++ */
++#define ValidCap(cap) (((cap)[0] != '\0') && ((cap)[1] != '\0'))
++#define SameCap(a,b) (((a)[0] == (b)[0]) && ((a)[1] == (b)[1]))
++#define ValidExt(ext) (ValidCap(ext) && (ext)[2] == '\0')
++
+ /***************************************************************************
+ *
+ * tgetent(bufp, term)
+@@ -97,7 +106,7 @@
+ #ifdef USE_TERM_DRIVER
+ if (termp == 0 ||
+ !((TERMINAL_CONTROL_BLOCK *) termp)->drv->isTerminfo)
+- return (rc);
++ returnCode(rc);
+ #endif
+
+ /*
+@@ -202,11 +211,13 @@
+ static bool
+ same_tcname(const char *a, const char *b)
+ {
+- fprintf(stderr, "compare(%s,%s)\n", a, b);
+- return !strncmp(a, b, 2);
++ bool code = SameCap(a, b);
++ fprintf(stderr, "compare(%s,%s) %s\n", a, b, code ? "same" : "diff");
++ return code;
+ }
++
+ #else
+-#define same_tcname(a,b) !strncmp(a,b,2)
++#define same_tcname(a,b) SameCap(a,b)
+ #endif
+
+ /***************************************************************************
+@@ -225,7 +236,7 @@
+ int i, j;
+
+ T((T_CALLED("tgetflag(%p, %s)"), (void *) SP_PARM, id));
+- if (HasTInfoTerminal(SP_PARM)) {
++ if (HasTInfoTerminal(SP_PARM) && ValidCap(id)) {
+ TERMTYPE *tp = &(TerminalOf(SP_PARM)->type);
+ struct name_table_entry const *entry_ptr;
+
+@@ -238,7 +249,7 @@
+ j = -1;
+ for_each_ext_boolean(i, tp) {
+ const char *capname = ExtBoolname(tp, i, boolcodes);
+- if (same_tcname(id, capname)) {
++ if (same_tcname(id, capname) && ValidExt(capname)) {
+ j = i;
+ break;
+ }
+@@ -277,7 +288,7 @@
+ int i, j;
+
+ T((T_CALLED("tgetnum(%p, %s)"), (void *) SP_PARM, id));
+- if (HasTInfoTerminal(SP_PARM)) {
++ if (HasTInfoTerminal(SP_PARM) && ValidCap(id)) {
+ TERMTYPE *tp = &(TerminalOf(SP_PARM)->type);
+ struct name_table_entry const *entry_ptr;
+
+@@ -290,7 +301,7 @@
+ j = -1;
+ for_each_ext_number(i, tp) {
+ const char *capname = ExtNumname(tp, i, numcodes);
+- if (same_tcname(id, capname)) {
++ if (same_tcname(id, capname) && ValidExt(capname)) {
+ j = i;
+ break;
+ }
+@@ -329,7 +340,7 @@
+ int i, j;
+
+ T((T_CALLED("tgetstr(%s,%p)"), id, (void *) area));
+- if (HasTInfoTerminal(SP_PARM)) {
++ if (HasTInfoTerminal(SP_PARM) && ValidCap(id)) {
+ TERMTYPE *tp = &(TerminalOf(SP_PARM)->type);
+ struct name_table_entry const *entry_ptr;
+
+@@ -342,7 +353,7 @@
+ j = -1;
+ for_each_ext_string(i, tp) {
+ const char *capname = ExtStrname(tp, i, strcodes);
+- if (same_tcname(id, capname)) {
++ if (same_tcname(id, capname) && ValidExt(capname)) {
+ j = i;
+ break;
+ }
+@@ -351,7 +362,7 @@
+ #endif
+ if (j >= 0) {
+ result = tp->Strings[j];
+- TR(TRACE_DATABASE, ("found match : %s", _nc_visbuf(result)));
++ TR(TRACE_DATABASE, ("found match %d: %s", j, _nc_visbuf(result)));
+ /* setupterm forces canceled strings to null */
+ if (VALID_STRING(result)) {
+ if (result == exit_attribute_mode
+@@ -361,7 +372,7 @@
+ }
+ if (area != 0
+ && *area != 0) {
+- (void) strcpy(*area, result);
++ _nc_STRCPY(*area, result, 1024);
+ result = *area;
+ *area += strlen(*area) + 1;
+ }
+Index: ncurses/tinfo/lib_tgoto.c
+Prereq: 1.13
+--- ncurses-5.9/ncurses/tinfo/lib_tgoto.c 2008-08-16 19:29:32.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/lib_tgoto.c 2012-02-24 02:08:08.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2000-2006,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 2000-2008,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -35,7 +35,7 @@
+ #include <ctype.h>
+ #include <termcap.h>
+
+-MODULE_ID("$Id: lib_tgoto.c,v 1.13 2008/08/16 19:29:32 tom Exp $")
++MODULE_ID("$Id: lib_tgoto.c,v 1.16 2012/02/24 02:08:08 tom Exp $")
+
+ #if !PURE_TERMINFO
+ static bool
+@@ -159,7 +159,8 @@
+ break;
+ }
+ if (fmt != 0) {
+- sprintf(result + used, fmt, *value++);
++ _nc_SPRINTF(result + used, _nc_SLIMIT(length - used)
++ fmt, *value++);
+ used += strlen(result + used);
+ fmt = 0;
+ }
+@@ -174,7 +175,7 @@
+ }
+ if (result != 0) {
+ if (need_BC) {
+- strcpy(result + used, BC);
++ _nc_STRCPY(result + used, BC, length - used);
+ used += strlen(BC);
+ }
+ result[used] = '\0';
+Index: ncurses/tinfo/lib_tparm.c
+Prereq: 1.82
+--- ncurses-5.9/ncurses/tinfo/lib_tparm.c 2011-01-15 22:19:12.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/lib_tparm.c 2013-01-26 17:07:05.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -42,7 +42,7 @@
+ #include <ctype.h>
+ #include <tic.h>
+
+-MODULE_ID("$Id: lib_tparm.c,v 1.82 2011/01/15 22:19:12 tom Exp $")
++MODULE_ID("$Id: lib_tparm.c,v 1.88 2013/01/26 17:07:05 tom Exp $")
+
+ /*
+ * char *
+@@ -128,9 +128,7 @@
+ need += TPS(out_used);
+ if (need > TPS(out_size)) {
+ TPS(out_size) = need * 2;
+- TPS(out_buff) = typeRealloc(char, TPS(out_size), TPS(out_buff));
+- if (TPS(out_buff) == 0)
+- _nc_err_abort(MSG_NO_MEMORY);
++ TYPE_REALLOC(char, TPS(out_size), TPS(out_buff));
+ }
+ }
+
+@@ -143,7 +141,9 @@
+
+ get_space(s_len + 1);
+
+- (void) sprintf(TPS(out_buff) + TPS(out_used), fmt, s);
++ _nc_SPRINTF(TPS(out_buff) + TPS(out_used),
++ _nc_SLIMIT(TPS(out_size) - TPS(out_used))
++ fmt, s);
+ TPS(out_used) += strlen(TPS(out_buff) + TPS(out_used));
+ }
+
+@@ -153,9 +153,11 @@
+ if (len < 30)
+ len = 30; /* actually log10(MAX_INT)+1 */
+
+- get_space((unsigned) len + 1);
++ get_space((size_t) len + 1);
+
+- (void) sprintf(TPS(out_buff) + TPS(out_used), fmt, number);
++ _nc_SPRINTF(TPS(out_buff) + TPS(out_used),
++ _nc_SLIMIT(TPS(out_size) - TPS(out_used))
++ fmt, number);
+ TPS(out_used) += strlen(TPS(out_buff) + TPS(out_used));
+ }
+
+@@ -164,7 +166,7 @@
+ {
+ if (c == 0)
+ c = 0200;
+- get_space(1);
++ get_space((size_t) 1);
+ TPS(out_buff)[TPS(out_used)++] = (char) c;
+ }
+
+@@ -450,7 +452,7 @@
+ }
+
+ static NCURSES_INLINE char *
+-tparam_internal(bool use_TPARM_ARG, const char *string, va_list ap)
++tparam_internal(int use_TPARM_ARG, const char *string, va_list ap)
+ {
+ char *p_is_s[NUM_PARM];
+ TPARM_ARG param[NUM_PARM];
+@@ -522,7 +524,7 @@
+ }
+ #ifdef TRACE
+ if (USE_TRACEF(TRACE_CALLS)) {
+- for (i = 0; i < popcount; i++) {
++ for (i = 0; i < num_args; i++) {
+ if (p_is_s[i] != 0)
+ save_text(", %s", _nc_visbuf(p_is_s[i]), 0);
+ else
+@@ -559,7 +561,7 @@
+ break;
+
+ case 'l':
+- save_number("%d", (int) strlen(spop()), 0);
++ npush((int) strlen(spop()));
+ break;
+
+ case 's':
+@@ -757,7 +759,7 @@
+ cp++;
+ } /* endwhile (*cp) */
+
+- get_space(1);
++ get_space((size_t) 1);
+ TPS(out_buff)[TPS(out_used)] = '\0';
+
+ T((T_RETURN("%s"), _nc_visbuf(TPS(out_buff))));
+Index: ncurses/tinfo/lib_tputs.c
+Prereq: 1.81
+--- ncurses-5.9/ncurses/tinfo/lib_tputs.c 2010-12-20 00:42:50.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/lib_tputs.c 2013-01-12 20:57:32.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -51,7 +51,7 @@
+ #include <termcap.h> /* ospeed */
+ #include <tic.h>
+
+-MODULE_ID("$Id: lib_tputs.c,v 1.81 2010/12/20 00:42:50 tom Exp $")
++MODULE_ID("$Id: lib_tputs.c,v 1.93 2013/01/12 20:57:32 tom Exp $")
+
+ NCURSES_EXPORT_VAR(char) PC = 0; /* used by termcap library */
+ NCURSES_EXPORT_VAR(NCURSES_OSPEED) ospeed = 0; /* used by termcap library */
+@@ -119,7 +119,17 @@
+ NCURSES_EXPORT(void)
+ NCURSES_SP_NAME(_nc_flush) (NCURSES_SP_DCL0)
+ {
+- (void) fflush(NC_OUTPUT(SP_PARM));
++ if (SP_PARM != 0 && SP_PARM->_ofd >= 0) {
++ if (SP_PARM->out_inuse) {
++ size_t amount = SP->out_inuse;
++ /*
++ * Help a little, if the write is interrupted, by first resetting
++ * our amount.
++ */
++ SP->out_inuse = 0;
++ IGNORE_RC(write(SP_PARM->_ofd, SP_PARM->out_buffer, amount));
++ }
++ }
+ }
+
+ #if NCURSES_SP_FUNCS
+@@ -138,17 +148,23 @@
+ COUNT_OUTCHARS(1);
+
+ if (HasTInfoTerminal(SP_PARM)
+- && SP_PARM != 0
+- && SP_PARM->_cleanup) {
+- char tmp = (char) ch;
+- /*
+- * POSIX says write() is safe in a signal handler, but the
+- * buffered I/O is not.
+- */
+- if (write(fileno(NC_OUTPUT(SP_PARM)), &tmp, 1) == -1)
+- rc = ERR;
++ && SP_PARM != 0) {
++ if (SP_PARM->out_buffer != 0) {
++ if (SP_PARM->out_inuse + 1 >= SP_PARM->out_limit)
++ NCURSES_SP_NAME(_nc_flush) (NCURSES_SP_ARG);
++ SP_PARM->out_buffer[SP_PARM->out_inuse++] = (char) ch;
++ } else {
++ char tmp = (char) ch;
++ /*
++ * POSIX says write() is safe in a signal handler, but the
++ * buffered I/O is not.
++ */
++ if (write(fileno(NC_OUTPUT(SP_PARM)), &tmp, (size_t) 1) == -1)
++ rc = ERR;
++ }
+ } else {
+- if (putc(ch, NC_OUTPUT(SP_PARM)) == EOF)
++ char tmp = (char) ch;
++ if (write(fileno(stdout), &tmp, (size_t) 1) == -1)
+ rc = ERR;
+ }
+ return rc;
+@@ -162,13 +178,48 @@
+ }
+ #endif
+
++/*
++ * This is used for the putp special case.
++ */
++NCURSES_EXPORT(int)
++NCURSES_SP_NAME(_nc_putchar) (NCURSES_SP_DCLx int ch)
++{
++ (void) SP_PARM;
++ return putchar(ch);
++}
++
++#if NCURSES_SP_FUNCS
++NCURSES_EXPORT(int)
++_nc_putchar(int ch)
++{
++ return putchar(ch);
++}
++#endif
++
++/*
++ * putp is special - per documentation it calls tputs with putchar as the
++ * parameter for outputting characters. This means that it uses stdio, which
++ * is not signal-safe. Applications call this entrypoint; we do not call it
++ * from within the library.
++ */
+ NCURSES_EXPORT(int)
+ NCURSES_SP_NAME(putp) (NCURSES_SP_DCLx const char *string)
+ {
+ return NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
+- string, 1, NCURSES_SP_NAME(_nc_outch));
++ string, 1, NCURSES_SP_NAME(_nc_putchar));
+ }
+
++#if NCURSES_SP_FUNCS
++NCURSES_EXPORT(int)
++putp(const char *string)
++{
++ return NCURSES_SP_NAME(putp) (CURRENT_SCREEN, string);
++}
++#endif
++
++/*
++ * Use these entrypoints rather than "putp" within the library.
++ */
+ NCURSES_EXPORT(int)
+ NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_DCLx
+ const char *name GCC_UNUSED,
+@@ -178,19 +229,14 @@
+
+ if (string != 0) {
+ TPUTS_TRACE(name);
+- rc = NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx string);
++ rc = NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
++ string, 1, NCURSES_SP_NAME(_nc_outch));
+ }
+ return rc;
+ }
+
+ #if NCURSES_SP_FUNCS
+ NCURSES_EXPORT(int)
+-putp(const char *string)
+-{
+- return NCURSES_SP_NAME(putp) (CURRENT_SCREEN, string);
+-}
+-
+-NCURSES_EXPORT(int)
+ _nc_putp(const char *name, const char *string)
+ {
+ return NCURSES_SP_NAME(_nc_putp) (CURRENT_SCREEN, name, string);
+@@ -216,9 +262,9 @@
+
+ if (USE_TRACEF(TRACE_TPUTS)) {
+ if (outc == NCURSES_SP_NAME(_nc_outch))
+- (void) strcpy(addrbuf, "_nc_outch");
++ _nc_STRCPY(addrbuf, "_nc_outch", sizeof(addrbuf));
+ else
+- (void) sprintf(addrbuf, "%p", outc);
++ _nc_SPRINTF(addrbuf, _nc_SLIMIT(sizeof(addrbuf)) "%p", outc);
+ if (_nc_tputs_trace) {
+ _tracef("tputs(%s = %s, %d, %s) called", _nc_tputs_trace,
+ _nc_visbuf(string), affcnt, addrbuf);
+Index: ncurses/tinfo/lib_ttyflags.c
+Prereq: 1.27
+--- ncurses-5.9/ncurses/tinfo/lib_ttyflags.c 2010-12-25 23:43:58.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/lib_ttyflags.c 2012-01-21 19:21:29.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -41,7 +41,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_ttyflags.c,v 1.27 2010/12/25 23:43:58 tom Exp $")
++MODULE_ID("$Id: lib_ttyflags.c,v 1.28 2012/01/21 19:21:29 KO.Myung-Hun Exp $")
+
+ NCURSES_EXPORT(int)
+ NCURSES_SP_NAME(_nc_get_tty_mode) (NCURSES_SP_DCLx TTY * buf)
+@@ -105,7 +105,11 @@
+ result = CallDriver_2(SP_PARM, sgmode, TRUE, buf);
+ #else
+ for (;;) {
+- if (SET_TTY(termp->Filedes, buf) != 0) {
++ if ((SET_TTY(termp->Filedes, buf) != 0)
++#if USE_KLIBC_KBD
++ && !isatty(termp->Filedes)
++#endif
++ ) {
+ if (errno == EINTR)
+ continue;
+ if ((errno == ENOTTY) && (SP_PARM != 0))
+Index: ncurses/tinfo/make_hash.c
+Prereq: 1.3
+--- ncurses-5.9/ncurses/tinfo/make_hash.c 2010-05-22 18:02:50.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/make_hash.c 2013-02-16 21:27:50.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -44,7 +44,7 @@
+
+ #include <ctype.h>
+
+-MODULE_ID("$Id: make_hash.c,v 1.3 2010/05/22 18:02:50 tom Exp $")
++MODULE_ID("$Id: make_hash.c,v 1.12 2013/02/16 21:27:50 tom Exp $")
+
+ /*
+ * _nc_make_hash_table()
+@@ -59,6 +59,23 @@
+ #define MODULE_ID(id) /*nothing */
+ #include <tinfo/doalloc.c>
+
++static void
++failed(const char *s)
++{
++ perror(s);
++ exit(EXIT_FAILURE);
++}
++
++static char *
++strmalloc(char *s)
++{
++ char *result = malloc(strlen(s) + 1);
++ if (result == 0)
++ failed("strmalloc");
++ strcpy(result, s);
++ return result;
++}
++
+ /*
+ * int hash_function(string)
+ *
+@@ -119,6 +136,18 @@
+
+ #define MAX_COLUMNS BUFSIZ /* this _has_ to be worst-case */
+
++static int
++count_columns(char **list)
++{
++ int result = 0;
++ if (list != 0) {
++ while (*list++) {
++ ++result;
++ }
++ }
++ return result;
++}
++
+ static char **
+ parse_columns(char *buffer)
+ {
+@@ -126,7 +155,7 @@
+
+ int col = 0;
+
+- if (list == 0 && (list = typeCalloc(char *, MAX_COLUMNS)) == 0)
++ if (list == 0 && (list = typeCalloc(char *, (MAX_COLUMNS + 1))) == 0)
+ return (0);
+
+ if (*buffer != '#') {
+@@ -201,8 +230,15 @@
+ list = parse_columns(buffer);
+ if (list == 0) /* blank or comment */
+ continue;
++ if (column > count_columns(list)) {
++ fprintf(stderr, "expected %d columns, have %d:\n%s\n",
++ column,
++ count_columns(list),
++ buffer);
++ exit(EXIT_FAILURE);
++ }
+ name_table[n].nte_link = -1; /* end-of-hash */
+- name_table[n].nte_name = strdup(list[column]);
++ name_table[n].nte_name = strmalloc(list[column]);
+ if (!strcmp(list[2], "bool")) {
+ name_table[n].nte_type = BOOLEAN;
+ name_table[n].nte_index = BoolCount++;
+@@ -256,13 +292,12 @@
+ printf("static struct name_table_entry *_nc_%s_table = 0;\n\n", root_name);
+ } else {
+
+- printf("static struct name_table_entry %s _nc_%s_table[] =\n",
+- bigstring ? "" : "const",
++ printf("static struct name_table_entry const _nc_%s_table[] =\n",
+ root_name);
+ printf("{\n");
+ for (n = 0; n < CAPTABSIZE; n++) {
+- sprintf(buffer, "\"%s\"",
+- name_table[n].nte_name);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer)) "\"%s\"",
++ name_table[n].nte_name);
+ printf("\t{ %15s,\t%10s,\t%3d, %3d }%c\n",
+ buffer,
+ typenames[name_table[n].nte_type],
+Index: ncurses/tinfo/make_keys.c
+Prereq: 1.19
+--- ncurses-5.9/ncurses/tinfo/make_keys.c 2010-06-05 22:08:00.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/make_keys.c 2011-10-22 16:34:50.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+ #define USE_TERMLIB 1
+ #include <build.priv.h>
+
+-MODULE_ID("$Id: make_keys.c,v 1.19 2010/06/05 22:08:00 tom Exp $")
++MODULE_ID("$Id: make_keys.c,v 1.20 2011/10/22 16:34:50 tom Exp $")
+
+ #include <names.c>
+
+@@ -76,7 +76,7 @@
+ unsigned maxlen = 16;
+ int scanned;
+
+- while (fgets(buffer, sizeof(buffer), ifp) != 0) {
++ while (fgets(buffer, (int) sizeof(buffer), ifp) != 0) {
+ if (*buffer == '#')
+ continue;
+
+Index: ncurses/tinfo/name_match.c
+Prereq: 1.18
+--- ncurses-5.9/ncurses/tinfo/name_match.c 2008-11-16 00:19:59.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/name_match.c 2012-11-18 02:10:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1999-2007,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 1999-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -33,25 +33,38 @@
+ #include <curses.priv.h>
+ #include <tic.h>
+
+-MODULE_ID("$Id: name_match.c,v 1.18 2008/11/16 00:19:59 juergen Exp $")
++MODULE_ID("$Id: name_match.c,v 1.22 2012/11/18 02:10:17 tom Exp $")
+
+-/*
+- * _nc_first_name(char *names)
+- *
+- * Extract the primary name from a compiled entry.
+- */
+ #define FirstName _nc_globals.first_name
+
++#if USE_TERMCAP && NCURSES_XNAMES
++static const char *
++skip_index(const char *name)
++{
++ if ((_nc_syntax == SYN_TERMCAP) && _nc_user_definable) {
++ const char *bar = strchr(name, '|');
++ if (bar != 0 && (bar - name) == 2)
++ name = bar + 1;
++ }
++ return name;
++}
++#endif
++
++/*
++ * Get the primary name from the given name list. For terminfo, this is the
++ * first name. For termcap, this may be the second name, if the first one
++ * happens to be two characters.
++ */
+ NCURSES_EXPORT(char *)
+ _nc_first_name(const char *const sp)
+-/* get the first name from the given name list */
+ {
+ unsigned n;
+
+ #if NO_LEAKS
+ if (sp == 0) {
+- if (FirstName != 0)
++ if (FirstName != 0) {
+ FreeAndNull(FirstName);
++ }
+ } else
+ #endif
+ {
+@@ -59,8 +72,12 @@
+ FirstName = typeMalloc(char, MAX_NAME_SIZE + 1);
+
+ if (FirstName != 0) {
++ const char *src = sp;
++#if USE_TERMCAP && NCURSES_XNAMES
++ src = skip_index(sp);
++#endif
+ for (n = 0; n < MAX_NAME_SIZE; n++) {
+- if ((FirstName[n] = sp[n]) == '\0'
++ if ((FirstName[n] = src[n]) == '\0'
+ || (FirstName[n] == '|'))
+ break;
+ }
+@@ -71,11 +88,8 @@
+ }
+
+ /*
+- * int _nc_name_match(namelist, name, delim)
+- *
+- * Is the given name matched in namelist?
++ * Is the given name matched in namelist?
+ */
+-
+ NCURSES_EXPORT(int)
+ _nc_name_match(const char *const namelst, const char *const name, const char *const delim)
+ {
+Index: ncurses/tinfo/obsolete.c
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/obsolete.c 2013-01-26 22:07:51.000000000 +0000
+@@ -0,0 +1,102 @@
++/****************************************************************************
++ * Copyright (c) 2013 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++
++/****************************************************************************
++ * Author: Thomas E. Dickey 2013 *
++ ****************************************************************************/
++
++/*
++** Support for obsolete features.
++*/
++
++#include <curses.priv.h>
++
++MODULE_ID("$Id: obsolete.c,v 1.1 2013/01/26 22:07:51 tom Exp $")
++
++/*
++ * Obsolete entrypoint retained for binary compatbility.
++ */
++NCURSES_EXPORT(void)
++NCURSES_SP_NAME(_nc_set_buffer) (NCURSES_SP_DCLx FILE *ofp, int buffered)
++{
++#if NCURSES_SP_FUNCS
++ (void) SP_PARM;
++#endif
++ (void) ofp;
++ (void) buffered;
++}
++
++#if NCURSES_SP_FUNCS
++NCURSES_EXPORT(void)
++_nc_set_buffer(FILE *ofp, int buffered)
++{
++ NCURSES_SP_NAME(_nc_set_buffer) (CURRENT_SCREEN, ofp, buffered);
++}
++#endif
++
++#if !HAVE_STRDUP
++NCURSES_EXPORT(char *)
++_nc_strdup(const char *s)
++{
++ char *result = 0;
++ if (s != 0) {
++ size_t need = strlen(s);
++ result = malloc(need + 1);
++ if (result != 0) {
++ strcpy(result, s);
++ }
++ }
++ return result;
++}
++#endif
++
++#if USE_MY_MEMMOVE
++#define DST ((char *)s1)
++#define SRC ((const char *)s2)
++NCURSES_EXPORT(void *)
++_nc_memmove(void *s1, const void *s2, size_t n)
++{
++ if (n != 0) {
++ if ((DST + n > SRC) && (SRC + n > DST)) {
++ static char *bfr;
++ static size_t length;
++ register size_t j;
++ if (length < n) {
++ length = (n * 3) / 2;
++ bfr = typeRealloc(char, length, bfr);
++ }
++ for (j = 0; j < n; j++)
++ bfr[j] = SRC[j];
++ s2 = bfr;
++ }
++ while (n-- != 0)
++ DST[n] = SRC[n];
++ }
++ return s1;
++}
++#endif /* USE_MY_MEMMOVE */
+Index: ncurses/tinfo/parse_entry.c
+Prereq: 1.75
+--- ncurses-5.9/ncurses/tinfo/parse_entry.c 2010-05-01 19:35:09.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/parse_entry.c 2012-10-27 21:43:45.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -47,7 +47,7 @@
+ #include <ctype.h>
+ #include <tic.h>
+
+-MODULE_ID("$Id: parse_entry.c,v 1.75 2010/05/01 19:35:09 tom Exp $")
++MODULE_ID("$Id: parse_entry.c,v 1.79 2012/10/27 21:43:45 tom Exp $")
+
+ #ifdef LINT
+ static short const parametrized[] =
+@@ -145,27 +145,27 @@
+ case BOOLEAN:
+ tp->ext_Booleans++;
+ tp->num_Booleans++;
+- tp->Booleans = typeRealloc(NCURSES_SBOOL, tp->num_Booleans, tp->Booleans);
++ TYPE_REALLOC(NCURSES_SBOOL, tp->num_Booleans, tp->Booleans);
+ for_each_value(tp->num_Booleans)
+ tp->Booleans[last] = tp->Booleans[last - 1];
+ break;
+ case NUMBER:
+ tp->ext_Numbers++;
+ tp->num_Numbers++;
+- tp->Numbers = typeRealloc(short, tp->num_Numbers, tp->Numbers);
++ TYPE_REALLOC(short, tp->num_Numbers, tp->Numbers);
+ for_each_value(tp->num_Numbers)
+ tp->Numbers[last] = tp->Numbers[last - 1];
+ break;
+ case STRING:
+ tp->ext_Strings++;
+ tp->num_Strings++;
+- tp->Strings = typeRealloc(char *, tp->num_Strings, tp->Strings);
++ TYPE_REALLOC(char *, tp->num_Strings, tp->Strings);
+ for_each_value(tp->num_Strings)
+ tp->Strings[last] = tp->Strings[last - 1];
+ break;
+ }
+ actual = NUM_EXT_NAMES(tp);
+- tp->ext_Names = typeRealloc(char *, actual, tp->ext_Names);
++ TYPE_REALLOC(char *, actual, tp->ext_Names);
+ while (--actual > offset)
+ tp->ext_Names[actual] = tp->ext_Names[actual - 1];
+ tp->ext_Names[offset] = _nc_save_str(name);
+@@ -203,6 +203,8 @@
+ { bad_tc_usage = TRUE; \
+ _nc_warning("Legacy termcap allows only a trailing tc= clause"); }
+
++#define MAX_NUMBER 0x7fff /* positive shorts only */
++
+ NCURSES_EXPORT(int)
+ _nc_parse_entry(struct entry *entryp, int literal, bool silent)
+ {
+@@ -444,8 +446,12 @@
+ break;
+
+ case NUMBER:
+- entryp->tterm.Numbers[entry_ptr->nte_index] =
+- (short) _nc_curr_token.tk_valnumber;
++ if (_nc_curr_token.tk_valnumber > MAX_NUMBER) {
++ entryp->tterm.Numbers[entry_ptr->nte_index] = MAX_NUMBER;
++ } else {
++ entryp->tterm.Numbers[entry_ptr->nte_index] =
++ (short) _nc_curr_token.tk_valnumber;
++ }
+ break;
+
+ case STRING:
+@@ -654,14 +660,16 @@
+
+ if (WANTED(carriage_return)) {
+ if (carriage_return_delay > 0) {
+- sprintf(buf, "%s$<%d>", C_CR, carriage_return_delay);
++ _nc_SPRINTF(buf, _nc_SLIMIT(sizeof(buf))
++ "%s$<%d>", C_CR, carriage_return_delay);
+ carriage_return = _nc_save_str(buf);
+ } else
+ carriage_return = _nc_save_str(C_CR);
+ }
+ if (WANTED(cursor_left)) {
+ if (backspace_delay > 0) {
+- sprintf(buf, "%s$<%d>", C_BS, backspace_delay);
++ _nc_SPRINTF(buf, _nc_SLIMIT(sizeof(buf))
++ "%s$<%d>", C_BS, backspace_delay);
+ cursor_left = _nc_save_str(buf);
+ } else if (backspaces_with_bs == 1)
+ cursor_left = _nc_save_str(C_BS);
+@@ -674,7 +682,8 @@
+ cursor_down = linefeed_if_not_lf;
+ else if (linefeed_is_newline != 1) {
+ if (new_line_delay > 0) {
+- sprintf(buf, "%s$<%d>", C_LF, new_line_delay);
++ _nc_SPRINTF(buf, _nc_SLIMIT(sizeof(buf))
++ "%s$<%d>", C_LF, new_line_delay);
+ cursor_down = _nc_save_str(buf);
+ } else
+ cursor_down = _nc_save_str(C_LF);
+@@ -685,7 +694,8 @@
+ cursor_down = linefeed_if_not_lf;
+ else if (linefeed_is_newline != 1) {
+ if (new_line_delay > 0) {
+- sprintf(buf, "%s$<%d>", C_LF, new_line_delay);
++ _nc_SPRINTF(buf, _nc_SLIMIT(sizeof(buf))
++ "%s$<%d>", C_LF, new_line_delay);
+ scroll_forward = _nc_save_str(buf);
+ } else
+ scroll_forward = _nc_save_str(C_LF);
+@@ -694,7 +704,8 @@
+ if (WANTED(newline)) {
+ if (linefeed_is_newline == 1) {
+ if (new_line_delay > 0) {
+- sprintf(buf, "%s$<%d>", C_LF, new_line_delay);
++ _nc_SPRINTF(buf, _nc_SLIMIT(sizeof(buf))
++ "%s$<%d>", C_LF, new_line_delay);
+ newline = _nc_save_str(buf);
+ } else
+ newline = _nc_save_str(C_LF);
+@@ -736,7 +747,8 @@
+ */
+ if (WANTED(tab)) {
+ if (horizontal_tab_delay > 0) {
+- sprintf(buf, "%s$<%d>", C_HT, horizontal_tab_delay);
++ _nc_SPRINTF(buf, _nc_SLIMIT(sizeof(buf))
++ "%s$<%d>", C_HT, horizontal_tab_delay);
+ tab = _nc_save_str(buf);
+ } else
+ tab = _nc_save_str(C_HT);
+Index: ncurses/tinfo/read_entry.c
+Prereq: 1.108
+--- ncurses-5.9/ncurses/tinfo/read_entry.c 2011-02-26 15:36:06.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/read_entry.c 2013-05-04 22:53:42.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -41,7 +41,7 @@
+
+ #include <tic.h>
+
+-MODULE_ID("$Id: read_entry.c,v 1.108 2011/02/26 15:36:06 tom Exp $")
++MODULE_ID("$Id: read_entry.c,v 1.122 2013/05/04 22:53:42 tom Exp $")
+
+ #define TYPE_CALLOC(type,elts) typeCalloc(type, (unsigned)(elts))
+
+@@ -99,7 +99,7 @@
+ if (have > 0) {
+ if ((int) want > have)
+ want = (unsigned) have;
+- memcpy(dst, src + *offset, want);
++ memcpy(dst, src + *offset, (size_t) want);
+ *offset += (int) want;
+ } else {
+ want = 0;
+@@ -107,22 +107,24 @@
+ return (int) want;
+ }
+
+-#define Read(buf, count) fake_read(buffer, &offset, limit, buf, count)
++#define Read(buf, count) fake_read(buffer, &offset, limit, buf, (unsigned) count)
+
+ #define read_shorts(buf, count) \
+- (Read(buf, (unsigned) (count)*2) == (int) (count)*2)
++ (Read(buf, (count)*2) == (int) (count)*2)
+
+ #define even_boundary(value) \
+ if ((value) % 2 != 0) Read(buf, 1)
+
++/*
++ * Return TGETENT_YES if read, TGETENT_NO if not found or garbled.
++ */
+ NCURSES_EXPORT(int)
+ _nc_read_termtype(TERMTYPE *ptr, char *buffer, int limit)
+-/* return 1 if read, 0 if not found or garbled */
+ {
+ int offset = 0;
+ int name_size, bool_count, num_count, str_count, str_size;
+ int i;
+- char buf[MAX_ENTRY_SIZE + 1];
++ char buf[MAX_ENTRY_SIZE + 2];
+ char *string_table;
+ unsigned want, have;
+
+@@ -157,7 +159,7 @@
+ want = (unsigned) (str_size + name_size + 1);
+ if (str_size) {
+ /* try to allocate space for the string table */
+- if (str_count * 2 >= (int) sizeof(buf)
++ if (str_count * 2 >= MAX_ENTRY_SIZE
+ || (string_table = typeMalloc(char, want)) == 0) {
+ return (TGETENT_NO);
+ }
+@@ -173,7 +175,7 @@
+ ptr->str_table = string_table;
+ ptr->term_names = string_table;
+ if ((have = (unsigned) Read(ptr->term_names, want)) != want) {
+- memset(ptr->term_names + have, 0, want - have);
++ memset(ptr->term_names + have, 0, (size_t) (want - have));
+ }
+ ptr->term_names[want] = '\0';
+ string_table += (want + 1);
+@@ -236,9 +238,9 @@
+ unsigned need = (unsigned) (ext_bool_count + ext_num_count + ext_str_count);
+ int base = 0;
+
+- if (need >= sizeof(buf)
+- || ext_str_size >= (int) sizeof(buf)
+- || ext_str_limit >= (int) sizeof(buf)
++ if (need >= (MAX_ENTRY_SIZE / 2)
++ || ext_str_size >= MAX_ENTRY_SIZE
++ || ext_str_limit >= MAX_ENTRY_SIZE
+ || ext_bool_count < 0
+ || ext_num_count < 0
+ || ext_str_count < 0
+@@ -250,9 +252,9 @@
+ ptr->num_Numbers = UShort(NUMCOUNT + ext_num_count);
+ ptr->num_Strings = UShort(STRCOUNT + ext_str_count);
+
+- ptr->Booleans = typeRealloc(NCURSES_SBOOL, ptr->num_Booleans, ptr->Booleans);
+- ptr->Numbers = typeRealloc(short, ptr->num_Numbers, ptr->Numbers);
+- ptr->Strings = typeRealloc(char *, ptr->num_Strings, ptr->Strings);
++ TYPE_REALLOC(NCURSES_SBOOL, ptr->num_Booleans, ptr->Booleans);
++ TYPE_REALLOC(short, ptr->num_Numbers, ptr->Numbers);
++ TYPE_REALLOC(char *, ptr->num_Strings, ptr->Strings);
+
+ TR(TRACE_DATABASE, ("extended header is %d/%d/%d(%d:%d)",
+ ext_bool_count, ext_num_count, ext_str_count,
+@@ -277,6 +279,8 @@
+ }
+
+ TR(TRACE_DATABASE, ("READ extended-offsets @%d", offset));
++ if ((unsigned) (ext_str_count + (int) need) >= (MAX_ENTRY_SIZE / 2))
++ return (TGETENT_NO);
+ if ((ext_str_count || need)
+ && !read_shorts(buf, ext_str_count + (int) need))
+ return (TGETENT_NO);
+@@ -313,7 +317,7 @@
+ }
+
+ if (need) {
+- if (ext_str_count >= (MAX_ENTRY_SIZE * 2))
++ if (ext_str_count >= (MAX_ENTRY_SIZE / 2))
+ return (TGETENT_NO);
+ if ((ptr->ext_Names = TYPE_CALLOC(char *, need)) == 0)
+ return (TGETENT_NO);
+@@ -326,17 +330,18 @@
+ ext_str_limit, ptr->ext_str_table + base);
+ }
+
+- T(("...done reading terminfo bool %d(%d) num %d(%d) str %d(%d)",
+- ptr->num_Booleans, ptr->ext_Booleans,
+- ptr->num_Numbers, ptr->ext_Numbers,
+- ptr->num_Strings, ptr->ext_Strings));
++ TR(TRACE_DATABASE,
++ ("...done reading terminfo bool %d(%d) num %d(%d) str %d(%d)",
++ ptr->num_Booleans, ptr->ext_Booleans,
++ ptr->num_Numbers, ptr->ext_Numbers,
++ ptr->num_Strings, ptr->ext_Strings));
+
+ TR(TRACE_DATABASE, ("extend: num_Booleans:%d", ptr->num_Booleans));
+ } else
+ #endif /* NCURSES_XNAMES */
+ {
+- T(("...done reading terminfo bool %d num %d str %d",
+- bool_count, num_count, str_count));
++ TR(TRACE_DATABASE, ("...done reading terminfo bool %d num %d str %d",
++ bool_count, num_count, str_count));
+ #if NCURSES_XNAMES
+ TR(TRACE_DATABASE, ("normal: num_Booleans:%d", ptr->num_Booleans));
+ #endif
+@@ -371,13 +376,13 @@
+
+ if (_nc_access(filename, R_OK) < 0
+ || (fp = fopen(filename, "rb")) == 0) {
+- T(("cannot open terminfo %s (errno=%d)", filename, errno));
++ TR(TRACE_DATABASE, ("cannot open terminfo %s (errno=%d)", filename, errno));
+ code = TGETENT_NO;
+ } else {
+ if ((limit = (int) fread(buffer, sizeof(char), sizeof(buffer), fp))
+ > 0) {
+
+- T(("read terminfo %s", filename));
++ TR(TRACE_DATABASE, ("read terminfo %s", filename));
+ if ((code = _nc_read_termtype(ptr, buffer, limit)) == TGETENT_NO) {
+ _nc_free_termtype(ptr);
+ }
+@@ -390,6 +395,58 @@
+ return (code);
+ }
+
++#if USE_HASHED_DB
++/*
++ * Return if if we can build the filename of a ".db" file.
++ */
++static bool
++make_db_filename(char *filename, unsigned limit, const char *const path)
++{
++ static const char suffix[] = DBM_SUFFIX;
++
++ unsigned lens = sizeof(suffix) - 1;
++ unsigned size = strlen(path);
++ unsigned test = lens + size;
++ bool result = FALSE;
++
++ if (test < limit) {
++ if (size >= lens
++ && !strcmp(path + size - lens, suffix))
++ _nc_STRCPY(filename, path, limit);
++ else
++ _nc_SPRINTF(filename, _nc_SLIMIT(limit) "%s%s", path, suffix);
++ result = TRUE;
++ }
++ return result;
++}
++#endif
++
++/*
++ * Return true if we can build the name of a filesystem entry.
++ */
++static bool
++make_dir_filename(char *filename,
++ unsigned limit,
++ const char *const path,
++ const char *name)
++{
++ bool result = FALSE;
++
++#if USE_TERMCAP
++ if (_nc_is_dir_path(path))
++#endif
++ {
++ unsigned need = (unsigned) (LEAF_LEN + 3 + strlen(path) + strlen(name));
++
++ if (need <= limit) {
++ _nc_SPRINTF(filename, _nc_SLIMIT(limit)
++ "%s/" LEAF_FMT "/%s", path, *name, name);
++ result = TRUE;
++ }
++ }
++ return result;
++}
++
+ /*
+ * Build a terminfo pathname and try to read the data. Returns TGETENT_YES on
+ * success, TGETENT_NO on failure.
+@@ -401,101 +458,80 @@
+ const char *name,
+ TERMTYPE *const tp)
+ {
+- int result = TGETENT_NO;
+-
+- /*
+- * If we are looking in a directory, assume the entry is a file under that,
+- * according to the normal rules.
+- */
+- unsigned need = (unsigned) (LEAF_LEN + 3 + strlen(path) + strlen(name));
+- if (need <= limit)
+- (void) sprintf(filename, "%s/" LEAF_FMT "/%s", path, *name, name);
++ int code = TGETENT_NO;
+
+- if (_nc_is_dir_path(path))
+- result = _nc_read_file_entry(filename, tp);
+ #if USE_HASHED_DB
+- else {
+- static const char suffix[] = DBM_SUFFIX;
+- DB *capdbp;
+- unsigned lens = sizeof(suffix) - 1;
+- unsigned size = strlen(path);
+- unsigned test = lens + size;
+-
+- if (test < limit) {
+- if (size >= lens
+- && !strcmp(path + size - lens, suffix))
+- (void) strcpy(filename, path);
+- else
+- (void) sprintf(filename, "%s%s", path, suffix);
++ DB *capdbp;
+
+- /*
+- * It would be nice to optimize the dbopen/close activity, as
+- * done in the cgetent implementation for tc= clauses. However,
+- * since we support multiple database locations, we cannot do
+- * that.
+- */
+- if ((capdbp = _nc_db_open(filename, FALSE)) != 0) {
+- DBT key, data;
+- int reccnt = 0;
+- char *save = strdup(name);
+-
+- memset(&key, 0, sizeof(key));
+- key.data = save;
+- key.size = strlen(save);
+-
+- /*
+- * This lookup could return termcap data, which we do not want.
+- * We are looking for compiled (binary) terminfo data.
+- *
+- * cgetent uses a two-level lookup. On the first it uses the
+- * given name to return a record containing only the aliases
+- * for an entry. On the second (using that list of aliases as
+- * a key), it returns the content of the terminal description.
+- * We expect second lookup to return data beginning with the
+- * same set of aliases.
+- *
+- * For compiled terminfo, the list of aliases in the second
+- * case will be null-terminated. A termcap entry will not be,
+- * and will run on into the description. So we can easily
+- * distinguish between the two (source/binary) by checking the
+- * lengths.
+- */
+- while (_nc_db_get(capdbp, &key, &data) == 0) {
+- int used = data.size - 1;
+- char *have = (char *) data.data;
+-
+- if (*have++ == 0) {
+- if (data.size > key.size
+- && IS_TIC_MAGIC(have)) {
+- result = _nc_read_termtype(tp, have, used);
+- if (result == TGETENT_NO) {
+- _nc_free_termtype(tp);
+- }
+- }
+- break;
+- }
++ if (make_db_filename(filename, limit, path)
++ && (capdbp = _nc_db_open(filename, FALSE)) != 0) {
+
+- /*
+- * Just in case we have a corrupt database, do not waste
+- * time with it.
+- */
+- if (++reccnt >= 3)
+- break;
+-
+- /*
+- * Prepare for the second level.
+- */
+- key.data = have;
+- key.size = used;
++ DBT key, data;
++ int reccnt = 0;
++ char *save = strdup(name);
++
++ memset(&key, 0, sizeof(key));
++ key.data = save;
++ key.size = strlen(save);
++
++ /*
++ * This lookup could return termcap data, which we do not want. We are
++ * looking for compiled (binary) terminfo data.
++ *
++ * cgetent uses a two-level lookup. On the first it uses the given
++ * name to return a record containing only the aliases for an entry.
++ * On the second (using that list of aliases as a key), it returns the
++ * content of the terminal description. We expect second lookup to
++ * return data beginning with the same set of aliases.
++ *
++ * For compiled terminfo, the list of aliases in the second case will
++ * be null-terminated. A termcap entry will not be, and will run on
++ * into the description. So we can easily distinguish between the two
++ * (source/binary) by checking the lengths.
++ */
++ while (_nc_db_get(capdbp, &key, &data) == 0) {
++ int used = data.size - 1;
++ char *have = (char *) data.data;
++
++ if (*have++ == 0) {
++ if (data.size > key.size
++ && IS_TIC_MAGIC(have)) {
++ code = _nc_read_termtype(tp, have, used);
++ if (code == TGETENT_NO) {
++ _nc_free_termtype(tp);
++ }
+ }
+-
+- _nc_db_close(capdbp);
+- free(save);
++ break;
+ }
++
++ /*
++ * Just in case we have a corrupt database, do not waste time with
++ * it.
++ */
++ if (++reccnt >= 3)
++ break;
++
++ /*
++ * Prepare for the second level.
++ */
++ key.data = have;
++ key.size = used;
+ }
++
++ free(save);
++ } else /* may be either filesystem or flat file */
++#endif
++ if (make_dir_filename(filename, limit, path, name)) {
++ code = _nc_read_file_entry(filename, tp);
++ }
++#if USE_TERMCAP
++ else if (code != TGETENT_YES) {
++ code = _nc_read_termcap_entry(name, tp);
++ _nc_SPRINTF(filename, _nc_SLIMIT(PATH_MAX)
++ "%.*s", PATH_MAX - 1, _nc_get_source());
+ }
+ #endif
+- return result;
++ return code;
+ }
+ #endif /* USE_DATABASE */
+
+@@ -513,31 +549,35 @@
+ {
+ int code = TGETENT_NO;
+
+- sprintf(filename, "%.*s", PATH_MAX - 1, name);
++ _nc_SPRINTF(filename, _nc_SLIMIT(PATH_MAX)
++ "%.*s", PATH_MAX - 1, name);
++
+ if (strlen(name) == 0
+ || strcmp(name, ".") == 0
+ || strcmp(name, "..") == 0
+ || _nc_pathlast(name) != 0
+ || strchr(name, NCURSES_PATHSEP) != 0) {
+- T(("illegal or missing entry name '%s'", name));
++ TR(TRACE_DATABASE, ("illegal or missing entry name '%s'", name));
+ } else {
+ #if USE_DATABASE
+- DBDIRS state = dbdTIC;
+- int offset = 0;
++ DBDIRS state;
++ int offset;
+ const char *path;
+
++ _nc_first_db(&state, &offset);
+ while ((path = _nc_next_db(&state, &offset)) != 0) {
++ TR(TRACE_DATABASE, ("_nc_read_tic_entry path=%s, name=%s", path, name));
+ code = _nc_read_tic_entry(filename, PATH_MAX, path, name, tp);
+ if (code == TGETENT_YES) {
+ _nc_last_db();
+ break;
+ }
+ }
+-#endif
+-#if USE_TERMCAP
++#elif USE_TERMCAP
+ if (code != TGETENT_YES) {
+ code = _nc_read_termcap_entry(name, tp);
+- sprintf(filename, "%.*s", PATH_MAX - 1, _nc_get_source());
++ _nc_SPRINTF(filename, _nc_SLIMIT(PATH_MAX)
++ "%.*s", PATH_MAX - 1, _nc_get_source());
+ }
+ #endif
+ }
+Index: ncurses/tinfo/read_termcap.c
+Prereq: 1.74
+--- ncurses-5.9/ncurses/tinfo/read_termcap.c 2010-01-23 17:57:43.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/read_termcap.c 2012-05-05 19:40:50.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -54,10 +54,9 @@
+
+ #include <ctype.h>
+ #include <sys/types.h>
+-#include <sys/stat.h>
+ #include <tic.h>
+
+-MODULE_ID("$Id: read_termcap.c,v 1.74 2010/01/23 17:57:43 tom Exp $")
++MODULE_ID("$Id: read_termcap.c,v 1.87 2012/05/05 19:40:50 tom Exp $")
+
+ #if !PURE_TERMINFO
+
+@@ -74,7 +73,7 @@
+
+ if (!use_terminfo_vars() || (result = getenv("TERMPATH")) == 0)
+ result = TERMPATH;
+- T(("TERMPATH is %s", result));
++ TR(TRACE_DATABASE, ("TERMPATH is %s", result));
+ return result;
+ }
+
+@@ -162,7 +161,7 @@
+ return (-1);
+ }
+ gottoprec = 0;
+- (void) strcpy(toprec, ent);
++ _nc_STRCPY(toprec, ent, topreclen);
+ return (0);
+ }
+
+@@ -295,7 +294,7 @@
+ errno = ENOMEM;
+ return (TC_SYS_ERR);
+ }
+- (void) strcpy(record, toprec);
++ _nc_STRCPY(record, toprec, topreclen + BFRAG);
+ rp = record + topreclen + 1;
+ r_end = rp + BFRAG;
+ current = in_array;
+@@ -384,7 +383,14 @@
+ c = *bp++;
+ if (c == '\n') {
+ lineno++;
+- if (rp == record || *(rp - 1) != '\\')
++ /*
++ * Unlike BSD 4.3, this ignores a backslash at the
++ * end of a comment-line. That makes it consistent
++ * with the rest of ncurses -TD
++ */
++ if (rp == record
++ || *record == '#'
++ || *(rp - 1) != '\\')
+ break;
+ }
+ *rp++ = c;
+@@ -442,8 +448,10 @@
+ break;
+ }
+
+- if (!foundit)
++ if (!foundit) {
++ free(record);
+ return (TC_NOT_FOUND);
++ }
+ }
+
+ /*
+@@ -455,7 +463,7 @@
+ register int newilen;
+ unsigned ilen;
+ int diff, iret, tclen, oline;
+- char *icap, *scan, *tc, *tcstart, *tcend;
++ char *icap = 0, *scan, *tc, *tcstart, *tcend;
+
+ /*
+ * Loop invariants:
+@@ -468,8 +476,9 @@
+ scan = record;
+ tc_not_resolved = FALSE;
+ for (;;) {
+- if ((tc = _nc_cgetcap(scan, "tc", '=')) == 0)
++ if ((tc = _nc_cgetcap(scan, "tc", '=')) == 0) {
+ break;
++ }
+
+ /*
+ * Find end of tc=name and stomp on the trailing `:'
+@@ -486,6 +495,7 @@
+ tclen = s - tcstart;
+ tcend = s;
+
++ icap = 0;
+ iret = _nc_getent(&icap, &ilen, &oline, current, db_array, fd,
+ tc, depth + 1, 0);
+ newicap = icap; /* Put into a register. */
+@@ -496,12 +506,13 @@
+ if (myfd)
+ (void) close(fd);
+ free(record);
++ FreeIfNeeded(icap);
+ return (iret);
+ }
+- if (iret == TC_UNRESOLVED)
++ if (iret == TC_UNRESOLVED) {
+ tc_not_resolved = TRUE;
+- /* couldn't resolve tc */
+- if (iret == TC_NOT_FOUND) {
++ /* couldn't resolve tc */
++ } else if (iret == TC_NOT_FOUND) {
+ *(s - 1) = ':';
+ scan = s - 1;
+ tc_not_resolved = TRUE;
+@@ -581,8 +592,9 @@
+ }
+
+ *cap = record;
+- if (tc_not_resolved)
++ if (tc_not_resolved) {
+ return (TC_UNRESOLVED);
++ }
+ return (current);
+ }
+
+@@ -697,8 +709,6 @@
+ #define PVECSIZ 32 /* max number of names in path */
+ #define TBUFSIZ (2048*2)
+
+-static char *tbuf;
+-
+ /*
+ * On entry, srcp points to a non ':' character which is the beginning of the
+ * token, if any. We'll try to return a string that doesn't end with a ':'.
+@@ -776,18 +786,18 @@
+ register char *p;
+ register char *cp;
+ char *dummy = NULL;
+- char **fname;
++ CGETENT_CONST char **fname;
+ char *home;
+ int i;
+ char pathbuf[PBUFSIZ]; /* holds raw path of filenames */
+- char *pathvec[PVECSIZ]; /* to point to names in pathbuf */
+- char **pvec; /* holds usable tail of path vector */
++ CGETENT_CONST char *pathvec[PVECSIZ]; /* point to names in pathbuf */
++ CGETENT_CONST char **pvec; /* holds usable tail of path vector */
+ NCURSES_CONST char *termpath;
+ string_desc desc;
+
++ *lineno = 1;
+ fname = pathvec;
+ pvec = pathvec;
+- tbuf = bp;
+ p = pathbuf;
+ cp = use_terminfo_vars()? getenv("TERMCAP") : NULL;
+
+@@ -812,10 +822,11 @@
+ if ((home = getenv("HOME")) != 0 && *home != '\0'
+ && strchr(home, ' ') == 0
+ && strlen(home) < sizeof(temp) - 10) { /* setup path */
+- sprintf(temp, "%s/", home); /* $HOME first */
++ _nc_SPRINTF(temp, _nc_SLIMIT(sizeof(temp))
++ "%s/", home); /* $HOME first */
+ }
+ /* if no $HOME look in current directory */
+- strcat(temp, ".termcap");
++ _nc_STRCAT(temp, ".termcap", sizeof(temp));
+ _nc_safe_strcat(&desc, temp);
+ _nc_safe_strcat(&desc, " ");
+ _nc_safe_strcat(&desc, get_termpath());
+@@ -841,6 +852,9 @@
+ }
+ }
+ *fname = 0; /* mark end of vector */
++#if !HAVE_BSD_CGETENT
++ (void) _nc_cgetset(0);
++#endif
+ if (_nc_is_abs_path(cp)) {
+ if (_nc_cgetset(cp) < 0) {
+ return (TC_SYS_ERR);
+@@ -853,6 +867,7 @@
+ * empty fields, and mistakenly use the last valid cap entry instead of
+ * the first (breaks tc= includes)
+ */
++ *bp = '\0';
+ if (i >= 0) {
+ char *pd, *ps, *tok;
+ int endflag = FALSE;
+@@ -932,7 +947,7 @@
+ if (count < MAXPATHS
+ && _nc_access(path, R_OK) == 0) {
+ termpaths[count++] = path;
+- T(("Adding termpath %s", path));
++ TR(TRACE_DATABASE, ("Adding termpath %s", path));
+ }
+ termpaths[count] = 0;
+ if (save != 0)
+@@ -956,13 +971,13 @@
+ static char *source;
+ static int lineno;
+
+- T(("read termcap entry for %s", tn));
++ TR(TRACE_DATABASE, ("read termcap entry for %s", tn));
+
+ if (strlen(tn) == 0
+ || strcmp(tn, ".") == 0
+ || strcmp(tn, "..") == 0
+ || _nc_pathlast(tn) != 0) {
+- T(("illegal or missing entry name '%s'", tn));
++ TR(TRACE_DATABASE, ("illegal or missing entry name '%s'", tn));
+ return TGETENT_NO;
+ }
+
+@@ -980,7 +995,7 @@
+ _nc_curr_line = lineno;
+ _nc_set_source(source);
+ }
+- _nc_read_entry_source((FILE *) 0, tc, FALSE, FALSE, NULLHOOK);
++ _nc_read_entry_source((FILE *) 0, tc, FALSE, TRUE, NULLHOOK);
+ #else
+ /*
+ * Here is what the 4.4BSD termcap(3) page prescribes:
+@@ -1027,7 +1042,9 @@
+ normal = FALSE;
+ } else if (_nc_name_match(tc, tn, "|:")) { /* treat as a capability file */
+ use_buffer = TRUE;
+- (void) sprintf(tc_buf, "%.*s\n", (int) sizeof(tc_buf) - 2, tc);
++ _nc_SPRINTF(tc_buf,
++ _nc_SLIMIT(sizeof(tc_buf))
++ "%.*s\n", (int) sizeof(tc_buf) - 2, tc);
+ normal = FALSE;
+ }
+ }
+@@ -1049,8 +1066,9 @@
+ if (use_terminfo_vars() && (h = getenv("HOME")) != NULL && *h != '\0'
+ && (strlen(h) + sizeof(PRIVATE_CAP)) < PATH_MAX) {
+ /* user's .termcap, if any, should override it */
+- (void) strcpy(envhome, h);
+- (void) sprintf(pathbuf, PRIVATE_CAP, envhome);
++ _nc_STRCPY(envhome, h, sizeof(envhome));
++ _nc_SPRINTF(pathbuf, _nc_SLIMIT(sizeof(pathbuf))
++ PRIVATE_CAP, envhome);
+ ADD_TC(pathbuf, filecount);
+ }
+ }
+@@ -1063,7 +1081,7 @@
+ for (j = 0; j < filecount; j++) {
+ bool omit = FALSE;
+ if (stat(termpaths[j], &test_stat[j]) != 0
+- || (test_stat[j].st_mode & S_IFMT) != S_IFREG) {
++ || !S_ISREG(test_stat[j].st_mode)) {
+ omit = TRUE;
+ } else {
+ for (k = 0; k < j; k++) {
+@@ -1075,7 +1093,7 @@
+ }
+ }
+ if (omit) {
+- T(("Path %s is a duplicate", termpaths[j]));
++ TR(TRACE_DATABASE, ("Path %s is a duplicate", termpaths[j]));
+ for (k = j + 1; k < filecount; k++) {
+ termpaths[k - 1] = termpaths[k];
+ test_stat[k - 1] = test_stat[k];
+@@ -1100,7 +1118,7 @@
+
+ for (i = 0; i < filecount; i++) {
+
+- T(("Looking for %s in %s", tn, termpaths[i]));
++ TR(TRACE_DATABASE, ("Looking for %s in %s", tn, termpaths[i]));
+ if (_nc_access(termpaths[i], R_OK) == 0
+ && (fp = fopen(termpaths[i], "r")) != (FILE *) 0) {
+ _nc_set_source(termpaths[i]);
+@@ -1138,8 +1156,7 @@
+ * from the list.
+ */
+ *tp = ep->tterm;
+- _nc_delink_entry(_nc_head, &(ep->tterm));
+- free(ep);
++ _nc_free_entry(_nc_head, &(ep->tterm));
+
+ /*
+ * OK, now try to write the type to user's terminfo directory.
+Index: ncurses/tinfo/strings.c
+Prereq: 1.6
+--- ncurses-5.9/ncurses/tinfo/strings.c 2007-08-11 17:12:17.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/strings.c 2012-02-22 22:34:31.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2000-2003,2007 Free Software Foundation, Inc. *
++ * Copyright (c) 2000-2007,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -36,7 +36,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: strings.c,v 1.6 2007/08/11 17:12:17 tom Exp $")
++MODULE_ID("$Id: strings.c,v 1.8 2012/02/22 22:34:31 tom Exp $")
+
+ /****************************************************************************
+ * Useful string functions (especially for mvcur)
+@@ -110,7 +110,7 @@
+
+ if (len < dst->s_size) {
+ if (dst->s_tail != 0) {
+- strcpy(dst->s_tail, src);
++ _nc_STRCPY(dst->s_tail, src, dst->s_size);
+ dst->s_tail += len;
+ }
+ dst->s_size -= len;
+@@ -131,7 +131,7 @@
+
+ if (len < dst->s_size) {
+ if (dst->s_head != 0) {
+- strcpy(dst->s_head, src);
++ _nc_STRCPY(dst->s_head, src, dst->s_size);
+ dst->s_tail = dst->s_head + len;
+ }
+ dst->s_size = dst->s_init - len;
+Index: ncurses/tinfo/tinfo_driver.c
+Prereq: 1.13
+--- ncurses-5.9/ncurses/tinfo/tinfo_driver.c 2010-12-20 01:47:09.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/tinfo_driver.c 2013-01-12 22:01:43.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2008-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2008-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -50,7 +50,7 @@
+ # endif
+ #endif
+
+-MODULE_ID("$Id: tinfo_driver.c,v 1.13 2010/12/20 01:47:09 tom Exp $")
++MODULE_ID("$Id: tinfo_driver.c,v 1.29 2013/01/12 22:01:43 tom Exp $")
+
+ /*
+ * SCO defines TIOCGSIZE and the corresponding struct. Other systems (SunOS,
+@@ -93,7 +93,7 @@
+
+ #define TCBMAGIC NCDRV_MAGIC(NCDRV_TINFO)
+ #define AssertTCB() assert(TCB!=0 && TCB->magic==TCBMAGIC)
+-#define SetSP() assert(TCB->csp!=0); sp = TCB->csp
++#define SetSP() assert(TCB->csp!=0); sp = TCB->csp; (void) sp
+
+ /*
+ * This routine needs to do all the work to make curscr look
+@@ -106,22 +106,6 @@
+ return TINFO_DOUPDATE(TCB->csp);
+ }
+
+-#define ret_error(code, fmt, arg) if (errret) {\
+- *errret = code;\
+- return(FALSE); \
+- } else {\
+- fprintf(stderr, fmt, arg);\
+- exit(EXIT_FAILURE);\
+- }
+-
+-#define ret_error0(code, msg) if (errret) {\
+- *errret = code;\
+- return(FALSE);\
+- } else {\
+- fprintf(stderr, msg);\
+- exit(EXIT_FAILURE);\
+- }
+-
+ static bool
+ drv_CanHandle(TERMINAL_CONTROL_BLOCK * TCB, const char *tname, int *errret)
+ {
+@@ -156,12 +140,12 @@
+ if (status == TGETENT_ERR) {
+ ret_error0(status, "terminals database is inaccessible\n");
+ } else if (status == TGETENT_NO) {
+- ret_error(status, "'%s': unknown terminal type.\n", tname);
++ ret_error1(status, "unknown terminal type.\n", tname);
+ }
+ }
+ result = TRUE;
+ #if !USE_REENTRANT
+- strncpy(ttytype, termp->type.term_names, NAMESIZE - 1);
++ strncpy(ttytype, termp->type.term_names, (size_t) NAMESIZE - 1);
+ ttytype[NAMESIZE - 1] = '\0';
+ #endif
+
+@@ -169,17 +153,27 @@
+ _nc_tinfo_cmdch(termp, *command_character);
+
+ if (generic_type) {
+- ret_error(TGETENT_NO, "'%s': I need something more specific.\n", tname);
++ /*
++ * BSD 4.3's termcap contains mis-typed "gn" for wy99. Do a sanity
++ * check before giving up.
++ */
++ if ((VALID_STRING(cursor_address)
++ || (VALID_STRING(cursor_down) && VALID_STRING(cursor_home)))
++ && VALID_STRING(clear_screen)) {
++ ret_error1(TGETENT_YES, "terminal is not really generic.\n", tname);
++ } else {
++ ret_error1(TGETENT_NO, "I need something more specific.\n", tname);
++ }
+ }
+ if (hard_copy) {
+- ret_error(TGETENT_YES, "'%s': I can't handle hardcopy terminals.\n", tname);
++ ret_error1(TGETENT_YES, "I can't handle hardcopy terminals.\n", tname);
+ }
+
+ return result;
+ }
+
+ static int
+-drv_dobeepflash(TERMINAL_CONTROL_BLOCK * TCB, bool beepFlag)
++drv_dobeepflash(TERMINAL_CONTROL_BLOCK * TCB, int beepFlag)
+ {
+ SCREEN *sp;
+ int res = ERR;
+@@ -190,22 +184,18 @@
+ /* FIXME: should make sure that we are not in altchar mode */
+ if (beepFlag) {
+ if (bell) {
+- res = NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "bell", bell);
++ res = NCURSES_PUTP2("bell", bell);
+ NCURSES_SP_NAME(_nc_flush) (sp);
+ } else if (flash_screen) {
+- res = NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
+- "flash_screen",
+- flash_screen);
++ res = NCURSES_PUTP2("flash_screen", flash_screen);
+ NCURSES_SP_NAME(_nc_flush) (sp);
+ }
+ } else {
+ if (flash_screen) {
+- res = NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
+- "flash_screen",
+- flash_screen);
++ res = NCURSES_PUTP2("flash_screen", flash_screen);
+ NCURSES_SP_NAME(_nc_flush) (sp);
+ } else if (bell) {
+- res = NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "bell", bell);
++ res = NCURSES_PUTP2("bell", bell);
+ NCURSES_SP_NAME(_nc_flush) (sp);
+ }
+ }
+@@ -277,7 +267,7 @@
+
+ static void
+ drv_setcolor(TERMINAL_CONTROL_BLOCK * TCB,
+- bool fore,
++ int fore,
+ int color,
+ NCURSES_SP_OUTC outc)
+ {
+@@ -321,7 +311,7 @@
+ SetSP();
+
+ if (orig_pair != 0) {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "orig_pair", orig_pair);
++ NCURSES_PUTP2("orig_pair", orig_pair);
+ result = TRUE;
+ }
+ return result;
+@@ -337,7 +327,7 @@
+ SetSP();
+
+ if (orig_colors != 0) {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "orig_colors", orig_colors);
++ NCURSES_PUTP2("orig_colors", orig_colors);
+ result = TRUE;
+ }
+ return result;
+@@ -348,14 +338,18 @@
+ {
+ SCREEN *sp;
+ bool useEnv = TRUE;
++ bool useTioctl = TRUE;
+
+ AssertTCB();
+ sp = TCB->csp; /* can be null here */
+
+ if (sp) {
+ useEnv = sp->_use_env;
+- } else
++ useTioctl = sp->_use_tioctl;
++ } else {
+ useEnv = _nc_prescreen.use_env;
++ useTioctl = _nc_prescreen.use_tioctl;
++ }
+
+ /* figure out the size of the screen */
+ T(("screen size: terminfo lines = %d columns = %d", lines, columns));
+@@ -363,7 +357,7 @@
+ *linep = (int) lines;
+ *colp = (int) columns;
+
+- if (useEnv) {
++ if (useEnv || useTioctl) {
+ int value;
+
+ #ifdef __EMX__
+@@ -371,7 +365,9 @@
+ int screendata[2];
+ _scrsize(screendata);
+ *colp = screendata[0];
+- *linep = screendata[1];
++ *linep = ((sp != 0 && sp->_filtered)
++ ? 1
++ : screendata[1]);
+ T(("EMX screen size: environment LINES = %d COLUMNS = %d",
+ *linep, *colp));
+ }
+@@ -400,19 +396,33 @@
+ }
+ #endif /* HAVE_SIZECHANGE */
+
+- /*
+- * Finally, look for environment variables.
+- *
+- * Solaris lets users override either dimension with an environment
+- * variable.
+- */
+- if ((value = _nc_getenv_num("LINES")) > 0) {
+- *linep = value;
+- T(("screen size: environment LINES = %d", *linep));
+- }
+- if ((value = _nc_getenv_num("COLUMNS")) > 0) {
+- *colp = value;
+- T(("screen size: environment COLUMNS = %d", *colp));
++ if (useEnv) {
++ if (useTioctl) {
++ /*
++ * If environment variables are used, update them.
++ */
++ if ((sp == 0 || !sp->_filtered) && _nc_getenv_num("LINES") > 0) {
++ _nc_setenv_num("LINES", *linep);
++ }
++ if (_nc_getenv_num("COLUMNS") > 0) {
++ _nc_setenv_num("COLUMNS", *colp);
++ }
++ }
++
++ /*
++ * Finally, look for environment variables.
++ *
++ * Solaris lets users override either dimension with an environment
++ * variable.
++ */
++ if ((value = _nc_getenv_num("LINES")) > 0) {
++ *linep = value;
++ T(("screen size: environment LINES = %d", *linep));
++ }
++ if ((value = _nc_getenv_num("COLUMNS")) > 0) {
++ *colp = value;
++ T(("screen size: environment COLUMNS = %d", *colp));
++ }
+ }
+
+ /* if we can't get dynamic info about the size, use static */
+@@ -463,7 +473,7 @@
+ }
+
+ static int
+-drv_sgmode(TERMINAL_CONTROL_BLOCK * TCB, bool setFlag, TTY * buf)
++drv_sgmode(TERMINAL_CONTROL_BLOCK * TCB, int setFlag, TTY * buf)
+ {
+ SCREEN *sp = TCB->csp;
+ TERMINAL *_term = (TERMINAL *) TCB;
+@@ -497,7 +507,7 @@
+ }
+
+ static int
+-drv_mode(TERMINAL_CONTROL_BLOCK * TCB, bool progFlag, bool defFlag)
++drv_mode(TERMINAL_CONTROL_BLOCK * TCB, int progFlag, int defFlag)
+ {
+ SCREEN *sp;
+ TERMINAL *_term = (TERMINAL *) TCB;
+@@ -620,15 +630,13 @@
+ static void
+ drv_init(TERMINAL_CONTROL_BLOCK * TCB)
+ {
+- SCREEN *sp;
+ TERMINAL *trm;
+
+ AssertTCB();
+
+ trm = (TERMINAL *) TCB;
+- sp = TCB->csp;
+
+- TCB->info.initcolor = initialize_color;
++ TCB->info.initcolor = VALID_STRING(initialize_color);
+ TCB->info.canchange = can_change;
+ TCB->info.hascolor = ((VALID_NUMERIC(max_colors) && VALID_NUMERIC(max_pairs)
+ && (((set_foreground != NULL)
+@@ -665,7 +673,7 @@
+ #define InPalette(n) ((n) >= 0 && (n) < MAX_PALETTE)
+
+ static void
+-drv_initpair(TERMINAL_CONTROL_BLOCK * TCB, short pair, short f, short b)
++drv_initpair(TERMINAL_CONTROL_BLOCK * TCB, int pair, int f, int b)
+ {
+ SCREEN *sp;
+
+@@ -681,12 +689,11 @@
+ tp[f].red, tp[f].green, tp[f].blue,
+ tp[b].red, tp[b].green, tp[b].blue));
+
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
+- "initialize_pair",
+- TPARM_7(initialize_pair,
+- pair,
+- tp[f].red, tp[f].green, tp[f].blue,
+- tp[b].red, tp[b].green, tp[b].blue));
++ NCURSES_PUTP2("initialize_pair",
++ TPARM_7(initialize_pair,
++ pair,
++ tp[f].red, tp[f].green, tp[f].blue,
++ tp[b].red, tp[b].green, tp[b].blue));
+ }
+ }
+
+@@ -712,23 +719,22 @@
+
+ static void
+ drv_initcolor(TERMINAL_CONTROL_BLOCK * TCB,
+- short color, short r, short g, short b)
++ int color, int r, int g, int b)
+ {
+ SCREEN *sp = TCB->csp;
+
+ AssertTCB();
+ if (initialize_color != NULL) {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
+- "initialize_color",
+- TPARM_4(initialize_color, color, r, g, b));
++ NCURSES_PUTP2("initialize_color",
++ TPARM_4(initialize_color, color, r, g, b));
+ }
+ }
+
+ static void
+ drv_do_color(TERMINAL_CONTROL_BLOCK * TCB,
+- short old_pair,
+- short pair,
+- bool reverse,
++ int old_pair,
++ int pair,
++ int reverse,
+ NCURSES_SP_OUTC outc)
+ {
+ SCREEN *sp = TCB->csp;
+@@ -759,7 +765,7 @@
+ if (old_pair >= 0
+ && sp != 0
+ && NCURSES_SP_NAME(pair_content) (NCURSES_SP_ARGx
+- old_pair,
++ (short) old_pair,
+ &old_fg,
+ &old_bg) !=ERR) {
+ if ((isDefaultColor(fg) && !isDefaultColor(old_fg))
+@@ -845,7 +851,9 @@
+ }
+
+ static int
+-drv_testmouse(TERMINAL_CONTROL_BLOCK * TCB, int delay)
++drv_testmouse(TERMINAL_CONTROL_BLOCK * TCB,
++ int delay
++ EVENTLIST_2nd(_nc_eventlist * evl))
+ {
+ int rc = 0;
+ SCREEN *sp;
+@@ -882,7 +890,7 @@
+ {
+ SCREEN *sp = TCB->csp;
+ AssertTCB();
+- return TINFO_MVCUR(sp, yold, xold, ynew, xnew);
++ return NCURSES_SP_NAME(_nc_mvcur) (sp, yold, xold, ynew, xnew);
+ }
+
+ static void
+@@ -892,22 +900,21 @@
+
+ AssertTCB();
+ if (labnum > 0 && labnum <= num_labels) {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
+- "plab_norm",
+- TPARM_2(plab_norm, labnum, text));
++ NCURSES_PUTP2("plab_norm",
++ TPARM_2(plab_norm, labnum, text));
+ }
+ }
+
+ static void
+-drv_hwlabelOnOff(TERMINAL_CONTROL_BLOCK * TCB, bool OnFlag)
++drv_hwlabelOnOff(TERMINAL_CONTROL_BLOCK * TCB, int OnFlag)
+ {
+ SCREEN *sp = TCB->csp;
+
+ AssertTCB();
+ if (OnFlag) {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "label_on", label_on);
++ NCURSES_PUTP2("label_on", label_on);
+ } else {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "label_off", label_off);
++ NCURSES_PUTP2("label_off", label_off);
+ }
+ }
+
+@@ -972,7 +979,7 @@
+ AssertTCB();
+ assert(sp != 0);
+ if (ena_acs != NULL) {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "ena_acs", ena_acs);
++ NCURSES_PUTP2("ena_acs", ena_acs);
+ }
+ #if NCURSES_EXT_FUNCS
+ /*
+@@ -1176,7 +1183,7 @@
+ if ((pthread_self) && (pthread_kill) && (pthread_equal))
+ _nc_globals.read_thread = pthread_self();
+ # endif
+- n = read(sp->_ifd, &c2, 1);
++ n = read(sp->_ifd, &c2, (size_t) 1);
+ #if USE_PTHREADS_EINTR
+ _nc_globals.read_thread = 0;
+ #endif
+@@ -1209,7 +1216,7 @@
+ int rc = ERR;
+
+ if (value) {
+- rc = NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx name, value);
++ rc = NCURSES_PUTP2(name, value);
+ }
+ return rc;
+ }
+@@ -1225,7 +1232,7 @@
+ }
+
+ static int
+-drv_kpad(TERMINAL_CONTROL_BLOCK * TCB, bool flag)
++drv_kpad(TERMINAL_CONTROL_BLOCK * TCB, int flag)
+ {
+ int ret = ERR;
+ SCREEN *sp;
+@@ -1251,7 +1258,7 @@
+ }
+
+ static int
+-drv_keyok(TERMINAL_CONTROL_BLOCK * TCB, int c, bool flag)
++drv_keyok(TERMINAL_CONTROL_BLOCK * TCB, int c, int flag)
+ {
+ SCREEN *sp;
+ int code = ERR;
+@@ -1264,7 +1271,8 @@
+ if (c >= 0) {
+ unsigned ch = (unsigned) c;
+ if (flag) {
+- while ((s = _nc_expand_try(sp->_key_ok, ch, &count, 0)) != 0
++ while ((s = _nc_expand_try(sp->_key_ok,
++ ch, &count, (size_t) 0)) != 0
+ && _nc_remove_key(&(sp->_key_ok), ch)) {
+ code = _nc_add_to_try(&(sp->_keytry), s, ch);
+ free(s);
+@@ -1273,7 +1281,8 @@
+ break;
+ }
+ } else {
+- while ((s = _nc_expand_try(sp->_keytry, ch, &count, 0)) != 0
++ while ((s = _nc_expand_try(sp->_keytry,
++ ch, &count, (size_t) 0)) != 0
+ && _nc_remove_key(&(sp->_keytry), ch)) {
+ code = _nc_add_to_try(&(sp->_key_ok), s, ch);
+ free(s);
+Index: ncurses/tinfo/trim_sgr0.c
+Prereq: 1.12
+--- ncurses-5.9/ncurses/tinfo/trim_sgr0.c 2010-12-25 23:03:57.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/trim_sgr0.c 2012-12-15 20:57:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2005-2007,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2005-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -36,7 +36,7 @@
+
+ #include <tic.h>
+
+-MODULE_ID("$Id: trim_sgr0.c,v 1.12 2010/12/25 23:03:57 tom Exp $")
++MODULE_ID("$Id: trim_sgr0.c,v 1.15 2012/12/15 20:57:17 tom Exp $")
+
+ #undef CUR
+ #define CUR tp->
+@@ -48,21 +48,28 @@
+ static char *
+ set_attribute_9(TERMTYPE *tp, int flag)
+ {
+- const char *result;
++ const char *value;
++ char *result;
+
+- if ((result = tparm(set_attributes, 0, 0, 0, 0, 0, 0, 0, 0, flag)) == 0)
+- result = "";
+- return strdup(result);
++ value = tparm(set_attributes, 0, 0, 0, 0, 0, 0, 0, 0, flag);
++ if (PRESENT(value))
++ result = strdup(value);
++ else
++ result = 0;
++ return result;
+ }
+
+ static int
+ is_csi(const char *s)
+ {
+- if (UChar(s[0]) == CSI)
+- return 1;
+- else if (s[0] == ESC && s[1] == L_BRACK)
+- return 2;
+- return 0;
++ int result = 0;
++ if (s != 0) {
++ if (UChar(s[0]) == CSI)
++ result = 1;
++ else if (s[0] == ESC && s[1] == L_BRACK)
++ result = 2;
++ }
++ return result;
+ }
+
+ static char *
+@@ -97,7 +104,7 @@
+ static bool
+ rewrite_sgr(char *s, char *attr)
+ {
+- if (PRESENT(s)) {
++ if (s != 0) {
+ if (PRESENT(attr)) {
+ size_t len_s = strlen(s);
+ size_t len_a = strlen(attr);
+@@ -108,7 +115,7 @@
+ for (n = 0; n < len_s - len_a; ++n) {
+ s[n] = s[n + len_a];
+ }
+- strcpy(s + n, attr);
++ _nc_STRCPY(s + n, attr, strlen(s) + 1);
+ TR(TRACE_DATABASE, ("to:\n\t%s", s));
+ }
+ }
+@@ -121,33 +128,35 @@
+ similar_sgr(char *a, char *b)
+ {
+ bool result = FALSE;
+- int csi_a = is_csi(a);
+- int csi_b = is_csi(b);
+- size_t len_a;
+- size_t len_b;
+-
+- TR(TRACE_DATABASE, ("similar_sgr:\n\t%s\n\t%s",
+- _nc_visbuf2(1, a),
+- _nc_visbuf2(2, b)));
+- if (csi_a != 0 && csi_b != 0 && csi_a == csi_b) {
+- a += csi_a;
+- b += csi_b;
+- if (*a != *b) {
+- a = skip_zero(a);
+- b = skip_zero(b);
++ if (a != 0 && b != 0) {
++ int csi_a = is_csi(a);
++ int csi_b = is_csi(b);
++ size_t len_a;
++ size_t len_b;
++
++ TR(TRACE_DATABASE, ("similar_sgr:\n\t%s\n\t%s",
++ _nc_visbuf2(1, a),
++ _nc_visbuf2(2, b)));
++ if (csi_a != 0 && csi_b != 0 && csi_a == csi_b) {
++ a += csi_a;
++ b += csi_b;
++ if (*a != *b) {
++ a = skip_zero(a);
++ b = skip_zero(b);
++ }
+ }
++ len_a = strlen(a);
++ len_b = strlen(b);
++ if (len_a && len_b) {
++ if (len_a > len_b)
++ result = (strncmp(a, b, len_b) == 0);
++ else
++ result = (strncmp(a, b, len_a) == 0);
++ }
++ TR(TRACE_DATABASE, ("...similar_sgr: %d\n\t%s\n\t%s", result,
++ _nc_visbuf2(1, a),
++ _nc_visbuf2(2, b)));
+ }
+- len_a = strlen(a);
+- len_b = strlen(b);
+- if (len_a && len_b) {
+- if (len_a > len_b)
+- result = (strncmp(a, b, len_b) == 0);
+- else
+- result = (strncmp(a, b, len_a) == 0);
+- }
+- TR(TRACE_DATABASE, ("...similar_sgr: %d\n\t%s\n\t%s", result,
+- _nc_visbuf2(1, a),
+- _nc_visbuf2(2, b)));
+ return result;
+ }
+
+Index: ncurses/tinfo/write_entry.c
+Prereq: 1.78
+--- ncurses-5.9/ncurses/tinfo/write_entry.c 2010-12-25 23:23:08.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/write_entry.c 2012-12-29 23:12:22.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,21 +39,15 @@
+ #include <curses.priv.h>
+ #include <hashed_db.h>
+
+-#include <sys/stat.h>
+-
+ #include <tic.h>
+
+-#ifndef S_ISDIR
+-#define S_ISDIR(mode) ((mode & S_IFMT) == S_IFDIR)
+-#endif
+-
+ #if 1
+ #define TRACE_OUT(p) DEBUG(2, p)
+ #else
+ #define TRACE_OUT(p) /*nothing */
+ #endif
+
+-MODULE_ID("$Id: write_entry.c,v 1.78 2010/12/25 23:23:08 tom Exp $")
++MODULE_ID("$Id: write_entry.c,v 1.87 2012/12/29 23:12:22 tom Exp $")
+
+ static int total_written;
+
+@@ -76,7 +70,7 @@
+ DEBUG(1, ("Created %s", filename));
+
+ if (write_object(tp, buffer, &offset, limit) == ERR
+- || fwrite(buffer, sizeof(char), offset, fp) != offset) {
++ || fwrite(buffer, sizeof(char), (size_t) offset, fp) != offset) {
+ _nc_syserr_abort("error writing %s/%s", _nc_tic_dir(0), filename);
+ }
+
+@@ -105,7 +99,7 @@
+ if (verified[s - dirnames])
+ return;
+
+- sprintf(dir, LEAF_FMT, code);
++ _nc_SPRINTF(dir, _nc_SLIMIT(sizeof(dir)) LEAF_FMT, code);
+ if (make_db_root(dir) < 0) {
+ _nc_err_abort("%s/%s: permission denied", _nc_tic_dir(0), dir);
+ }
+@@ -115,36 +109,35 @@
+ #endif /* !USE_HASHED_DB */
+
+ static int
+-make_db_path(char *dst, const char *src, unsigned limit)
++make_db_path(char *dst, const char *src, size_t limit)
+ {
+ int rc = -1;
+ const char *top = _nc_tic_dir(0);
+
+ if (src == top || _nc_is_abs_path(src)) {
+ if (strlen(src) + 1 <= limit) {
+- (void) strcpy(dst, src);
++ _nc_STRCPY(dst, src, limit);
+ rc = 0;
+ }
+ } else {
+ if (strlen(top) + strlen(src) + 2 <= limit) {
+- (void) sprintf(dst, "%s/%s", top, src);
++ _nc_SPRINTF(dst, _nc_SLIMIT(limit) "%s/%s", top, src);
+ rc = 0;
+ }
+ }
+ #if USE_HASHED_DB
+ if (rc == 0) {
+- if (_nc_is_dir_path(dst)) {
+- rc = -1;
+- } else {
+- static const char suffix[] = DBM_SUFFIX;
+- unsigned have = strlen(dst);
+- unsigned need = strlen(suffix);
+- if (have > need && strcmp(dst + have - need, suffix)) {
+- if (have + need <= limit)
+- strcat(dst, suffix);
+- else
+- rc = -1;
++ static const char suffix[] = DBM_SUFFIX;
++ size_t have = strlen(dst);
++ size_t need = strlen(suffix);
++ if (have > need && strcmp(dst + (int) (have - need), suffix)) {
++ if (have + need <= limit) {
++ _nc_STRCAT(dst, suffix, limit);
++ } else {
++ rc = -1;
+ }
++ } else if (_nc_is_dir_path(dst)) {
++ rc = -1;
+ }
+ }
+ #endif
+@@ -164,10 +157,11 @@
+ #if USE_HASHED_DB
+ DB *capdbp;
+
+- if ((capdbp = _nc_db_open(fullpath, TRUE)) == NULL)
++ if ((capdbp = _nc_db_open(fullpath, TRUE)) == NULL) {
+ rc = -1;
+- else if (_nc_db_close(capdbp) < 0)
++ } else if (_nc_db_close(capdbp) < 0) {
+ rc = -1;
++ }
+ #else
+ struct stat statbuf;
+
+@@ -279,16 +273,21 @@
+ char name_list[MAX_TERMINFO_LENGTH];
+ char *first_name, *other_names;
+ char *ptr;
++ const char *term_names = tp->term_names;
++ size_t name_size = strlen(term_names);
+
+- assert(strlen(tp->term_names) != 0);
+- assert(strlen(tp->term_names) < sizeof(name_list));
++ if (name_size == 0) {
++ _nc_syserr_abort("no terminal name found.");
++ } else if (name_size >= sizeof(name_list) - 1) {
++ _nc_syserr_abort("terminal name too long: %s", term_names);
++ }
+
+- (void) strcpy(name_list, tp->term_names);
++ _nc_STRCPY(name_list, term_names, sizeof(name_list));
+ DEBUG(7, ("Name list = '%s'", name_list));
+
+ first_name = name_list;
+
+- ptr = &name_list[strlen(name_list) - 1];
++ ptr = &name_list[name_size - 1];
+ other_names = ptr + 1;
+
+ while (ptr > name_list && *ptr != '|')
+@@ -322,8 +321,8 @@
+ buffer[0] = 0;
+
+ memset(&key, 0, sizeof(key));
+- key.data = tp->term_names;
+- key.size = strlen(tp->term_names);
++ key.data = term_names;
++ key.size = name_size;
+
+ memset(&data, 0, sizeof(data));
+ data.data = buffer;
+@@ -334,10 +333,12 @@
+ buffer[0] = 2;
+
+ key.data = name_list;
+- key.size = strlen(name_list);
++ key.size = name_size;
+
+- strcpy(buffer + 1, tp->term_names);
+- data.size = strlen(tp->term_names) + 1;
++ _nc_STRCPY(buffer + 1,
++ term_names,
++ sizeof(buffer) - 1);
++ data.size = name_size + 1;
+
+ _nc_db_put(capdb, &key, &data);
+
+@@ -355,7 +356,6 @@
+
+ _nc_db_put(capdb, &key, &data);
+ }
+- _nc_db_close(capdb);
+ }
+ }
+ #else /* !USE_HASHED_DB */
+@@ -366,7 +366,8 @@
+ if (strlen(first_name) >= sizeof(filename) - (2 + LEAF_LEN))
+ _nc_warning("terminal name too long.");
+
+- sprintf(filename, LEAF_FMT "/%s", first_name[0], first_name);
++ _nc_SPRINTF(filename, _nc_SLIMIT(sizeof(filename))
++ LEAF_FMT "/%s", first_name[0], first_name);
+
+ /*
+ * Has this primary name been written since the first call to
+@@ -376,7 +377,22 @@
+ if (start_time > 0 &&
+ stat(filename, &statbuf) >= 0
+ && statbuf.st_mtime >= start_time) {
++#if HAVE_LINK && !USE_SYMLINKS
++ /*
++ * If the file has more than one link, the reason for the previous
++ * write could be that the current primary name used to be an alias for
++ * the previous entry. In that case, unlink the file so that we will
++ * not modify the previous entry as we write this one.
++ */
++ if (statbuf.st_nlink > 1) {
++ _nc_warning("name redefined.");
++ unlink(filename);
++ } else {
++ _nc_warning("name multiply defined.");
++ }
++#else
+ _nc_warning("name multiply defined.");
++#endif
+ }
+
+ check_writeable(first_name[0]);
+@@ -407,7 +423,8 @@
+ }
+
+ check_writeable(ptr[0]);
+- sprintf(linkname, LEAF_FMT "/%s", ptr[0], ptr);
++ _nc_SPRINTF(linkname, _nc_SLIMIT(sizeof(linkname))
++ LEAF_FMT "/%s", ptr[0], ptr);
+
+ if (strcmp(filename, linkname) == 0) {
+ _nc_warning("self-synonym ignored");
+@@ -422,7 +439,7 @@
+ if (first_name[0] == linkname[0])
+ strncpy(symlinkname, first_name, sizeof(symlinkname) - 1);
+ else {
+- strcpy(symlinkname, "../");
++ _nc_STRCPY(symlinkname, "../", sizeof(suymlinkname));
+ strncat(symlinkname, filename, sizeof(symlinkname) - 4);
+ }
+ symlinkname[sizeof(symlinkname) - 1] = '\0';
+@@ -491,7 +508,7 @@
+ return (want / size);
+ }
+
+-#define Write(buf, size, count) fake_write(buffer, offset, limit, (char *) buf, count, size)
++#define Write(buf, size, count) fake_write(buffer, offset, (size_t) limit, (char *) buf, (size_t) count, (size_t) size)
+
+ #undef LITTLE_ENDIAN /* BSD/OS defines this as a feature macro */
+ #define HI(x) ((x) / 256)
+@@ -706,7 +723,7 @@
+ return (ERR);
+
+ nextfree = compute_offsets(tp->Strings + STRCOUNT,
+- tp->ext_Strings,
++ (size_t) tp->ext_Strings,
+ offsets);
+ TRACE_OUT(("after extended string capabilities, nextfree=%d", nextfree));
+
+@@ -714,7 +731,7 @@
+ return (ERR);
+
+ nextfree += compute_offsets(tp->ext_Names,
+- extcnt,
++ (size_t) extcnt,
+ offsets + tp->ext_Strings);
+ TRACE_OUT(("after extended capnames, nextfree=%d", nextfree));
+ strmax = tp->ext_Strings + extcnt;
+@@ -742,7 +759,7 @@
+
+ TRACE_OUT(("WRITE %d numbers @%d", tp->ext_Numbers, *offset));
+ if (tp->ext_Numbers) {
+- convert_shorts(buf, tp->Numbers + NUMCOUNT, tp->ext_Numbers);
++ convert_shorts(buf, tp->Numbers + NUMCOUNT, (size_t) tp->ext_Numbers);
+ if (Write(buf, 2, tp->ext_Numbers) != tp->ext_Numbers)
+ return (ERR);
+ }
+Index: ncurses/trace/lib_trace.c
+Prereq: 1.76
+--- ncurses-5.9/ncurses/trace/lib_trace.c 2010-12-19 01:21:19.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/trace/lib_trace.c 2012-04-29 00:20:43.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -47,7 +47,7 @@
+
+ #include <ctype.h>
+
+-MODULE_ID("$Id: lib_trace.c,v 1.76 2010/12/19 01:21:19 tom Exp $")
++MODULE_ID("$Id: lib_trace.c,v 1.81 2012/04/29 00:20:43 tom Exp $")
+
+ NCURSES_EXPORT_VAR(unsigned) _nc_tracing = 0; /* always define this */
+
+@@ -103,9 +103,9 @@
+ }
+ TracePath[size] = '\0';
+ assert(strlen(TracePath) <= size);
+- strcat(TracePath, "/trace");
++ _nc_STRCAT(TracePath, "/trace", sizeof(TracePath));
+ if (_nc_is_dir_path(TracePath)) {
+- strcat(TracePath, ".log");
++ _nc_STRCAT(TracePath, ".log", sizeof(TracePath));
+ }
+ }
+
+@@ -121,7 +121,7 @@
+ * end of each line. This is useful in case the program dies.
+ */
+ #if HAVE_SETVBUF /* ANSI */
+- (void) setvbuf(TraceFP, (char *) 0, _IOLBF, 0);
++ (void) setvbuf(TraceFP, (char *) 0, _IOLBF, (size_t) 0);
+ #elif HAVE_SETBUF /* POSIX */
+ (void) setbuffer(TraceFP, (char *) 0);
+ #endif
+@@ -185,9 +185,9 @@
+ if ((pthread_self))
+ # endif
+ #ifdef __MINGW32__
+- fprintf(TraceFP, "%#lx:", (long) (void *) pthread_self().p);
++ fprintf(TraceFP, "%#lx:", (long) (intptr_t) pthread_self().p);
+ #else
+- fprintf(TraceFP, "%#lx:", (long) (void *) pthread_self());
++ fprintf(TraceFP, "%#lx:", (long) (intptr_t) pthread_self());
+ #endif
+ #endif
+ if (before || after) {
+@@ -218,7 +218,7 @@
+
+ /* Trace 'bool' return-values */
+ NCURSES_EXPORT(NCURSES_BOOL)
+-_nc_retrace_bool(NCURSES_BOOL code)
++_nc_retrace_bool(int code)
+ {
+ T((T_RETURN("%s"), code ? "TRUE" : "FALSE"));
+ return code;
+@@ -226,10 +226,10 @@
+
+ /* Trace 'char' return-values */
+ NCURSES_EXPORT(char)
+-_nc_retrace_char(char code)
++_nc_retrace_char(int code)
+ {
+ T((T_RETURN("%c"), code));
+- return code;
++ return (char) code;
+ }
+
+ /* Trace 'int' return-values */
+Index: ncurses/trace/lib_traceatr.c
+Prereq: 1.74
+--- ncurses-5.9/ncurses/trace/lib_traceatr.c 2011-01-22 19:48:01.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/trace/lib_traceatr.c 2012-02-22 22:40:24.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -43,10 +43,13 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_traceatr.c,v 1.74 2011/01/22 19:48:01 tom Exp $")
++MODULE_ID("$Id: lib_traceatr.c,v 1.79 2012/02/22 22:40:24 tom Exp $")
+
+ #define COLOR_OF(c) ((c < 0) ? "default" : (c > 7 ? color_of(c) : colors[c].name))
+
++#define TRACE_BUF_SIZE(num) (_nc_globals.tracebuf_ptr[num].size)
++#define COLOR_BUF_SIZE(num) (sizeof(my_buffer[num]))
++
+ #ifdef TRACE
+
+ static const char l_brace[] = StringOf(L_BRACE);
+@@ -65,9 +68,12 @@
+ my_cached = c;
+ my_select = !my_select;
+ if (c == COLOR_DEFAULT)
+- strcpy(my_buffer[my_select], "default");
++ _nc_STRCPY(my_buffer[my_select], "default",
++ COLOR_BUF_SIZE(my_select));
+ else
+- sprintf(my_buffer[my_select], "color%d", c);
++ _nc_SPRINTF(my_buffer[my_select],
++ _nc_SLIMIT(COLOR_BUF_SIZE(my_select))
++ "color%d", c);
+ }
+ return my_buffer[my_select];
+ }
+@@ -120,14 +126,14 @@
+ ;
+ size_t n;
+ char temp[80];
+- char *result = _nc_trace_buf(bufnum, BUFSIZ);
++ char *result = _nc_trace_buf(bufnum, (size_t) BUFSIZ);
+
+ if (result != 0) {
+ unsigned save_nc_tracing = _nc_tracing;
+
+ _nc_tracing = 0;
+
+- strcpy(result, l_brace);
++ _nc_STRCPY(result, l_brace, TRACE_BUF_SIZE(bufnum));
+
+ for (n = 0; n < SIZEOF(names); n++) {
+ if ((newmode & names[n].val) != 0) {
+@@ -139,18 +145,20 @@
+ short pairnum = (short) PairNumber(newmode);
+ #ifdef USE_TERMLIB
+ /* pair_content lives in libncurses */
+- (void) sprintf(temp, "{%d}", pairnum);
++ _nc_SPRINTF(temp, _nc_SLIMIT(sizeof(temp))
++ "{%d}", pairnum);
+ #else
+ short fg, bg;
+
+ if (pair_content(pairnum, &fg, &bg) == OK) {
+- (void) sprintf(temp,
+- "{%d = {%s, %s}}",
+- pairnum,
+- COLOR_OF(fg),
+- COLOR_OF(bg));
++ _nc_SPRINTF(temp, _nc_SLIMIT(sizeof(temp))
++ "{%d = {%s, %s}}",
++ pairnum,
++ COLOR_OF(fg),
++ COLOR_OF(bg));
+ } else {
+- (void) sprintf(temp, "{%d}", pairnum);
++ _nc_SPRINTF(temp, _nc_SLIMIT(sizeof(temp))
++ "{%d}", pairnum);
+ }
+ #endif
+ result = _nc_trace_bufcat(bufnum, temp);
+@@ -243,7 +251,7 @@
+ #if NCURSES_SP_FUNCS
+ (void) sp;
+ #endif
+- if ((attr & A_ALTCHARSET) && (acs_chars != 0)) {
++ if (SP_PARM != 0 && (attr & A_ALTCHARSET) && (acs_chars != 0)) {
+ char *cp;
+ char *found = 0;
+ const ALT_NAMES *strp;
+@@ -271,10 +279,10 @@
+ _tracechtype2(int bufnum, chtype ch)
+ {
+ const char *found;
+- char *result = _nc_trace_buf(bufnum, BUFSIZ);
++ char *result = _nc_trace_buf(bufnum, (size_t) BUFSIZ);
+
+ if (result != 0) {
+- strcpy(result, l_brace);
++ _nc_STRCPY(result, l_brace, TRACE_BUF_SIZE(bufnum));
+ if ((found = _nc_altcharset_name(ChAttrOf(ch), ch)) != 0) {
+ (void) _nc_trace_bufcat(bufnum, found);
+ } else
+@@ -311,12 +319,12 @@
+ NCURSES_EXPORT(char *)
+ _tracecchar_t2(int bufnum, const cchar_t *ch)
+ {
+- char *result = _nc_trace_buf(bufnum, BUFSIZ);
++ char *result = _nc_trace_buf(bufnum, (size_t) BUFSIZ);
+ attr_t attr;
+ const char *found;
+
+ if (result != 0) {
+- strcpy(result, l_brace);
++ _nc_STRCPY(result, l_brace, TRACE_BUF_SIZE(bufnum));
+ if (ch != 0) {
+ attr = AttrOfD(ch);
+ if ((found = _nc_altcharset_name(attr, (chtype) CharOfD(ch))) != 0) {
+Index: ncurses/trace/lib_tracebits.c
+Prereq: 1.19
+--- ncurses-5.9/ncurses/trace/lib_tracebits.c 2011-01-09 00:23:03.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/trace/lib_tracebits.c 2012-06-09 19:55:46.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -34,11 +34,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_tracebits.c,v 1.19 2011/01/09 00:23:03 tom Exp $")
+-
+-#if SVR4_TERMIO && !defined(_POSIX_SOURCE)
+-#define _POSIX_SOURCE
+-#endif
++MODULE_ID("$Id: lib_tracebits.c,v 1.23 2012/06/09 19:55:46 tom Exp $")
+
+ #if HAVE_SYS_TERMIO_H
+ #include <sys/termio.h> /* needed for ISC */
+@@ -80,22 +76,24 @@
+ const char *name;
+ } BITNAMES;
+
++#define TRACE_BUF_SIZE(num) (_nc_globals.tracebuf_ptr[num].size)
++
+ static void
+ lookup_bits(char *buf, const BITNAMES * table, const char *label, unsigned int val)
+ {
+ const BITNAMES *sp;
+
+- (void) strcat(buf, label);
+- (void) strcat(buf, ": {");
++ _nc_STRCAT(buf, label, TRACE_BUF_SIZE(0));
++ _nc_STRCAT(buf, ": {", TRACE_BUF_SIZE(0));
+ for (sp = table; sp->name; sp++)
+ if (sp->val != 0
+ && (val & sp->val) == sp->val) {
+- (void) strcat(buf, sp->name);
+- (void) strcat(buf, ", ");
++ _nc_STRCAT(buf, sp->name, TRACE_BUF_SIZE(0));
++ _nc_STRCAT(buf, ", ", TRACE_BUF_SIZE(0));
+ }
+ if (buf[strlen(buf) - 2] == ',')
+ buf[strlen(buf) - 2] = '\0';
+- (void) strcat(buf, "} ");
++ _nc_STRCAT(buf, "} ", TRACE_BUF_SIZE(0));
+ }
+
+ NCURSES_EXPORT(char *)
+@@ -192,7 +190,7 @@
+ CS_DATA(CS8),
+ };
+ const char *result = "CSIZE? ";
+- int value = (tty->c_cflag & CSIZE);
++ int value = (int) (tty->c_cflag & CSIZE);
+ unsigned n;
+
+ if (value != 0) {
+@@ -203,7 +201,7 @@
+ }
+ }
+ }
+- strcat(buf, result);
++ _nc_STRCAT(buf, result, TRACE_BUF_SIZE(0));
+ }
+ #endif
+
+Index: ncurses/trace/lib_tracechr.c
+Prereq: 1.20
+--- ncurses-5.9/ncurses/trace/lib_tracechr.c 2009-04-18 22:48:29.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/trace/lib_tracechr.c 2012-02-22 22:40:24.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2009,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,10 +39,12 @@
+
+ #include <ctype.h>
+
+-MODULE_ID("$Id: lib_tracechr.c,v 1.20 2009/04/18 22:48:29 tom Exp $")
++MODULE_ID("$Id: lib_tracechr.c,v 1.22 2012/02/22 22:40:24 tom Exp $")
+
+ #ifdef TRACE
+
++#define MyBufSize sizeof(_nc_globals.tracechr_buf)
++
+ NCURSES_EXPORT(char *)
+ _nc_tracechar(SCREEN *sp, int ch)
+ {
+@@ -55,19 +57,22 @@
+ name = safe_keyname(SP_PARM, ch);
+ if (name == 0 || *name == '\0')
+ name = "NULL";
+- (void) sprintf(MyBuffer, "'%.30s' = %#03o", name, ch);
++ _nc_SPRINTF(MyBuffer, _nc_SLIMIT(MyBufSize)
++ "'%.30s' = %#03o", name, ch);
+ } else if (!is8bits(ch) || !isprint(UChar(ch))) {
+ /*
+ * workaround for glibc bug:
+ * sprintf changes the result from unctrl() to an empty string if it
+ * does not correspond to a valid multibyte sequence.
+ */
+- (void) sprintf(MyBuffer, "%#03o", ch);
++ _nc_SPRINTF(MyBuffer, _nc_SLIMIT(MyBufSize)
++ "%#03o", ch);
+ } else {
+ name = safe_unctrl(SP_PARM, (chtype) ch);
+ if (name == 0 || *name == 0)
+ name = "null"; /* shouldn't happen */
+- (void) sprintf(MyBuffer, "'%.30s' = %#03o", name, ch);
++ _nc_SPRINTF(MyBuffer, _nc_SLIMIT(MyBufSize)
++ "'%.30s' = %#03o", name, ch);
+ }
+ return (MyBuffer);
+ }
+Index: ncurses/trace/lib_tracedmp.c
+Prereq: 1.32
+--- ncurses-5.9/ncurses/trace/lib_tracedmp.c 2009-04-18 21:01:38.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/trace/lib_tracedmp.c 2012-10-27 20:54:42.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2009,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+ #include <curses.priv.h>
+ #include <ctype.h>
+
+-MODULE_ID("$Id: lib_tracedmp.c,v 1.32 2009/04/18 21:01:38 tom Exp $")
++MODULE_ID("$Id: lib_tracedmp.c,v 1.34 2012/10/27 20:54:42 tom Exp $")
+
+ #ifdef TRACE
+
+@@ -70,6 +70,8 @@
+ if (++width + 1 > (int) my_length) {
+ my_length = (unsigned) (2 * (width + 1));
+ my_buffer = typeRealloc(char, my_length, my_buffer);
++ if (my_buffer == 0)
++ return;
+ }
+
+ for (n = 0; n <= win->_maxy; ++n) {
+@@ -111,7 +113,7 @@
+ if (multicolumn) {
+ ep = my_buffer;
+ for (j = 0; j < width; ++j) {
+- chtype test = WidecExt(win->_line[n].text[j]);
++ int test = WidecExt(win->_line[n].text[j]);
+ if (test) {
+ ep[j] = (char) (test + '0');
+ } else {
+Index: ncurses/trace/lib_tracemse.c
+Prereq: 1.18
+--- ncurses-5.9/ncurses/trace/lib_tracemse.c 2011-01-22 19:48:08.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/trace/lib_tracemse.c 2012-12-15 23:51:19.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -38,7 +38,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_tracemse.c,v 1.18 2011/01/22 19:48:08 tom Exp $")
++MODULE_ID("$Id: lib_tracemse.c,v 1.21 2012/12/15 23:51:19 tom Exp $")
+
+ #ifdef TRACE
+
+@@ -47,7 +47,11 @@
+ static char *
+ _trace_mmask_t(SCREEN *sp, mmask_t code)
+ {
+-#define SHOW(m, s) if ((code & m) == m) strcat(strcat(my_buffer, s), ", ")
++#define SHOW(m, s) \
++ if ((code & m) == m) { \
++ _nc_STRCAT(my_buffer, s, sizeof(my_buffer)); \
++ _nc_STRCAT(my_buffer, ", ", sizeof(my_buffer)); \
++ }
+
+ SHOW(BUTTON1_RELEASED, "release-1");
+ SHOW(BUTTON1_PRESSED, "press-1");
+@@ -110,23 +114,33 @@
+ NCURSES_EXPORT(char *)
+ _nc_tracemouse(SCREEN *sp, MEVENT const *ep)
+ {
+- (void) sprintf(my_buffer, TRACEMSE_FMT,
+- ep->id,
+- ep->x,
+- ep->y,
+- ep->z,
+- (unsigned long) ep->bstate);
++ char *result = 0;
+
+- (void) _trace_mmask_t(sp, ep->bstate);
+- (void) strcat(my_buffer, "}");
+- return (my_buffer);
++ if (sp != 0) {
++ _nc_SPRINTF(my_buffer, _nc_SLIMIT(sizeof(my_buffer))
++ TRACEMSE_FMT,
++ ep->id,
++ ep->x,
++ ep->y,
++ ep->z,
++ (unsigned long) ep->bstate);
++
++ (void) _trace_mmask_t(sp, ep->bstate);
++ _nc_STRCAT(my_buffer, "}", sizeof(my_buffer));
++ result = (my_buffer);
++ }
++ return result;
+ }
+
+ NCURSES_EXPORT(mmask_t)
+ _nc_retrace_mmask_t(SCREEN *sp, mmask_t code)
+ {
+- *my_buffer = '\0';
+- T((T_RETURN("{%s}"), _trace_mmask_t(sp, code)));
++ if (sp != 0) {
++ *my_buffer = '\0';
++ T((T_RETURN("{%s}"), _trace_mmask_t(sp, code)));
++ } else {
++ T((T_RETURN("{?}")));
++ }
+ return code;
+ }
+
+Index: ncurses/trace/trace_buf.c
+Prereq: 1.17
+--- ncurses-5.9/ncurses/trace/trace_buf.c 2011-01-22 19:48:16.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/trace/trace_buf.c 2012-02-22 22:34:31.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -35,7 +35,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: trace_buf.c,v 1.17 2011/01/22 19:48:16 tom Exp $")
++MODULE_ID("$Id: trace_buf.c,v 1.20 2012/02/22 22:34:31 tom Exp $")
+
+ #ifdef TRACE
+
+@@ -103,13 +103,14 @@
+ NCURSES_EXPORT(char *)
+ _nc_trace_bufcat(int bufnum, const char *value)
+ {
+- char *buffer = _nc_trace_alloc(bufnum, 0);
++ char *buffer = _nc_trace_alloc(bufnum, (size_t) 0);
+ if (buffer != 0) {
+ size_t have = strlen(buffer);
++ size_t need = strlen(value) + have;
+
+- buffer = _nc_trace_alloc(bufnum, 1 + have + strlen(value));
++ buffer = _nc_trace_alloc(bufnum, 1 + need);
+ if (buffer != 0)
+- (void) strcpy(buffer + have, value);
++ _nc_STRCPY(buffer + have, value, need);
+
+ }
+ return buffer;
+Index: ncurses/trace/trace_tries.c
+Prereq: 1.16
+--- ncurses-5.9/ncurses/trace/trace_tries.c 2011-01-09 00:23:27.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/trace/trace_tries.c 2012-10-27 20:50:50.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1999-2009,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1999-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -35,7 +35,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: trace_tries.c,v 1.16 2011/01/09 00:23:27 tom Exp $")
++MODULE_ID("$Id: trace_tries.c,v 1.17 2012/10/27 20:50:50 tom Exp $")
+
+ #ifdef TRACE
+ #define my_buffer _nc_globals.tracetry_buf
+@@ -49,28 +49,31 @@
+ my_buffer = (unsigned char *) _nc_doalloc(my_buffer, my_length);
+ }
+
+- while (tree != 0) {
+- if ((my_buffer[level] = tree->ch) == 0)
+- my_buffer[level] = 128;
+- my_buffer[level + 1] = 0;
+- if (tree->value != 0) {
+- _tracef("%5d: %s (%s)", tree->value,
+- _nc_visbuf((char *) my_buffer), keyname(tree->value));
++ if (my_buffer != 0) {
++ while (tree != 0) {
++ if ((my_buffer[level] = tree->ch) == 0)
++ my_buffer[level] = 128;
++ my_buffer[level + 1] = 0;
++ if (tree->value != 0) {
++ _tracef("%5d: %s (%s)", tree->value,
++ _nc_visbuf((char *) my_buffer), keyname(tree->value));
++ }
++ if (tree->child)
++ recur_tries(tree->child, level + 1);
++ tree = tree->sibling;
+ }
+- if (tree->child)
+- recur_tries(tree->child, level + 1);
+- tree = tree->sibling;
+ }
+ }
+
+ NCURSES_EXPORT(void)
+ _nc_trace_tries(TRIES * tree)
+ {
+- my_buffer = typeMalloc(unsigned char, my_length = 80);
+- _tracef("BEGIN tries %p", (void *) tree);
+- recur_tries(tree, 0);
+- _tracef(". . . tries %p", (void *) tree);
+- free(my_buffer);
++ if ((my_buffer = typeMalloc(unsigned char, my_length = 80)) != 0) {
++ _tracef("BEGIN tries %p", (void *) tree);
++ recur_tries(tree, 0);
++ _tracef(". . . tries %p", (void *) tree);
++ free(my_buffer);
++ }
+ }
+
+ #else
+Index: ncurses/trace/varargs.c
+Prereq: 1.8
+--- ncurses-5.9/ncurses/trace/varargs.c 2008-11-16 00:19:59.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/trace/varargs.c 2012-10-27 21:03:28.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2001-2007,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 2001-2008,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -34,7 +34,7 @@
+
+ #include <ctype.h>
+
+-MODULE_ID("$Id: varargs.c,v 1.8 2008/11/16 00:19:59 juergen Exp $")
++MODULE_ID("$Id: varargs.c,v 1.11 2012/10/27 21:03:28 tom Exp $")
+
+ #ifdef TRACE
+
+@@ -149,25 +149,32 @@
+ param = buffer;
+ switch (used) {
+ case atInteger:
+- sprintf(buffer, "%d", ival);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer))
++ "%d", ival);
+ break;
+ case atFloat:
+- sprintf(buffer, "%f", fval);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer))
++ "%f", fval);
+ break;
+ case atPoint:
+- sprintf(buffer, "%p", pval);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer))
++ "%p", pval);
+ break;
+ case atString:
+ param = _nc_visbuf2(1, sval);
+ break;
+ case atUnknown:
+ default:
+- strcpy(buffer, "?");
++ _nc_STRCPY(buffer, "?", sizeof(buffer));
+ break;
+ }
+ MyLength += strlen(param) + 2;
+ MyBuffer = typeRealloc(char, MyLength, MyBuffer);
+- sprintf(MyBuffer + strlen(MyBuffer), ", %s", param);
++ if (MyBuffer != 0) {
++ _nc_SPRINTF(MyBuffer + strlen(MyBuffer),
++ _nc_SLIMIT(MyLength - strlen(MyBuffer))
++ ", %s", param);
++ }
+ }
+ }
+ used = atUnknown;
+@@ -177,7 +184,7 @@
+ }
+ }
+
+- return (MyBuffer);
++ return (MyBuffer ? MyBuffer : dummy);
+ }
+ #else
+ EMPTY_MODULE(_nc_varargs)
+Index: ncurses/trace/visbuf.c
+Prereq: 1.37
+--- ncurses-5.9/ncurses/trace/visbuf.c 2010-05-29 18:51:41.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/trace/visbuf.c 2012-10-27 20:58:50.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2001-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2001-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -42,7 +42,7 @@
+ #include <tic.h>
+ #include <ctype.h>
+
+-MODULE_ID("$Id: visbuf.c,v 1.37 2010/05/29 18:51:41 tom Exp $")
++MODULE_ID("$Id: visbuf.c,v 1.42 2012/10/27 20:58:50 tom Exp $")
+
+ #define NUM_VISBUFS 4
+
+@@ -55,8 +55,16 @@
+ static const char r_brace[] = StringOf(R_BRACE);
+ #endif
+
++#if USE_STRING_HACKS && HAVE_SNPRINTF
++#define VisChar(tp, chr, limit) _nc_vischar(tp, chr, limit)
++#define LIMIT_ARG ,size_t limit
++#else
++#define VisChar(tp, chr, limit) _nc_vischar(tp, chr)
++#define LIMIT_ARG /* nothing */
++#endif
++
+ static char *
+-_nc_vischar(char *tp, unsigned c)
++_nc_vischar(char *tp, unsigned c LIMIT_ARG)
+ {
+ if (c == '"' || c == '\\') {
+ *tp++ = '\\';
+@@ -84,7 +92,8 @@
+ *tp++ = '^';
+ *tp++ = (char) ('@' + c);
+ } else {
+- sprintf(tp, "\\%03lo", (unsigned long) ChCharOf(c));
++ _nc_SPRINTF(tp, _nc_SLIMIT(limit)
++ "\\%03lo", (unsigned long) ChCharOf(c));
+ tp += strlen(tp);
+ }
+ *tp = 0;
+@@ -97,6 +106,7 @@
+ const char *vbuf = 0;
+ char *tp;
+ int c;
++ int count;
+
+ if (buf == 0)
+ return ("(null)");
+@@ -106,6 +116,7 @@
+ if (len < 0)
+ len = (int) strlen(buf);
+
++ count = len;
+ #ifdef TRACE
+ vbuf = tp = _nc_trace_buf(bufnum, NormalLen(len));
+ #else
+@@ -124,8 +135,8 @@
+ #endif
+ if (tp != 0) {
+ *tp++ = D_QUOTE;
+- while ((--len >= 0) && (c = *buf++) != '\0') {
+- tp = _nc_vischar(tp, UChar(c));
++ while ((--count >= 0) && (c = *buf++) != '\0') {
++ tp = VisChar(tp, UChar(c), NormalLen(len));
+ }
+ *tp++ = D_QUOTE;
+ *tp = '\0';
+@@ -175,6 +186,7 @@
+ const char *vbuf;
+ char *tp;
+ wchar_t c;
++ int count;
+
+ if (buf == 0)
+ return ("(null)");
+@@ -182,6 +194,7 @@
+ if (len < 0)
+ len = (int) wcslen(buf);
+
++ count = len;
+ #ifdef TRACE
+ vbuf = tp = _nc_trace_buf(bufnum, WideLen(len));
+ #else
+@@ -193,15 +206,16 @@
+ #endif
+ if (tp != 0) {
+ *tp++ = D_QUOTE;
+- while ((--len >= 0) && (c = *buf++) != '\0') {
++ while ((--count >= 0) && (c = *buf++) != '\0') {
+ char temp[CCHARW_MAX + 80];
+ int j = wctomb(temp, c), k;
+ if (j <= 0) {
+- sprintf(temp, "\\u%08X", (unsigned) c);
++ _nc_SPRINTF(temp, _nc_SLIMIT(sizeof(temp))
++ "\\u%08X", (unsigned) c);
+ j = (int) strlen(temp);
+ }
+ for (k = 0; k < j; ++k) {
+- tp = _nc_vischar(tp, UChar(temp[k]));
++ tp = VisChar(tp, UChar(temp[k]), WideLen(len));
+ }
+ }
+ *tp++ = D_QUOTE;
+@@ -248,10 +262,12 @@
+ else
+ mybuf = typeMalloc(wchar_t, mylen);
+ }
+- for (n = 0; buf[n] != 0; ++n) {
+- mybuf[n] = (wchar_t) buf[n];
++ if (mybuf != 0) {
++ for (n = 0; buf[n] != 0; ++n) {
++ mybuf[n] = (wchar_t) buf[n];
++ }
++ mybuf[n] = L'\0';
+ }
+- mybuf[n] = L'\0';
+
+ return _nc_viswbuf2(0, mybuf);
+ }
+@@ -261,7 +277,7 @@
+ NCURSES_EXPORT(const char *)
+ _nc_viscbuf2(int bufnum, const NCURSES_CH_T * buf, int len)
+ {
+- char *result = _nc_trace_buf(bufnum, BUFSIZ);
++ char *result = _nc_trace_buf(bufnum, (size_t) BUFSIZ);
+ int first;
+ const char *found;
+
+@@ -315,7 +331,7 @@
+ break;
+ for (k = 0; k < PUTC_n; k++) {
+ char temp[80];
+- _nc_vischar(temp, UChar(PUTC_buf[k]));
++ VisChar(temp, UChar(PUTC_buf[k]), sizeof(temp));
+ (void) _nc_trace_bufcat(bufnum, temp);
+ }
+ }
+@@ -323,8 +339,8 @@
+ #else
+ {
+ char temp[80];
+- _nc_vischar(temp, UChar(buf[j]));
+- result = _nc_trace_bufcat(bufnum, temp);
++ VisChar(temp, UChar(buf[j]), sizeof(temp));
++ (void) _nc_trace_bufcat(bufnum, temp);
+ }
+ #endif /* USE_WIDEC_SUPPORT */
+ }
+Index: ncurses/tty/hardscroll.c
+Prereq: 1.47
+--- ncurses-5.9/ncurses/tty/hardscroll.c 2010-04-24 23:46:47.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tty/hardscroll.c 2012-10-17 09:01:10.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -147,7 +147,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: hardscroll.c,v 1.47 2010/04/24 23:46:47 tom Exp $")
++MODULE_ID("$Id: hardscroll.c,v 1.51 2012/10/17 09:01:10 tom Exp $")
+
+ #if defined(SCROLLDEBUG) || defined(HASHDEBUG)
+
+@@ -173,9 +173,9 @@
+ # if USE_HASHMAP
+ # define oldnums(sp) (sp)->_oldnum_list
+ # define OLDNUM(sp,n) oldnums(sp)[n]
+-# else /* !USE_HASHMAP */
++# else /* !USE_HASHMAP */
+ # define OLDNUM(sp,n) NewScreen(sp)->_line[n].oldindex
+-# endif /* !USE_HASHMAP */
++# endif /* !USE_HASHMAP */
+
+ #define OLDNUM_SIZE(sp) (sp)->_oldnum_size
+
+@@ -193,14 +193,20 @@
+ #if !defined(SCROLLDEBUG) && !defined(HASHDEBUG)
+ #if USE_HASHMAP
+ /* get enough storage */
+- if (OLDNUM_SIZE(SP_PARM) < screen_lines(SP_PARM)) {
++ assert(OLDNUM_SIZE(SP_PARM) >= 0);
++ assert(screen_lines(SP_PARM) > 0);
++ if ((oldnums(SP_PARM) == 0)
++ || (OLDNUM_SIZE(SP_PARM) < screen_lines(SP_PARM))) {
++ int need_lines = ((OLDNUM_SIZE(SP_PARM) < screen_lines(SP_PARM))
++ ? screen_lines(SP_PARM)
++ : OLDNUM_SIZE(SP_PARM));
+ int *new_oldnums = typeRealloc(int,
+- (size_t) screen_lines(SP_PARM),
++ (size_t) need_lines,
+ oldnums(SP_PARM));
+ if (!new_oldnums)
+ return;
+ oldnums(SP_PARM) = new_oldnums;
+- OLDNUM_SIZE(SP_PARM) = screen_lines(SP_PARM);
++ OLDNUM_SIZE(SP_PARM) = need_lines;
+ }
+ /* calculate the indices */
+ NCURSES_SP_NAME(_nc_hash_map) (NCURSES_SP_ARG);
+@@ -302,7 +308,9 @@
+
+ *buf = '\0';
+ for (n = 0; n < screen_lines(SP_PARM); n++)
+- (void) sprintf(buf + strlen(buf), " %02d", OLDNUM(SP_PARM, n));
++ _nc_SPRINTF(buf + strlen(buf),
++ _nc_SLIMIT(want - strlen(buf))
++ " %02d", OLDNUM(SP_PARM, n));
+ TR(TRACE_UPDATE | TRACE_MOVE, ("virt %s", buf));
+ free(buf);
+ }
+Index: ncurses/tty/hashmap.c
+Prereq: 1.62
+--- ncurses-5.9/ncurses/tty/hashmap.c 2010-04-24 23:46:07.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tty/hashmap.c 2011-10-22 16:34:50.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -73,7 +73,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: hashmap.c,v 1.62 2010/04/24 23:46:07 tom Exp $")
++MODULE_ID("$Id: hashmap.c,v 1.63 2011/10/22 16:34:50 tom Exp $")
+
+ #ifdef HASHDEBUG
+
+@@ -163,7 +163,7 @@
+ * effective. 'blank' indicates whether the line 'to' would become blank.
+ */
+ static NCURSES_INLINE bool
+-cost_effective(SCREEN *sp, const int from, const int to, const bool blank)
++cost_effective(SCREEN *sp, const int from, const int to, const int blank)
+ {
+ int new_from;
+
+Index: ncurses/tty/lib_mvcur.c
+Prereq: 1.126
+--- ncurses-5.9/ncurses/tty/lib_mvcur.c 2011-01-22 19:48:21.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tty/lib_mvcur.c 2013-01-27 01:40:01.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -159,7 +159,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_mvcur.c,v 1.126 2011/01/22 19:48:21 tom Exp $")
++MODULE_ID("$Id: lib_mvcur.c,v 1.132 2013/01/27 01:40:01 tom Exp $")
+
+ #define WANT_CHAR(sp, y, x) NewScreen(sp)->_line[y].text[x] /* desired state */
+
+@@ -176,6 +176,9 @@
+ static float diff;
+ #endif /* MAIN */
+
++#undef NCURSES_OUTC_FUNC
++#define NCURSES_OUTC_FUNC myOutCh
++
+ #define OPT_SIZE 512
+
+ static int normalized_cost(NCURSES_SP_DCLx const char *const cap, int affcnt);
+@@ -274,10 +277,9 @@
+ /* Set the scroll-region to a known state (the default) */
+ {
+ if (change_scroll_region) {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
+- "change_scroll_region",
+- TPARM_2(change_scroll_region,
+- 0, screen_lines(SP_PARM) - 1));
++ NCURSES_PUTP2("change_scroll_region",
++ TPARM_2(change_scroll_region,
++ 0, screen_lines(SP_PARM) - 1));
+ }
+ }
+
+@@ -285,14 +287,12 @@
+ NCURSES_SP_NAME(_nc_mvcur_resume) (NCURSES_SP_DCL0)
+ /* what to do at initialization time and after each shellout */
+ {
+- if (SP_PARM && !IsTermInfo(SP_PARM))
++ if (!SP_PARM || !IsTermInfo(SP_PARM))
+ return;
+
+ /* initialize screen for cursor access */
+ if (enter_ca_mode) {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
+- "enter_ca_mode",
+- enter_ca_mode);
++ NCURSES_PUTP2("enter_ca_mode", enter_ca_mode);
+ }
+
+ /*
+@@ -327,13 +327,14 @@
+ NCURSES_SP_NAME(_nc_mvcur_init) (NCURSES_SP_DCL0)
+ /* initialize the cost structure */
+ {
+- if (SP_PARM->_ofp && isatty(fileno(SP_PARM->_ofp)))
++ if (SP_PARM->_ofp && isatty(fileno(SP_PARM->_ofp))) {
+ SP_PARM->_char_padding = ((BAUDBYTE * 1000 * 10)
+ / (BAUDRATE(SP_PARM) > 0
+ ? BAUDRATE(SP_PARM)
+ : 9600));
+- else
++ } else {
+ SP_PARM->_char_padding = 1; /* must be nonzero */
++ }
+ if (SP_PARM->_char_padding <= 0)
+ SP_PARM->_char_padding = 1; /* must be nonzero */
+ TR(TRACE_CHARPUT | TRACE_MOVE, ("char_padding %d msecs", SP_PARM->_char_padding));
+@@ -481,9 +482,7 @@
+ }
+
+ if (exit_ca_mode) {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
+- "exit_ca_mode",
+- exit_ca_mode);
++ NCURSES_PUTP2("exit_ca_mode", exit_ca_mode);
+ }
+ /*
+ * Reset terminal's tab counter. There's a long-time bug that
+@@ -549,7 +548,7 @@
+ int from_x,
+ int to_y,
+ int to_x,
+- bool ovw)
++ int ovw)
+ /* move via local motions (cuu/cuu1/cud/cud1/cub1/cub/cuf1/cuf/vpa/hpa) */
+ {
+ string_desc save;
+@@ -770,7 +769,10 @@
+ */
+
+ static NCURSES_INLINE int
+-onscreen_mvcur(NCURSES_SP_DCLx int yold, int xold, int ynew, int xnew, bool ovw)
++onscreen_mvcur(NCURSES_SP_DCLx
++ int yold, int xold,
++ int ynew, int xnew, int ovw,
++ NCURSES_SP_OUTC myOutCh)
+ /* onscreen move from (yold, xold) to (ynew, xnew) */
+ {
+ string_desc result;
+@@ -935,7 +937,7 @@
+ if (usecost != INFINITY) {
+ TPUTS_TRACE("mvcur");
+ NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
+- buffer, 1, NCURSES_SP_NAME(_nc_outch));
++ buffer, 1, myOutCh);
+ SP_PARM->_cursrow = ynew;
+ SP_PARM->_curscol = xnew;
+ return (OK);
+@@ -943,9 +945,14 @@
+ return (ERR);
+ }
+
+-NCURSES_EXPORT(int)
+-TINFO_MVCUR(NCURSES_SP_DCLx int yold, int xold, int ynew, int xnew)
+-/* optimized cursor move from (yold, xold) to (ynew, xnew) */
++/*
++ * optimized cursor move from (yold, xold) to (ynew, xnew)
++ */
++static int
++_nc_real_mvcur(NCURSES_SP_DCLx
++ int yold, int xold,
++ int ynew, int xnew,
++ NCURSES_SP_OUTC myOutCh)
+ {
+ NCURSES_CH_T oldattr;
+ int code;
+@@ -994,20 +1001,16 @@
+
+ if (l > 0) {
+ if (carriage_return) {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
+- "carriage_return",
+- carriage_return);
++ NCURSES_PUTP2("carriage_return", carriage_return);
+ } else
+- NCURSES_SP_NAME(_nc_outch) (NCURSES_SP_ARGx '\r');
++ myOutCh(NCURSES_SP_ARGx '\r');
+ xold = 0;
+
+ while (l > 0) {
+ if (newline) {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
+- "newline",
+- newline);
++ NCURSES_PUTP2("newline", newline);
+ } else
+- NCURSES_SP_NAME(_nc_outch) (NCURSES_SP_ARGx '\n');
++ myOutCh(NCURSES_SP_ARGx '\n');
+ l--;
+ }
+ }
+@@ -1027,7 +1030,7 @@
+ ynew = screen_lines(SP_PARM) - 1;
+
+ /* destination location is on screen now */
+- code = onscreen_mvcur(NCURSES_SP_ARGx yold, xold, ynew, xnew, TRUE);
++ code = onscreen_mvcur(NCURSES_SP_ARGx yold, xold, ynew, xnew, TRUE, myOutCh);
+
+ /*
+ * Restore attributes if we disabled them before moving.
+@@ -1042,13 +1045,63 @@
+ returnCode(code);
+ }
+
+-#if NCURSES_SP_FUNCS && !defined(USE_TERM_DRIVER)
++/*
++ * These entrypoints are used within the library.
++ */
++NCURSES_EXPORT(int)
++NCURSES_SP_NAME(_nc_mvcur) (NCURSES_SP_DCLx
++ int yold, int xold,
++ int ynew, int xnew)
++{
++ return _nc_real_mvcur(NCURSES_SP_ARGx yold, xold, ynew, xnew,
++ NCURSES_SP_NAME(_nc_outch));
++}
++
++#if NCURSES_SP_FUNCS
++NCURSES_EXPORT(int)
++_nc_mvcur(int yold, int xold,
++ int ynew, int xnew)
++{
++ return NCURSES_SP_NAME(_nc_mvcur) (CURRENT_SCREEN, yold, xold, ynew, xnew);
++}
++#endif
++
++#if defined(USE_TERM_DRIVER)
++/*
++ * The terminal driver does not support the external "mvcur()".
++ */
++NCURSES_EXPORT(int)
++TINFO_MVCUR(NCURSES_SP_DCLx int yold, int xold, int ynew, int xnew)
++{
++ return _nc_real_mvcur(NCURSES_SP_ARGx
++ yold, xold,
++ ynew, xnew,
++ NCURSES_SP_NAME(_nc_outch));
++}
++
++#else /* !USE_TERM_DRIVER */
++
++/*
++ * These entrypoints support users of the library.
++ */
++NCURSES_EXPORT(int)
++NCURSES_SP_NAME(mvcur) (NCURSES_SP_DCLx int yold, int xold, int ynew,
++ int xnew)
++{
++ return _nc_real_mvcur(NCURSES_SP_ARGx
++ yold, xold,
++ ynew, xnew,
++ NCURSES_SP_NAME(_nc_putchar));
++}
++
++#if NCURSES_SP_FUNCS
+ NCURSES_EXPORT(int)
+ mvcur(int yold, int xold, int ynew, int xnew)
+ {
+ return NCURSES_SP_NAME(mvcur) (CURRENT_SCREEN, yold, xold, ynew, xnew);
+ }
+ #endif
++#endif /* USE_TERM_DRIVER */
+
+ #if defined(TRACE) || defined(NCURSES_TEST)
+ NCURSES_EXPORT_VAR(int) _nc_optimize_enable = OPTIMIZE_ALL;
+Index: ncurses/tty/lib_tstp.c
+Prereq: 1.41
+--- ncurses-5.9/ncurses/tty/lib_tstp.c 2010-05-15 21:31:12.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tty/lib_tstp.c 2013-04-27 19:50:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -42,11 +42,7 @@
+
+ #include <SigAction.h>
+
+-#if SVR4_ACTION && !defined(_POSIX_SOURCE)
+-#define _POSIX_SOURCE
+-#endif
+-
+-MODULE_ID("$Id: lib_tstp.c,v 1.41 2010/05/15 21:31:12 tom Exp $")
++MODULE_ID("$Id: lib_tstp.c,v 1.47 2013/04/27 19:50:17 tom Exp $")
+
+ #if defined(SIGTSTP) && (HAVE_SIGACTION || HAVE_SIGVEC)
+ #define USE_SIGTSTP 1
+@@ -138,7 +134,7 @@
+
+ #if USE_SIGTSTP
+ static void
+-tstp(int dummy GCC_UNUSED)
++handle_SIGTSTP(int dummy GCC_UNUSED)
+ {
+ SCREEN *sp = CURRENT_SCREEN;
+ sigset_t mask, omask;
+@@ -148,7 +144,8 @@
+ int sigttou_blocked;
+ #endif
+
+- T(("tstp() called"));
++ _nc_globals.have_sigtstp = 1;
++ T(("handle_SIGTSTP() called"));
+
+ /*
+ * The user may have changed the prog_mode tty bits, so save them.
+@@ -239,21 +236,24 @@
+ #endif /* USE_SIGTSTP */
+
+ static void
+-cleanup(int sig)
++handle_SIGINT(int sig)
+ {
+ SCREEN *sp = CURRENT_SCREEN;
+
+ /*
+- * Actually, doing any sort of I/O from within an signal handler is
+- * "unsafe". But we'll _try_ to clean up the screen and terminal
+- * settings on the way out.
++ * Much of this is unsafe from a signal handler. But we'll _try_ to clean
++ * up the screen and terminal settings on the way out.
++ *
++ * There are at least the following problems:
++ * 1) Walking the SCREEN list is unsafe, since all list management
++ * is done without any signal blocking.
++ * 2) On systems which have REENTRANT turned on, set_term() uses
++ * _nc_lock_global() which could deadlock or misbehave in other ways.
++ * 3) endwin() calls all sorts of stuff, many of which use stdio or
++ * other library functions which are clearly unsafe.
+ */
+ if (!_nc_globals.cleanup_nested++
+- && (sig == SIGINT
+-#ifdef SIGQUIT
+- || sig == SIGQUIT
+-#endif
+- )) {
++ && (sig == SIGINT || sig == SIGTERM)) {
+ #if HAVE_SIGACTION || HAVE_SIGVEC
+ sigaction_t act;
+ sigemptyset(&act.sa_mask);
+@@ -268,22 +268,21 @@
+ for (each_screen(scan)) {
+ if (scan->_ofp != 0
+ && isatty(fileno(scan->_ofp))) {
+- scan->_cleanup = TRUE;
+ scan->_outch = NCURSES_SP_NAME(_nc_outch);
+ }
+ set_term(scan);
+ NCURSES_SP_NAME(endwin) (NCURSES_SP_ARG);
+ if (sp)
+- sp->_endwin = FALSE; /* in case we have an atexit! */
++ sp->_endwin = FALSE; /* in case of reuse */
+ }
+ }
+ }
+- exit(EXIT_FAILURE);
++ _exit(EXIT_FAILURE);
+ }
+
+ #if USE_SIGWINCH
+ static void
+-sigwinch(int sig GCC_UNUSED)
++handle_SIGWINCH(int sig GCC_UNUSED)
+ {
+ _nc_globals.have_sigwinch = 1;
+ # if USE_PTHREADS_EINTR
+@@ -301,7 +300,7 @@
+ * handler.
+ */
+ static int
+-CatchIfDefault(int sig, RETSIGTYPE (*handler) (int))
++CatchIfDefault(int sig, void (*handler) (int))
+ {
+ int result;
+ #if HAVE_SIGACTION || HAVE_SIGVEC
+@@ -331,7 +330,7 @@
+ result = FALSE;
+ }
+ #else /* !HAVE_SIGACTION */
+- RETSIGTYPE (*ohandler) (int);
++ void (*ohandler) (int);
+
+ ohandler = signal(sig, SIG_IGN);
+ if (ohandler == SIG_DFL
+@@ -364,7 +363,7 @@
+ * the caller later changes its mind, but that doesn't seem correct.
+ */
+ NCURSES_EXPORT(void)
+-_nc_signal_handler(bool enable)
++_nc_signal_handler(int enable)
+ {
+ T((T_CALLED("_nc_signal_handler(%d)"), enable));
+ #if USE_SIGTSTP /* Xenix 2.x doesn't have SIGTSTP, for example */
+@@ -385,7 +384,7 @@
+ #ifdef SA_RESTART
+ new_sigaction.sa_flags |= SA_RESTART;
+ #endif /* SA_RESTART */
+- new_sigaction.sa_handler = tstp;
++ new_sigaction.sa_handler = handle_SIGTSTP;
+ (void) sigaction(SIGTSTP, &new_sigaction, NULL);
+ } else {
+ ignore_tstp = TRUE;
+@@ -396,10 +395,10 @@
+
+ if (!_nc_globals.init_signals) {
+ if (enable) {
+- CatchIfDefault(SIGINT, cleanup);
+- CatchIfDefault(SIGTERM, cleanup);
++ CatchIfDefault(SIGINT, handle_SIGINT);
++ CatchIfDefault(SIGTERM, handle_SIGINT);
+ #if USE_SIGWINCH
+- CatchIfDefault(SIGWINCH, sigwinch);
++ CatchIfDefault(SIGWINCH, handle_SIGWINCH);
+ #endif
+ _nc_globals.init_signals = TRUE;
+ }
+Index: ncurses/tty/lib_twait.c
+Prereq: 1.61
+--- ncurses-5.9/ncurses/tty/lib_twait.c 2010-12-25 23:43:58.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tty/lib_twait.c 2013-02-18 09:22:27.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -53,6 +53,11 @@
+ #include <OS.h>
+ #endif
+
++#if USE_KLIBC_KBD
++#define INCL_KBD
++#include <os2.h>
++#endif
++
+ #if USE_FUNC_POLL
+ # if HAVE_SYS_TIME_H
+ # include <sys/time.h>
+@@ -70,10 +75,10 @@
+ #endif
+ #undef CUR
+
+-MODULE_ID("$Id: lib_twait.c,v 1.61 2010/12/25 23:43:58 tom Exp $")
++MODULE_ID("$Id: lib_twait.c,v 1.67 2013/02/18 09:22:27 tom Exp $")
+
+ static long
+-_nc_gettime(TimeType * t0, bool first)
++_nc_gettime(TimeType * t0, int first)
+ {
+ long res;
+
+@@ -184,6 +189,12 @@
+ fd_set set;
+ #endif
+
++#if USE_KLIBC_KBD
++ fd_set saved_set;
++ KBDKEYINFO ki;
++ struct timeval tv;
++#endif
++
+ long starttime, returntime;
+
+ TR(TRACE_IEVENT, ("start twait: %d milliseconds, mode: %d",
+@@ -207,6 +218,7 @@
+ starttime = _nc_gettime(&t0, TRUE);
+
+ count = 0;
++ (void) count;
+
+ #ifdef NCURSES_WGETCH_EVENTS
+ if ((mode & TW_EVENT) && evl)
+@@ -217,8 +229,11 @@
+ memset(fd_list, 0, sizeof(fd_list));
+
+ #ifdef NCURSES_WGETCH_EVENTS
+- if ((mode & TW_EVENT) && evl)
++ if ((mode & TW_EVENT) && evl) {
+ fds = typeMalloc(struct pollfd, MIN_FDS + evl->count);
++ if (fds == 0)
++ return TW_NONE;
++ }
+ #endif
+
+ if (mode & TW_INPUT) {
+@@ -247,7 +262,7 @@
+ }
+ #endif
+
+- result = poll(fds, (unsigned) count, milliseconds);
++ result = poll(fds, (size_t) count, milliseconds);
+
+ #ifdef NCURSES_WGETCH_EVENTS
+ if ((mode & TW_EVENT) && evl) {
+@@ -274,10 +289,6 @@
+ }
+ }
+ }
+-
+- if (fds != fd_list)
+- free((char *) fds);
+-
+ #endif
+
+ #elif defined(__BEOS__)
+@@ -329,10 +340,12 @@
+ */
+ FD_ZERO(&set);
+
++#if !USE_KLIBC_KBD
+ if (mode & TW_INPUT) {
+ FD_SET(sp->_ifd, &set);
+ count = sp->_ifd + 1;
+ }
++#endif
+ if ((mode & TW_MOUSE)
+ && (fd = sp->_mouse_fd) >= 0) {
+ FD_SET(fd, &set);
+@@ -352,6 +365,31 @@
+ }
+ #endif
+
++#if USE_KLIBC_KBD
++ for (saved_set = set;; set = saved_set) {
++ if ((mode & TW_INPUT)
++ && (sp->_extended_key
++ || (KbdPeek(&ki, 0) == 0
++ && (ki.fbStatus & KBDTRF_FINAL_CHAR_IN)))) {
++ FD_ZERO(&set);
++ FD_SET(sp->_ifd, &set);
++ result = 1;
++ break;
++ }
++
++ tv.tv_sec = 0;
++ tv.tv_usec = (milliseconds == 0) ? 0 : (10 * 1000);
++
++ if ((result = select(count, &set, NULL, NULL, &tv)) != 0)
++ break;
++
++ /* Time out ? */
++ if (milliseconds >= 0 && _nc_gettime(&t0, FALSE) >= milliseconds) {
++ result = 0;
++ break;
++ }
++ }
++#else
+ if (milliseconds >= 0) {
+ struct timeval ntimeout;
+ ntimeout.tv_sec = milliseconds / 1000;
+@@ -360,6 +398,7 @@
+ } else {
+ result = select(count, &set, NULL, NULL, NULL);
+ }
++#endif
+
+ #ifdef NCURSES_WGETCH_EVENTS
+ if ((mode & TW_EVENT) && evl) {
+@@ -462,5 +501,12 @@
+ result |= TW_EVENT;
+ #endif
+
++#if USE_FUNC_POLL
++#ifdef NCURSES_WGETCH_EVENTS
++ if (fds != fd_list)
++ free((char *) fds);
++#endif
++#endif
++
+ return (result);
+ }
+Index: ncurses/tty/lib_vidattr.c
+Prereq: 1.61
+--- ncurses-5.9/ncurses/tty/lib_vidattr.c 2010-06-05 22:22:04.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tty/lib_vidattr.c 2013-01-12 18:00:54.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -69,7 +69,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_vidattr.c,v 1.61 2010/06/05 22:22:04 tom Exp $")
++MODULE_ID("$Id: lib_vidattr.c,v 1.63 2013/01/12 18:00:54 tom Exp $")
+
+ #define doPut(mode) \
+ TPUTS_TRACE(#mode); \
+@@ -324,7 +324,7 @@
+ T((T_CALLED("vidattr(%p,%s)"), (void *) SP_PARM, _traceattr(newmode)));
+ returnCode(NCURSES_SP_NAME(vidputs) (NCURSES_SP_ARGx
+ newmode,
+- NCURSES_SP_NAME(_nc_outch)));
++ NCURSES_SP_NAME(_nc_putchar)));
+ }
+
+ #if NCURSES_SP_FUNCS
+@@ -341,42 +341,44 @@
+ chtype attrs = A_NORMAL;
+
+ T((T_CALLED("termattrs(%p)"), (void *) SP_PARM));
++
++ if (HasTerminal(SP_PARM)) {
+ #ifdef USE_TERM_DRIVER
+- if (HasTerminal(SP_PARM))
+ attrs = CallDriver(SP_PARM, conattr);
+ #else
+
+- if (enter_alt_charset_mode)
+- attrs |= A_ALTCHARSET;
++ if (enter_alt_charset_mode)
++ attrs |= A_ALTCHARSET;
+
+- if (enter_blink_mode)
+- attrs |= A_BLINK;
++ if (enter_blink_mode)
++ attrs |= A_BLINK;
+
+- if (enter_bold_mode)
+- attrs |= A_BOLD;
++ if (enter_bold_mode)
++ attrs |= A_BOLD;
+
+- if (enter_dim_mode)
+- attrs |= A_DIM;
++ if (enter_dim_mode)
++ attrs |= A_DIM;
+
+- if (enter_reverse_mode)
+- attrs |= A_REVERSE;
++ if (enter_reverse_mode)
++ attrs |= A_REVERSE;
+
+- if (enter_standout_mode)
+- attrs |= A_STANDOUT;
++ if (enter_standout_mode)
++ attrs |= A_STANDOUT;
+
+- if (enter_protected_mode)
+- attrs |= A_PROTECT;
++ if (enter_protected_mode)
++ attrs |= A_PROTECT;
+
+- if (enter_secure_mode)
+- attrs |= A_INVIS;
++ if (enter_secure_mode)
++ attrs |= A_INVIS;
+
+- if (enter_underline_mode)
+- attrs |= A_UNDERLINE;
++ if (enter_underline_mode)
++ attrs |= A_UNDERLINE;
+
+- if (SP_PARM->_coloron)
+- attrs |= A_COLOR;
++ if (SP_PARM->_coloron)
++ attrs |= A_COLOR;
+
+ #endif
++ }
+ returnChtype(attrs);
+ }
+
+Index: ncurses/tty/tty_update.c
+Prereq: 1.264
+--- ncurses-5.9/ncurses/tty/tty_update.c 2010-12-19 01:21:02.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tty/tty_update.c 2013-02-16 21:12:02.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -82,7 +82,7 @@
+
+ #include <ctype.h>
+
+-MODULE_ID("$Id: tty_update.c,v 1.264 2010/12/19 01:21:02 tom Exp $")
++MODULE_ID("$Id: tty_update.c,v 1.276 2013/02/16 21:12:02 tom Exp $")
+
+ /*
+ * This define controls the line-breakout optimization. Every once in a
+@@ -145,8 +145,7 @@
+
+ NCURSES_SP_NAME(_nc_flush) (NCURSES_SP_ARG);
+ memset(buf, '\0', sizeof(buf));
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx "\033[6n"); /* only works on ANSI-compatibles */
+- NCURSES_SP_NAME(_nc_flush) (NCURSES_SP_ARG);
++ NCURSES_PUTP2_FLUSH("cpr", "\033[6n"); /* only works on ANSI-compatibles */
+ *(s = buf) = 0;
+ do {
+ int ask = sizeof(buf) - 1 - (s - buf);
+@@ -209,7 +208,9 @@
+ {
+ int chlen = 1;
+ NCURSES_CH_T my_ch;
++#if USE_WIDEC_SUPPORT
+ PUTC_DATA;
++#endif
+ NCURSES_CH_T tilde;
+ NCURSES_CH_T attr = CHDEREF(ch);
+
+@@ -276,6 +277,11 @@
+ && SP_PARM->_screen_acs_map[CharOf(my_ch)]) {
+ RemAttr(attr, A_ALTCHARSET);
+ my_ch = _nc_wacs[CharOf(my_ch)];
++ } else if (SP_PARM->_screen_unicode
++ && !SP_PARM->_screen_acs_map[CharOf(my_ch)]
++ && _nc_wacs[CharOf(my_ch)].chars[0]) {
++ RemAttr(attr, A_ALTCHARSET);
++ my_ch = _nc_wacs[CharOf(my_ch)];
+ }
+ #endif
+ /*
+@@ -288,13 +294,12 @@
+ int j = CharOfD(ch);
+ chtype temp = UChar(SP_PARM->_acs_map[j]);
+
+- if (!(SP_PARM->_screen_acs_map[j])) {
++ if (temp != 0) {
++ SetChar(my_ch, temp, AttrOf(attr));
++ } else {
++ my_ch = CHDEREF(ch);
+ RemAttr(attr, A_ALTCHARSET);
+- if (temp == 0)
+- temp = ' ';
+ }
+- if (temp != 0)
+- SetChar(my_ch, temp, AttrOf(attr));
+ }
+ ch = CHREF(my_ch);
+ }
+@@ -304,22 +309,13 @@
+ }
+
+ UpdateAttrs(SP_PARM, attr);
++ PUTC(CHDEREF(ch));
+ #if !USE_WIDEC_SUPPORT
+- /* FIXME - we do this special case for signal handling, should see how to
+- * make it work for wide characters.
+- */
+- if (SP_PARM->_outch != 0) {
+- SP_PARM->_outch(NCURSES_SP_ARGx UChar(ch));
+- } else
++ COUNT_OUTCHARS(1);
+ #endif
+- {
+- PUTC(CHDEREF(ch), SP_PARM->_ofp); /* macro's fastest... */
+- COUNT_OUTCHARS(1);
+- }
+ SP_PARM->_curscol += chlen;
+ if (char_padding) {
+- TPUTS_TRACE("char_padding");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx char_padding);
++ NCURSES_PUTP2("char_padding", char_padding);
+ }
+ }
+
+@@ -342,7 +338,7 @@
+ struct pollfd fds[1];
+ fds[0].fd = SP_PARM->_checkfd;
+ fds[0].events = POLLIN;
+- if (poll(fds, 1, 0) > 0) {
++ if (poll(fds, (size_t) 1, 0) > 0) {
+ have_pending = TRUE;
+ }
+ #elif defined(__BEOS__)
+@@ -390,8 +386,7 @@
+ PutAttrChar(NCURSES_SP_ARGx ch);
+ } else if (enter_am_mode && exit_am_mode) {
+ /* we can suppress automargin */
+- TPUTS_TRACE("exit_am_mode");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx exit_am_mode);
++ NCURSES_PUTP2("exit_am_mode", exit_am_mode);
+
+ PutAttrChar(NCURSES_SP_ARGx ch);
+ SP_PARM->_curscol--;
+@@ -400,8 +395,7 @@
+ SP_PARM->_curscol,
+ "exit_am_mode");
+
+- TPUTS_TRACE("enter_am_mode");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx enter_am_mode);
++ NCURSES_PUTP2("enter_am_mode", enter_am_mode);
+ } else if ((enter_insert_mode && exit_insert_mode)
+ || insert_character || parm_ich) {
+ GoTo(NCURSES_SP_ARGx
+@@ -497,11 +491,12 @@
+ return FALSE;
+ if ((pair = GetPair(CHDEREF(ch))) != 0) {
+ short fg, bg;
+- NCURSES_SP_NAME(pair_content) (NCURSES_SP_ARGx
+- (short) pair,
+- &fg, &bg);
+- if (fg != C_MASK || bg != C_MASK)
++ if (NCURSES_SP_NAME(pair_content) (NCURSES_SP_ARGx
++ (short) pair,
++ &fg, &bg) == ERR
++ || (fg != C_MASK || bg != C_MASK)) {
+ return FALSE;
++ }
+ }
+ #else
+ if (AttrOfD(ch) & A_COLOR)
+@@ -563,8 +558,7 @@
+ && runcount > SP_PARM->_ech_cost + SP_PARM->_cup_ch_cost
+ && can_clear_with(NCURSES_SP_ARGx CHREF(ntext0))) {
+ UpdateAttrs(SP_PARM, ntext0);
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx
+- TPARM_1(erase_chars, runcount));
++ NCURSES_PUTP2("erase_chars", TPARM_1(erase_chars, runcount));
+
+ /*
+ * If this is the last part of the given interval,
+@@ -677,6 +671,9 @@
+
+ T((T_CALLED("_nc_tinfo:doupdate(%p)"), (void *) SP_PARM));
+
++ if (SP_PARM == 0)
++ returnCode(ERR);
++
+ #if !USE_REENTRANT
+ /*
+ * It is "legal" but unlikely that an application could assign a new
+@@ -1076,32 +1073,29 @@
+ */
+
+ static void
+-ClrToEOL(NCURSES_SP_DCLx NCURSES_CH_T blank, bool needclear)
++ClrToEOL(NCURSES_SP_DCLx NCURSES_CH_T blank, int needclear)
+ {
+ int j;
+
+- if (SP_PARM != 0) {
+- if (CurScreen(SP_PARM) != 0
+- && SP_PARM->_cursrow >= 0) {
+- for (j = SP_PARM->_curscol; j < screen_columns(SP_PARM); j++) {
+- if (j >= 0) {
+- NCURSES_CH_T *cp =
+- &(CurScreen(SP_PARM)->_line[SP_PARM->_cursrow].text[j]);
+-
+- if (!CharEq(*cp, blank)) {
+- *cp = blank;
+- needclear = TRUE;
+- }
++ if (CurScreen(SP_PARM) != 0
++ && SP_PARM->_cursrow >= 0) {
++ for (j = SP_PARM->_curscol; j < screen_columns(SP_PARM); j++) {
++ if (j >= 0) {
++ NCURSES_CH_T *cp =
++ &(CurScreen(SP_PARM)->_line[SP_PARM->_cursrow].text[j]);
++
++ if (!CharEq(*cp, blank)) {
++ *cp = blank;
++ needclear = TRUE;
+ }
+ }
+ }
+ }
+
+- if (needclear && (SP_PARM != 0)) {
++ if (needclear) {
+ UpdateAttrs(SP_PARM, blank);
+- TPUTS_TRACE("clr_eol");
+ if (clr_eol && SP_PARM->_el_cost <= (screen_columns(SP_PARM) - SP_PARM->_curscol)) {
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx clr_eol);
++ NCURSES_PUTP2("clr_eol", clr_eol);
+ } else {
+ int count = (screen_columns(SP_PARM) - SP_PARM->_curscol);
+ while (count-- > 0)
+@@ -1121,12 +1115,14 @@
+ {
+ int row, col;
+
+- if (0 == SP_PARM)
+- return;
+-
+ row = SP_PARM->_cursrow;
+ col = SP_PARM->_curscol;
+
++ if (row < 0)
++ row = 0;
++ if (col < 0)
++ col = 0;
++
+ UpdateAttrs(SP_PARM, blank);
+ TPUTS_TRACE("clr_eos");
+ NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
+@@ -1370,13 +1366,11 @@
+ && SP_PARM->_el_cost <= SP_PARM->_el1_cost) {
+ GoTo(NCURSES_SP_ARGx lineno, 0);
+ UpdateAttrs(SP_PARM, blank);
+- TPUTS_TRACE("clr_eol");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx clr_eol);
++ NCURSES_PUTP2("clr_eol", clr_eol);
+ } else {
+ GoTo(NCURSES_SP_ARGx lineno, nFirstChar - 1);
+ UpdateAttrs(SP_PARM, blank);
+- TPUTS_TRACE("clr_bol");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx clr_bol);
++ NCURSES_PUTP2("clr_bol", clr_bol);
+ }
+
+ while (firstChar < nFirstChar)
+@@ -1574,8 +1568,7 @@
+ if (fast_clear) {
+ if (clear_screen) {
+ UpdateAttrs(SP_PARM, blank);
+- TPUTS_TRACE("clear_screen");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx clear_screen);
++ NCURSES_PUTP2("clear_screen", clear_screen);
+ SP_PARM->_cursrow = SP_PARM->_curscol = 0;
+ position_check(SP_PARM,
+ SP_PARM->_cursrow,
+@@ -1595,8 +1588,7 @@
+ UpdateAttrs(SP_PARM, blank);
+ for (i = 0; i < screen_lines(SP_PARM); i++) {
+ GoTo(NCURSES_SP_ARGx i, 0);
+- TPUTS_TRACE("clr_eol");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx clr_eol);
++ NCURSES_PUTP2("clr_eol", clr_eol);
+ }
+ GoTo(NCURSES_SP_ARGx 0, 0);
+ }
+@@ -1647,27 +1639,22 @@
+ count--;
+ }
+ } else if (enter_insert_mode && exit_insert_mode) {
+- TPUTS_TRACE("enter_insert_mode");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx enter_insert_mode);
++ NCURSES_PUTP2("enter_insert_mode", enter_insert_mode);
+ while (count) {
+ PutAttrChar(NCURSES_SP_ARGx CHREF(*line));
+ if (insert_padding) {
+- TPUTS_TRACE("insert_padding");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx insert_padding);
++ NCURSES_PUTP2("insert_padding", insert_padding);
+ }
+ line++;
+ count--;
+ }
+- TPUTS_TRACE("exit_insert_mode");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx exit_insert_mode);
++ NCURSES_PUTP2("exit_insert_mode", exit_insert_mode);
+ } else {
+ while (count) {
+- TPUTS_TRACE("insert_character");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx insert_character);
++ NCURSES_PUTP2("insert_character", insert_character);
+ PutAttrChar(NCURSES_SP_ARGx CHREF(*line));
+ if (insert_padding) {
+- TPUTS_TRACE("insert_padding");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx insert_padding);
++ NCURSES_PUTP2("insert_padding", insert_padding);
+ }
+ line++;
+ count--;
+@@ -1701,8 +1688,7 @@
+ NCURSES_SP_NAME(_nc_outch));
+ } else {
+ for (n = 0; n < count; n++) {
+- TPUTS_TRACE("delete_character");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx delete_character);
++ NCURSES_PUTP2("delete_character", delete_character);
+ }
+ }
+ }
+@@ -1754,13 +1740,11 @@
+ if (n == 1 && scroll_forward && top == miny && bot == maxy) {
+ GoTo(NCURSES_SP_ARGx bot, 0);
+ UpdateAttrs(SP_PARM, blank);
+- TPUTS_TRACE("scroll_forward");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx scroll_forward);
++ NCURSES_PUTP2("scroll_forward", scroll_forward);
+ } else if (n == 1 && delete_line && bot == maxy) {
+ GoTo(NCURSES_SP_ARGx top, 0);
+ UpdateAttrs(SP_PARM, blank);
+- TPUTS_TRACE("delete_line");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx delete_line);
++ NCURSES_PUTP2("delete_line", delete_line);
+ } else if (parm_index && top == miny && bot == maxy) {
+ GoTo(NCURSES_SP_ARGx bot, 0);
+ UpdateAttrs(SP_PARM, blank);
+@@ -1781,15 +1765,13 @@
+ GoTo(NCURSES_SP_ARGx bot, 0);
+ UpdateAttrs(SP_PARM, blank);
+ for (i = 0; i < n; i++) {
+- TPUTS_TRACE("scroll_forward");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx scroll_forward);
++ NCURSES_PUTP2("scroll_forward", scroll_forward);
+ }
+ } else if (delete_line && bot == maxy) {
+ GoTo(NCURSES_SP_ARGx top, 0);
+ UpdateAttrs(SP_PARM, blank);
+ for (i = 0; i < n; i++) {
+- TPUTS_TRACE("delete_line");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx delete_line);
++ NCURSES_PUTP2("delete_line", delete_line);
+ }
+ } else
+ return ERR;
+@@ -1823,13 +1805,11 @@
+ if (n == 1 && scroll_reverse && top == miny && bot == maxy) {
+ GoTo(NCURSES_SP_ARGx top, 0);
+ UpdateAttrs(SP_PARM, blank);
+- TPUTS_TRACE("scroll_reverse");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx scroll_reverse);
++ NCURSES_PUTP2("scroll_reverse", scroll_reverse);
+ } else if (n == 1 && insert_line && bot == maxy) {
+ GoTo(NCURSES_SP_ARGx top, 0);
+ UpdateAttrs(SP_PARM, blank);
+- TPUTS_TRACE("insert_line");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx insert_line);
++ NCURSES_PUTP2("insert_line", insert_line);
+ } else if (parm_rindex && top == miny && bot == maxy) {
+ GoTo(NCURSES_SP_ARGx top, 0);
+ UpdateAttrs(SP_PARM, blank);
+@@ -1850,15 +1830,13 @@
+ GoTo(NCURSES_SP_ARGx top, 0);
+ UpdateAttrs(SP_PARM, blank);
+ for (i = 0; i < n; i++) {
+- TPUTS_TRACE("scroll_reverse");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx scroll_reverse);
++ NCURSES_PUTP2("scroll_reverse", scroll_reverse);
+ }
+ } else if (insert_line && bot == maxy) {
+ GoTo(NCURSES_SP_ARGx top, 0);
+ UpdateAttrs(SP_PARM, blank);
+ for (i = 0; i < n; i++) {
+- TPUTS_TRACE("insert_line");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx insert_line);
++ NCURSES_PUTP2("insert_line", insert_line);
+ }
+ } else
+ return ERR;
+@@ -1889,8 +1867,7 @@
+ GoTo(NCURSES_SP_ARGx del, 0);
+ UpdateAttrs(SP_PARM, blank);
+ if (n == 1 && delete_line) {
+- TPUTS_TRACE("delete_line");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx delete_line);
++ NCURSES_PUTP2("delete_line", delete_line);
+ } else if (parm_delete_line) {
+ TPUTS_TRACE("parm_delete_line");
+ NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
+@@ -1899,16 +1876,14 @@
+ NCURSES_SP_NAME(_nc_outch));
+ } else { /* if (delete_line) */
+ for (i = 0; i < n; i++) {
+- TPUTS_TRACE("delete_line");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx delete_line);
++ NCURSES_PUTP2("delete_line", delete_line);
+ }
+ }
+
+ GoTo(NCURSES_SP_ARGx ins, 0);
+ UpdateAttrs(SP_PARM, blank);
+ if (n == 1 && insert_line) {
+- TPUTS_TRACE("insert_line");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx insert_line);
++ NCURSES_PUTP2("insert_line", insert_line);
+ } else if (parm_insert_line) {
+ TPUTS_TRACE("parm_insert_line");
+ NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
+@@ -1917,8 +1892,7 @@
+ NCURSES_SP_NAME(_nc_outch));
+ } else { /* if (insert_line) */
+ for (i = 0; i < n; i++) {
+- TPUTS_TRACE("insert_line");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx insert_line);
++ NCURSES_PUTP2("insert_line", insert_line);
+ }
+ }
+
+@@ -1975,24 +1949,20 @@
+ && (SP_PARM->_cursrow == bot || SP_PARM->_cursrow == bot - 1))
+ && save_cursor && restore_cursor) {
+ cursor_saved = TRUE;
+- TPUTS_TRACE("save_cursor");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx save_cursor);
++ NCURSES_PUTP2("save_cursor", save_cursor);
+ }
+- TPUTS_TRACE("change_scroll_region");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx
+- TPARM_2(change_scroll_region, top, bot));
++ NCURSES_PUTP2("change_scroll_region",
++ TPARM_2(change_scroll_region, top, bot));
+ if (cursor_saved) {
+- TPUTS_TRACE("restore_cursor");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx restore_cursor);
++ NCURSES_PUTP2("restore_cursor", restore_cursor);
+ } else {
+ SP_PARM->_cursrow = SP_PARM->_curscol = -1;
+ }
+
+ res = scroll_csr_forward(NCURSES_SP_ARGx n, top, bot, top, bot, blank);
+
+- TPUTS_TRACE("change_scroll_region");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx
+- TPARM_2(change_scroll_region, 0, maxy));
++ NCURSES_PUTP2("change_scroll_region",
++ TPARM_2(change_scroll_region, 0, maxy));
+ SP_PARM->_cursrow = SP_PARM->_curscol = -1;
+ }
+
+@@ -2025,15 +1995,12 @@
+ SP_PARM->_cursrow == top - 1)
+ && save_cursor && restore_cursor) {
+ cursor_saved = TRUE;
+- TPUTS_TRACE("save_cursor");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx save_cursor);
++ NCURSES_PUTP2("save_cursor", save_cursor);
+ }
+- TPUTS_TRACE("change_scroll_region");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx
+- TPARM_2(change_scroll_region, top, bot));
++ NCURSES_PUTP2("change_scroll_region",
++ TPARM_2(change_scroll_region, top, bot));
+ if (cursor_saved) {
+- TPUTS_TRACE("restore_cursor");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx restore_cursor);
++ NCURSES_PUTP2("restore_cursor", restore_cursor);
+ } else {
+ SP_PARM->_cursrow = SP_PARM->_curscol = -1;
+ }
+@@ -2041,9 +2008,8 @@
+ res = scroll_csr_backward(NCURSES_SP_ARGx
+ -n, top, bot, top, bot, blank);
+
+- TPUTS_TRACE("change_scroll_region");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx
+- TPARM_2(change_scroll_region, 0, maxy));
++ NCURSES_PUTP2("change_scroll_region",
++ TPARM_2(change_scroll_region, 0, maxy));
+ SP_PARM->_cursrow = SP_PARM->_curscol = -1;
+ }
+
+@@ -2114,23 +2080,25 @@
+ }
+
+ if (exit_attribute_mode)
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx exit_attribute_mode);
++ NCURSES_PUTP2("exit_attribute_mode", exit_attribute_mode);
+ else {
+ /* turn off attributes */
+ if (exit_alt_charset_mode)
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx exit_alt_charset_mode);
++ NCURSES_PUTP2("exit_alt_charset_mode", exit_alt_charset_mode);
+ if (exit_standout_mode)
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx exit_standout_mode);
++ NCURSES_PUTP2("exit_standout_mode", exit_standout_mode);
+ if (exit_underline_mode)
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx exit_underline_mode);
++ NCURSES_PUTP2("exit_underline_mode", exit_underline_mode);
+ }
+ if (exit_insert_mode)
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx exit_insert_mode);
+- if (enter_am_mode && exit_am_mode)
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx
+- (auto_right_margin
+- ? enter_am_mode
+- : exit_am_mode));
++ NCURSES_PUTP2("exit_insert_mode", exit_insert_mode);
++ if (enter_am_mode && exit_am_mode) {
++ if (auto_right_margin) {
++ NCURSES_PUTP2("enter_am_mode", enter_am_mode);
++ } else {
++ NCURSES_PUTP2("exit_am_mode", exit_am_mode);
++ }
++ }
+ }
+
+ #if NCURSES_SP_FUNCS
+@@ -2159,33 +2127,33 @@
+ NCURSES_EXPORT(void)
+ NCURSES_SP_NAME(_nc_screen_wrap) (NCURSES_SP_DCL0)
+ {
+- if (SP_PARM == 0)
+- return;
++ if (SP_PARM != 0) {
+
+- UpdateAttrs(SP_PARM, normal);
++ UpdateAttrs(SP_PARM, normal);
+ #if NCURSES_EXT_FUNCS
+- if (SP_PARM->_coloron
+- && !SP_PARM->_default_color) {
+- static const NCURSES_CH_T blank = NewChar(BLANK_TEXT);
+- SP_PARM->_default_color = TRUE;
+- NCURSES_SP_NAME(_nc_do_color) (NCURSES_SP_ARGx
+- -1,
+- 0,
+- FALSE,
+- NCURSES_SP_NAME(_nc_outch));
+- SP_PARM->_default_color = FALSE;
+-
+- TINFO_MVCUR(NCURSES_SP_ARGx
+- SP_PARM->_cursrow,
+- SP_PARM->_curscol,
+- screen_lines(SP_PARM) - 1,
+- 0);
++ if (SP_PARM->_coloron
++ && !SP_PARM->_default_color) {
++ static const NCURSES_CH_T blank = NewChar(BLANK_TEXT);
++ SP_PARM->_default_color = TRUE;
++ NCURSES_SP_NAME(_nc_do_color) (NCURSES_SP_ARGx
++ -1,
++ 0,
++ FALSE,
++ NCURSES_SP_NAME(_nc_outch));
++ SP_PARM->_default_color = FALSE;
++
++ TINFO_MVCUR(NCURSES_SP_ARGx
++ SP_PARM->_cursrow,
++ SP_PARM->_curscol,
++ screen_lines(SP_PARM) - 1,
++ 0);
+
+- ClrToEOL(NCURSES_SP_ARGx blank, TRUE);
+- }
++ ClrToEOL(NCURSES_SP_ARGx blank, TRUE);
++ }
+ #endif
+- if (SP_PARM->_color_defs) {
+- NCURSES_SP_NAME(_nc_reset_colors) (NCURSES_SP_ARG);
++ if (SP_PARM->_color_defs) {
++ NCURSES_SP_NAME(_nc_reset_colors) (NCURSES_SP_ARG);
++ }
+ }
+ }
+
+Index: ncurses/widechar/lib_box_set.c
+Prereq: 1.5
+--- ncurses-5.9/ncurses/widechar/lib_box_set.c 2009-10-24 22:36:56.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/widechar/lib_box_set.c 2011-06-25 19:02:07.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2002-2003,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2009,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_box_set.c,v 1.5 2009/10/24 22:36:56 tom Exp $")
++MODULE_ID("$Id: lib_box_set.c,v 1.6 2011/06/25 19:02:07 Vassili.Courzakis Exp $")
+
+ NCURSES_EXPORT(int)
+ wborder_set(WINDOW *win,
+@@ -52,7 +52,7 @@
+ NCURSES_SIZE_T endx, endy;
+ NCURSES_CH_T wls, wrs, wts, wbs, wtl, wtr, wbl, wbr;
+
+- T((T_CALLED("wborder(%p,%s,%s,%s,%s,%s,%s,%s,%s)"),
++ T((T_CALLED("wborder_set(%p,%s,%s,%s,%s,%s,%s,%s,%s)"),
+ (void *) win,
+ _tracech_t2(1, ls),
+ _tracech_t2(2, rs),
+Index: ncurses/widechar/lib_cchar.c
+Prereq: 1.20
+--- ncurses-5.9/ncurses/widechar/lib_cchar.c 2010-12-25 23:46:26.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/widechar/lib_cchar.c 2012-03-24 18:37:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2001-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2001-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -35,7 +35,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_cchar.c,v 1.20 2010/12/25 23:46:26 tom Exp $")
++MODULE_ID("$Id: lib_cchar.c,v 1.26 2012/03/24 18:37:17 tom Exp $")
+
+ /*
+ * The SuSv2 description leaves some room for interpretation. We'll assume wch
+@@ -58,9 +58,9 @@
+ (void *) wcval, _nc_viswbuf(wch),
+ (unsigned long) attrs, color_pair, opts));
+
+- len = (unsigned) wcslen(wch);
+ if (opts != NULL
+- || (len > 1 && wcwidth(wch[0]) < 0)) {
++ || wch == NULL
++ || ((len = (unsigned) wcslen(wch)) > 1 && wcwidth(wch[0]) < 0)) {
+ code = ERR;
+ } else {
+ if (len > CCHARW_MAX)
+@@ -80,7 +80,7 @@
+ memset(wcval, 0, sizeof(*wcval));
+
+ if (len != 0) {
+- SetAttr(*wcval, attrs | (attr_t) ColorPair(color_pair));
++ SetAttr(*wcval, attrs);
+ SetPair(CHDEREF(wcval), color_pair);
+ memcpy(&wcval->chars, wch, len * sizeof(wchar_t));
+ TR(TRACE_CCALLS, ("copy %d wchars, first is %s", len,
+@@ -110,8 +110,8 @@
+ (void *) color_pair,
+ opts));
+
+- if (opts == NULL) {
+- len = ((wp = wmemchr(wcval->chars, L'\0', CCHARW_MAX))
++ if (opts == NULL && wcval != NULL) {
++ len = ((wp = wmemchr(wcval->chars, L'\0', (size_t) CCHARW_MAX))
+ ? (int) (wp - wcval->chars)
+ : CCHARW_MAX);
+
+@@ -126,7 +126,7 @@
+ } else if (len >= 0) {
+ *attrs = AttrOf(*wcval) & A_ATTRIBUTES;
+ *color_pair = (short) GetPair(*wcval);
+- wmemcpy(wch, wcval->chars, (unsigned) len);
++ wmemcpy(wch, wcval->chars, (size_t) len);
+ wch[len] = L'\0';
+ code = OK;
+ }
+Index: ncurses/widechar/lib_get_wch.c
+Prereq: 1.22
+--- ncurses-5.9/ncurses/widechar/lib_get_wch.c 2010-08-28 21:00:35.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/widechar/lib_get_wch.c 2011-05-28 23:00:29.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2002-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -40,7 +40,7 @@
+ #include <curses.priv.h>
+ #include <ctype.h>
+
+-MODULE_ID("$Id: lib_get_wch.c,v 1.22 2010/08/28 21:00:35 tom Exp $")
++MODULE_ID("$Id: lib_get_wch.c,v 1.23 2011/05/28 23:00:29 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ wget_wch(WINDOW *win, wint_t *result)
+@@ -106,7 +106,10 @@
+ } else {
+ code = ERR;
+ }
+- *result = (wint_t) value;
++
++ if (result != 0)
++ *result = (wint_t) value;
++
+ _nc_unlock_global(curses);
+ T(("result %#o", value));
+ returnCode(code);
+Index: ncurses/widechar/lib_get_wstr.c
+Prereq: 1.12
+--- ncurses-5.9/ncurses/widechar/lib_get_wstr.c 2009-10-24 22:38:11.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/widechar/lib_get_wstr.c 2011-10-22 16:31:35.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2002-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2009,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_get_wstr.c,v 1.12 2009/10/24 22:38:11 tom Exp $")
++MODULE_ID("$Id: lib_get_wstr.c,v 1.13 2011/10/22 16:31:35 tom Exp $")
+
+ static int
+ wadd_wint(WINDOW *win, wint_t *src)
+@@ -49,7 +49,7 @@
+
+ wch[0] = (wchar_t) (*src);
+ wch[1] = 0;
+- setcchar(&tmp, wch, A_NORMAL, 0, NULL);
++ setcchar(&tmp, wch, A_NORMAL, (short) 0, NULL);
+ return wadd_wch(win, &tmp);
+ }
+
+@@ -58,7 +58,7 @@
+ * or other character, and handles reverse wraparound.
+ */
+ static wint_t *
+-WipeOut(WINDOW *win, int y, int x, wint_t *first, wint_t *last, bool echoed)
++WipeOut(WINDOW *win, int y, int x, wint_t *first, wint_t *last, int echoed)
+ {
+ if (last > first) {
+ *--last = '\0';
+Index: ncurses/widechar/lib_ins_wch.c
+Prereq: 1.16
+--- ncurses-5.9/ncurses/widechar/lib_ins_wch.c 2010-12-19 01:34:04.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/widechar/lib_ins_wch.c 2011-10-22 16:34:50.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2002-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_ins_wch.c,v 1.16 2010/12/19 01:34:04 tom Exp $")
++MODULE_ID("$Id: lib_ins_wch.c,v 1.17 2011/10/22 16:34:50 tom Exp $")
+
+ /*
+ * Insert the given character, updating the current location to simplify
+@@ -132,7 +132,7 @@
+ (void) setcchar(&tmp_cchar,
+ &tmp_wchar,
+ WA_NORMAL,
+- 0,
++ (short) 0,
+ (void *) 0);
+ code = _nc_insert_wch(win, &tmp_cchar);
+ } else {
+Index: ncurses/widechar/lib_inwstr.c
+Prereq: 1.5
+--- ncurses-5.9/ncurses/widechar/lib_inwstr.c 2009-10-24 22:37:29.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/widechar/lib_inwstr.c 2011-05-28 22:49:49.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2002-2004,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2009,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_inwstr.c,v 1.5 2009/10/24 22:37:29 tom Exp $")
++MODULE_ID("$Id: lib_inwstr.c,v 1.6 2011/05/28 22:49:49 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ winnwstr(WINDOW *win, wchar_t *wstr, int n)
+@@ -93,8 +93,13 @@
+ winwstr(WINDOW *win, wchar_t *wstr)
+ {
+ int result = OK;
++
+ T((T_CALLED("winwstr(%p,%p)"), (void *) win, (void *) wstr));
+- if (winnwstr(win, wstr, CCHARW_MAX * (win->_maxx - win->_curx + 1)) == ERR)
++ if (win == 0) {
++ result = ERR;
++ } else if (winnwstr(win, wstr,
++ CCHARW_MAX * (win->_maxx - win->_curx + 1)) == ERR) {
+ result = ERR;
++ }
+ returnCode(result);
+ }
+Index: ncurses/widechar/lib_slk_wset.c
+Prereq: 1.11
+--- ncurses-5.9/ncurses/widechar/lib_slk_wset.c 2005-01-16 01:03:53.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/widechar/lib_slk_wset.c 2011-10-22 15:52:20.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2003-2004,2005 Free Software Foundation, Inc. *
++ * Copyright (c) 2003-2002,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -40,7 +40,7 @@
+ #include <wctype.h>
+ #endif
+
+-MODULE_ID("$Id: lib_slk_wset.c,v 1.11 2005/01/16 01:03:53 tom Exp $")
++MODULE_ID("$Id: lib_slk_wset.c,v 1.13 2011/10/22 15:52:20 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ slk_wset(int i, const wchar_t *astr, int format)
+@@ -53,19 +53,21 @@
+
+ T((T_CALLED("slk_wset(%d, %s, %d)"), i, _nc_viswbuf(astr), format));
+
+- init_mb(state);
+- str = astr;
+- if ((arglen = wcsrtombs(NULL, &str, 0, &state)) != (size_t) -1) {
+- if ((mystr = (char *) _nc_doalloc(0, arglen + 1)) != 0) {
+- str = astr;
+- if (wcsrtombs(mystr, &str, arglen, &state) != (size_t) -1) {
+- /* glibc documentation claims that the terminating L'\0'
+- * is written, but it is not...
+- */
+- mystr[arglen] = 0;
+- result = slk_set(i, mystr, format);
++ if (astr != 0) {
++ init_mb(state);
++ str = astr;
++ if ((arglen = wcsrtombs(NULL, &str, (size_t) 0, &state)) != (size_t) -1) {
++ if ((mystr = (char *) _nc_doalloc(0, arglen + 1)) != 0) {
++ str = astr;
++ if (wcsrtombs(mystr, &str, arglen, &state) != (size_t) -1) {
++ /* glibc documentation claims that the terminating L'\0'
++ * is written, but it is not...
++ */
++ mystr[arglen] = 0;
++ result = slk_set(i, mystr, format);
++ }
++ free(mystr);
+ }
+- free(mystr);
+ }
+ }
+ returnCode(result);
+Index: ncurses/widechar/lib_unget_wch.c
+Prereq: 1.14
+--- ncurses-5.9/ncurses/widechar/lib_unget_wch.c 2010-07-24 11:35:21.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/widechar/lib_unget_wch.c 2011-10-22 16:34:50.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2002-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_unget_wch.c,v 1.14 2010/07/24 11:35:21 tom Exp $")
++MODULE_ID("$Id: lib_unget_wch.c,v 1.15 2011/10/22 16:34:50 tom Exp $")
+
+ /*
+ * Wrapper for wcrtomb() which obtains the length needed for the given
+@@ -55,7 +55,7 @@
+ const wchar_t *tempp = temp;
+ temp[0] = source;
+ temp[1] = 0;
+- result = (int) wcsrtombs(NULL, &tempp, 0, state);
++ result = (int) wcsrtombs(NULL, &tempp, (size_t) 0, state);
+ } else {
+ result = (int) wcrtomb(target, source, state);
+ }
+Index: ncurses/widechar/lib_vid_attr.c
+Prereq: 1.14
+--- ncurses-5.9/ncurses/widechar/lib_vid_attr.c 2010-12-19 01:44:24.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/widechar/lib_vid_attr.c 2013-01-12 18:01:35.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2002-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -36,7 +36,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_vid_attr.c,v 1.14 2010/12/19 01:44:24 tom Exp $")
++MODULE_ID("$Id: lib_vid_attr.c,v 1.17 2013/01/12 18:01:35 tom Exp $")
+
+ #define doPut(mode) TPUTS_TRACE(#mode); NCURSES_SP_NAME(tputs)(NCURSES_SP_ARGx mode, 1, outc)
+
+@@ -120,7 +120,7 @@
+ * A_ALTCHARSET (256) down 2 to line up. We use the NCURSES_BITS
+ * macro so this will work properly for the wide-character layout.
+ */
+- unsigned value = no_color_video;
++ unsigned value = (unsigned) no_color_video;
+ attr_t mask = NCURSES_BITS((value & 63)
+ | ((value & 192) << 1)
+ | ((value & 256) >> 2), 8);
+@@ -278,7 +278,7 @@
+ newmode,
+ pair,
+ opts,
+- NCURSES_SP_NAME(_nc_outch)));
++ NCURSES_SP_NAME(_nc_putchar)));
+ }
+
+ #if NCURSES_SP_FUNCS
+@@ -296,24 +296,26 @@
+ NCURSES_EXPORT(attr_t)
+ NCURSES_SP_NAME(term_attrs) (NCURSES_SP_DCL0)
+ {
+- attr_t attrs;
++ attr_t attrs = 0;
+
+ T((T_CALLED("term_attrs()")));
+- attrs = SP_PARM ? NCURSES_SP_NAME(termattrs) (NCURSES_SP_ARG) : 0;
++ if (SP_PARM) {
++ attrs = NCURSES_SP_NAME(termattrs) (NCURSES_SP_ARG);
+
+- /* these are only supported for wide-character mode */
+- if (enter_horizontal_hl_mode)
+- attrs |= WA_HORIZONTAL;
+- if (enter_left_hl_mode)
+- attrs |= WA_LEFT;
+- if (enter_low_hl_mode)
+- attrs |= WA_LOW;
+- if (enter_right_hl_mode)
+- attrs |= WA_RIGHT;
+- if (enter_top_hl_mode)
+- attrs |= WA_TOP;
+- if (enter_vertical_hl_mode)
+- attrs |= WA_VERTICAL;
++ /* these are only supported for wide-character mode */
++ if (enter_horizontal_hl_mode)
++ attrs |= WA_HORIZONTAL;
++ if (enter_left_hl_mode)
++ attrs |= WA_LEFT;
++ if (enter_low_hl_mode)
++ attrs |= WA_LOW;
++ if (enter_right_hl_mode)
++ attrs |= WA_RIGHT;
++ if (enter_top_hl_mode)
++ attrs |= WA_TOP;
++ if (enter_vertical_hl_mode)
++ attrs |= WA_VERTICAL;
++ }
+
+ returnAttr(attrs);
+ }
+Index: ncurses/widechar/lib_wacs.c
+Prereq: 1.10
+--- ncurses-5.9/ncurses/widechar/lib_wacs.c 2010-12-19 01:43:19.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/widechar/lib_wacs.c 2013-02-02 17:10:48.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2002-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_wacs.c,v 1.10 2010/12/19 01:43:19 tom Exp $")
++MODULE_ID("$Id: lib_wacs.c,v 1.13 2013/02/02 17:10:48 tom Exp $")
+
+ NCURSES_EXPORT_VAR(cchar_t) * _nc_wacs = 0;
+
+@@ -119,22 +119,24 @@
+ T(("initializing WIDE-ACS map (Unicode is%s active)",
+ active ? "" : " not"));
+
+- _nc_wacs = typeCalloc(cchar_t, ACS_LEN);
+- for (n = 0; n < SIZEOF(table); ++n) {
+- int wide = wcwidth(table[n].value[active]);
+-
+- m = table[n].map;
+- if (active && (wide == 1)) {
+- SetChar(_nc_wacs[m], table[n].value[active], A_NORMAL);
+- } else if (acs_map[m] & A_ALTCHARSET) {
+- SetChar(_nc_wacs[m], m, A_ALTCHARSET);
+- } else {
+- SetChar(_nc_wacs[m], table[n].value[0], A_NORMAL);
+- }
++ if ((_nc_wacs = typeCalloc(cchar_t, ACS_LEN)) != 0) {
++
++ for (n = 0; n < SIZEOF(table); ++n) {
++ int wide = wcwidth(table[n].value[active]);
+
+- T(("#%d, SetChar(%c, %#04x) = %s",
+- n, m,
+- table[n].value[active],
+- _tracecchar_t(&_nc_wacs[m])));
++ m = table[n].map;
++ if (active && (wide == 1)) {
++ SetChar(_nc_wacs[m], table[n].value[1], A_NORMAL);
++ } else if (acs_map[m] & A_ALTCHARSET) {
++ SetChar(_nc_wacs[m], m, A_ALTCHARSET);
++ } else {
++ SetChar(_nc_wacs[m], table[n].value[0], A_NORMAL);
++ }
++
++ T(("#%d, SetChar(%c, %#04x) = %s",
++ n, m,
++ table[n].value[active],
++ _tracecchar_t(&_nc_wacs[m])));
++ }
+ }
+ }
+Index: ncurses/widechar/lib_wunctrl.c
+Prereq: 1.14
+--- ncurses-5.9/ncurses/widechar/lib_wunctrl.c 2010-12-19 01:42:15.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/widechar/lib_wunctrl.c 2012-12-15 20:53:42.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2001-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2001-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -35,14 +35,17 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_wunctrl.c,v 1.14 2010/12/19 01:42:15 tom Exp $")
++MODULE_ID("$Id: lib_wunctrl.c,v 1.16 2012/12/15 20:53:42 tom Exp $")
+
+ NCURSES_EXPORT(wchar_t *)
+ NCURSES_SP_NAME(wunctrl) (NCURSES_SP_DCLx cchar_t *wc)
+ {
+ static wchar_t str[CCHARW_MAX + 1], *wsp;
++ wchar_t *result;
+
+- if (Charable(*wc)) {
++ if (wc == 0) {
++ result = 0;
++ } else if (SP_PARM != 0 && Charable(*wc)) {
+ const char *p =
+ NCURSES_SP_NAME(unctrl) (NCURSES_SP_ARGx
+ (unsigned) _nc_to_char((wint_t)CharOf(*wc)));
+@@ -51,9 +54,11 @@
+ *wsp++ = (wchar_t) _nc_to_widechar(*p);
+ }
+ *wsp = 0;
+- return str;
+- } else
+- return wc->chars;
++ result = str;
++ } else {
++ result = wc->chars;
++ }
++ return result;
+ }
+
+ #if NCURSES_SP_FUNCS
+Index: ncurses/widechar/widechars.c
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/ncurses/widechar/widechars.c 2013-03-02 18:55:51.000000000 +0000
+@@ -0,0 +1,152 @@
++/****************************************************************************
++ * Copyright (c) 2012,2013 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++
++#include <curses.priv.h>
++
++#if USE_WIDEC_SUPPORT
++
++MODULE_ID("$Id: widechars.c,v 1.5 2013/03/02 18:55:51 tom Exp $")
++
++#if defined(__MINGW32__)
++/*
++ * MinGW has wide-character functions, but they do not work correctly.
++ */
++
++int
++_nc_mbtowc(wchar_t *pwc, const char *s, size_t n)
++{
++ int result;
++ int count;
++ int try;
++
++ if (s != 0 && n != 0) {
++ /*
++ * MultiByteToWideChar() can decide to return more than one
++ * wide-character. We want only one. Ignore any trailing null, both
++ * in the initial count and in the conversion.
++ */
++ count = 0;
++ for (try = 1; try <= (int) n; ++try) {
++ count = MultiByteToWideChar(CP_UTF8,
++ MB_ERR_INVALID_CHARS,
++ s,
++ try,
++ pwc,
++ 0);
++ TR(TRACE_BITS, ("...try %d:%d", try, count));
++ if (count > 0) {
++ break;
++ }
++ }
++ if (count < 1 || count > 2) {
++ result = -1;
++ } else {
++ wchar_t actual[2];
++ memset(&actual, 0, sizeof(actual));
++ count = MultiByteToWideChar(CP_UTF8,
++ MB_ERR_INVALID_CHARS,
++ s,
++ try,
++ actual,
++ 2);
++ TR(TRACE_BITS, ("\twin32 ->%#x, %#x", actual[0], actual[1]));
++ *pwc = actual[0];
++ if (actual[1] != 0)
++ result = -1;
++ else
++ result = try;
++ }
++ } else {
++ result = 0;
++ }
++
++ return result;
++}
++
++int
++_nc_mblen(const char *s, size_t n)
++{
++ int result = -1;
++ int count;
++ wchar_t temp;
++
++ if (s != 0 && n != 0) {
++ count = _nc_mbtowc(&temp, s, n);
++ if (count == 1) {
++ int check = WideCharToMultiByte(CP_UTF8,
++ 0,
++ &temp,
++ 1,
++ NULL,
++ 0, /* compute length only */
++ NULL,
++ NULL);
++ TR(TRACE_BITS, ("\tcheck ->%d\n", check));
++ if (check > 0 && (size_t) check <= n) {
++ result = check;
++ }
++ }
++ } else {
++ result = 0;
++ }
++
++ return result;
++}
++
++int __MINGW_NOTHROW
++_nc_wctomb(char *s, wchar_t wc)
++{
++ int result;
++ int check;
++
++ check = WideCharToMultiByte(CP_UTF8,
++ 0,
++ &wc,
++ 1,
++ NULL,
++ 0, /* compute length only */
++ NULL,
++ NULL);
++ if (check > 0) {
++ result = WideCharToMultiByte(CP_UTF8,
++ 0,
++ &wc,
++ 1,
++ s,
++ check + 1,
++ NULL,
++ NULL);
++ } else {
++ result = -1;
++ }
++ return result;
++}
++
++#endif /* __MINGW32__ */
++
++#endif /* USE_WIDEC_SUPPORT */
+Index: ncurses/win32con/win_driver.c
+Prereq: 1.10
+--- ncurses-5.9/ncurses/win32con/win_driver.c 2010-12-25 19:28:21.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/win32con/win_driver.c 2013-03-02 19:48:06.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,6 @@
+
+ /****************************************************************************
+ * Author: Juergen Pfeifer *
+- * *
+ ****************************************************************************/
+
+ /*
+@@ -39,12 +38,16 @@
+ #include <curses.priv.h>
+ #define CUR my_term.type.
+
+-MODULE_ID("$Id: win_driver.c,v 1.10 2010/12/25 19:28:21 tom Exp $")
++MODULE_ID("$Id: win_driver.c,v 1.18 2013/03/02 19:48:06 tom Exp $")
+
+ #define WINMAGIC NCDRV_MAGIC(NCDRV_WINCONSOLE)
+
+-#define AssertTCB() assert(TCB!=0 && TCB->magic==WINMAGIC)
+-#define SetSP() assert(TCB->csp!=0); sp = TCB->csp
++#define EXP_OPTIMIZE 0
++
++#define okConsoleHandle(TCB) (TCB != 0 && !InvalidConsoleHandle(TCB->hdl))
++
++#define AssertTCB() assert(TCB != 0 && (TCB->magic == WINMAGIC))
++#define SetSP() assert(TCB->csp != 0); sp = TCB->csp; (void) sp
+
+ #define GenMap(vKey,key) MAKELONG(key, vKey)
+
+@@ -69,6 +72,7 @@
+ typedef struct props {
+ CONSOLE_SCREEN_BUFFER_INFO SBI;
+ bool progMode;
++ TERM_HANDLE lastOut;
+ DWORD map[MAPSIZE];
+ DWORD rmap[MAPSIZE];
+ WORD pairs[NUMPAIRS];
+@@ -103,7 +107,7 @@
+ }
+
+ static WORD
+-MapAttr(TERMINAL_CONTROL_BLOCK * TCB, WORD res, chtype ch)
++MapAttr(TERMINAL_CONTROL_BLOCK * TCB, WORD res, attr_t ch)
+ {
+ if (ch & A_COLOR) {
+ int p;
+@@ -135,8 +139,68 @@
+ return res;
+ }
+
++#if USE_WIDEC_SUPPORT
++/*
++ * TODO: support surrogate pairs
++ * TODO: support combining characters
++ * TODO: support acsc
++ * TODO: check wcwidth of base character, fill if needed for double-width
++ * TODO: _nc_wacs should be part of sp.
++ */
+ static BOOL
+-con_write(TERMINAL_CONTROL_BLOCK * TCB, int y, int x, chtype *str, int n)
++con_write16(TERMINAL_CONTROL_BLOCK * TCB, int y, int x, cchar_t *str, int limit)
++{
++ int actual = 0;
++ CHAR_INFO ci[limit];
++ COORD loc, siz;
++ SMALL_RECT rec;
++ int i;
++ cchar_t ch;
++ SCREEN *sp;
++
++ AssertTCB();
++
++ SetSP();
++
++ for (i = actual = 0; i < limit; i++) {
++ ch = str[i];
++ if (isWidecExt(ch))
++ continue;
++ ci[actual].Char.UnicodeChar = CharOf(ch);
++ ci[actual].Attributes = MapAttr(TCB,
++ PropOf(TCB)->SBI.wAttributes,
++ AttrOf(ch));
++ if (AttrOf(ch) & A_ALTCHARSET) {
++ if (_nc_wacs) {
++ int which = CharOf(ch);
++ if (which > 0
++ && which < ACS_LEN
++ && CharOf(_nc_wacs[which]) != 0) {
++ ci[actual].Char.UnicodeChar = CharOf(_nc_wacs[which]);
++ } else {
++ ci[actual].Char.UnicodeChar = ' ';
++ }
++ }
++ }
++ ++actual;
++ }
++
++ loc.X = (short) 0;
++ loc.Y = (short) 0;
++ siz.X = (short) actual;
++ siz.Y = 1;
++
++ rec.Left = (short) x;
++ rec.Top = (short) y;
++ rec.Right = (short) (x + limit - 1);
++ rec.Bottom = rec.Top;
++
++ return WriteConsoleOutputW(TCB->hdl, ci, siz, loc, &rec);
++}
++#define con_write(tcb, y, x, str, n) con_write16(tcb, y, x, str, n)
++#else
++static BOOL
++con_write8(TERMINAL_CONTROL_BLOCK * TCB, int y, int x, chtype *str, int n)
+ {
+ CHAR_INFO ci[n];
+ COORD loc, siz;
+@@ -147,9 +211,6 @@
+
+ AssertTCB();
+
+- if (TCB == 0 || InvalidConsoleHandle(TCB->hdl))
+- return FALSE;
+-
+ SetSP();
+
+ for (i = 0; i < n; i++) {
+@@ -177,55 +238,163 @@
+
+ return WriteConsoleOutput(TCB->hdl, ci, siz, loc, &rec);
+ }
++#define con_write(tcb, y, x, str, n) con_write8(tcb, y, x, str, n)
++#endif
++
++#if EXP_OPTIMIZE
++/*
++ * Comparing new/current screens, determine the last column-index for a change
++ * beginning on the given row,col position. Unlike a serial terminal, there is
++ * no cost for "moving" the "cursor" on the line as we update it.
++ */
++static int
++find_end_of_change(SCREEN *sp, int row, int col)
++{
++ int result = col;
++ struct ldat *curdat = CurScreen(sp)->_line + row;
++ struct ldat *newdat = NewScreen(sp)->_line + row;
++
++ while (col <= newdat->lastchar) {
++#if USE_WIDEC_SUPPORT
++ if (isWidecExt(curdat->text[col]) || isWidecExt(newdat->text[col])) {
++ result = col;
++ } else if (memcmp(&curdat->text[col],
++ &newdat->text[col],
++ sizeof(curdat->text[0]))) {
++ result = col;
++ } else {
++ break;
++ }
++#else
++ if (curdat->text[col] != newdat->text[col]) {
++ result = col;
++ } else {
++ break;
++ }
++#endif
++ ++col;
++ }
++ return result;
++}
++
++/*
++ * Given a row,col position at the end of a change-chunk, look for the
++ * beginning of the next change-chunk.
++ */
++static int
++find_next_change(SCREEN *sp, int row, int col)
++{
++ struct ldat *curdat = CurScreen(sp)->_line + row;
++ struct ldat *newdat = NewScreen(sp)->_line + row;
++ int result = newdat->lastchar + 1;
++
++ while (++col <= newdat->lastchar) {
++#if USE_WIDEC_SUPPORT
++ if (isWidecExt(curdat->text[col]) != isWidecExt(newdat->text[col])) {
++ result = col;
++ break;
++ } else if (memcmp(&curdat->text[col],
++ &newdat->text[col],
++ sizeof(curdat->text[0]))) {
++ result = col;
++ break;
++ }
++#else
++ if (curdat->text[col] != newdat->text[col]) {
++ result = col;
++ break;
++ }
++#endif
++ }
++ return result;
++}
++
++#define EndChange(first) \
++ find_end_of_change(sp, y, first)
++#define NextChange(last) \
++ find_next_change(sp, y, last)
++
++#endif /* EXP_OPTIMIZE */
+
+ #define MARK_NOCHANGE(win,row) \
+ win->_line[row].firstchar = _NOCHANGE; \
+ win->_line[row].lastchar = _NOCHANGE
+
++static void
++selectActiveHandle(TERMINAL_CONTROL_BLOCK * TCB)
++{
++ if (PropOf(TCB)->lastOut != TCB->hdl) {
++ PropOf(TCB)->lastOut = TCB->hdl;
++ SetConsoleActiveScreenBuffer(PropOf(TCB)->lastOut);
++ }
++}
++
+ static int
+ drv_doupdate(TERMINAL_CONTROL_BLOCK * TCB)
+ {
++ int result = ERR;
+ int y, nonempty, n, x0, x1, Width, Height;
+ SCREEN *sp;
+
+ AssertTCB();
+ SetSP();
+
+- Width = screen_columns(sp);
+- Height = screen_lines(sp);
+- nonempty = min(Height, NewScreen(sp)->_maxy + 1);
+-
+- if ((CurScreen(sp)->_clear || NewScreen(sp)->_clear)) {
+- int x;
+- chtype empty[Width];
++ T((T_CALLED("win32con::drv_doupdate(%p)"), TCB));
++ if (okConsoleHandle(TCB)) {
++
++ Width = screen_columns(sp);
++ Height = screen_lines(sp);
++ nonempty = min(Height, NewScreen(sp)->_maxy + 1);
++
++ if ((CurScreen(sp)->_clear || NewScreen(sp)->_clear)) {
++ int x;
++#if USE_WIDEC_SUPPORT
++ cchar_t empty[Width];
++ wchar_t blank[2] =
++ {
++ L' ', L'\0'
++ };
+
+- for (x = 0; x < Width; x++)
+- empty[x] = ' ';
++ for (x = 0; x < Width; x++)
++ setcchar(&empty[x], blank, 0, 0, 0);
++#else
++ chtype empty[Width];
++
++ for (x = 0; x < Width; x++)
++ empty[x] = ' ';
++#endif
++
++ for (y = 0; y < nonempty; y++) {
++ con_write(TCB, y, 0, empty, Width);
++ memcpy(empty,
++ CurScreen(sp)->_line[y].text,
++ Width * sizeof(empty[0]));
++ }
++ CurScreen(sp)->_clear = FALSE;
++ NewScreen(sp)->_clear = FALSE;
++ touchwin(NewScreen(sp));
++ }
+
+ for (y = 0; y < nonempty; y++) {
+- con_write(TCB, y, 0, empty, Width);
+- memcpy(empty,
+- CurScreen(sp)->_line[y].text,
+- Width * sizeof(chtype));
+- }
+- CurScreen(sp)->_clear = FALSE;
+- NewScreen(sp)->_clear = FALSE;
+- touchwin(NewScreen(sp));
+- }
+-
+- for (y = 0; y < nonempty; y++) {
+- x0 = NewScreen(sp)->_line[y].firstchar;
+- if (x0 != _NOCHANGE) {
+- x1 = NewScreen(sp)->_line[y].lastchar;
+- n = x1 - x0 + 1;
+- if (n > 0) {
+- memcpy(CurScreen(sp)->_line[y].text + x0,
+- NewScreen(sp)->_line[y].text + x0,
+- n * sizeof(chtype));
+- con_write(TCB,
+- y,
+- x0,
+- ((chtype *) CurScreen(sp)->_line[y].text) + x0, n);
++ x0 = NewScreen(sp)->_line[y].firstchar;
++ if (x0 != _NOCHANGE) {
++#if EXP_OPTIMIZE
++ int x2;
++ int limit = NewScreen(sp)->_line[y].lastchar;
++ while ((x1 = EndChange(x0)) <= limit) {
++ while ((x2 = NextChange(x1)) <= limit && x2 <= (x1 + 2)) {
++ x1 = x2;
++ }
++ n = x1 - x0 + 1;
++ memcpy(&CurScreen(sp)->_line[y].text[x0],
++ &NewScreen(sp)->_line[y].text[x0],
++ n * sizeof(CurScreen(sp)->_line[y].text[x0]));
++ con_write(TCB,
++ y,
++ x0,
++ &CurScreen(sp)->_line[y].text[x0], n);
++ x0 = NextChange(x1);
++ }
+
+ /* mark line changed successfully */
+ if (y <= NewScreen(sp)->_maxy) {
+@@ -234,26 +403,50 @@
+ if (y <= CurScreen(sp)->_maxy) {
+ MARK_NOCHANGE(CurScreen(sp), y);
+ }
++#else
++ x1 = NewScreen(sp)->_line[y].lastchar;
++ n = x1 - x0 + 1;
++ if (n > 0) {
++ memcpy(&CurScreen(sp)->_line[y].text[x0],
++ &NewScreen(sp)->_line[y].text[x0],
++ n * sizeof(CurScreen(sp)->_line[y].text[x0]));
++ con_write(TCB,
++ y,
++ x0,
++ &CurScreen(sp)->_line[y].text[x0], n);
++
++ /* mark line changed successfully */
++ if (y <= NewScreen(sp)->_maxy) {
++ MARK_NOCHANGE(NewScreen(sp), y);
++ }
++ if (y <= CurScreen(sp)->_maxy) {
++ MARK_NOCHANGE(CurScreen(sp), y);
++ }
++ }
++#endif
+ }
+ }
+- }
+
+- /* put everything back in sync */
+- for (y = nonempty; y <= NewScreen(sp)->_maxy; y++) {
+- MARK_NOCHANGE(NewScreen(sp), y);
+- }
+- for (y = nonempty; y <= CurScreen(sp)->_maxy; y++) {
+- MARK_NOCHANGE(CurScreen(sp), y);
+- }
+-
+- if (!NewScreen(sp)->_leaveok) {
+- CurScreen(sp)->_curx = NewScreen(sp)->_curx;
+- CurScreen(sp)->_cury = NewScreen(sp)->_cury;
++ /* put everything back in sync */
++ for (y = nonempty; y <= NewScreen(sp)->_maxy; y++) {
++ MARK_NOCHANGE(NewScreen(sp), y);
++ }
++ for (y = nonempty; y <= CurScreen(sp)->_maxy; y++) {
++ MARK_NOCHANGE(CurScreen(sp), y);
++ }
+
+- TCB->drv->hwcur(TCB, 0, 0, CurScreen(sp)->_cury, CurScreen(sp)->_curx);
++ if (!NewScreen(sp)->_leaveok) {
++ CurScreen(sp)->_curx = NewScreen(sp)->_curx;
++ CurScreen(sp)->_cury = NewScreen(sp)->_cury;
++
++ TCB->drv->hwcur(TCB,
++ 0, 0,
++ CurScreen(sp)->_cury, CurScreen(sp)->_curx);
++ }
++ selectActiveHandle(TCB);
++ result = OK;
+ }
+- SetConsoleActiveScreenBuffer(TCB->hdl);
+- return OK;
++ returnCode(result);
+ }
+
+ static bool
+@@ -269,7 +462,7 @@
+ assert(tname != 0);
+
+ TCB->magic = WINMAGIC;
+- if (*tname == 0 || *tname == 0) {
++ if (*tname == 0 || *tname == 0 || *tname == '#') {
+ code = TRUE;
+ } else {
+ TERMINAL my_term;
+@@ -308,7 +501,7 @@
+
+ static int
+ drv_dobeepflash(TERMINAL_CONTROL_BLOCK * TCB,
+- bool beepFlag GCC_UNUSED)
++ int beepFlag GCC_UNUSED)
+ {
+ SCREEN *sp;
+ int res = ERR;
+@@ -348,13 +541,13 @@
+
+ static void
+ drv_setcolor(TERMINAL_CONTROL_BLOCK * TCB,
+- bool fore,
++ int fore,
+ int color,
+ int (*outc) (SCREEN *, int) GCC_UNUSED)
+ {
+ AssertTCB();
+
+- if (TCB && !InvalidConsoleHandle(TCB->hdl)) {
++ if (okConsoleHandle(TCB)) {
+ WORD a = MapColor(fore, color);
+ a = ((PropOf(TCB)->SBI.wAttributes) & (fore ? 0xfff8 : 0xff8f)) | a;
+ SetConsoleTextAttribute(TCB->hdl, a);
+@@ -368,7 +561,7 @@
+ bool res = FALSE;
+
+ AssertTCB();
+- if (TCB && !InvalidConsoleHandle(TCB->hdl)) {
++ if (okConsoleHandle(TCB)) {
+ WORD a = FOREGROUND_BLUE | FOREGROUND_RED | FOREGROUND_GREEN;
+ SetConsoleTextAttribute(TCB->hdl, a);
+ GetConsoleScreenBufferInfo(TCB->hdl, &(PropOf(TCB)->SBI));
+@@ -392,14 +585,20 @@
+ static int
+ drv_size(TERMINAL_CONTROL_BLOCK * TCB, int *Lines, int *Cols)
+ {
++ int result = ERR;
++
+ AssertTCB();
+
+- if (TCB == NULL || Lines == NULL || Cols == NULL || InvalidConsoleHandle(TCB->hdl))
+- return ERR;
++ T((T_CALLED("win32con::drv_size(%p)"), TCB));
+
+- *Lines = (int) (PropOf(TCB)->SBI.dwSize.Y);
+- *Cols = (int) (PropOf(TCB)->SBI.dwSize.X);
+- return OK;
++ if (okConsoleHandle(TCB) &&
++ Lines != NULL &&
++ Cols != NULL) {
++ *Lines = (int) (PropOf(TCB)->SBI.dwSize.Y);
++ *Cols = (int) (PropOf(TCB)->SBI.dwSize.X);
++ result = OK;
++ }
++ returnCode(result);
+ }
+
+ static int
+@@ -412,7 +611,7 @@
+ }
+
+ static int
+-drv_sgmode(TERMINAL_CONTROL_BLOCK * TCB, bool setFlag, TTY * buf)
++drv_sgmode(TERMINAL_CONTROL_BLOCK * TCB, int setFlag, TTY * buf)
+ {
+ DWORD dwFlag = 0;
+ tcflag_t iflag;
+@@ -479,7 +678,7 @@
+ }
+
+ static int
+-drv_mode(TERMINAL_CONTROL_BLOCK * TCB, bool progFlag, bool defFlag)
++drv_mode(TERMINAL_CONTROL_BLOCK * TCB, int progFlag, int defFlag)
+ {
+ SCREEN *sp;
+ TERMINAL *_term = (TERMINAL *) TCB;
+@@ -489,7 +688,8 @@
+ sp = TCB->csp;
+
+ PropOf(TCB)->progMode = progFlag;
+- SetConsoleActiveScreenBuffer(progFlag ? TCB->hdl : TCB->out);
++ PropOf(TCB)->lastOut = progFlag ? TCB->hdl : TCB->out;
++ SetConsoleActiveScreenBuffer(PropOf(TCB)->lastOut);
+
+ if (progFlag) /* prog mode */ {
+ if (defFlag) {
+@@ -674,9 +874,9 @@
+
+ static void
+ drv_initpair(TERMINAL_CONTROL_BLOCK * TCB,
+- short pair,
+- short f,
+- short b)
++ int pair,
++ int f,
++ int b)
+ {
+ SCREEN *sp;
+
+@@ -691,10 +891,10 @@
+
+ static void
+ drv_initcolor(TERMINAL_CONTROL_BLOCK * TCB,
+- short color GCC_UNUSED,
+- short r GCC_UNUSED,
+- short g GCC_UNUSED,
+- short b GCC_UNUSED)
++ int color GCC_UNUSED,
++ int r GCC_UNUSED,
++ int g GCC_UNUSED,
++ int b GCC_UNUSED)
+ {
+ SCREEN *sp;
+
+@@ -704,9 +904,9 @@
+
+ static void
+ drv_do_color(TERMINAL_CONTROL_BLOCK * TCB,
+- short old_pair GCC_UNUSED,
+- short pair GCC_UNUSED,
+- bool reverse GCC_UNUSED,
++ int old_pair GCC_UNUSED,
++ int pair GCC_UNUSED,
++ int reverse GCC_UNUSED,
+ int (*outc) (SCREEN *, int) GCC_UNUSED
+ )
+ {
+@@ -755,7 +955,7 @@
+ int y, int x)
+ {
+ int ret = ERR;
+- if (TCB && !InvalidConsoleHandle(TCB->hdl)) {
++ if (okConsoleHandle(TCB)) {
+ COORD loc;
+ loc.X = (short) x;
+ loc.Y = (short) y;
+@@ -778,7 +978,7 @@
+
+ static void
+ drv_hwlabelOnOff(TERMINAL_CONTROL_BLOCK * TCB,
+- bool OnFlag GCC_UNUSED)
++ int OnFlag GCC_UNUSED)
+ {
+ SCREEN *sp;
+
+@@ -999,8 +1199,7 @@
+ }
+ continue;
+ default:
+- SetConsoleActiveScreenBuffer(!PropOf(TCB)->progMode ?
+- TCB->hdl : TCB->out);
++ selectActiveHandle(TCB);
+ continue;
+ }
+ }
+@@ -1080,7 +1279,6 @@
+ BOOL b;
+ DWORD nRead;
+ WORD vk;
+- WORD sc;
+
+ AssertTCB();
+ assert(buf);
+@@ -1096,7 +1294,6 @@
+ continue;
+ *buf = (int) inp_rec.Event.KeyEvent.uChar.AsciiChar;
+ vk = inp_rec.Event.KeyEvent.wVirtualKeyCode;
+- sc = inp_rec.Event.KeyEvent.wVirtualScanCode;
+ if (*buf == 0) {
+ if (sp->_keypad_on) {
+ *buf = MapKey(TCB, vk);
+@@ -1124,8 +1321,9 @@
+ static int
+ drv_nap(TERMINAL_CONTROL_BLOCK * TCB GCC_UNUSED, int ms)
+ {
++ T((T_CALLED("win32con::drv_nap(%p, %d)"), TCB, ms));
+ Sleep(ms);
+- return OK;
++ returnCode(OK);
+ }
+
+ static bool
+@@ -1142,6 +1340,7 @@
+
+ AssertTCB();
+
++ T((T_CALLED("win32con::drv_kyExist(%p, %d)"), TCB, keycode));
+ res = bsearch(&key,
+ PropOf(TCB)->rmap,
+ (size_t) (N_INI + FKEYS),
+@@ -1153,11 +1352,11 @@
+ if (!(nKey & 0x8000))
+ found = TRUE;
+ }
+- return found;
++ returnCode(found);
+ }
+
+ static int
+-drv_kpad(TERMINAL_CONTROL_BLOCK * TCB, bool flag GCC_UNUSED)
++drv_kpad(TERMINAL_CONTROL_BLOCK * TCB, int flag GCC_UNUSED)
+ {
+ SCREEN *sp;
+ int code = ERR;
+@@ -1165,14 +1364,15 @@
+ AssertTCB();
+ sp = TCB->csp;
+
++ T((T_CALLED("win32con::drv_kpad(%p, %d)"), TCB, flag));
+ if (sp) {
+ code = OK;
+ }
+- return code;
++ returnCode(code);
+ }
+
+ static int
+-drv_keyok(TERMINAL_CONTROL_BLOCK * TCB, int keycode, bool flag)
++drv_keyok(TERMINAL_CONTROL_BLOCK * TCB, int keycode, int flag)
+ {
+ int code = ERR;
+ SCREEN *sp;
+@@ -1184,6 +1384,7 @@
+ AssertTCB();
+ SetSP();
+
++ T((T_CALLED("win32con::drv_keyok(%p, %d, %d)"), TCB, keycode, flag));
+ if (sp) {
+ res = bsearch(&key,
+ PropOf(TCB)->rmap,
+@@ -1199,7 +1400,7 @@
+ *(LONG *) res = GenMap(vKey, nKey);
+ }
+ }
+- return code;
++ returnCode(code);
+ }
+
+ NCURSES_EXPORT_VAR (TERM_DRIVER) _nc_WIN_DRIVER = {
+Index: package/debian/changelog
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/package/debian/changelog 2013-05-04 14:56:00.000000000 +0000
+@@ -0,0 +1,11 @@
++ncurses6 (5.9-20130504) unstable; urgency=low
++
++ * latest weekly patch
++
++ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 04 May 2013 10:55:57 -0400
++
++ncurses6 (5.9-20120608) unstable; urgency=low
++
++ * initial release
++
++ -- Thomas E. Dickey <dickey@invisible-island.net> Fri, 08 Jun 2012 07:54:29 -0400
+Index: package/debian/compat
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/package/debian/compat 2010-04-20 19:47:10.000000000 +0000
+@@ -0,0 +1 @@
++5
+Index: package/debian/control
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/package/debian/control 2012-06-08 13:29:14.000000000 +0000
+@@ -0,0 +1,16 @@
++Source: ncurses6
++Section: libdevel
++Priority: optional
++Maintainer: Thomas E. Dickey <dickey@invisible-island.net>
++Homepage: http://invisible-island.net/ncurses/
++Build-Depends: debhelper (>= 7)
++Standards-Version: 3.8.2
++
++Package: ncurses6
++Architecture: any
++Depends: ${misc:Depends}
++Description: shared libraries for terminal handling
++ The ncurses library routines are a terminal-independent method of
++ updating character screens with reasonable optimization.
++ .
++ This package is used for testing ABI 6.
+Index: package/debian/copyright
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/package/debian/copyright 2012-06-08 12:27:36.000000000 +0000
+@@ -0,0 +1,112 @@
++This package is used for testing builds of ncurses.
++
++Copyright (c) 1998-2012 Free Software Foundation, Inc.
++Copyright © 2001 by Pradeep Padala
++
++Permission is hereby granted, free of charge, to any person obtaining a
++copy of this software and associated documentation files (the
++"Software"), to deal in the Software without restriction, including
++without limitation the rights to use, copy, modify, merge, publish,
++distribute, distribute with modifications, sublicense, and/or sell
++copies of the Software, and to permit persons to whom the Software is
++furnished to do so, subject to the following conditions:
++
++The above copyright notice and this permission notice shall be included
++in all copies or substantial portions of the Software.
++
++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
++OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
++IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
++DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
++OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
++THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++
++Except as contained in this notice, the name(s) of the above copyright
++holders shall not be used in advertising or otherwise to promote the
++sale, use or other dealings in this Software without prior written
++authorization.
++
++
++Copyright (C) 1994 X Consortium
++
++Permission is hereby granted, free of charge, to any person obtaining a copy
++of this software and associated documentation files (the "Software"), to
++deal in the Software without restriction, including without limitation the
++rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
++sell copies of the Software, and to permit persons to whom the Software is
++furnished to do so, subject to the following conditions:
++
++The above copyright notice and this permission notice shall be included in
++all copies or substantial portions of the Software.
++
++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
++X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
++AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
++TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++
++Except as contained in this notice, the name of the X Consortium shall not
++be used in advertising or otherwise to promote the sale, use or other deal-
++ings in this Software without prior written authorization from the X Consor-
++tium.
++
++
++Copyright (c) 1980, 1991, 1992, 1993
++ The Regents of the University of California. All rights reserved.
++
++Redistribution and use in source and binary forms, with or without
++modification, are permitted provided that the following conditions
++are met:
++1. Redistributions of source code must retain the above copyright
++ notice, this list of conditions and the following disclaimer.
++2. Redistributions in binary form must reproduce the above copyright
++ notice, this list of conditions and the following disclaimer in the
++ documentation and/or other materials provided with the distribution.
++3. Neither the name of the University nor the names of its contributors
++ may be used to endorse or promote products derived from this software
++ without specific prior written permission.
++
++THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
++ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
++FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++SUCH DAMAGE.
++
++
++Copyright 1996-2007 by Thomas E. Dickey
++
++ All Rights Reserved
++
++Permission is hereby granted, free of charge, to any person obtaining a
++copy of this software and associated documentation files (the
++"Software"), to deal in the Software without restriction, including
++without limitation the rights to use, copy, modify, merge, publish,
++distribute, sublicense, and/or sell copies of the Software, and to
++permit persons to whom the Software is furnished to do so, subject to
++the following conditions:
++
++The above copyright notice and this permission notice shall be included
++in all copies or substantial portions of the Software.
++
++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
++OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
++IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
++CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
++TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
++SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++
++Except as contained in this notice, the name(s) of the above copyright
++holders shall not be used in advertising or otherwise to promote the
++sale, use or other dealings in this Software without prior written
++authorization.
++
++-- vile: txtmode file-encoding=utf-8
+Index: package/debian/rules
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/package/debian/rules 2013-03-30 18:58:01.000000000 +0000
+@@ -0,0 +1,123 @@
++#!/usr/bin/make -f
++# MAde with the aid of dh_make, by Craig Small
++# Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess.
++# Some lines taken from debmake, by Cristoph Lameter.
++
++# Uncomment this to turn on verbose mode.
++#export DH_VERBOSE=1
++
++# These are used for cross-compiling and for saving the configure script
++# from having to guess our platform (since we know it already)
++DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
++DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
++
++CC_NORMAL = -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wconversion
++CC_STRICT = $(CC_NORMAL) -W -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wnested-externs -Wpointer-arith -Wwrite-strings -ansi -pedantic
++
++MY_DIR=/usr/local/ncurses6
++MYDATA=/usr/local/ncurses/share/terminfo
++BUILD_DIR=$(CURDIR)/debian/ncurses6
++
++CFLAGS = $(CC_NORMAL)
++
++ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
++ CFLAGS += -O0
++else
++ CFLAGS += -O2
++endif
++ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
++ INSTALL_PROGRAM += -s
++endif
++
++
++configure: configure-stamp
++configure-stamp:
++ dh_testdir
++
++ RPATH_LIST=../lib:$(MY_DIR)/lib \
++ CFLAGS="$(CFLAGS)" ./configure \
++ --host=$(DEB_HOST_GNU_TYPE) \
++ --build=$(DEB_BUILD_GNU_TYPE) \
++ --prefix=$(MY_DIR) \
++ --with-default-terminfo-dir=$(MYDATA) \
++ --with-terminfo-dirs=$(MYDATA):/usr/share/terminfo \
++ --disable-echo \
++ --disable-getcap \
++ --disable-leaks \
++ --disable-macros \
++ --disable-termcap \
++ --enable-const \
++ --enable-ext-colors \
++ --enable-ext-mouse \
++ --enable-hard-tabs \
++ --enable-interop \
++ --enable-rpath \
++ --enable-sp-funcs \
++ --enable-warnings \
++ --enable-widec \
++ --verbose \
++ --with-develop \
++ --with-shared \
++ --with-termlib \
++ --with-ticlib \
++ --with-trace \
++ --with-cxx-shared \
++ --with-xterm-kbs=DEL \
++ --without-ada \
++ --without-debug \
++ --without-normal
++
++ touch configure-stamp
++
++build: build-stamp
++build-stamp: configure-stamp
++ dh_testdir
++
++ $(MAKE)
++
++ touch build-stamp
++
++clean:
++ dh_testdir
++ dh_testroot
++
++ [ ! -f makefile ] || $(MAKE) distclean
++
++ rm -f configure-stamp build-stamp install-stamp
++
++ dh_clean
++
++install: install-stamp
++install-stamp: build-stamp
++ dh_testdir
++ dh_testroot
++ dh_clean -k
++ dh_installdirs
++
++ $(MAKE) install.libs install.progs DESTDIR=$(BUILD_DIR)
++
++ ( cd test && make ncurses LOCAL_LIBDIR=$(MY_DIR)/lib )
++ mv test/ncurses $(BUILD_DIR)$(MY_DIR)/bin/ncurses6
++
++ touch install-stamp
++
++# Build architecture-independent files here.
++binary-indep: build install
++# No binary-indep target.
++
++# Build architecture-dependent files here.
++binary-arch: build install
++ dh_testdir
++ dh_testroot
++ dh_installchangelogs NEWS
++ dh_strip
++ dh_compress
++ dh_fixperms
++ dh_installdeb
++ dh_shlibdeps
++ dh_gencontrol
++ dh_md5sums
++ dh_builddeb
++
++binary: binary-indep binary-arch
++.PHONY: build clean binary-indep binary-arch binary install install-stamp
+Index: package/debian/source/format
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/package/debian/source/format 2010-06-22 21:37:16.000000000 +0000
+@@ -0,0 +1 @@
++3.0 (native)
+Index: package/debian/watch
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/package/debian/watch 2012-06-08 11:53:43.000000000 +0000
+@@ -0,0 +1,4 @@
++version=3
++
++opts=passive ftp://invisible-island.net/ncurses/current/ncurses\.tar.gz \
++ debian uupdate
+Index: package/ncurses.spec
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/package/ncurses.spec 2013-05-04 14:56:00.000000000 +0000
+@@ -0,0 +1,92 @@
++Summary: shared libraries for terminal handling
++Name: ncurses6
++Release: 5.9
++Version: 20130504
++License: X11
++Group: Development/Libraries
++Source: ncurses-%{release}-%{version}.tgz
++# URL: http://invisible-island.net/ncurses/
++
++%define CC_NORMAL -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wconversion
++%define CC_STRICT %{CC_NORMAL} -W -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wnested-externs -Wpointer-arith -Wwrite-strings -ansi -pedantic
++
++%define _prefix /usr/local/ncurses6
++%define MYDATA /usr/local/ncurses/share/terminfo
++
++%description
++The ncurses library routines are a terminal-independent method of
++updating character screens with reasonable optimization.
++
++This package is used for testing ABI 6.
++
++%prep
++
++%define debug_package %{nil}
++%setup -q -n ncurses-%{release}-%{version}
++
++%build
++CFLAGS="%{CC_NORMAL}" \
++RPATH_LIST=../lib:%{_prefix}/lib \
++%configure \
++ --target %{_target_platform} \
++ --prefix=%{_prefix} \
++ --includedir='${prefix}/include' \
++ --with-default-terminfo-dir=%{MYDATA} \
++ --with-install-prefix=$RPM_BUILD_ROOT \
++ --with-terminfo-dirs=%{MYDATA}:/usr/share/terminfo \
++ --disable-echo \
++ --disable-getcap \
++ --disable-leaks \
++ --disable-macros \
++ --disable-overwrite \
++ --disable-termcap \
++ --enable-const \
++ --enable-ext-colors \
++ --enable-ext-mouse \
++ --enable-hard-tabs \
++ --enable-interop \
++ --enable-rpath \
++ --enable-sp-funcs \
++ --enable-warnings \
++ --enable-widec \
++ --verbose \
++ --with-develop \
++ --with-shared \
++ --with-termlib \
++ --with-ticlib \
++ --with-trace \
++ --with-cxx-shared \
++ --with-xterm-kbs=DEL \
++ --without-ada \
++ --without-debug \
++ --without-normal
++
++make
++
++%install
++rm -rf $RPM_BUILD_ROOT
++
++make install.libs install.progs
++rm -f test/ncurses
++( cd test && make ncurses LOCAL_LIBDIR=%{_libdir} && mv ncurses $RPM_BUILD_ROOT/%{_bindir}/ncurses6 )
++
++%clean
++rm -rf $RPM_BUILD_ROOT
++
++%files
++%defattr(-,root,root,-)
++%{_bindir}/*
++%{_includedir}/*
++%{_libdir}/*
++#%{_datadir}/*
++
++%changelog
++
++* Sat Mar 09 2013 Thomas E. Dickey
++- add --with-cxx-shared option to demonstrate c++ binding as shared library
++
++* Sat Oct 26 2012 Thomas E. Dickey
++- add ncurses program as "ncurses6" to provide demonstration.
++
++* Fri Jun 08 2012 Thomas E. Dickey
++- initial version.
+Index: panel/Makefile.in
+Prereq: 1.58
+--- ncurses-5.9/panel/Makefile.in 2010-11-27 21:45:27.000000000 +0000
++++ ncurses-5.9-20130504/panel/Makefile.in 2012-09-29 19:37:34.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: Makefile.in,v 1.58 2010/11/27 21:45:27 tom Exp $
++# $Id: Makefile.in,v 1.61 2012/09/29 19:37:34 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -57,6 +57,7 @@
+ bindir = @bindir@
+ libdir = @libdir@
+ includedir = @includedir@
++datarootdir = @datarootdir@
+ datadir = @datadir@
+
+ LIBTOOL = @LIBTOOL@
+@@ -103,6 +104,7 @@
+ SHLIB_DIRS = -L../lib
+ SHLIB_LIST = $(SHLIB_DIRS) -lncurses@LIB_SUFFIX@ @SHLIB_LIST@
+
++RPATH_LIST = @RPATH_LIST@
+ MK_SHARED_LIB = @MK_SHARED_LIB@
+
+ NCURSES_MAJOR = @NCURSES_MAJOR@
+@@ -112,7 +114,7 @@
+
+ RANLIB = @LIB_PREP@
+
+-LIBRARIES = @LIBS_TO_MAKE@
++LIBRARIES = @Libs_To_Make@
+
+ LINT = @LINT@
+ LINT_OPTS = @LINT_OPTS@
+Index: panel/p_above.c
+Prereq: 1.8
+--- ncurses-5.9/panel/p_above.c 2010-01-23 21:22:15.000000000 +0000
++++ ncurses-5.9-20130504/panel/p_above.c 2012-03-10 23:43:41.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -36,13 +36,13 @@
+ */
+ #include "panel.priv.h"
+
+-MODULE_ID("$Id: p_above.c,v 1.8 2010/01/23 21:22:15 tom Exp $")
++MODULE_ID("$Id: p_above.c,v 1.9 2012/03/10 23:43:41 tom Exp $")
+
+ #if NCURSES_SP_FUNCS
+ NCURSES_EXPORT(PANEL *)
+ ground_panel(SCREEN * sp)
+ {
+- T((T_CALLED("ground_panel(%p)"), sp));
++ T((T_CALLED("ground_panel(%p)"), (void *)sp));
+ if (sp)
+ {
+ struct panelhook *ph = NCURSES_SP_NAME(_nc_panelhook) (sp);
+Index: panel/p_below.c
+Prereq: 1.8
+--- ncurses-5.9/panel/p_below.c 2010-01-23 21:22:15.000000000 +0000
++++ ncurses-5.9-20130504/panel/p_below.c 2012-03-10 23:43:41.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -36,13 +36,13 @@
+ */
+ #include "panel.priv.h"
+
+-MODULE_ID("$Id: p_below.c,v 1.8 2010/01/23 21:22:15 tom Exp $")
++MODULE_ID("$Id: p_below.c,v 1.9 2012/03/10 23:43:41 tom Exp $")
+
+ #if NCURSES_SP_FUNCS
+ NCURSES_EXPORT(PANEL *)
+ ceiling_panel(SCREEN * sp)
+ {
+- T((T_CALLED("ceiling_panel(%p)"), sp));
++ T((T_CALLED("ceiling_panel(%p)"), (void *)sp));
+ if (sp)
+ {
+ struct panelhook *ph = NCURSES_SP_NAME(_nc_panelhook) (sp);
+Index: panel/panel.c
+Prereq: 1.25
+--- ncurses-5.9/panel/panel.c 2010-01-23 21:22:16.000000000 +0000
++++ ncurses-5.9-20130504/panel/panel.c 2012-02-23 10:02:15.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -36,7 +36,7 @@
+ /* panel.c -- implementation of panels library, some core routines */
+ #include "panel.priv.h"
+
+-MODULE_ID("$Id: panel.c,v 1.25 2010/01/23 21:22:16 tom Exp $")
++MODULE_ID("$Id: panel.c,v 1.26 2012/02/23 10:02:15 tom Exp $")
+
+ /*+-------------------------------------------------------------------------
+ _nc_retrace_panel (pan)
+@@ -61,9 +61,9 @@
+ char temp[32];
+
+ if (ptr != 0)
+- sprintf(temp, "ptr:%p", ptr);
++ _nc_SPRINTF(temp, _nc_SLIMIT(sizeof(temp)) "ptr:%p", ptr);
+ else
+- strcpy(temp, "<null>");
++ _nc_STRCPY(temp, "<null>", sizeof(temp));
+ return _nc_visbuf(temp);
+ }
+ #endif
+@@ -95,7 +95,7 @@
+
+ GetPanelHook(pan);
+
+- sprintf(s80, fmt, num, pan);
++ _nc_SPRINTF(s80, _nc_SLIMIT(sizeof(s80)) fmt, num, pan);
+ _tracef("%s b=%s t=%s", s80,
+ (_nc_bottom_panel) ? USER_PTR(_nc_bottom_panel->user) : "--",
+ (_nc_top_panel) ? USER_PTR(_nc_top_panel->user) : "--");
+@@ -143,7 +143,7 @@
+ {
+ char s80[80];
+
+- sprintf(s80, "Touchline s=%d c=%d", start, count);
++ _nc_SPRINTF(s80, _nc_SLIMIT(sizeof(s80)) "Touchline s=%d c=%d", start, count);
+ dPanel(s80, pan);
+ touchline(pan->win, start, count);
+ }
+Index: panel/panel.priv.h
+Prereq: 1.23
+--- ncurses-5.9/panel/panel.priv.h 2009-04-11 20:33:55.000000000 +0000
++++ ncurses-5.9-20130504/panel/panel.priv.h 2012-12-15 23:57:43.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+
+-/* $Id: panel.priv.h,v 1.23 2009/04/11 20:33:55 tom Exp $ */
++/* $Id: panel.priv.h,v 1.25 2012/12/15 23:57:43 tom Exp $ */
+
+ #ifndef NCURSES_PANEL_PRIV_H
+ #define NCURSES_PANEL_PRIV_H 1
+@@ -89,7 +89,7 @@
+ #define GetScreenHook(sp) \
+ struct panelhook* ph = NCURSES_SP_NAME(_nc_panelhook)(sp)
+ #define GetPanelHook(pan) \
+- GetScreenHook(_nc_screen_of((pan)->win))
++ GetScreenHook(pan ? _nc_screen_of((pan)->win) : 0)
+ #define GetWindowHook(win) \
+ SCREEN* sp = _nc_screen_of(win); \
+ GetScreenHook(sp)
+@@ -160,7 +160,7 @@
+ ---------------------------------------------------------------------------*/
+ #define PANEL_UPDATE(pan,panstart)\
+ { PANEL* pan2 = ((panstart) ? (panstart) : _nc_bottom_panel);\
+- while(pan2) {\
++ while(pan2 && pan2->win) {\
+ if ((pan2 != pan) && PANELS_OVERLAPPED(pan,pan2)) {\
+ int y, ix1, ix2, iy1, iy2;\
+ COMPUTE_INTERSECTION(pan, pan2, ix1, ix2, iy1, iy2);\
+Index: progs/Makefile.in
+Prereq: 1.85
+--- ncurses-5.9/progs/Makefile.in 2010-11-27 21:45:27.000000000 +0000
++++ ncurses-5.9-20130504/progs/Makefile.in 2012-08-11 21:31:56.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: Makefile.in,v 1.85 2010/11/27 21:45:27 tom Exp $
++# $Id: Makefile.in,v 1.89 2012/08/11 21:31:56 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -61,6 +61,7 @@
+ bindir = @bindir@
+ libdir = @libdir@
+ includedir = @includedir@
++datarootdir = @datarootdir@
+ datadir = @datadir@
+
+ LIBTOOL = @LIBTOOL@
+@@ -104,20 +105,21 @@
+ LD = @LD@
+ LINK = @LINK_PROGS@ $(LIBTOOL_LINK)
+ LDFLAGS = @EXTRA_LDFLAGS@ @LDFLAGS@
++RPATH_LIST = @RPATH_LIST@
+
+ LDFLAGS_LIBTOOL = $(LDFLAGS) $(CFLAGS_LIBTOOL)
+ LDFLAGS_NORMAL = $(LDFLAGS) $(CFLAGS_NORMAL)
+ LDFLAGS_DEBUG = $(LDFLAGS) $(CFLAGS_DEBUG)
+-LDFLAGS_PROFILE = $(LDFLAGS) $(CFLAGS_PROFILE)
++LDFLAGS_PROFILE = $(LDFLAGS) $(CFLAGS_PROFILE)
+ LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@
+
+ LDFLAGS_DEFAULT = $(LDFLAGS_@DFT_UPR_MODEL@)
+
+-LIBS_TIC = @LDFLAGS_STATIC@ @TICS_ARGS@ @TINFO_ARGS@ @LDFLAGS_SHARED@ @LD_MODEL@ @LIBS@
+-LDFLAGS_TIC = $(LDFLAGS_@DFT_UPR_MODEL@) $(LIBS_TIC)
++LIBS_TIC = @TINFO_LDFLAGS@ @LDFLAGS_STATIC@ @TICS_LIBS@ @TINFO_LIBS@ @LDFLAGS_SHARED@ @LD_MODEL@ @LIBS@
++LDFLAGS_TIC = @TICS_LDFLAGS@ $(LDFLAGS_@DFT_UPR_MODEL@) $(LIBS_TIC)
+
+-LIBS_TINFO = @LDFLAGS_STATIC@ @TINFO_ARGS@ @LDFLAGS_SHARED@ @LD_MODEL@ @LIBS@
+-LDFLAGS_TINFO = $(LDFLAGS_@DFT_UPR_MODEL@) $(LIBS_TINFO)
++LIBS_TINFO = @LDFLAGS_STATIC@ @TINFO_LIBS@ @LDFLAGS_SHARED@ @LD_MODEL@ @LIBS@
++LDFLAGS_TINFO = @TINFO_LDFLAGS@ $(LDFLAGS_@DFT_UPR_MODEL@) $(LIBS_TINFO)
+
+ LINT = @LINT@
+ LINT_OPTS = @LINT_OPTS@
+@@ -230,46 +232,46 @@
+ $(MODEL)/transform$o
+
+ tic$x: $(DEPS_TIC) $(DEPS_CURSES) transform.h
+- @ECHO_LINK@ $(LINK) $(DEPS_TIC) $(LDFLAGS_TIC) -o $@
++ @ECHO_LD@ $(LINK) $(DEPS_TIC) $(LDFLAGS_TIC) -o $@
+
+ DEPS_TOE = \
+ $(MODEL)/toe$o
+
+ toe$x: $(DEPS_TOE) $(DEPS_CURSES)
+- @ECHO_LINK@ $(LINK) $(DEPS_TOE) $(LDFLAGS_TIC) -o $@
++ @ECHO_LD@ $(LINK) $(DEPS_TOE) $(LDFLAGS_TIC) -o $@
+
+ DEPS_CLEAR = \
+ $(MODEL)/clear$o
+
+ clear$x: $(DEPS_CLEAR) $(DEPS_CURSES)
+- @ECHO_LINK@ $(LINK) $(DEPS_CLEAR) $(LDFLAGS_TINFO) -o $@
++ @ECHO_LD@ $(LINK) $(DEPS_CLEAR) $(LDFLAGS_TINFO) -o $@
+
+ DEPS_TABS = \
+ $(MODEL)/tabs$o
+
+ tabs$x: $(DEPS_TABS) $(DEPS_TABS)
+- @ECHO_LINK@ $(LINK) $(DEPS_TABS) $(LDFLAGS_TINFO) -o $@
++ @ECHO_LD@ $(LINK) $(DEPS_TABS) $(LDFLAGS_TINFO) -o $@
+
+ DEPS_TPUT = \
+ $(MODEL)/tput$o \
+ $(MODEL)/transform$o
+
+ tput$x: $(DEPS_TPUT) $(DEPS_CURSES) transform.h
+- @ECHO_LINK@ $(LINK) $(DEPS_TPUT) $(LDFLAGS_TINFO) -o $@
++ @ECHO_LD@ $(LINK) $(DEPS_TPUT) $(LDFLAGS_TINFO) -o $@
+
+ DEPS_INFOCMP = \
+ $(MODEL)/infocmp$o \
+ $(MODEL)/dump_entry$o
+
+ infocmp$x: $(DEPS_INFOCMP) $(DEPS_CURSES)
+- @ECHO_LINK@ $(LINK) $(DEPS_INFOCMP) $(LDFLAGS_TIC) -o $@
++ @ECHO_LD@ $(LINK) $(DEPS_INFOCMP) $(LDFLAGS_TIC) -o $@
+
+ DEPS_TSET = \
+ $(MODEL)/tset$o \
+ $(MODEL)/transform$o
+
+ tset$x: $(DEPS_TSET) $(DEPS_CURSES) transform.h
+- @ECHO_LINK@ $(LINK) $(DEPS_TSET) $(LDFLAGS_TINFO) -o $@
++ @ECHO_LD@ $(LINK) $(DEPS_TSET) $(LDFLAGS_TINFO) -o $@
+
+ termsort.c: $(srcdir)/MKtermsort.sh
+ sh $(srcdir)/MKtermsort.sh $(AWK) $(srcdir)/../include/@TERMINFO_CAPS@ >$@
+Index: progs/capconvert
+Prereq: 1.4
+--- ncurses-5.9/progs/capconvert 2006-04-22 21:46:17.000000000 +0000
++++ ncurses-5.9-20130504/progs/capconvert 2011-11-12 23:28:07.000000000 +0000
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+ ##############################################################################
+-# Copyright (c) 1998,2006 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2006,2011 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -26,7 +26,7 @@
+ # use or other dealings in this Software without prior written #
+ # authorization. #
+ ##############################################################################
+-# $Id: capconvert,v 1.4 2006/04/22 21:46:17 tom Exp $
++# $Id: capconvert,v 1.5 2011/11/12 23:28:07 Robert.Millan Exp $
+ #
+ # capconvert -- automated conversion from termcap to terminfo
+ #
+@@ -77,16 +77,18 @@
+ # Assumes the terminfo master covers all canned terminal types
+ exit;
+ fi
+- if test "$TERM" = "xterm"
+- then
++ case $TERM in
++ xterm | xterm-*)
+ echo "You are running xterm, which usually sets TERMCAP itself."
+ echo "We can ignore this, because terminfo knows about xterm."
+ echo "So you will just use the system-wide terminfo tree."
+- exit;
+- else
++ exit
++ ;;
++ *)
+ echo "We will have to make a local one for you anyway, to capture the effect"
+ echo "of your TERMCAP variable."
+- fi
++ ;;
++ esac
+ else
+ echo "No system-wide terminfo tree. We will make you a local one."
+ fi
+@@ -109,7 +111,7 @@
+ for x in $PATH .
+ do
+ if test $OPT $x/tic
+- then
++ then
+ TIC=$x/tic
+ break
+ fi
+@@ -141,7 +143,7 @@
+ then
+ echo "It appears you already have a private terminfo directory"
+ echo "at $HOME/.terminfo; this seems odd, because TERMINFO"
+- echo "is not defined. I am not going to second-guess this -- if you"
++ echo "is not defined. I am not going to second-guess this -- if you"
+ echo "really want me to try auto-configuring for you, remove or"
+ echo "rename $HOME/terminfo and run me again."
+ exit;
+@@ -214,7 +216,7 @@
+ #
+ echo "You now have a private tree under $HOME/.terminfo;"
+ echo "the ncurses library will automatically read from it,"
+-echo "and ncurses tic will automatically compile entries to it."
++echo "and ncurses tic will automatically compile entries to it."
+
+ # We're done unless user has a .termcap file or equivalent named by TERMCAP
+ if test -z "$TERMCAP"
+@@ -235,7 +237,7 @@
+ echo "Done."
+ echo "Note that editing $HOME/.termcap will no longer change the data curses sees."
+ elif test -f "$TERMCAP"
+-then
++then
+ echo "Your TERMCAP names the file $TERMCAP. I will compile that."
+ eval $TIC $TERMCAP
+ echo "Done."
+Index: progs/dump_entry.c
+Prereq: 1.89
+--- ncurses-5.9/progs/dump_entry.c 2010-05-01 22:04:08.000000000 +0000
++++ ncurses-5.9-20130504/progs/dump_entry.c 2013-05-04 18:48:56.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+ #include "termsort.c" /* this C file is generated */
+ #include <parametrized.h> /* so is this */
+
+-MODULE_ID("$Id: dump_entry.c,v 1.89 2010/05/01 22:04:08 tom Exp $")
++MODULE_ID("$Id: dump_entry.c,v 1.109 2013/05/04 18:48:56 tom Exp $")
+
+ #define INDENT 8
+ #define DISCARD(string) string = ABSENT_STRING
+@@ -57,6 +57,7 @@
+ static int outform; /* output format to use */
+ static int sortmode; /* sort mode to use */
+ static int width = 60; /* max line width for listings */
++static int height = 65535; /* max number of lines for listings */
+ static int column; /* current column, limited by 'width' */
+ static int oldcol; /* last value of column before wrap */
+ static bool pretty; /* true if we format if-then-else strings */
+@@ -72,7 +73,7 @@
+ static NCURSES_CONST char *const *num_names;
+ static NCURSES_CONST char *const *str_names;
+
+-static const char *separator, *trailer;
++static const char *separator = "", *trailer = "";
+
+ /* cover various ports and variants of terminfo */
+ #define V_ALLCAPS 0 /* all capabilities (SVr4, XSI, ncurses) */
+@@ -99,6 +100,15 @@
+ #define StrIndirect(j) ((sortmode == S_NOSORT) ? (j) : str_indirect[j])
+ #endif
+
++static void failed(const char *) GCC_NORETURN;
++
++static void
++failed(const char *s)
++{
++ perror(s);
++ ExitProgram(EXIT_FAILURE);
++}
++
+ static void
+ strncpy_DYN(DYNBUF * dst, const char *src, size_t need)
+ {
+@@ -106,6 +116,8 @@
+ if (want > dst->size) {
+ dst->size += (want + 1024); /* be generous */
+ dst->text = typeRealloc(char, dst->size, dst->text);
++ if (dst->text == 0)
++ failed("strncpy_DYN");
+ }
+ (void) strncpy(dst->text + dst->used, src, need);
+ dst->used += need;
+@@ -172,11 +184,17 @@
+ }
+
+ void
+-dump_init(const char *version, int mode, int sort, int twidth, int traceval,
++dump_init(const char *version,
++ int mode,
++ int sort,
++ int twidth,
++ int theight,
++ unsigned traceval,
+ bool formatted)
+ /* set up for entry display */
+ {
+ width = twidth;
++ height = theight;
+ pretty = formatted;
+
+ /* versions */
+@@ -201,7 +219,7 @@
+ bool_names = boolnames;
+ num_names = numnames;
+ str_names = strnames;
+- separator = twidth ? ", " : ",";
++ separator = (twidth > 0 && theight > 1) ? ", " : ",";
+ trailer = "\n\t";
+ break;
+
+@@ -209,7 +227,7 @@
+ bool_names = boolfnames;
+ num_names = numfnames;
+ str_names = strfnames;
+- separator = twidth ? ", " : ",";
++ separator = (twidth > 0 && theight > 1) ? ", " : ",";
+ trailer = "\n\t";
+ break;
+
+@@ -291,7 +309,11 @@
+ static void set_obsolete_termcaps(TERMTYPE *tp);
+
+ /* is this the index of a function key string? */
+-#define FNKEY(i) (((i)<= 65 && (i)>= 75) || ((i)<= 216 && (i)>= 268))
++#define FNKEY(i) \
++ (((i) >= STR_IDX(key_f0) && \
++ (i) <= STR_IDX(key_f9)) || \
++ ((i) >= STR_IDX(key_f11) && \
++ (i) <= STR_IDX(key_f63)))
+
+ /*
+ * If we configure with a different Caps file, the offsets into the arrays
+@@ -393,8 +415,8 @@
+ static void
+ wrap_concat(const char *src)
+ {
+- unsigned need = strlen(src);
+- unsigned want = strlen(separator) + need;
++ size_t need = strlen(src);
++ size_t want = strlen(separator) + need;
+
+ if (column > INDENT
+ && column + (int) want > width) {
+@@ -473,7 +495,7 @@
+ }
+
+ static char *
+-fmt_complex(char *src, int level)
++fmt_complex(TERMTYPE *tterm, const char *capability, char *src, int level)
+ {
+ bool percent = FALSE;
+ bool params = has_params(src);
+@@ -509,13 +531,15 @@
+ strncpy_DYN(&tmpbuf, "%", 1);
+ strncpy_DYN(&tmpbuf, src, 1);
+ if (*src++ == '?') {
+- src = fmt_complex(src, level + 1);
++ src = fmt_complex(tterm, capability, src, level + 1);
+ if (*src != '\0' && *src != '%') {
+ strncpy_DYN(&tmpbuf, "\n", 1);
+ indent_DYN(&tmpbuf, level + 1);
+ }
+ } else if (level == 1) {
+- _nc_warning("%%%c without %%?", *src);
++ _nc_warning("%s: %%%c without %%? in %s",
++ _nc_first_name(tterm->term_names),
++ *src, capability);
+ }
+ }
+ continue;
+@@ -529,9 +553,17 @@
+ indent_DYN(&tmpbuf, level);
+ strncpy_DYN(&tmpbuf, "%", 1);
+ strncpy_DYN(&tmpbuf, src++, 1);
++ if (src[0] == '%'
++ && src[1] != '\0'
++ && (strchr("?e;", src[1])) == 0) {
++ tmpbuf.text[tmpbuf.used++] = '\n';
++ indent_DYN(&tmpbuf, level);
++ }
+ return src;
+ }
+- _nc_warning("%%; without %%?");
++ _nc_warning("%s: %%; without %%? in %s",
++ _nc_first_name(tterm->term_names),
++ capability);
+ }
+ break;
+ case 'p':
+@@ -593,14 +625,28 @@
+ column = INDENT; /* FIXME: workaround to prevent empty lines */
+ } else {
+ strcpy_DYN(&outbuf, tterm->term_names);
++
++ /*
++ * Colon is legal in terminfo descriptions, but not in termcap.
++ */
++ if (!infodump) {
++ char *p = outbuf.text;
++ while (*p) {
++ if (*p == ':') {
++ *p = '=';
++ }
++ ++p;
++ }
++ }
+ strcpy_DYN(&outbuf, separator);
+ column = (int) outbuf.used;
+- force_wrap();
++ if (height > 1)
++ force_wrap();
+ }
+
+ for_each_boolean(j, tterm) {
+ i = BoolIndirect(j);
+- name = ExtBoolname(tterm, i, bool_names);
++ name = ExtBoolname(tterm, (int) i, bool_names);
+ assert(strlen(name) < sizeof(buffer) - EXTRA_CAP);
+
+ if (!version_filter(BOOLEAN, i))
+@@ -610,21 +656,21 @@
+
+ predval = pred(BOOLEAN, i);
+ if (predval != FAIL) {
+- (void) strcpy(buffer, name);
++ _nc_STRCPY(buffer, name, sizeof(buffer));
+ if (predval <= 0)
+- (void) strcat(buffer, "@");
++ _nc_STRCAT(buffer, "@", sizeof(buffer));
+ else if (i + 1 > num_bools)
+ num_bools = i + 1;
+ WRAP_CONCAT;
+ }
+ }
+
+- if (column != INDENT)
++ if (column != INDENT && height > 1)
+ force_wrap();
+
+ for_each_number(j, tterm) {
+ i = NumIndirect(j);
+- name = ExtNumname(tterm, i, num_names);
++ name = ExtNumname(tterm, (int) i, num_names);
+ assert(strlen(name) < sizeof(buffer) - EXTRA_CAP);
+
+ if (!version_filter(NUMBER, i))
+@@ -635,9 +681,11 @@
+ predval = pred(NUMBER, i);
+ if (predval != FAIL) {
+ if (tterm->Numbers[i] < 0) {
+- sprintf(buffer, "%s@", name);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer))
++ "%s@", name);
+ } else {
+- sprintf(buffer, "%s#%d", name, tterm->Numbers[i]);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer))
++ "%s#%d", name, tterm->Numbers[i]);
+ if (i + 1 > num_values)
+ num_values = i + 1;
+ }
+@@ -645,7 +693,7 @@
+ }
+ }
+
+- if (column != INDENT)
++ if (column != INDENT && height > 1)
+ force_wrap();
+
+ len += (int) (num_bools
+@@ -670,7 +718,7 @@
+
+ for_each_string(j, tterm) {
+ i = StrIndirect(j);
+- name = ExtStrname(tterm, i, str_names);
++ name = ExtStrname(tterm, (int) i, str_names);
+ assert(strlen(name) < sizeof(buffer) - EXTRA_CAP);
+
+ capability = tterm->Strings[i];
+@@ -698,14 +746,14 @@
+ if (PRESENT(insert_character) || PRESENT(parm_ich)) {
+ if (SAME_CAP(i, enter_insert_mode)
+ && enter_insert_mode == ABSENT_STRING) {
+- (void) strcpy(buffer, "im=");
++ _nc_STRCPY(buffer, "im=", sizeof(buffer));
+ WRAP_CONCAT;
+ continue;
+ }
+
+ if (SAME_CAP(i, exit_insert_mode)
+ && exit_insert_mode == ABSENT_STRING) {
+- (void) strcpy(buffer, "ei=");
++ _nc_STRCPY(buffer, "ei=", sizeof(buffer));
+ WRAP_CONCAT;
+ continue;
+ }
+@@ -739,7 +787,8 @@
+ num_strings = i + 1;
+
+ if (!VALID_STRING(capability)) {
+- sprintf(buffer, "%s@", name);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer))
++ "%s@", name);
+ WRAP_CONCAT;
+ } else if (outform == F_TERMCAP || outform == F_TCONVERR) {
+ int params = ((i < (int) SIZEOF(parametrized))
+@@ -750,13 +799,14 @@
+
+ if (cv == 0) {
+ if (outform == F_TCONVERR) {
+- sprintf(buffer, "%s=!!! %s WILL NOT CONVERT !!!",
+- name, srccap);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer))
++ "%s=!!! %s WILL NOT CONVERT !!!",
++ name, srccap);
+ } else if (suppress_untranslatable) {
+ continue;
+ } else {
+ char *s = srccap, *d = buffer;
+- sprintf(d, "..%s=", name);
++ _nc_SPRINTF(d, _nc_SLIMIT(sizeof(buffer)) "..%s=", name);
+ d += strlen(d);
+ while ((*d = *s++) != 0) {
+ if (*d == ':') {
+@@ -769,7 +819,8 @@
+ }
+ }
+ } else {
+- sprintf(buffer, "%s=%s", name, cv);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer))
++ "%s=%s", name, cv);
+ }
+ len += (int) strlen(capability) + 1;
+ WRAP_CONCAT;
+@@ -783,7 +834,7 @@
+ if (pretty
+ && (outform == F_TERMINFO
+ || outform == F_VARIABLE)) {
+- fmt_complex(src, 1);
++ fmt_complex(tterm, name, src, 1);
+ } else {
+ strcpy_DYN(&tmpbuf, src);
+ }
+@@ -793,7 +844,9 @@
+ }
+ }
+ /* e.g., trimmed_sgr0 */
+- if (capability != tterm->Strings[i])
++ if (capability != ABSENT_STRING &&
++ capability != CANCELLED_STRING &&
++ capability != tterm->Strings[i])
+ free(capability);
+ }
+ len += (int) (num_strings * 2);
+@@ -805,11 +858,13 @@
+ */
+ if (tversion == V_HPUX) {
+ if (VALID_STRING(memory_lock)) {
+- (void) sprintf(buffer, "meml=%s", memory_lock);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer))
++ "meml=%s", memory_lock);
+ WRAP_CONCAT;
+ }
+ if (VALID_STRING(memory_unlock)) {
+- (void) sprintf(buffer, "memu=%s", memory_unlock);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer))
++ "memu=%s", memory_unlock);
+ WRAP_CONCAT;
+ }
+ } else if (tversion == V_AIX) {
+@@ -832,9 +887,41 @@
+ tp[0] = '\0';
+
+ if (box_ok) {
+- (void) strcpy(buffer, "box1=");
+- (void) strcat(buffer, _nc_tic_expand(boxchars,
+- outform == F_TERMINFO, numbers));
++ char *tmp = _nc_tic_expand(boxchars,
++ (outform == F_TERMINFO),
++ numbers);
++ _nc_STRCPY(buffer, "box1=", sizeof(buffer));
++ while (*tmp != '\0') {
++ size_t have = strlen(buffer);
++ size_t next = strlen(tmp);
++ size_t want = have + next + 1;
++ size_t last = next;
++ char save = '\0';
++
++ /*
++ * If the expanded string is too long for the buffer,
++ * chop it off and save the location where we chopped it.
++ */
++ if (want >= sizeof(buffer)) {
++ save = tmp[last];
++ tmp[last] = '\0';
++ }
++ _nc_STRCAT(buffer, tmp, sizeof(buffer));
++
++ /*
++ * If we chopped the buffer, replace the missing piece and
++ * shift everything to append the remainder.
++ */
++ if (save != '\0') {
++ next = 0;
++ tmp[last] = save;
++ while ((tmp[next] = tmp[last + next]) != '\0') {
++ ++next;
++ }
++ } else {
++ break;
++ }
++ }
+ WRAP_CONCAT;
+ }
+ }
+@@ -846,7 +933,7 @@
+ */
+ if (outcount) {
+ bool trimmed = FALSE;
+- j = outbuf.used;
++ j = (PredIdx) outbuf.used;
+ if (j >= 2
+ && outbuf.text[j - 1] == '\t'
+ && outbuf.text[j - 2] == '\n') {
+@@ -926,7 +1013,7 @@
+ char name[10];
+
+ for (n = 0; n <= 10; ++n) {
+- sprintf(name, "lf%d", n);
++ _nc_SPRINTF(name, _nc_SLIMIT(sizeof(name)) "lf%d", n);
+ if ((cap = find_string(tterm, name)) != ABSENT_STRING
+ && kill_string(tterm, cap)) {
+ target -= (int) (strlen(cap) + 5);
+@@ -951,7 +1038,7 @@
+ char name[10];
+
+ for (n = 60; n >= 0; --n) {
+- sprintf(name, "kf%d", n);
++ _nc_SPRINTF(name, _nc_SLIMIT(sizeof(name)) "kf%d", n);
+ if ((cap = find_string(tterm, name)) != ABSENT_STRING
+ && kill_string(tterm, cap)) {
+ target -= (int) (strlen(cap) + 5);
+@@ -1064,7 +1151,7 @@
+ */
+ unsigned n;
+ for (n = STRCOUNT; n < NUM_STRINGS(tterm); n++) {
+- const char *name = ExtStrname(tterm, n, strnames);
++ const char *name = ExtStrname(tterm, (int) n, strnames);
+
+ if (VALID_STRING(tterm->Strings[n])) {
+ set_attributes = ABSENT_STRING;
+@@ -1144,21 +1231,45 @@
+
+ if (outform == F_TERMCAP || outform == F_TCONVERR)
+ trim_trailing();
+- (void) sprintf(buffer, "%s%s", infodump ? "use=" : "tc=", name);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer))
++ "%s%s", infodump ? "use=" : "tc=", name);
+ wrap_concat(buffer);
+ }
+
+ int
+ show_entry(void)
+ {
+- trim_trailing();
++ /*
++ * Trim any remaining whitespace.
++ */
++ if (outbuf.used != 0) {
++ bool infodump = (outform != F_TERMCAP && outform != F_TCONVERR);
++ char delim = (char) (infodump ? ',' : ':');
++ int j;
++
++ for (j = (int) outbuf.used - 1; j > 0; --j) {
++ char ch = outbuf.text[j];
++ if (ch == '\n') {
++ ;
++ } else if (isspace(UChar(ch))) {
++ outbuf.used = (size_t) j;
++ } else if (!infodump && ch == '\\') {
++ outbuf.used = (size_t) j;
++ } else if (ch == delim && (j == 0 || outbuf.text[j - 1] != '\\')) {
++ outbuf.used = (size_t) (j + 1);
++ } else {
++ break;
++ }
++ }
++ outbuf.text[outbuf.used] = '\0';
++ }
+ (void) fputs(outbuf.text, stdout);
+ putchar('\n');
+ return (int) outbuf.used;
+ }
+
+ void
+-compare_entry(void (*hook) (PredType t, PredIdx i, const char *name),
++compare_entry(PredHook hook,
+ TERMTYPE *tp GCC_UNUSED,
+ bool quiet)
+ /* compare two entries */
+@@ -1170,7 +1281,7 @@
+ fputs(" comparing booleans.\n", stdout);
+ for_each_boolean(j, tp) {
+ i = BoolIndirect(j);
+- name = ExtBoolname(tp, i, bool_names);
++ name = ExtBoolname(tp, (int) i, bool_names);
+
+ if (isObsolete(outform, name))
+ continue;
+@@ -1182,7 +1293,7 @@
+ fputs(" comparing numbers.\n", stdout);
+ for_each_number(j, tp) {
+ i = NumIndirect(j);
+- name = ExtNumname(tp, i, num_names);
++ name = ExtNumname(tp, (int) i, num_names);
+
+ if (isObsolete(outform, name))
+ continue;
+@@ -1194,7 +1305,7 @@
+ fputs(" comparing strings.\n", stdout);
+ for_each_string(j, tp) {
+ i = StrIndirect(j);
+- name = ExtStrname(tp, i, str_names);
++ name = ExtStrname(tp, (int) i, str_names);
+
+ if (isObsolete(outform, name))
+ continue;
+Index: progs/dump_entry.h
+Prereq: 1.30
+--- ncurses-5.9/progs/dump_entry.h 2008-07-12 20:23:03.000000000 +0000
++++ ncurses-5.9-20130504/progs/dump_entry.h 2011-08-06 16:33:05.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2006,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2008,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,9 +32,8 @@
+ * and: Thomas E. Dickey 1996-on *
+ ****************************************************************************/
+
+-
+ /*
+- * $Id: dump_entry.h,v 1.30 2008/07/12 20:23:03 tom Exp $
++ * $Id: dump_entry.h,v 1.32 2011/08/06 16:33:05 tom Exp $
+ *
+ * Dump control definitions and variables
+ */
+@@ -64,16 +63,17 @@
+
+ typedef unsigned PredType;
+ typedef unsigned PredIdx;
+-typedef int (*PredFunc)(PredType, PredIdx);
++typedef int (*PredFunc) (PredType, PredIdx);
++typedef void (*PredHook) (PredType, PredIdx, const char *);
+
+ extern NCURSES_CONST char *nametrans(const char *);
+ extern int fmt_entry(TERMTYPE *, PredFunc, bool, bool, bool, int);
+ extern int show_entry(void);
+-extern void compare_entry(void (*)(PredType, PredIdx, const char *), TERMTYPE *, bool);
++extern void compare_entry(PredHook, TERMTYPE *, bool);
+ extern void dump_entry(TERMTYPE *, bool, bool, int, PredFunc);
+-extern void dump_init(const char *, int, int, int, int, bool);
++extern void dump_init(const char *, int, int, int, int, unsigned, bool);
+ extern void dump_uses(const char *, bool);
+-extern void repair_acsc(TERMTYPE * tp);
++extern void repair_acsc(TERMTYPE *tp);
+
+ #define FAIL -1
+
+Index: progs/infocmp.c
+Prereq: 1.105
+--- ncurses-5.9/progs/infocmp.c 2010-05-01 22:04:08.000000000 +0000
++++ ncurses-5.9-20130504/progs/infocmp.c 2013-04-13 22:15:14.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -42,7 +42,7 @@
+
+ #include <dump_entry.h>
+
+-MODULE_ID("$Id: infocmp.c,v 1.105 2010/05/01 22:04:08 tom Exp $")
++MODULE_ID("$Id: infocmp.c,v 1.124 2013/04/13 22:15:14 Miroslav.Lichvar Exp $")
+
+ #define L_CURL "{"
+ #define R_CURL "}"
+@@ -70,8 +70,9 @@
+ static const char *s_absent = "NULL";
+ static const char *s_cancel = "NULL";
+ static const char *tversion; /* terminfo version selected */
+-static int itrace; /* trace flag for debugging */
++static unsigned itrace; /* trace flag for debugging */
+ static int mwidth = 60;
++static int mheight = 65535;
+ static int numbers = 0; /* format "%'char'" to/from "%{number}" */
+ static int outform = F_TERMINFO; /* output format */
+ static int sortmode; /* sort_mode */
+@@ -86,27 +87,52 @@
+ static bool ignorepads; /* ignore pad prefixes when diffing */
+
+ #if NO_LEAKS
++
++typedef struct {
++ ENTRY *head;
++ ENTRY *tail;
++} ENTERED;
++
++static ENTERED *entered;
++
+ #undef ExitProgram
+ static void ExitProgram(int code) GCC_NORETURN;
+ /* prototype is to get gcc to accept the noreturn attribute */
+ static void
+ ExitProgram(int code)
+ {
+- while (termcount-- > 0)
+- _nc_free_termtype(&entries[termcount].tterm);
++ int n;
++
++ for (n = 0; n < termcount; ++n) {
++ ENTRY *new_head = _nc_head;
++ ENTRY *new_tail = _nc_tail;
++ _nc_head = entered[n].head;
++ _nc_tail = entered[n].tail;
++ _nc_free_entries(entered[n].head);
++ _nc_head = new_head;
++ _nc_tail = new_tail;
++ }
+ _nc_leaks_dump_entry();
+ free(entries);
++ free(entered);
+ _nc_free_tic(code);
+ }
+ #endif
+
++static void
++failed(const char *s)
++{
++ perror(s);
++ ExitProgram(EXIT_FAILURE);
++}
++
+ static char *
+ canonical_name(char *ptr, char *buf)
+ /* extract the terminal type's primary name */
+ {
+ char *bp;
+
+- (void) strcpy(buf, ptr);
++ _nc_STRCPY(buf, ptr, NAMESIZE);
+ if ((bp = strchr(buf, '|')) != 0)
+ *bp = '\0';
+
+@@ -307,13 +333,13 @@
+ {
+ switch (val) {
+ case ABSENT_NUMERIC:
+- strcpy(buf, s_absent);
++ _nc_STRCPY(buf, s_absent, MAX_STRING);
+ break;
+ case CANCELLED_NUMERIC:
+- strcpy(buf, s_cancel);
++ _nc_STRCPY(buf, s_cancel, MAX_STRING);
+ break;
+ default:
+- sprintf(buf, "%d", val);
++ _nc_SPRINTF(buf, _nc_SLIMIT(MAX_STRING) "%d", val);
+ break;
+ }
+ }
+@@ -323,31 +349,90 @@
+ /* display the value of a string capability */
+ {
+ if (val == ABSENT_STRING)
+- strcpy(buf, s_absent);
++ _nc_STRCPY(buf, s_absent, MAX_STRING);
+ else if (val == CANCELLED_STRING)
+- strcpy(buf, s_cancel);
++ _nc_STRCPY(buf, s_cancel, MAX_STRING);
+ else {
+- sprintf(buf, "'%.*s'", MAX_STRING - 3, TIC_EXPAND(val));
++ _nc_SPRINTF(buf, _nc_SLIMIT(MAX_STRING)
++ "'%.*s'", MAX_STRING - 3, TIC_EXPAND(val));
++ }
++}
++
++/*
++ * Show "comparing..." message for the given terminal names.
++ */
++static void
++show_comparing(char **names)
++{
++ if (itrace) {
++ switch (compare) {
++ case C_DIFFERENCE:
++ (void) fprintf(stderr, "%s: dumping differences\n", _nc_progname);
++ break;
++
++ case C_COMMON:
++ (void) fprintf(stderr, "%s: dumping common capabilities\n", _nc_progname);
++ break;
++
++ case C_NAND:
++ (void) fprintf(stderr, "%s: dumping differences\n", _nc_progname);
++ break;
++ }
++ }
++ if (*names) {
++ printf("comparing %s", *names++);
++ if (*names) {
++ printf(" to %s", *names++);
++ while (*names) {
++ printf(", %s", *names++);
++ }
++ }
++ printf(".\n");
+ }
+ }
+
++/*
++ * ncurses stores two types of non-standard capabilities:
++ * a) capabilities listed past the "STOP-HERE" comment in the Caps file.
++ * These are used in the terminfo source file to provide data for termcaps,
++ * e.g., when there is no equivalent capability in terminfo, as well as for
++ * widely-used non-standard capabilities.
++ * b) user-definable capabilities, via "tic -x".
++ *
++ * However, if "-x" is omitted from the tic command, both types of
++ * non-standard capability are not loaded into the terminfo database. This
++ * macro is used for limit-checks against the symbols that tic uses to omit
++ * the two types of non-standard entry.
++ */
++#define check_user_definable(n,limit) if (!_nc_user_definable && (n) > (limit)) break
++
++/*
++ * Use these macros to simplify loops on C_COMMON and C_NAND:
++ */
++#define for_each_entry() while (entries[extra].tterm.term_names)
++#define next_entry (&(entries[extra++].tterm))
++
+ static void
+ compare_predicate(PredType type, PredIdx idx, const char *name)
+ /* predicate function to use for entry difference reports */
+ {
+- register ENTRY *e1 = &entries[0];
+- register ENTRY *e2 = &entries[1];
+- char buf1[MAX_STRING], buf2[MAX_STRING];
++ ENTRY *e1 = &entries[0];
++ ENTRY *e2 = &entries[1];
++ char buf1[MAX_STRING];
++ char buf2[MAX_STRING];
+ int b1, b2;
+ int n1, n2;
+ char *s1, *s2;
++ bool found;
++ int extra = 1;
+
+ switch (type) {
+ case CMP_BOOLEAN:
++ check_user_definable(idx, BOOLWRITE);
+ b1 = e1->tterm.Booleans[idx];
+- b2 = e2->tterm.Booleans[idx];
+ switch (compare) {
+ case C_DIFFERENCE:
++ b2 = next_entry->Booleans[idx];
+ if (!(b1 == ABSENT_BOOLEAN && b2 == ABSENT_BOOLEAN) && b1 != b2)
+ (void) printf("\t%s: %s%s%s.\n",
+ name,
+@@ -357,45 +442,93 @@
+ break;
+
+ case C_COMMON:
+- if (b1 == b2 && b1 != ABSENT_BOOLEAN)
+- (void) printf("\t%s= %s.\n", name, dump_boolean(b1));
++ if (b1 != ABSENT_BOOLEAN) {
++ found = TRUE;
++ for_each_entry() {
++ b2 = next_entry->Booleans[idx];
++ if (b1 != b2) {
++ found = FALSE;
++ break;
++ }
++ }
++ if (found) {
++ (void) printf("\t%s= %s.\n", name, dump_boolean(b1));
++ }
++ }
+ break;
+
+ case C_NAND:
+- if (b1 == ABSENT_BOOLEAN && b2 == ABSENT_BOOLEAN)
+- (void) printf("\t!%s.\n", name);
++ if (b1 == ABSENT_BOOLEAN) {
++ found = TRUE;
++ for_each_entry() {
++ b2 = next_entry->Booleans[idx];
++ if (b1 != b2) {
++ found = FALSE;
++ break;
++ }
++ }
++ if (found) {
++ (void) printf("\t!%s.\n", name);
++ }
++ }
+ break;
+ }
+ break;
+
+ case CMP_NUMBER:
++ check_user_definable(idx, NUMWRITE);
+ n1 = e1->tterm.Numbers[idx];
+- n2 = e2->tterm.Numbers[idx];
+- dump_numeric(n1, buf1);
+- dump_numeric(n2, buf2);
+ switch (compare) {
+ case C_DIFFERENCE:
+- if (!((n1 == ABSENT_NUMERIC && n2 == ABSENT_NUMERIC)) && n1 != n2)
++ n2 = next_entry->Numbers[idx];
++ if (!((n1 == ABSENT_NUMERIC && n2 == ABSENT_NUMERIC)) && n1 != n2) {
++ dump_numeric(n1, buf1);
++ dump_numeric(n2, buf2);
+ (void) printf("\t%s: %s, %s.\n", name, buf1, buf2);
++ }
+ break;
+
+ case C_COMMON:
+- if (n1 != ABSENT_NUMERIC && n2 != ABSENT_NUMERIC && n1 == n2)
+- (void) printf("\t%s= %s.\n", name, buf1);
++ if (n1 != ABSENT_NUMERIC) {
++ found = TRUE;
++ for_each_entry() {
++ n2 = next_entry->Numbers[idx];
++ if (n1 != n2) {
++ found = FALSE;
++ break;
++ }
++ }
++ if (found) {
++ dump_numeric(n1, buf1);
++ (void) printf("\t%s= %s.\n", name, buf1);
++ }
++ }
+ break;
+
+ case C_NAND:
+- if (n1 == ABSENT_NUMERIC && n2 == ABSENT_NUMERIC)
+- (void) printf("\t!%s.\n", name);
++ if (n1 == ABSENT_NUMERIC) {
++ found = TRUE;
++ for_each_entry() {
++ n2 = next_entry->Numbers[idx];
++ if (n1 != n2) {
++ found = FALSE;
++ break;
++ }
++ }
++ if (found) {
++ (void) printf("\t!%s.\n", name);
++ }
++ }
+ break;
+ }
+ break;
+
+ case CMP_STRING:
++ check_user_definable(idx, STRWRITE);
+ s1 = e1->tterm.Strings[idx];
+- s2 = e2->tterm.Strings[idx];
+ switch (compare) {
+ case C_DIFFERENCE:
++ s2 = next_entry->Strings[idx];
+ if (capcmp(idx, s1, s2)) {
+ dump_string(s1, buf1);
+ dump_string(s2, buf2);
+@@ -405,13 +538,35 @@
+ break;
+
+ case C_COMMON:
+- if (s1 && s2 && !capcmp(idx, s1, s2))
+- (void) printf("\t%s= '%s'.\n", name, TIC_EXPAND(s1));
++ if (s1 != ABSENT_STRING) {
++ found = TRUE;
++ for_each_entry() {
++ s2 = next_entry->Strings[idx];
++ if (capcmp(idx, s1, s2) != 0) {
++ found = FALSE;
++ break;
++ }
++ }
++ if (found) {
++ (void) printf("\t%s= '%s'.\n", name, TIC_EXPAND(s1));
++ }
++ }
+ break;
+
+ case C_NAND:
+- if (!s1 && !s2)
+- (void) printf("\t!%s.\n", name);
++ if (s1 == ABSENT_STRING) {
++ found = TRUE;
++ for_each_entry() {
++ s2 = next_entry->Strings[idx];
++ if (s2 != s1) {
++ found = FALSE;
++ break;
++ }
++ }
++ if (found) {
++ (void) printf("\t!%s.\n", name);
++ }
++ }
+ break;
+ }
+ break;
+@@ -430,16 +585,37 @@
+ break;
+
+ case C_COMMON:
+- if (e1->nuses && e2->nuses && useeq(e1, e2)) {
+- (void) fputs("\tuse: ", stdout);
+- print_uses(e1, stdout);
+- fputs(".\n", stdout);
++ if (e1->nuses) {
++ found = TRUE;
++ for_each_entry() {
++ e2 = &entries[extra++];
++ if (e2->nuses != e1->nuses || !useeq(e1, e2)) {
++ found = FALSE;
++ break;
++ }
++ }
++ if (found) {
++ (void) fputs("\tuse: ", stdout);
++ print_uses(e1, stdout);
++ fputs(".\n", stdout);
++ }
+ }
+ break;
+
+ case C_NAND:
+- if (!e1->nuses && !e2->nuses)
+- (void) printf("\t!use.\n");
++ if (!e1->nuses) {
++ found = TRUE;
++ for_each_entry() {
++ e2 = &entries[extra++];
++ if (e2->nuses != e1->nuses) {
++ found = FALSE;
++ break;
++ }
++ }
++ if (found) {
++ (void) printf("\t!use.\n");
++ }
++ }
+ break;
+ }
+ }
+@@ -556,7 +732,7 @@
+ }
+
+ static bool
+-same_param(const char *table, const char *param, unsigned length)
++same_param(const char *table, const char *param, size_t length)
+ {
+ bool result = FALSE;
+ if (strncmp(table, param, length) == 0) {
+@@ -581,15 +757,15 @@
+ size_t tlen = strlen(ap->from);
+
+ if (same_param(ap->from, ep, tlen)) {
+- (void) strcat(dst, ap->to);
++ _nc_STRCAT(dst, ap->to, MAX_TERMINFO_LENGTH);
+ found = TRUE;
+ break;
+ }
+ }
+
+ if (!found)
+- (void) strcat(dst, ep);
+- (void) strcat(dst, ";");
++ _nc_STRCAT(dst, ep, MAX_TERMINFO_LENGTH);
++ _nc_STRCAT(dst, ";", MAX_TERMINFO_LENGTH);
+ } while
+ ((ep = strtok((char *) 0, ";")));
+
+@@ -682,7 +858,11 @@
+ && (next = (size_t) csi + len)
+ && ((sp[next] == 'h') || (sp[next] == 'l'))) {
+
+- (void) strcpy(buf2, (sp[next] == 'h') ? "ECMA+" : "ECMA-");
++ _nc_STRCPY(buf2,
++ ((sp[next] == 'h')
++ ? "ECMA+"
++ : "ECMA-"),
++ sizeof(buf2));
+ (void) strncpy(buf3, sp + csi, len);
+ buf3[len] = '\0';
+ len += (size_t) csi + 1;
+@@ -699,7 +879,11 @@
+ && (next = (size_t) csi + 1 + len)
+ && ((sp[next] == 'h') || (sp[next] == 'l'))) {
+
+- (void) strcpy(buf2, (sp[next] == 'h') ? "DEC+" : "DEC-");
++ _nc_STRCPY(buf2,
++ ((sp[next] == 'h')
++ ? "DEC+"
++ : "DEC-"),
++ sizeof(buf2));
+ (void) strncpy(buf3, sp + csi + 1, len);
+ buf3[len] = '\0';
+ len += (size_t) csi + 2;
+@@ -715,7 +899,7 @@
+ && (next = (size_t) csi + len)
+ && sp[next] == 'm') {
+
+- (void) strcpy(buf2, "SGR:");
++ _nc_STRCPY(buf2, "SGR:", sizeof(buf2));
+ (void) strncpy(buf3, sp + csi, len);
+ buf3[len] = '\0';
+ len += (size_t) csi + 1;
+@@ -727,8 +911,8 @@
+ && (csi = skip_csi(sp)) != 0
+ && sp[csi] == 'm') {
+ len = (size_t) csi + 1;
+- (void) strcpy(buf2, "SGR:");
+- strcat(buf2, ecma_highlights[0].to);
++ _nc_STRCPY(buf2, "SGR:", sizeof(buf2));
++ _nc_STRCAT(buf2, ecma_highlights[0].to, sizeof(buf2));
+ expansion = buf2;
+ }
+
+@@ -739,7 +923,7 @@
+ expansion = "RSR";
+ len = 1;
+ } else {
+- (void) sprintf(buf2, "1;%dr", tp_lines);
++ _nc_SPRINTF(buf2, _nc_SLIMIT(sizeof(buf2)) "1;%dr", tp_lines);
+ len = strlen(buf2);
+ if (strncmp(buf2, sp + csi, len) == 0)
+ expansion = "RSR";
+@@ -750,12 +934,12 @@
+ /* now check for home-down */
+ if (!expansion
+ && (csi = skip_csi(sp)) != 0) {
+- (void) sprintf(buf2, "%d;1H", tp_lines);
++ _nc_SPRINTF(buf2, _nc_SLIMIT(sizeof(buf2)) "%d;1H", tp_lines);
+ len = strlen(buf2);
+ if (strncmp(buf2, sp + csi, len) == 0) {
+ expansion = "LL";
+ } else {
+- (void) sprintf(buf2, "%dH", tp_lines);
++ _nc_SPRINTF(buf2, _nc_SLIMIT(sizeof(buf2)) "%dH", tp_lines);
+ len = strlen(buf2);
+ if (strncmp(buf2, sp + csi, len) == 0) {
+ expansion = "LL";
+@@ -795,12 +979,16 @@
+ int i, n;
+
+ memset(heads, 0, sizeof(heads));
+- dump_init((char *) 0, F_LITERAL, S_TERMINFO, 0, itrace, FALSE);
++ dump_init((char *) 0, F_LITERAL, S_TERMINFO, 0, 65535, itrace, FALSE);
+
+ for (n = 0; n < argc && n < MAXCOMPARE; n++) {
+ if (freopen(argv[n], "r", stdin) == 0)
+ _nc_err_abort("Can't open %s", argv[n]);
+
++#if NO_LEAKS
++ entered[n].head = _nc_head;
++ entered[n].tail = _nc_tail;
++#endif
+ _nc_head = _nc_tail = 0;
+
+ /* parse entries out of the source file */
+@@ -925,6 +1113,11 @@
+ #endif
+ if (!(entryeq(&qp->tterm, &rp->tterm) && useeq(qp, rp))) {
+ char name1[NAMESIZE], name2[NAMESIZE];
++ char *names[3];
++
++ names[0] = name1;
++ names[1] = name2;
++ names[2] = 0;
+
+ entries[0] = *qp;
+ entries[1] = *rp;
+@@ -934,29 +1127,17 @@
+
+ switch (compare) {
+ case C_DIFFERENCE:
+- if (itrace)
+- (void) fprintf(stderr,
+- "%s: dumping differences\n",
+- _nc_progname);
+- (void) printf("comparing %s to %s.\n", name1, name2);
++ show_comparing(names);
+ compare_entry(compare_predicate, &entries->tterm, quiet);
+ break;
+
+ case C_COMMON:
+- if (itrace)
+- (void) fprintf(stderr,
+- "%s: dumping common capabilities\n",
+- _nc_progname);
+- (void) printf("comparing %s to %s.\n", name1, name2);
++ show_comparing(names);
+ compare_entry(compare_predicate, &entries->tterm, quiet);
+ break;
+
+ case C_NAND:
+- if (itrace)
+- (void) fprintf(stderr,
+- "%s: dumping differences\n",
+- _nc_progname);
+- (void) printf("comparing %s to %s.\n", name1, name2);
++ show_comparing(names);
+ compare_entry(compare_predicate, &entries->tterm, quiet);
+ break;
+
+@@ -974,7 +1155,9 @@
+ "Usage: infocmp [options] [-A directory] [-B directory] [termname...]"
+ ,""
+ ,"Options:"
++ ," -0 print single-row"
+ ," -1 print single-column"
++ ," -K use termcap-names and BSD syntax"
+ ," -C use termcap-names"
+ ," -F compare terminfo-files"
+ ," -I use terminfo-names"
+@@ -982,6 +1165,7 @@
+ ," -R subset (see manpage)"
+ ," -T eliminate size limits (test)"
+ ," -U eliminate post-processing of entries"
++ ," -D print database locations"
+ ," -V print version"
+ #if NCURSES_XNAMES
+ ," -a with -F, list commented-out caps"
+@@ -1030,19 +1214,25 @@
+ any_initializer(const char *fmt, const char *type)
+ {
+ static char *initializer;
++ static size_t need;
+ char *s;
+
+- if (initializer == 0)
+- initializer = (char *) malloc(strlen(entries->tterm.term_names) +
+- strlen(type) + strlen(fmt));
++ if (initializer == 0) {
++ need = (strlen(entries->tterm.term_names)
++ + strlen(type)
++ + strlen(fmt));
++ initializer = (char *) malloc(need + 1);
++ if (initializer == 0)
++ failed("any_initializer");
++ }
+
+- (void) strcpy(initializer, entries->tterm.term_names);
++ _nc_STRCPY(initializer, entries->tterm.term_names, need);
+ for (s = initializer; *s != 0 && *s != '|'; s++) {
+ if (!isalnum(UChar(*s)))
+ *s = '_';
+ }
+ *s = 0;
+- (void) sprintf(s, fmt, type);
++ _nc_SPRINTF(s, _nc_SLIMIT(need) fmt, type);
+ return initializer;
+ }
+
+@@ -1073,9 +1263,10 @@
+
+ if (VALID_STRING(term->Strings[n])) {
+ tp = buf;
++#define TP_LIMIT ((MAX_STRING - 5) - (size_t)(tp - buf))
+ *tp++ = '"';
+ for (sp = term->Strings[n];
+- *sp != 0 && (tp - buf) < MAX_STRING - 6;
++ *sp != 0 && TP_LIMIT > 2;
+ sp++) {
+ if (isascii(UChar(*sp))
+ && isprint(UChar(*sp))
+@@ -1083,14 +1274,15 @@
+ && *sp != '"')
+ *tp++ = *sp;
+ else {
+- (void) sprintf(tp, "\\%03o", UChar(*sp));
++ _nc_SPRINTF(tp, _nc_SLIMIT(TP_LIMIT) "\\%03o", UChar(*sp));
+ tp += 4;
+ }
+ }
+ *tp++ = '"';
+ *tp = '\0';
+ (void) printf("static char %-20s[] = %s;\n",
+- string_variable(ExtStrname(term, n, strnames)), buf);
++ string_variable(ExtStrname(term, (int) n, strnames)),
++ buf);
+ }
+ }
+ printf("\n");
+@@ -1116,7 +1308,7 @@
+ break;
+ }
+ (void) printf("\t/* %3u: %-8s */\t%s,\n",
+- n, ExtBoolname(term, n, boolnames), str);
++ n, ExtBoolname(term, (int) n, boolnames), str);
+ }
+ (void) printf("%s;\n", R_CURL);
+
+@@ -1132,12 +1324,12 @@
+ str = "CANCELLED_NUMERIC";
+ break;
+ default:
+- sprintf(buf, "%d", term->Numbers[n]);
++ _nc_SPRINTF(buf, _nc_SLIMIT(sizeof(buf)) "%d", term->Numbers[n]);
+ str = buf;
+ break;
+ }
+ (void) printf("\t/* %3u: %-8s */\t%s,\n", n,
+- ExtNumname(term, n, numnames), str);
++ ExtNumname(term, (int) n, numnames), str);
+ }
+ (void) printf("%s;\n", R_CURL);
+
+@@ -1150,10 +1342,10 @@
+ else if (term->Strings[n] == CANCELLED_STRING)
+ str = "CANCELLED_STRING";
+ else {
+- str = string_variable(ExtStrname(term, n, strnames));
++ str = string_variable(ExtStrname(term, (int) n, strnames));
+ }
+ (void) printf("\t/* %3u: %-8s */\t%s,\n", n,
+- ExtStrname(term, n, strnames), str);
++ ExtStrname(term, (int) n, strnames), str);
+ }
+ (void) printf("%s;\n", R_CURL);
+
+@@ -1165,15 +1357,15 @@
+ name_initializer("string_ext"), L_CURL);
+ for (n = BOOLCOUNT; n < NUM_BOOLEANS(term); ++n) {
+ (void) printf("\t/* %3u: bool */\t\"%s\",\n",
+- n, ExtBoolname(term, n, boolnames));
++ n, ExtBoolname(term, (int) n, boolnames));
+ }
+ for (n = NUMCOUNT; n < NUM_NUMBERS(term); ++n) {
+ (void) printf("\t/* %3u: num */\t\"%s\",\n",
+- n, ExtNumname(term, n, numnames));
++ n, ExtNumname(term, (int) n, numnames));
+ }
+ for (n = STRCOUNT; n < NUM_STRINGS(term); ++n) {
+ (void) printf("\t/* %3u: str */\t\"%s\",\n",
+- n, ExtStrname(term, n, strnames));
++ n, ExtStrname(term, (int) n, strnames));
+ }
+ (void) printf("%s;\n", R_CURL);
+ }
+@@ -1247,6 +1439,23 @@
+ return terminal;
+ }
+
++/*
++ * Show the databases that infocmp knows about. The location to which it writes is
++ */
++static void
++show_databases(void)
++{
++ DBDIRS state;
++ int offset;
++ const char *path2;
++
++ _nc_first_db(&state, &offset);
++ while ((path2 = _nc_next_db(&state, &offset)) != 0) {
++ printf("%s\n", path2);
++ }
++ _nc_last_db();
++}
++
+ /***************************************************************************
+ *
+ * Main sequence
+@@ -1269,7 +1478,7 @@
+ /* Also avoid overflowing smaller stacks on systems like AmigaOS */
+ path *tfile = 0;
+ char **tname = 0;
+- int maxterms;
++ size_t maxterms;
+
+ char **myargv;
+
+@@ -1287,18 +1496,27 @@
+ #if NCURSES_XNAMES
+ use_extended_names(FALSE);
+ #endif
++ _nc_strict_bsd = 0;
+
+ _nc_progname = _nc_rootname(argv[0]);
+
+ /* make sure we have enough space to add two terminal entries */
+ myargv = typeCalloc(char *, (size_t) (argc + 3));
++ if (myargv == 0)
++ failed("myargv");
++
+ memcpy(myargv, argv, (sizeof(char *) * (size_t) argc));
+ argv = myargv;
+
+ while ((c = getopt(argc,
+ argv,
+- "1A:aB:CcdEeFfGgIiLlnpqR:rs:TtUuVv:w:x")) != -1) {
++ "01A:aB:CcDdEeFfGgIiKLlnpqR:rs:TtUuVv:w:x")) != -1) {
+ switch (c) {
++ case '0':
++ mwidth = 65535;
++ mheight = 1;
++ break;
++
+ case '1':
+ mwidth = 0;
+ break;
+@@ -1317,6 +1535,9 @@
+ restdir = optarg;
+ break;
+
++ case 'K':
++ _nc_strict_bsd = 1;
++ /* FALLTHRU */
+ case 'C':
+ outform = F_TERMCAP;
+ tversion = "BSD";
+@@ -1324,6 +1545,11 @@
+ sortmode = S_TERMCAP;
+ break;
+
++ case 'D':
++ show_databases();
++ ExitProgram(EXIT_SUCCESS);
++ break;
++
+ case 'c':
+ compare = C_COMMON;
+ break;
+@@ -1441,7 +1667,7 @@
+ ExitProgram(EXIT_SUCCESS);
+
+ case 'v':
+- itrace = optarg_to_number();
++ itrace = (unsigned) optarg_to_number();
+ set_trace_level(itrace);
+ break;
+
+@@ -1460,10 +1686,17 @@
+ }
+ }
+
+- maxterms = (argc + 2 - optind);
+- tfile = typeMalloc(path, maxterms);
+- tname = typeCalloc(char *, maxterms);
+- entries = typeCalloc(ENTRY, maxterms);
++ maxterms = (size_t) (argc + 2 - optind);
++ if ((tfile = typeMalloc(path, maxterms)) == 0)
++ failed("tfile");
++ if ((tname = typeCalloc(char *, maxterms)) == 0)
++ failed("tname");
++ if ((entries = typeCalloc(ENTRY, maxterms)) == 0)
++ failed("entries");
++#if NO_LEAKS
++ if ((entered = typeCalloc(ENTERED, maxterms)) == 0)
++ failed("entered");
++#endif
+
+ if (tfile == 0
+ || tname == 0
+@@ -1476,9 +1709,6 @@
+ if (sortmode == S_DEFAULT)
+ sortmode = S_TERMINFO;
+
+- /* set up for display */
+- dump_init(tversion, outform, sortmode, mwidth, itrace, formatted);
+-
+ /* make sure we have at least one terminal name to work with */
+ if (optind >= argc)
+ argv[argc++] = terminal_env();
+@@ -1487,9 +1717,23 @@
+ if (compare != C_DEFAULT && optind >= argc - 1)
+ argv[argc++] = terminal_env();
+
++ /* exactly one terminal name with no options means display it */
+ /* exactly two terminal names with no options means do -d */
+- if (argc - optind == 2 && compare == C_DEFAULT)
+- compare = C_DIFFERENCE;
++ if (compare == C_DEFAULT) {
++ switch (argc - optind) {
++ default:
++ fprintf(stderr, "%s: too many names to compare\n", _nc_progname);
++ ExitProgram(EXIT_FAILURE);
++ case 1:
++ break;
++ case 2:
++ compare = C_DIFFERENCE;
++ break;
++ }
++ }
++
++ /* set up for display */
++ dump_init(tversion, outform, sortmode, mwidth, mheight, itrace, formatted);
+
+ if (!filecompare) {
+ /* grab the entries */
+@@ -1507,9 +1751,11 @@
+ #else
+ #define LEAF_FMT "%02x"
+ #endif
+- (void) sprintf(tfile[termcount], "%s/" LEAF_FMT "/%s",
+- directory,
+- UChar(*argv[optind]), argv[optind]);
++ _nc_SPRINTF(tfile[termcount],
++ _nc_SLIMIT(sizeof(path))
++ "%s/" LEAF_FMT "/%s",
++ directory,
++ UChar(*argv[optind]), argv[optind]);
+ if (itrace)
+ (void) fprintf(stderr,
+ "%s: reading entry %s from file %s\n",
+@@ -1599,27 +1845,17 @@
+ break;
+
+ case C_DIFFERENCE:
+- if (itrace)
+- (void) fprintf(stderr, "%s: dumping differences\n", _nc_progname);
+- (void) printf("comparing %s to %s.\n", tname[0], tname[1]);
++ show_comparing(tname);
+ compare_entry(compare_predicate, &entries->tterm, quiet);
+ break;
+
+ case C_COMMON:
+- if (itrace)
+- (void) fprintf(stderr,
+- "%s: dumping common capabilities\n",
+- _nc_progname);
+- (void) printf("comparing %s to %s.\n", tname[0], tname[1]);
++ show_comparing(tname);
+ compare_entry(compare_predicate, &entries->tterm, quiet);
+ break;
+
+ case C_NAND:
+- if (itrace)
+- (void) fprintf(stderr,
+- "%s: dumping differences\n",
+- _nc_progname);
+- (void) printf("comparing %s to %s.\n", tname[0], tname[1]);
++ show_comparing(tname);
+ compare_entry(compare_predicate, &entries->tterm, quiet);
+ break;
+
+@@ -1640,15 +1876,16 @@
+ break;
+ }
+ }
+- } else if (compare == C_USEALL)
++ } else if (compare == C_USEALL) {
+ (void) fprintf(stderr, "Sorry, -u doesn't work with -F\n");
+- else if (compare == C_DEFAULT)
++ } else if (compare == C_DEFAULT) {
+ (void) fprintf(stderr, "Use `tic -[CI] <file>' for this.\n");
+- else if (argc - optind != 2)
++ } else if (argc - optind != 2) {
+ (void) fprintf(stderr,
+ "File comparison needs exactly two file arguments.\n");
+- else
++ } else {
+ file_comparison(argc - optind, argv + optind);
++ }
+
+ MAIN_LEAKS();
+ ExitProgram(EXIT_SUCCESS);
+Index: progs/progs.priv.h
+Prereq: 1.34
+--- ncurses-5.9/progs/progs.priv.h 2008-08-03 17:43:05.000000000 +0000
++++ ncurses-5.9-20130504/progs/progs.priv.h 2012-02-22 22:11:27.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -30,7 +30,7 @@
+ * Author: Thomas E. Dickey 1997-on *
+ ****************************************************************************/
+ /*
+- * $Id: progs.priv.h,v 1.34 2008/08/03 17:43:05 tom Exp $
++ * $Id: progs.priv.h,v 1.39 2012/02/22 22:11:27 tom Exp $
+ *
+ * progs.priv.h
+ *
+@@ -42,7 +42,7 @@
+ #if USE_RCS_IDS
+ #define MODULE_ID(id) static const char Ident[] = id;
+ #else
+-#define MODULE_ID(id) /*nothing*/
++#define MODULE_ID(id) /*nothing */
+ #endif
+
+ #include <stdlib.h>
+@@ -90,6 +90,14 @@
+ # endif
+ #endif
+
++#if HAVE_INTTYPES_H
++# include <inttypes.h>
++#else
++# if HAVE_STDINT_H
++# include <stdint.h>
++# endif
++#endif
++
+ #include <assert.h>
+ #include <errno.h>
+
+@@ -99,7 +107,7 @@
+
+ #if HAVE_GETOPT_H
+ #include <getopt.h>
+-#else
++#elif !defined(HAVE_GETOPT_HEADER)
+ /* 'getopt()' may be prototyped in <stdlib.h>, but declaring its
+ * variables doesn't hurt.
+ */
+@@ -109,9 +117,11 @@
+
+ #include <curses.h>
+ #include <term_entry.h>
++#include <nc_termios.h>
+ #include <tic.h>
+ #include <nc_tparm.h>
+
++#include <nc_string.h>
+ #include <nc_alloc.h>
+ #if HAVE_NC_FREEALL
+ #undef ExitProgram
+@@ -171,7 +181,7 @@
+ # elif defined(MAXPATHLEN)
+ # define PATH_MAX MAXPATHLEN
+ # else
+-# define PATH_MAX 255 /* the Posix minimum pathsize */
++# define PATH_MAX 255 /* the Posix minimum pathsize */
+ # endif
+ #endif
+
+@@ -183,7 +193,7 @@
+ # if ('z'-'a' == 25) && ('z' < 127) && ('Z'-'A' == 25) && ('Z' < 127) && ('9' < 127)
+ # define isascii(c) (UChar(c) <= 127)
+ # else
+-# define isascii(c) 1 /* not really ascii anyway */
++# define isascii(c) 1 /* not really ascii anyway */
+ # endif
+ #endif
+
+Index: progs/tabs.c
+Prereq: 1.19
+--- ncurses-5.9/progs/tabs.c 2010-10-23 22:26:01.000000000 +0000
++++ ncurses-5.9-20130504/progs/tabs.c 2012-11-18 01:21:47.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2008-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2008-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,12 +37,19 @@
+ #define USE_LIBTINFO
+ #include <progs.priv.h>
+
+-MODULE_ID("$Id: tabs.c,v 1.19 2010/10/23 22:26:01 tom Exp $")
++MODULE_ID("$Id: tabs.c,v 1.25 2012/11/18 01:21:47 tom Exp $")
+
+ static void usage(void) GCC_NORETURN;
+
+ static int max_cols;
+
++static void
++failed(const char *s)
++{
++ perror(s);
++ ExitProgram(EXIT_FAILURE);
++}
++
+ static int
+ putch(int c)
+ {
+@@ -83,28 +90,29 @@
+ int prior = 0;
+ int ch;
+
+- if (result != 0) {
+- while ((ch = *tab_list++) != '\0') {
+- if (isdigit(UChar(ch))) {
+- value *= 10;
+- value += (ch - '0');
+- } else if (ch == ',') {
+- result[n] = value + prior;
+- if (n > 0 && result[n] <= result[n - 1]) {
+- fprintf(stderr,
+- "tab-stops are not in increasing order: %d %d\n",
+- value, result[n - 1]);
+- free(result);
+- result = 0;
+- break;
+- }
+- ++n;
+- value = 0;
+- prior = 0;
+- } else if (ch == '+') {
+- if (n)
+- prior = result[n - 1];
++ if (result == 0)
++ failed("decode_tabs");
++
++ while ((ch = *tab_list++) != '\0') {
++ if (isdigit(UChar(ch))) {
++ value *= 10;
++ value += (ch - '0');
++ } else if (ch == ',') {
++ result[n] = value + prior;
++ if (n > 0 && result[n] <= result[n - 1]) {
++ fprintf(stderr,
++ "tab-stops are not in increasing order: %d %d\n",
++ value, result[n - 1]);
++ free(result);
++ result = 0;
++ break;
+ }
++ ++n;
++ value = 0;
++ prior = 0;
++ } else if (ch == '+') {
++ if (n)
++ prior = result[n - 1];
+ }
+ }
+
+@@ -126,6 +134,7 @@
+ result[n++] = value + prior;
+ result[n] = 0;
+ }
++
+ return result;
+ }
+
+@@ -140,10 +149,11 @@
+ for (n = 0; n < max_cols; n += 10) {
+ int ch = 1 + (n / 10);
+ char buffer[20];
+- sprintf(buffer, "----+----%c",
+- ((ch < 10)
+- ? (ch + '0')
+- : (ch + 'A' - 10)));
++ _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer))
++ "----+----%c",
++ ((ch < 10)
++ ? (ch + '0')
++ : (ch + 'A' - 10)));
+ printf("%.*s", ((max_cols - n) > 10) ? 10 : (max_cols - n), buffer);
+ }
+ putchar('\n');
+@@ -227,7 +237,7 @@
+ bool result = FALSE;
+
+ if (source != 0) {
+- unsigned len = strlen(source);
++ size_t len = strlen(source);
+ if (len != 0)
+ result = (source[len - 1] != ',');
+ } else {
+@@ -251,7 +261,7 @@
+
+ if (copied != 0 && *copied != '\0') {
+ const char *comma = ",";
+- unsigned need = 1 + strlen(copied);
++ size_t need = 1 + strlen(copied);
+
+ if (*copied == ',')
+ comma = "";
+@@ -263,15 +273,16 @@
+ need += strlen(*append);
+
+ result = malloc(need);
+- if (result != 0) {
+- *result = '\0';
+- if (*append != 0) {
+- strcpy(result, *append);
+- free(*append);
+- }
+- strcat(result, comma);
+- strcat(result, copied);
++ if (result == 0)
++ failed("add_to_tab_list");
++
++ *result = '\0';
++ if (*append != 0) {
++ _nc_STRCPY(result, *append, need);
++ free(*append);
+ }
++ _nc_STRCAT(result, comma, need);
++ _nc_STRCAT(result, copied, need);
+
+ *append = result;
+ }
+@@ -353,7 +364,6 @@
+ bool no_op = FALSE;
+ int n, ch;
+ NCURSES_CONST char *term_name = 0;
+- const char *mar_list = 0; /* ignored */
+ char *append = 0;
+ const char *tab_list = 0;
+
+@@ -446,7 +456,11 @@
+ while ((ch = *++option) != '\0') {
+ switch (ch) {
+ case 'm':
+- mar_list = option;
++ /*
++ * The "+mXXX" option is unimplemented because only the long-obsolete
++ * att510d implements smgl, which is needed to support
++ * this option.
++ */
+ break;
+ default:
+ /* special case of relative stops separated by spaces? */
+Index: progs/tic.c
+Prereq: 1.147
+--- ncurses-5.9/progs/tic.c 2011-02-12 18:39:08.000000000 +0000
++++ ncurses-5.9-20130504/progs/tic.c 2013-03-17 00:57:05.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -35,6 +35,7 @@
+ /*
+ * tic.c --- Main program for terminfo compiler
+ * by Eric S. Raymond
++ * and Thomas E Dickey
+ *
+ */
+
+@@ -42,9 +43,12 @@
+ #include <sys/stat.h>
+
+ #include <dump_entry.h>
++#include <hashed_db.h>
+ #include <transform.h>
+
+-MODULE_ID("$Id: tic.c,v 1.147 2011/02/12 18:39:08 tom Exp $")
++MODULE_ID("$Id: tic.c,v 1.185 2013/03/17 00:57:05 tom Exp $")
++
++#define STDIN_NAME "<stdin>"
+
+ const char *_nc_progname = "tic";
+
+@@ -53,6 +57,7 @@
+ static bool capdump = FALSE; /* running as infotocap? */
+ static bool infodump = FALSE; /* running as captoinfo? */
+ static bool showsummary = FALSE;
++static char **namelst = 0;
+ static const char *to_remove;
+
+ static void (*save_check_termtype) (TERMTYPE *, bool);
+@@ -69,11 +74,13 @@
+ 1\
+ a\
+ C\
++D\
+ c\
+ f\
+ G\
+ g\
+ I\
++K\
+ L\
+ N\
+ r\
+@@ -99,8 +106,10 @@
+ #endif
+
+ static void
+-cleanup(char **namelst GCC_UNUSED)
++cleanup(void)
+ {
++ int rc;
++
+ #if NO_LEAKS
+ free_namelist(namelst);
+ #endif
+@@ -108,10 +117,12 @@
+ fclose(tmp_fp);
+ if (to_remove != 0) {
+ #if HAVE_REMOVE
+- remove(to_remove);
++ rc = remove(to_remove);
+ #else
+- unlink(to_remove);
++ rc = unlink(to_remove);
+ #endif
++ if (rc != 0)
++ perror(to_remove);
+ }
+ }
+
+@@ -119,7 +130,6 @@
+ failed(const char *msg)
+ {
+ perror(msg);
+- cleanup((char **) 0);
+ ExitProgram(EXIT_FAILURE);
+ }
+
+@@ -133,7 +143,9 @@
+ #if NCURSES_XNAMES
+ " -a retain commented-out capabilities (sets -x also)",
+ #endif
++ " -K translate entries to termcap source form with BSD syntax",
+ " -C translate entries to termcap source form",
++ " -D print list of tic's database locations (first must be writable)",
+ " -c check only, validate input without compiling or translating",
+ " -e<names> translate/compile only entries named by comma-separated list",
+ " -f format complex strings for readability",
+@@ -173,7 +185,7 @@
+
+ #define L_BRACE '{'
+ #define R_BRACE '}'
+-#define S_QUOTE '\'';
++#define S_QUOTE '\''
+
+ static void
+ write_it(ENTRY * ep)
+@@ -216,12 +228,12 @@
+ }
+ *d = 0;
+ if (strlen(result) < strlen(s))
+- strcpy(s, result);
++ _nc_STRCPY(s, result, strlen(s) + 1);
+ }
+ }
+
+ _nc_set_type(_nc_first_name(ep->tterm.term_names));
+- _nc_curr_line = ep->startline;
++ _nc_curr_line = (int) ep->startline;
+ _nc_write_entry(&ep->tterm);
+ }
+
+@@ -286,8 +298,10 @@
+ if (in_name) {
+ if (used + 1 >= have) {
+ have += 132;
+- namebuf = typeRealloc(char, have, namebuf);
+- suffix = typeRealloc(char, have, suffix);
++ if ((namebuf = typeRealloc(char, have, namebuf)) == 0)
++ failed("put_translate namebuf");
++ if ((suffix = typeRealloc(char, have, suffix)) == 0)
++ failed("put_translate suffix");
+ }
+ if (c == '\n' || c == '@') {
+ namebuf[used++] = '\0';
+@@ -308,7 +322,7 @@
+ if ((up = strchr(namebuf, '#')) != 0
+ || (up = strchr(namebuf, '=')) != 0
+ || ((up = strchr(namebuf, '@')) != 0 && up[1] == '>')) {
+- (void) strcpy(suffix, up);
++ _nc_STRCPY(suffix, up, have);
+ *up = '\0';
+ }
+
+@@ -339,39 +353,122 @@
+ static char *
+ stripped(char *src)
+ {
++ char *dst = 0;
++
+ while (isspace(UChar(*src)))
+ src++;
++
+ if (*src != '\0') {
+- char *dst;
+ size_t len;
+
+- if ((dst = strdup(src)) == NULL)
++ if ((dst = strdup(src)) == NULL) {
+ failed("strdup");
++ } else {
++ len = strlen(dst);
++ while (--len != 0 && isspace(UChar(dst[len])))
++ dst[len] = '\0';
++ }
++ }
++ return dst;
++}
+
+- assert(dst != 0);
++static FILE *
++open_tempfile(char *filename)
++{
++ FILE *result = 0;
+
+- len = strlen(dst);
+- while (--len != 0 && isspace(UChar(dst[len])))
+- dst[len] = '\0';
+- return dst;
++ _nc_STRCPY(filename, "/tmp/XXXXXX", PATH_MAX);
++#if HAVE_MKSTEMP
++ {
++ int oldmask = umask(077);
++ int fd = mkstemp(filename);
++ if (fd >= 0)
++ result = fdopen(fd, "w");
++ umask(oldmask);
+ }
+- return 0;
++#else
++ if (tmpnam(filename) != 0)
++ result = fopen(filename, "w");
++#endif
++ return result;
+ }
+
+ static FILE *
+-open_input(const char *filename)
++copy_input(FILE *source, const char *filename, char *alt_file)
+ {
+- FILE *fp = fopen(filename, "r");
++ char my_altfile[PATH_MAX];
++ FILE *result = 0;
++ FILE *target = 0;
++ int ch;
++
++ if (alt_file == 0)
++ alt_file = my_altfile;
++
++ if (source == 0) {
++ failed("copy_input (source)");
++ } else if ((target = open_tempfile(alt_file)) == 0) {
++ failed("copy_input (target)");
++ } else {
++ clearerr(source);
++ for (;;) {
++ ch = fgetc(source);
++ if (feof(source)) {
++ break;
++ } else if (ferror(source)) {
++ failed(filename);
++ } else if (ch == 0) {
++ /* don't loop in case someone wants to convert /dev/zero */
++ fprintf(stderr, "%s: %s is not a text-file\n", _nc_progname, filename);
++ ExitProgram(EXIT_FAILURE);
++ }
++ fputc(ch, target);
++ }
++ fclose(source);
++ /*
++ * rewind() does not force the target file's data to disk (not does
++ * fflush()...). So open a second stream on the data and then close
++ * the one that we were writing on before starting to read from the
++ * second stream.
++ */
++ result = fopen(alt_file, "r+");
++ fclose(target);
++ to_remove = strdup(alt_file);
++ }
++ return result;
++}
++
++static FILE *
++open_input(const char *filename, char *alt_file)
++{
++ FILE *fp;
+ struct stat sb;
++ int mode;
+
+- if (fp == 0) {
+- fprintf(stderr, "%s: Can't open %s\n", _nc_progname, filename);
++ if (!strcmp(filename, "-")) {
++ fp = copy_input(stdin, STDIN_NAME, alt_file);
++ } else if (stat(filename, &sb) < 0) {
++ fprintf(stderr, "%s: %s %s\n", _nc_progname, filename, strerror(errno));
+ ExitProgram(EXIT_FAILURE);
+- }
+- if (fstat(fileno(fp), &sb) < 0
+- || (sb.st_mode & S_IFMT) != S_IFREG) {
++ } else if ((mode = (sb.st_mode & S_IFMT)) == S_IFDIR
++ || (mode != S_IFREG && mode != S_IFCHR)) {
+ fprintf(stderr, "%s: %s is not a file\n", _nc_progname, filename);
+ ExitProgram(EXIT_FAILURE);
++ } else {
++ fp = fopen(filename, "r");
++
++ if (fp == 0) {
++ fprintf(stderr, "%s: Can't open %s\n", _nc_progname, filename);
++ ExitProgram(EXIT_FAILURE);
++ }
++ if (mode != S_IFREG) {
++ if (alt_file != 0) {
++ FILE *fp2 = copy_input(fp, filename, alt_file);
++ fp = fp2;
++ } else {
++ fprintf(stderr, "%s: %s is not a file\n", _nc_progname, filename);
++ ExitProgram(EXIT_FAILURE);
++ }
++ }
+ }
+ return fp;
+ }
+@@ -389,7 +486,7 @@
+ if (src == 0) {
+ /* EMPTY */ ;
+ } else if (strchr(src, '/') != 0) { /* a filename */
+- FILE *fp = open_input(src);
++ FILE *fp = open_input(src, (char *) 0);
+
+ for (pass = 1; pass <= 2; pass++) {
+ nn = 0;
+@@ -403,7 +500,8 @@
+ }
+ }
+ if (pass == 1) {
+- dst = typeCalloc(char *, nn + 1);
++ if ((dst = typeCalloc(char *, nn + 1)) == 0)
++ failed("make_namelist");
+ rewind(fp);
+ }
+ }
+@@ -425,8 +523,10 @@
+ if (mark == '\0')
+ break;
+ }
+- if (pass == 1)
+- dst = typeCalloc(char *, nn + 1);
++ if (pass == 1) {
++ if ((dst = typeCalloc(char *, nn + 1)) == 0)
++ failed("make_namelist");
++ }
+ }
+ }
+ if (showsummary && (dst != 0)) {
+@@ -456,26 +556,118 @@
+ return (code);
+ }
+
+-static FILE *
+-open_tempfile(char *name)
++static char *
++valid_db_path(const char *nominal)
+ {
+- FILE *result = 0;
+-#if HAVE_MKSTEMP
+- int fd = mkstemp(name);
+- if (fd >= 0)
+- result = fdopen(fd, "w");
++ struct stat sb;
++#if USE_HASHED_DB
++ char suffix[] = DBM_SUFFIX;
++ size_t need = strlen(nominal) + sizeof(suffix);
++ char *result = malloc(need);
++
++ if (result == 0)
++ failed("valid_db_path");
++ _nc_STRCPY(result, nominal, need);
++ if (strcmp(result + need - sizeof(suffix), suffix)) {
++ _nc_STRCAT(result, suffix, need);
++ }
+ #else
+- if (tmpnam(name) != 0)
+- result = fopen(name, "w");
++ char *result = strdup(nominal);
+ #endif
++
++ DEBUG(1, ("** stat(%s)", result));
++ if (stat(result, &sb) >= 0) {
++#if USE_HASHED_DB
++ if (!S_ISREG(sb.st_mode)
++ || access(result, R_OK | W_OK) != 0) {
++ DEBUG(1, ("...not a writable file"));
++ free(result);
++ result = 0;
++ }
++#else
++ if (!S_ISDIR(sb.st_mode)
++ || access(result, R_OK | W_OK | X_OK) != 0) {
++ DEBUG(1, ("...not a writable directory"));
++ free(result);
++ result = 0;
++ }
++#endif
++ } else {
++ /* check if parent is directory and is writable */
++ unsigned leaf = _nc_pathlast(result);
++
++ DEBUG(1, ("...not found"));
++ if (leaf) {
++ char save = result[leaf];
++ result[leaf] = 0;
++ if (stat(result, &sb) >= 0
++ && S_ISDIR(sb.st_mode)
++ && access(result, R_OK | W_OK | X_OK) == 0) {
++ result[leaf] = save;
++ } else {
++ DEBUG(1, ("...parent directory %s is not writable", result));
++ free(result);
++ result = 0;
++ }
++ } else {
++ DEBUG(1, ("... no parent directory"));
++ free(result);
++ result = 0;
++ }
++ }
+ return result;
+ }
+
++/*
++ * Show the databases to which tic could write. The location to which it
++ * writes is always the first one. If none are writable, print an error
++ * message.
++ */
++static void
++show_databases(const char *outdir)
++{
++ bool specific = (outdir != 0) || getenv("TERMINFO") != 0;
++ char *result;
++ const char *tried = 0;
++
++ if (outdir == 0) {
++ outdir = _nc_tic_dir(0);
++ }
++ if ((result = valid_db_path(outdir)) != 0) {
++ printf("%s\n", result);
++ free(result);
++ } else {
++ tried = outdir;
++ }
++
++ if ((outdir = _nc_home_terminfo())) {
++ if ((result = valid_db_path(outdir)) != 0) {
++ printf("%s\n", result);
++ free(result);
++ } else if (!specific) {
++ tried = outdir;
++ }
++ }
++
++ /*
++ * If we can write in neither location, give an error message.
++ */
++ if (tried) {
++ fflush(stdout);
++ fprintf(stderr, "%s: %s (no permission)\n", _nc_progname, tried);
++ ExitProgram(EXIT_FAILURE);
++ }
++}
++
++#define VtoTrace(opt) (unsigned) ((opt > 0) ? opt : (opt == 0))
++
+ int
+ main(int argc, char *argv[])
+ {
+ char my_tmpname[PATH_MAX];
+- int v_opt = -1, debug_level;
++ char my_altfile[PATH_MAX];
++ int v_opt = -1;
++ unsigned debug_level;
+ int smart_defaults = TRUE;
+ char *termcap;
+ ENTRY *qp;
+@@ -486,6 +678,7 @@
+ int sortmode = S_TERMINFO; /* sort_mode */
+
+ int width = 60;
++ int height = 65535;
+ bool formatted = FALSE; /* reformat complex strings? */
+ bool literal = FALSE; /* suppress post-processing? */
+ int numbers = 0; /* format "%'char'" to/from "%{number}" */
+@@ -493,7 +686,6 @@
+ bool limited = TRUE;
+ char *tversion = (char *) NULL;
+ const char *source_file = "terminfo";
+- char **namelst = 0;
+ char *outdir = (char *) NULL;
+ bool check_only = FALSE;
+ bool suppress_untranslatable = FALSE;
+@@ -501,6 +693,7 @@
+ log_fp = stderr;
+
+ _nc_progname = _nc_rootname(argv[0]);
++ atexit(cleanup);
+
+ if ((infodump = same_program(_nc_progname, PROG_CAPTOINFO)) != FALSE) {
+ outform = F_TERMINFO;
+@@ -513,6 +706,7 @@
+ #if NCURSES_XNAMES
+ use_extended_names(FALSE);
+ #endif
++ _nc_strict_bsd = 0;
+
+ /*
+ * Processing arguments is a little complicated, since someone made a
+@@ -520,7 +714,7 @@
+ * be optional.
+ */
+ while ((this_opt = getopt(argc, argv,
+- "0123456789CILNR:TUVace:fGgo:rstvwx")) != -1) {
++ "0123456789CDIKLNR:TUVace:fGgo:rstvwx")) != -1) {
+ if (isdigit(this_opt)) {
+ switch (last_opt) {
+ case 'v':
+@@ -530,19 +724,40 @@
+ width = (width * 10) + (this_opt - '0');
+ break;
+ default:
+- if (this_opt != '1')
++ switch (this_opt) {
++ case '0':
++ last_opt = this_opt;
++ width = 65535;
++ height = 1;
++ break;
++ case '1':
++ last_opt = this_opt;
++ width = 0;
++ break;
++ default:
+ usage();
+- last_opt = this_opt;
+- width = 0;
++ }
+ }
+ continue;
+ }
+ switch (this_opt) {
++ case 'K':
++ _nc_strict_bsd = 1;
++ /* the initial version of -K in 20110730 fell-thru here, but the
++ * same flag is useful when reading sources -TD
++ */
++ break;
+ case 'C':
+ capdump = TRUE;
+ outform = F_TERMCAP;
+ sortmode = S_TERMCAP;
+ break;
++ case 'D':
++ debug_level = VtoTrace(v_opt);
++ set_trace_level(debug_level);
++ show_databases(outdir);
++ ExitProgram(EXIT_SUCCESS);
++ break;
+ case 'I':
+ infodump = TRUE;
+ outform = F_TERMINFO;
+@@ -568,7 +783,6 @@
+ break;
+ case 'V':
+ puts(curses_version());
+- cleanup(namelst);
+ ExitProgram(EXIT_SUCCESS);
+ case 'c':
+ check_only = TRUE;
+@@ -618,7 +832,7 @@
+ last_opt = this_opt;
+ }
+
+- debug_level = (v_opt > 0) ? v_opt : (v_opt == 0);
++ debug_level = VtoTrace(v_opt);
+ set_trace_level(debug_level);
+
+ if (_nc_tracing) {
+@@ -638,8 +852,8 @@
+ */
+ if (namelst && (!infodump && !capdump)) {
+ (void) fprintf(stderr,
+- "Sorry, -e can't be used without -I or -C\n");
+- cleanup(namelst);
++ "%s: Sorry, -e can't be used without -I or -C\n",
++ _nc_progname);
+ ExitProgram(EXIT_FAILURE);
+ }
+ #endif /* HAVE_BIG_CORE */
+@@ -663,16 +877,16 @@
+ if (access(termcap, F_OK) == 0) {
+ /* file exists */
+ source_file = termcap;
+- } else if ((tmp_fp = open_tempfile(strcpy(my_tmpname,
+- "/tmp/XXXXXX")))
+- != 0) {
+- source_file = my_tmpname;
+- fprintf(tmp_fp, "%s\n", termcap);
+- fclose(tmp_fp);
+- tmp_fp = open_input(source_file);
+- to_remove = source_file;
+ } else {
+- failed("tmpnam");
++ if ((tmp_fp = open_tempfile(my_tmpname)) != 0) {
++ source_file = my_tmpname;
++ fprintf(tmp_fp, "%s\n", termcap);
++ fclose(tmp_fp);
++ tmp_fp = open_input(source_file, (char *) 0);
++ to_remove = source_file;
++ } else {
++ failed("tmpnam");
++ }
+ }
+ }
+ } else {
+@@ -682,24 +896,28 @@
+ _nc_progname,
+ _nc_progname,
+ usage_string);
+- cleanup(namelst);
+ ExitProgram(EXIT_FAILURE);
+ }
+ }
+
+- if (tmp_fp == 0)
+- tmp_fp = open_input(source_file);
++ if (tmp_fp == 0) {
++ tmp_fp = open_input(source_file, my_altfile);
++ if (!strcmp(source_file, "-")) {
++ source_file = STDIN_NAME;
++ }
++ }
+
+- if (infodump)
++ if (infodump) {
+ dump_init(tversion,
+ smart_defaults
+ ? outform
+ : F_LITERAL,
+- sortmode, width, debug_level, formatted);
+- else if (capdump)
++ sortmode, width, height, debug_level, formatted);
++ } else if (capdump) {
+ dump_init(tversion,
+ outform,
+- sortmode, width, debug_level, FALSE);
++ sortmode, width, height, debug_level, FALSE);
++ }
+
+ /* parse entries out of the source file */
+ _nc_set_source(source_file);
+@@ -716,7 +934,6 @@
+ /* do use resolution */
+ if (check_only || (!infodump && !capdump) || forceresolve) {
+ if (!_nc_resolve_uses2(TRUE, literal) && !check_only) {
+- cleanup(namelst);
+ ExitProgram(EXIT_FAILURE);
+ }
+ }
+@@ -750,7 +967,7 @@
+
+ for_entry_list(qp) {
+ if (matches(namelst, qp->tterm.term_names)) {
+- int j = qp->cend - qp->cstart;
++ long j = qp->cend - qp->cstart;
+ int len = 0;
+
+ /* this is in case infotocap() generates warnings */
+@@ -767,7 +984,7 @@
+ repair_acsc(&qp->tterm);
+ dump_entry(&qp->tterm, suppress_untranslatable,
+ limited, numbers, NULL);
+- for (j = 0; j < (int) qp->nuses; j++)
++ for (j = 0; j < (long) qp->nuses; j++)
+ dump_uses(qp->uses[j].name, !capdump);
+ len = show_entry();
+ if (debug_level != 0 && !limited)
+@@ -811,7 +1028,6 @@
+ else
+ fprintf(log_fp, "No entries written\n");
+ }
+- cleanup(namelst);
+ ExitProgram(EXIT_SUCCESS);
+ }
+
+@@ -915,18 +1131,18 @@
+ return result;
+ }
+
+-static int
++static long
+ keypad_index(const char *string)
+ {
+ char *test;
+ const char *list = "PQRSwxymtuvlqrsPpn"; /* app-keypad except "Enter" */
+ int ch;
+- int result = -1;
++ long result = -1;
+
+ if ((ch = keypad_final(string)) != '\0') {
+ test = strchr(list, ch);
+ if (test != 0)
+- result = (test - list);
++ result = (long) (test - list);
+ }
+ return result;
+ }
+@@ -1015,13 +1231,18 @@
+ int count;
+ char *list[4];
+
++ /* it is rare to have an insert-line feature without a matching delete */
++ ANDMISSING(parm_insert_line, insert_line);
++ ANDMISSING(parm_delete_line, delete_line);
++ ANDMISSING(parm_insert_line, parm_delete_line);
++
+ /* if we have a parameterized form, then the non-parameterized is easy */
+ ANDMISSING(parm_down_cursor, cursor_down);
+ ANDMISSING(parm_up_cursor, cursor_up);
+ ANDMISSING(parm_left_cursor, cursor_left);
+ ANDMISSING(parm_right_cursor, cursor_right);
+
+- /* Given any of a set of cursor movement, the whole set should be present.
++ /* Given any of a set of cursor movement, the whole set should be present.
+ * Technically this is not true (we could use cursor_address to fill in
+ * unsupported controls), but it is likely.
+ */
+@@ -1097,11 +1318,11 @@
+ VALID_STRING(key_c1) &&
+ VALID_STRING(key_c3)) {
+ char final[MAX_KP + 1];
+- int list[MAX_KP];
++ long list[MAX_KP];
+ int increase = 0;
+ int j, k, kk;
+- int last;
+- int test;
++ long last;
++ long test;
+
+ final[0] = keypad_final(key_a1);
+ final[1] = keypad_final(key_a3);
+@@ -1149,19 +1370,19 @@
+ assert(strlen(show) < (MAX_KP * 4));
+ switch (kk) {
+ case 0:
+- strcat(show, " ka1");
++ _nc_STRCAT(show, " ka1", sizeof(show));
+ break;
+ case 1:
+- strcat(show, " ka3");
++ _nc_STRCAT(show, " ka3", sizeof(show));
+ break;
+ case 2:
+- strcat(show, " kb2");
++ _nc_STRCAT(show, " kb2", sizeof(show));
+ break;
+ case 3:
+- strcat(show, " kc1");
++ _nc_STRCAT(show, " kc1", sizeof(show));
+ break;
+ case 4:
+- strcat(show, " kc3");
++ _nc_STRCAT(show, " kc3", sizeof(show));
+ break;
+ }
+ }
+@@ -1176,18 +1397,24 @@
+ VALID_STRING(key_c3)) {
+ show[0] = '\0';
+ if (keypad_index(key_a1) >= 0)
+- strcat(show, " ka1");
++ _nc_STRCAT(show, " ka1", sizeof(show));
+ if (keypad_index(key_a3) >= 0)
+- strcat(show, " ka3");
++ _nc_STRCAT(show, " ka3", sizeof(show));
+ if (keypad_index(key_b2) >= 0)
+- strcat(show, " kb2");
++ _nc_STRCAT(show, " kb2", sizeof(show));
+ if (keypad_index(key_c1) >= 0)
+- strcat(show, " kc1");
++ _nc_STRCAT(show, " kc1", sizeof(show));
+ if (keypad_index(key_c3) >= 0)
+- strcat(show, " kc3");
++ _nc_STRCAT(show, " kc3", sizeof(show));
+ if (*show != '\0')
+ _nc_warning("vt100 keypad map incomplete:%s", show);
+ }
++
++ /*
++ * These warnings are useful for consistency checks - it is possible that
++ * there are real terminals with mismatches in these
++ */
++ ANDMISSING(key_ic, key_dc);
+ }
+
+ static void
+@@ -1216,6 +1443,72 @@
+ ANDMISSING(parm_up_micro, micro_up);
+ }
+
++static bool
++uses_SGR_39_49(const char *value)
++{
++ return (strstr(value, "39;49") != 0
++ || strstr(value, "49;39") != 0);
++}
++
++/*
++ * Check consistency of termcap extensions related to "screen".
++ */
++static void
++check_screen(TERMTYPE *tp)
++{
++ if (_nc_user_definable) {
++ int have_XT = tigetflag("XT");
++ int have_XM = tigetflag("XM");
++ int have_bce = back_color_erase;
++ bool have_kmouse = FALSE;
++ bool use_sgr_39_49 = FALSE;
++ char *name = _nc_first_name(tp->term_names);
++
++ if (!VALID_BOOLEAN(have_bce)) {
++ have_bce = FALSE;
++ }
++ if (!VALID_BOOLEAN(have_XM)) {
++ have_XM = FALSE;
++ }
++ if (!VALID_BOOLEAN(have_XT)) {
++ have_XT = FALSE;
++ }
++ if (VALID_STRING(key_mouse)) {
++ have_kmouse = !strcmp("\033[M", key_mouse);
++ }
++ if (VALID_STRING(orig_colors)) {
++ use_sgr_39_49 = uses_SGR_39_49(orig_colors);
++ } else if (VALID_STRING(orig_pair)) {
++ use_sgr_39_49 = uses_SGR_39_49(orig_pair);
++ }
++
++ if (have_XM && have_XT) {
++ _nc_warning("Screen's XT capability conflicts with XM");
++ } else if (have_XT
++ && strstr(name, "screen") != 0
++ && strchr(name, '.') != 0) {
++ _nc_warning("Screen's \"screen\" entries should not have XT set");
++ } else if (have_XT) {
++ if (!have_kmouse && have_bce) {
++ if (VALID_STRING(key_mouse)) {
++ _nc_warning("Value of kmous inconsistent with screen's usage");
++ } else {
++ _nc_warning("Expected kmous capability with XT");
++ }
++ }
++ if (!have_bce && max_colors > 0)
++ _nc_warning("Expected bce capability with XT");
++ if (!use_sgr_39_49 && have_bce && max_colors > 0)
++ _nc_warning("Expected orig_colors capability with XT to have 39/49 parameters");
++ if (VALID_STRING(to_status_line))
++ _nc_warning("\"tsl\" capability is redundant, given XT");
++ } else {
++ if (have_kmouse && !have_XM)
++ _nc_warning("Expected XT to be set, given kmous");
++ }
++ }
++}
++
+ /*
+ * Returns the expected number of parameters for the given capability.
+ */
+@@ -1527,7 +1820,7 @@
+ show_where(unsigned level)
+ {
+ if (_nc_tracing >= DEBUG_LEVEL(level)) {
+- char my_name[256];
++ char my_name[MAX_NAME_SIZE];
+ _nc_get_type(my_name);
+ _tracef("\"%s\", line %d, '%s'",
+ _nc_get_source(),
+@@ -1539,6 +1832,58 @@
+ #define show_where(level) /* nothing */
+ #endif
+
++typedef struct {
++ int keycode;
++ const char *name;
++ const char *value;
++} NAME_VALUE;
++
++static NAME_VALUE *
++get_fkey_list(TERMTYPE *tp)
++{
++ NAME_VALUE *result = typeMalloc(NAME_VALUE, NUM_STRINGS(tp) + 1);
++ const struct tinfo_fkeys *all_fkeys = _nc_tinfo_fkeys;
++ int used = 0;
++ int j;
++
++ if (result == 0)
++ failed("get_fkey_list");
++
++ for (j = 0; all_fkeys[j].code; j++) {
++ char *a = tp->Strings[all_fkeys[j].offset];
++ if (VALID_STRING(a)) {
++ result[used].keycode = (int) all_fkeys[j].code;
++ result[used].name = strnames[all_fkeys[j].offset];
++ result[used].value = a;
++ ++used;
++ }
++ }
++#if NCURSES_XNAMES
++ for (j = STRCOUNT; j < NUM_STRINGS(tp); ++j) {
++ const char *name = ExtStrname(tp, j, strnames);
++ if (*name == 'k') {
++ result[used].keycode = -1;
++ result[used].name = name;
++ result[used].value = tp->Strings[j];
++ ++used;
++ }
++ }
++#endif
++ result[used].keycode = 0;
++ return result;
++}
++
++static void
++show_fkey_name(NAME_VALUE * data)
++{
++ if (data->keycode > 0) {
++ fprintf(stderr, " %s", keyname(data->keycode));
++ fprintf(stderr, " (capability \"%s\")", data->name);
++ } else {
++ fprintf(stderr, " capability \"%s\"", data->name);
++ }
++}
++
+ /* other sanity-checks (things that we don't want in the normal
+ * logic that reads a terminfo entry)
+ */
+@@ -1547,7 +1892,6 @@
+ {
+ bool conflict = FALSE;
+ unsigned j, k;
+- char fkeys[STRCOUNT];
+
+ /*
+ * A terminal entry may contain more than one keycode assigned to
+@@ -1555,44 +1899,50 @@
+ * return one (the last one assigned).
+ */
+ if (!(_nc_syntax == SYN_TERMCAP && capdump)) {
+- memset(fkeys, 0, sizeof(fkeys));
+- for (j = 0; _nc_tinfo_fkeys[j].code; j++) {
+- char *a = tp->Strings[_nc_tinfo_fkeys[j].offset];
++ char *check = calloc((size_t) (NUM_STRINGS(tp) + 1), sizeof(char));
++ NAME_VALUE *given = get_fkey_list(tp);
++
++ if (check == 0)
++ failed("check_termtype");
++
++ for (j = 0; given[j].keycode; ++j) {
++ const char *a = given[j].value;
+ bool first = TRUE;
+- if (!VALID_STRING(a))
+- continue;
+- for (k = j + 1; _nc_tinfo_fkeys[k].code; k++) {
+- char *b = tp->Strings[_nc_tinfo_fkeys[k].offset];
+- if (!VALID_STRING(b)
+- || fkeys[k])
++
++ for (k = j + 1; given[k].keycode; k++) {
++ const char *b = given[k].value;
++ if (check[k])
+ continue;
+ if (!_nc_capcmp(a, b)) {
+- fkeys[j] = 1;
+- fkeys[k] = 1;
++ check[j] = 1;
++ check[k] = 1;
+ if (first) {
+ if (!conflict) {
+ _nc_warning("Conflicting key definitions (using the last)");
+ conflict = TRUE;
+ }
+- fprintf(stderr, "... %s is the same as %s",
+- keyname((int) _nc_tinfo_fkeys[j].code),
+- keyname((int) _nc_tinfo_fkeys[k].code));
++ fprintf(stderr, "...");
++ show_fkey_name(given + j);
++ fprintf(stderr, " is the same as");
++ show_fkey_name(given + k);
+ first = FALSE;
+ } else {
+- fprintf(stderr, ", %s",
+- keyname((int) _nc_tinfo_fkeys[k].code));
++ fprintf(stderr, ", ");
++ show_fkey_name(given + k);
+ }
+ }
+ }
+ if (!first)
+ fprintf(stderr, "\n");
+ }
++ free(given);
++ free(check);
+ }
+
+- for (j = 0; j < NUM_STRINGS(tp); j++) {
++ for_each_string(j, tp) {
+ char *a = tp->Strings[j];
+ if (VALID_STRING(a))
+- check_params(tp, ExtStrname(tp, j, strnames), a);
++ check_params(tp, ExtStrname(tp, (int) j, strnames), a);
+ }
+
+ check_acs(tp);
+@@ -1600,6 +1950,7 @@
+ check_cursor(tp);
+ check_keypad(tp);
+ check_printer(tp);
++ check_screen(tp);
+
+ /*
+ * These may be mismatched because the terminal description relies on
+Index: progs/toe.c
+Prereq: 1.52
+--- ncurses-5.9/progs/toe.c 2010-05-01 22:04:08.000000000 +0000
++++ ncurses-5.9-20130504/progs/toe.c 2013-03-09 22:45:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -44,12 +44,23 @@
+ #include <hashed_db.h>
+ #endif
+
+-MODULE_ID("$Id: toe.c,v 1.52 2010/05/01 22:04:08 tom Exp $")
++MODULE_ID("$Id: toe.c,v 1.71 2013/03/09 22:45:23 tom Exp $")
+
+ #define isDotname(name) (!strcmp(name, ".") || !strcmp(name, ".."))
+
++typedef struct {
++ int db_index;
++ unsigned long checksum;
++ char *term_name;
++ char *description;
++} TERMDATA;
++
+ const char *_nc_progname;
+
++static TERMDATA *ptr_termdata; /* array of terminal data */
++static size_t use_termdata; /* actual usage in ptr_termdata[] */
++static size_t len_termdata; /* allocated size of ptr_termdata[] */
++
+ #if NO_LEAKS
+ #undef ExitProgram
+ static void ExitProgram(int code) GCC_NORETURN;
+@@ -61,6 +72,8 @@
+ }
+ #endif
+
++static void failed(const char *) GCC_NORETURN;
++
+ static void
+ failed(const char *msg)
+ {
+@@ -68,6 +81,150 @@
+ ExitProgram(EXIT_FAILURE);
+ }
+
++static char *
++strmalloc(const char *value)
++{
++ char *result = strdup(value);
++ if (result == 0) {
++ failed("strmalloc");
++ }
++ return result;
++}
++
++static TERMDATA *
++new_termdata(void)
++{
++ size_t want = use_termdata + 1;
++
++ if (want >= len_termdata) {
++ len_termdata = (2 * want) + 10;
++ ptr_termdata = typeRealloc(TERMDATA, len_termdata, ptr_termdata);
++ if (ptr_termdata == 0)
++ failed("ptr_termdata");
++ }
++
++ return ptr_termdata + use_termdata++;
++}
++
++static int
++compare_termdata(const void *a, const void *b)
++{
++ const TERMDATA *p = (const TERMDATA *) a;
++ const TERMDATA *q = (const TERMDATA *) b;
++ int result = strcmp(p->term_name, q->term_name);
++
++ if (result == 0) {
++ result = (p->db_index - q->db_index);
++ }
++ return result;
++}
++
++/*
++ * Sort the array of TERMDATA and print it. If more than one database is being
++ * reported, add a column to show which database has a given entry.
++ */
++static void
++show_termdata(int eargc, char **eargv)
++{
++ int j, k;
++ size_t n;
++
++ if (use_termdata) {
++ if (eargc > 1) {
++ for (j = 0; j < eargc; ++j) {
++ for (k = 0; k <= j; ++k) {
++ printf("--");
++ }
++ printf("> ");
++ printf("%s\n", eargv[j]);
++ }
++ }
++ if (use_termdata > 1)
++ qsort(ptr_termdata, use_termdata, sizeof(TERMDATA), compare_termdata);
++ for (n = 0; n < use_termdata; ++n) {
++
++ /*
++ * If there is more than one database, show how they differ.
++ */
++ if (eargc > 1) {
++ unsigned long check = 0;
++ k = 0;
++ for (;;) {
++ for (; k < ptr_termdata[n].db_index; ++k) {
++ printf("--");
++ }
++
++ /*
++ * If this is the first entry, or its checksum differs
++ * from the first entry's checksum, print "*". Otherwise
++ * it looks enough like a duplicate to print "+".
++ */
++ printf("%c-", ((check == 0
++ || (check != ptr_termdata[n].checksum))
++ ? '*'
++ : '+'));
++ check = ptr_termdata[n].checksum;
++
++ ++k;
++ if ((n + 1) >= use_termdata
++ || strcmp(ptr_termdata[n].term_name,
++ ptr_termdata[n + 1].term_name)) {
++ break;
++ }
++ ++n;
++ }
++ for (; k < eargc; ++k) {
++ printf("--");
++ }
++ printf(":\t");
++ }
++
++ (void) printf("%-10s\t%s\n",
++ ptr_termdata[n].term_name,
++ ptr_termdata[n].description);
++ }
++ }
++}
++
++static void
++free_termdata(void)
++{
++ if (ptr_termdata != 0) {
++ while (use_termdata != 0) {
++ --use_termdata;
++ free(ptr_termdata[use_termdata].term_name);
++ free(ptr_termdata[use_termdata].description);
++ }
++ free(ptr_termdata);
++ ptr_termdata = 0;
++ }
++ use_termdata = 0;
++ len_termdata = 0;
++}
++
++static char **
++allocArgv(size_t count)
++{
++ char **result = typeCalloc(char *, count + 1);
++ if (result == 0)
++ failed("realloc eargv");
++
++ assert(result != 0);
++ return result;
++}
++
++static void
++freeArgv(char **argv)
++{
++ if (argv) {
++ int count = 0;
++ while (argv[count]) {
++ free(argv[count++]);
++ }
++ free(argv);
++ }
++}
++
+ #if USE_HASHED_DB
+ static bool
+ make_db_name(char *dst, const char *src, unsigned limit)
+@@ -81,61 +238,94 @@
+
+ if (need <= limit) {
+ if (size >= lens
+- && !strcmp(src + size - lens, suffix))
+- (void) strcpy(dst, src);
+- else
+- (void) sprintf(dst, "%s%s", src, suffix);
++ && !strcmp(src + size - lens, suffix)) {
++ _nc_STRCPY(dst, src, PATH_MAX);
++ } else {
++ _nc_SPRINTF(dst, _nc_SLIMIT(PATH_MAX) "%s%s", src, suffix);
++ }
+ result = TRUE;
+ }
+ return result;
+ }
+ #endif
+
+-static bool
+-is_database(const char *path)
++typedef void (DescHook) (int /* db_index */ ,
++ int /* db_limit */ ,
++ const char * /* term_name */ ,
++ TERMTYPE * /* term */ );
++
++static const char *
++term_description(TERMTYPE *tp)
+ {
+- bool result = FALSE;
+-#if USE_DATABASE
+- if (_nc_is_dir_path(path) && access(path, R_OK | X_OK) == 0) {
+- result = TRUE;
+- }
+-#endif
+-#if USE_TERMCAP
+- if (_nc_is_file_path(path) && access(path, R_OK) == 0) {
+- result = TRUE;
++ const char *desc;
++
++ if (tp->term_names == 0
++ || (desc = strrchr(tp->term_names, '|')) == 0
++ || (*++desc == '\0')) {
++ desc = "(No description)";
+ }
+-#endif
+-#if USE_HASHED_DB
+- if (!result) {
+- char filename[PATH_MAX];
+- if (_nc_is_file_path(path) && access(path, R_OK) == 0) {
+- result = TRUE;
+- } else if (make_db_name(filename, path, sizeof(filename))) {
+- if (_nc_is_file_path(filename) && access(filename, R_OK) == 0) {
+- result = TRUE;
+- }
++
++ return desc;
++}
++
++/* display a description for the type */
++static void
++deschook(int db_index, int db_limit, const char *term_name, TERMTYPE *tp)
++{
++ (void) db_index;
++ (void) db_limit;
++ (void) printf("%-10s\t%s\n", term_name, term_description(tp));
++}
++
++static unsigned long
++string_sum(const char *value)
++{
++ unsigned long result = 0;
++
++ if ((intptr_t) value == (intptr_t) (-1)) {
++ result = ~result;
++ } else if (value) {
++ while (*value) {
++ result += UChar(*value);
++ ++value;
+ }
+ }
+-#endif
+ return result;
+ }
+
+-static void
+-deschook(const char *cn, TERMTYPE *tp)
+-/* display a description for the type */
++static unsigned long
++checksum_of(TERMTYPE *tp)
+ {
+- const char *desc;
++ unsigned long result = string_sum(tp->term_names);
++ unsigned i;
+
+- if ((desc = strrchr(tp->term_names, '|')) == 0 || *++desc == '\0')
+- desc = "(No description)";
++ for (i = 0; i < NUM_BOOLEANS(tp); i++) {
++ result += (unsigned long) (tp->Booleans[i]);
++ }
++ for (i = 0; i < NUM_NUMBERS(tp); i++) {
++ result += (unsigned long) (tp->Numbers[i]);
++ }
++ for (i = 0; i < NUM_STRINGS(tp); i++) {
++ result += string_sum(tp->Strings[i]);
++ }
++ return result;
++}
++
++/* collect data, to sort before display */
++static void
++sorthook(int db_index, int db_limit, const char *term_name, TERMTYPE *tp)
++{
++ TERMDATA *data = new_termdata();
+
+- (void) printf("%-10s\t%s\n", cn, desc);
++ data->db_index = db_index;
++ data->checksum = ((db_limit > 1) ? checksum_of(tp) : 0);
++ data->term_name = strmalloc(term_name);
++ data->description = strmalloc(term_description(tp));
+ }
+
+ #if USE_TERMCAP
+ static void
+-show_termcap(char *buffer,
+- void (*hook) (const char *, TERMTYPE *tp))
++show_termcap(int db_index, int db_limit, char *buffer, DescHook hook)
+ {
+ TERMTYPE data;
+ char *next = strchr(buffer, ':');
+@@ -149,20 +339,36 @@
+ if (last)
+ ++last;
+
+- data.term_names = strdup(buffer);
++ memset(&data, 0, sizeof(data));
++ data.term_names = strmalloc(buffer);
+ while ((next = strtok(list, "|")) != 0) {
+ if (next != last)
+- hook(next, &data);
++ hook(db_index, db_limit, next, &data);
+ list = 0;
+ }
+ free(data.term_names);
+ }
+ #endif
+
++#if USE_DATABASE
++static char *
++copy_entryname(DIRENT * src)
++{
++ size_t len = NAMLEN(src);
++ char *result = malloc(len + 1);
++ if (result == 0)
++ failed("copy entryname");
++ memcpy(result, src->d_name, len);
++ result[len] = '\0';
++
++ return result;
++}
++#endif
++
+ static int
+ typelist(int eargc, char *eargv[],
+ bool verbosity,
+- void (*hook) (const char *, TERMTYPE *tp))
++ DescHook hook)
+ /* apply a function to each entry in given terminfo directories */
+ {
+ int i;
+@@ -179,28 +385,35 @@
+ (void) fprintf(stderr,
+ "%s: can't open terminfo directory %s\n",
+ _nc_progname, eargv[i]);
+- return (EXIT_FAILURE);
+- } else if (verbosity)
++ continue;
++ }
++
++ if (verbosity)
+ (void) printf("#\n#%s:\n#\n", eargv[i]);
+
+ while ((subdir = readdir(termdir)) != 0) {
+- size_t len = NAMLEN(subdir);
+- size_t cwd_len = len + strlen(eargv[i]) + 3;
+- char name_1[PATH_MAX];
++ size_t cwd_len;
++ char *name_1;
+ DIR *entrydir;
+ DIRENT *entry;
+
++ name_1 = copy_entryname(subdir);
++ if (isDotname(name_1)) {
++ free(name_1);
++ continue;
++ }
++
++ cwd_len = NAMLEN(subdir) + strlen(eargv[i]) + 3;
+ cwd_buf = typeRealloc(char, cwd_len, cwd_buf);
+ if (cwd_buf == 0)
+ failed("realloc cwd_buf");
+
+ assert(cwd_buf != 0);
+
+- strncpy(name_1, subdir->d_name, len)[len] = '\0';
+- if (isDotname(name_1))
+- continue;
++ _nc_SPRINTF(cwd_buf, _nc_SLIMIT(cwd_len)
++ "%s/%s/", eargv[i], name_1);
++ free(name_1);
+
+- (void) sprintf(cwd_buf, "%s/%.*s/", eargv[i], (int) len, name_1);
+ if (chdir(cwd_buf) != 0)
+ continue;
+
+@@ -210,15 +423,16 @@
+ continue;
+ }
+ while ((entry = readdir(entrydir)) != 0) {
+- char name_2[PATH_MAX];
++ char *name_2;
+ TERMTYPE lterm;
+ char *cn;
+ int status;
+
+- len = NAMLEN(entry);
+- strncpy(name_2, entry->d_name, len)[len] = '\0';
+- if (isDotname(name_2) || !_nc_is_file_path(name_2))
++ name_2 = copy_entryname(entry);
++ if (isDotname(name_2) || !_nc_is_file_path(name_2)) {
++ free(name_2);
+ continue;
++ }
+
+ status = _nc_read_file_entry(name_2, &lterm);
+ if (status <= 0) {
+@@ -226,6 +440,10 @@
+ (void) fprintf(stderr,
+ "%s: couldn't open terminfo file %s.\n",
+ _nc_progname, name_2);
++ free(cwd_buf);
++ free(name_2);
++ closedir(entrydir);
++ closedir(termdir);
+ return (EXIT_FAILURE);
+ }
+
+@@ -233,21 +451,26 @@
+ cn = _nc_first_name(lterm.term_names);
+ if (!strcmp(cn, name_2)) {
+ /* apply the selected hook function */
+- (*hook) (cn, &lterm);
++ hook(i, eargc, cn, &lterm);
+ }
+ _nc_free_termtype(&lterm);
++ free(name_2);
+ }
+ closedir(entrydir);
+ }
+ closedir(termdir);
+ if (cwd_buf != 0)
+ free(cwd_buf);
++ continue;
+ }
+ #if USE_HASHED_DB
+ else {
+ DB *capdbp;
+ char filename[PATH_MAX];
+
++ if (verbosity)
++ (void) printf("#\n#%s:\n#\n", eargv[i]);
++
+ if (make_db_name(filename, eargv[i], sizeof(filename))) {
+ if ((capdbp = _nc_db_open(filename, FALSE)) != 0) {
+ DBT key, data;
+@@ -265,7 +488,7 @@
+ /* only visit things once, by primary name */
+ cn = _nc_first_name(lterm.term_names);
+ /* apply the selected hook function */
+- (*hook) (cn, &lterm);
++ hook(i, eargc, cn, &lterm);
+ _nc_free_termtype(&lterm);
+ }
+ }
+@@ -273,6 +496,7 @@
+ }
+
+ _nc_db_close(capdbp);
++ continue;
+ }
+ }
+ }
+@@ -280,37 +504,43 @@
+ #endif
+ #if USE_TERMCAP
+ #if HAVE_BSD_CGETENT
+- char *db_array[2];
+- char *buffer = 0;
++ {
++ CGETENT_CONST char *db_array[2];
++ char *buffer = 0;
+
+- if (verbosity)
+- (void) printf("#\n#%s:\n#\n", eargv[i]);
++ if (verbosity)
++ (void) printf("#\n#%s:\n#\n", eargv[i]);
+
+- db_array[0] = eargv[i];
+- db_array[1] = 0;
++ db_array[0] = eargv[i];
++ db_array[1] = 0;
+
+- if (cgetfirst(&buffer, db_array)) {
+- show_termcap(buffer, hook);
+- free(buffer);
+- while (cgetnext(&buffer, db_array)) {
+- show_termcap(buffer, hook);
++ if (cgetfirst(&buffer, db_array) > 0) {
++ show_termcap(i, eargc, buffer, hook);
+ free(buffer);
++ while (cgetnext(&buffer, db_array) > 0) {
++ show_termcap(i, eargc, buffer, hook);
++ free(buffer);
++ }
++ cgetclose();
++ continue;
+ }
+ }
+- cgetclose();
+ #else
+ /* scan termcap text-file only */
+ if (_nc_is_file_path(eargv[i])) {
+ char buffer[2048];
+ FILE *fp;
+
++ if (verbosity)
++ (void) printf("#\n#%s:\n#\n", eargv[i]);
++
+ if ((fp = fopen(eargv[i], "r")) != 0) {
+ while (fgets(buffer, sizeof(buffer), fp) != 0) {
+ if (*buffer == '#')
+ continue;
+ if (isspace(*buffer))
+ continue;
+- show_termcap(buffer, hook);
++ show_termcap(i, eargc, buffer, hook);
+ }
+ fclose(fp);
+ }
+@@ -319,13 +549,18 @@
+ #endif
+ }
+
++ if (hook == sorthook) {
++ show_termdata(eargc, eargv);
++ free_termdata();
++ }
++
+ return (EXIT_SUCCESS);
+ }
+
+ static void
+ usage(void)
+ {
+- (void) fprintf(stderr, "usage: %s [-ahuUV] [-v n] [file...]\n", _nc_progname);
++ (void) fprintf(stderr, "usage: %s [-ahsuUV] [-v n] [file...]\n", _nc_progname);
+ ExitProgram(EXIT_FAILURE);
+ }
+
+@@ -340,23 +575,24 @@
+ unsigned i;
+ int code;
+ int this_opt, last_opt = '?';
+- int v_opt = 0;
++ unsigned v_opt = 0;
++ DescHook *hook = deschook;
+
+ _nc_progname = _nc_rootname(argv[0]);
+
+- while ((this_opt = getopt(argc, argv, "0123456789ahu:vU:V")) != -1) {
++ while ((this_opt = getopt(argc, argv, "0123456789ahsu:vU:V")) != -1) {
+ /* handle optional parameter */
+ if (isdigit(this_opt)) {
+ switch (last_opt) {
+ case 'v':
+- v_opt = (this_opt - '0');
++ v_opt = (unsigned) (this_opt - '0');
+ break;
+ default:
+ if (isdigit(last_opt))
+ v_opt *= 10;
+ else
+ v_opt = 0;
+- v_opt += (this_opt - '0');
++ v_opt += (unsigned) (this_opt - '0');
+ last_opt = this_opt;
+ }
+ continue;
+@@ -368,6 +604,9 @@
+ case 'h':
+ header = TRUE;
+ break;
++ case 's':
++ hook = sorthook;
++ break;
+ case 'u':
+ direct_dependencies = TRUE;
+ report_file = optarg;
+@@ -450,7 +689,7 @@
+ * If we get this far, user wants a simple terminal type listing.
+ */
+ if (optind < argc) {
+- code = typelist(argc - optind, argv + optind, header, deschook);
++ code = typelist(argc - optind, argv + optind, header, hook);
+ } else if (all_dirs) {
+ DBDIRS state;
+ int offset;
+@@ -460,64 +699,41 @@
+
+ code = EXIT_FAILURE;
+ for (pass = 0; pass < 2; ++pass) {
+- unsigned count = 0;
++ size_t count = 0;
+
+ _nc_first_db(&state, &offset);
+ while ((path = _nc_next_db(&state, &offset)) != 0) {
+- if (!is_database(path)) {
+- ;
+- } else if (eargv != 0) {
+- unsigned n;
+- int found = FALSE;
+-
+- /* eliminate duplicates */
+- for (n = 0; n < count; ++n) {
+- if (!strcmp(path, eargv[n])) {
+- found = TRUE;
+- break;
+- }
+- }
+- if (!found) {
+- eargv[count] = strdup(path);
+- ++count;
+- }
+- } else {
+- ++count;
++ if (pass) {
++ eargv[count] = strmalloc(path);
+ }
++ ++count;
+ }
+ if (!pass) {
+- eargv = typeCalloc(char *, count + 1);
++ eargv = allocArgv(count);
+ if (eargv == 0)
+- failed("realloc eargv");
+-
+- assert(eargv != 0);
++ failed("eargv");
+ } else {
+- code = typelist((int) count, eargv, header, deschook);
+- while (count-- > 0)
+- free(eargv[count]);
+- free(eargv);
++ code = typelist((int) count, eargv, header, hook);
++ freeArgv(eargv);
+ }
+ }
+ } else {
+ DBDIRS state;
+ int offset;
+ const char *path;
+- char *eargv[3];
+- int count = 0;
++ char **eargv = allocArgv(2);
++ size_t count = 0;
+
++ if (eargv == 0)
++ failed("eargv");
+ _nc_first_db(&state, &offset);
+- while ((path = _nc_next_db(&state, &offset)) != 0) {
+- if (is_database(path)) {
+- eargv[count++] = strdup(path);
+- break;
+- }
++ if ((path = _nc_next_db(&state, &offset)) != 0) {
++ eargv[count++] = strmalloc(path);
+ }
+- eargv[count] = 0;
+
+- code = typelist(count, eargv, header, deschook);
++ code = typelist((int) count, eargv, header, hook);
+
+- while (count-- > 0)
+- free(eargv[count]);
++ freeArgv(eargv);
+ }
+ _nc_last_db();
+
+Index: progs/tput.c
+Prereq: 1.46
+--- ncurses-5.9/progs/tput.c 2010-01-09 16:53:24.000000000 +0000
++++ ncurses-5.9-20130504/progs/tput.c 2012-02-18 21:51:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -47,7 +47,7 @@
+ #endif
+ #include <transform.h>
+
+-MODULE_ID("$Id: tput.c,v 1.46 2010/01/09 16:53:24 tom Exp $")
++MODULE_ID("$Id: tput.c,v 1.48 2012/02/18 21:51:17 tom Exp $")
+
+ #define PUTS(s) fputs(s, stdout)
+ #define PUTCHAR(c) putchar(c)
+@@ -94,9 +94,6 @@
+ * Lookup the type of call we should make to tparm(). This ignores the actual
+ * terminfo capability (bad, because it is not extensible), but makes this
+ * code portable to platforms where sizeof(int) != sizeof(char *).
+- *
+- * FIXME: If we want extensibility, analyze the capability string as we do
+- * in tparm() to decide how to parse the varargs list.
+ */
+ static TParams
+ tparm_type(const char *name)
+@@ -338,7 +335,7 @@
+ case Numbers:
+ default:
+ (void) _nc_tparm_analyze(s, p_is_s, &popcount);
+-#define myParam(n) (p_is_s[n - 1] != 0 ? ((long) strings[n]) : numbers[n])
++#define myParam(n) (p_is_s[n - 1] != 0 ? ((TPARM_ARG) strings[n]) : numbers[n])
+ s = TPARM_9(s,
+ myParam(1),
+ myParam(2),
+Index: progs/transform.c
+Prereq: 1.2
+--- ncurses-5.9/progs/transform.c 2010-09-04 21:16:17.000000000 +0000
++++ ncurses-5.9-20130504/progs/transform.c 2011-05-14 22:41:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2009-2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -34,21 +34,21 @@
+
+ #include <transform.h>
+
+-MODULE_ID("$Id: transform.c,v 1.2 2010/09/04 21:16:17 tom Exp $")
++MODULE_ID("$Id: transform.c,v 1.3 2011/05/14 22:41:17 tom Exp $")
+
+ #ifdef SUFFIX_IGNORED
+ static void
+-trim_suffix(const char *a, unsigned *len)
++trim_suffix(const char *a, size_t *len)
+ {
+ const char ignore[] = SUFFIX_IGNORED;
+
+ if (sizeof(ignore) != 0) {
+ bool trim = FALSE;
+- unsigned need = (sizeof(ignore) - 1);
++ size_t need = (sizeof(ignore) - 1);
+
+ if (*len > need) {
+- unsigned first = *len - need;
+- unsigned n;
++ size_t first = *len - need;
++ size_t n;
+ trim = TRUE;
+ for (n = first; n < *len; ++n) {
+ if (tolower(UChar(a[n])) != tolower(UChar(ignore[n - first]))) {
+@@ -69,8 +69,8 @@
+ bool
+ same_program(const char *a, const char *b)
+ {
+- unsigned len_a = strlen(a);
+- unsigned len_b = strlen(b);
++ size_t len_a = strlen(a);
++ size_t len_b = strlen(b);
+
+ trim_suffix(a, &len_a);
+ trim_suffix(b, &len_b);
+Index: progs/tset.c
+Prereq: 1.82
+--- ncurses-5.9/progs/tset.c 2010-05-01 21:42:46.000000000 +0000
++++ ncurses-5.9-20130504/progs/tset.c 2013-03-23 21:38:08.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -119,7 +119,7 @@
+ #include <dump_entry.h>
+ #include <transform.h>
+
+-MODULE_ID("$Id: tset.c,v 1.82 2010/05/01 21:42:46 tom Exp $")
++MODULE_ID("$Id: tset.c,v 1.91 2013/03/23 21:38:08 tom Exp $")
+
+ /*
+ * SCO defines TIOCGSIZE and the corresponding struct. Other systems (SunOS,
+@@ -148,6 +148,10 @@
+ #undef CTRL
+ #define CTRL(x) ((x) & 0x1f)
+
++static void failed(const char *) GCC_NORETURN;
++static void exit_error(void) GCC_NORETURN;
++static void err(const char *,...) GCC_NORETURN;
++
+ const char *_nc_progname = "tset";
+
+ static TTY mode, oldmode, original;
+@@ -160,7 +164,10 @@
+ static int terasechar = -1; /* new erase character */
+ static int intrchar = -1; /* new interrupt character */
+ static int tkillchar = -1; /* new kill character */
++
++#if HAVE_SIZECHANGE
+ static int tlines, tcolumns; /* window size */
++#endif
+
+ #define LOWERCASE(c) ((isalpha(UChar(c)) && isupper(UChar(c))) ? tolower(UChar(c)) : (c))
+
+@@ -203,13 +210,13 @@
+ failed(const char *msg)
+ {
+ char temp[BUFSIZ];
+- unsigned len = strlen(_nc_progname) + 2;
++ size_t len = strlen(_nc_progname) + 2;
+
+ if ((int) len < (int) sizeof(temp) - 12) {
+- strcpy(temp, _nc_progname);
+- strcat(temp, ": ");
++ _nc_STRCPY(temp, _nc_progname, sizeof(temp));
++ _nc_STRCAT(temp, ": ", sizeof(temp));
+ } else {
+- strcpy(temp, "tset: ");
++ _nc_STRCPY(temp, "tset: ", sizeof(temp));
+ }
+ perror(strncat(temp, msg, sizeof(temp) - strlen(temp) - 2));
+ exit_error();
+@@ -467,9 +474,6 @@
+ mapp->speed = tbaudrate(p);
+ }
+
+- if (arg == (char *) 0) /* Non-optional type. */
+- goto badmopt;
+-
+ mapp->type = arg;
+
+ /* Terminate porttype, if specified. */
+@@ -527,19 +531,19 @@
+ match = TRUE;
+ break;
+ case EQ:
+- match = (ospeed == mapp->speed);
++ match = ((int) ospeed == mapp->speed);
+ break;
+ case GE:
+- match = (ospeed >= mapp->speed);
++ match = ((int) ospeed >= mapp->speed);
+ break;
+ case GT:
+- match = (ospeed > mapp->speed);
++ match = ((int) ospeed > mapp->speed);
+ break;
+ case LE:
+- match = (ospeed <= mapp->speed);
++ match = ((int) ospeed <= mapp->speed);
+ break;
+ case LT:
+- match = (ospeed < mapp->speed);
++ match = ((int) ospeed < mapp->speed);
+ break;
+ default:
+ match = FALSE;
+@@ -1043,11 +1047,18 @@
+ {
+ if (set_tab && clear_all_tabs) {
+ int c;
++ int lim =
++#if HAVE_SIZECHANGE
++ tcolumns
++#else
++ columns
++#endif
++ ;
+
+ (void) putc('\r', stderr); /* Force to left margin. */
+ tputs(clear_all_tabs, 0, outc);
+
+- for (c = 8; c < tcolumns; c += 8) {
++ for (c = 8; c < lim; c += 8) {
+ /* Get to the right column. In BSD tset, this
+ * used to try a bunch of half-clever things
+ * with cup and hpa, for an average saving of
+@@ -1273,10 +1284,10 @@
+ (void) get_termcap_entry(*argv);
+
+ if (!noset) {
++#if HAVE_SIZECHANGE
+ tcolumns = columns;
+ tlines = lines;
+
+-#if HAVE_SIZECHANGE
+ if (opt_w) {
+ STRUCT_WINSIZE win;
+ /* Set window size if not set already */
+Index: test/Makefile.in
+Prereq: 1.108
+--- ncurses-5.9/test/Makefile.in 2010-11-28 16:39:40.000000000 +0000
++++ ncurses-5.9-20130504/test/Makefile.in 2011-09-24 15:13:44.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: Makefile.in,v 1.108 2010/11/28 16:39:40 tom Exp $
++# $Id: Makefile.in,v 1.109 2011/09/24 15:13:44 nix Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -102,7 +102,7 @@
+ LDFLAGS_PROFILE = $(LDFLAGS) $(CFLAGS_PROFILE)
+ LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@
+
+-TEST_ARGS = @LDFLAGS_STATIC@ @TEST_ARGS@ @LDFLAGS_SHARED@
++TEST_ARGS = @LDFLAGS_STATIC@ @TEST_ARGS@ @LDFLAGS_SHARED@
+
+ # use these for linking with all of the libraries
+ LIBS_DEFAULT = $(TEST_ARGS) @LIBS@ $(TEST_LIBS) $(MATH_LIB)
+@@ -117,8 +117,8 @@
+ LDFLAGS_CURSES = $(LDFLAGS_@DFT_UPR_MODEL@) $(LIBS_CURSES)
+
+ # use these for linking with the tinfo library if we have it, or curses library if not
+-LIBS_TINFO = @LDFLAGS_STATIC@ @TINFO_ARGS@ @LDFLAGS_SHARED@ @LIBS@ $(TEST_LIBS) $(MATH_LIB)
+-LDFLAGS_TINFO = $(LDFLAGS_@DFT_UPR_MODEL@) $(LIBS_TINFO)
++LIBS_TINFO = @LDFLAGS_STATIC@ @TINFO_LIBS@ @LDFLAGS_SHARED@ @LIBS@ $(TEST_LIBS) $(MATH_LIB)
++LDFLAGS_TINFO = @TINFO_LDFLAGS@ $(LDFLAGS_@DFT_UPR_MODEL@) $(LIBS_TINFO)
+
+ LINT = @LINT@
+ LINT_OPTS = @LINT_OPTS@
+Index: test/README
+Prereq: 1.44
+--- ncurses-5.9/test/README 2011-02-26 00:09:25.000000000 +0000
++++ ncurses-5.9-20130504/test/README 2013-01-19 21:30:38.000000000 +0000
+@@ -1,5 +1,5 @@
+ -------------------------------------------------------------------------------
+--- Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. --
++-- Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. --
+ -- --
+ -- Permission is hereby granted, free of charge, to any person obtaining a --
+ -- copy of this software and associated documentation files (the --
+@@ -25,7 +25,7 @@
+ -- sale, use or other dealings in this Software without prior written --
+ -- authorization. --
+ -------------------------------------------------------------------------------
+--- $Id: README,v 1.44 2011/02/26 00:09:25 tom Exp $
++-- $Id: README,v 1.47 2013/01/19 21:30:38 tom Exp $
+ -------------------------------------------------------------------------------
+
+ The programs in this directory are designed to test your newest toy :-)
+@@ -223,18 +223,18 @@
+ SP lib: form
+ TABSIZE test: test_opaque
+ UP -
+-acs_map test: gdc ins_wide inserts knight movewindow ncurses newdemo test_add_wchstr test_addchstr test_addstr test_addwstr testcurs
++acs_map test: background gdc ins_wide inserts knight movewindow ncurses newdemo test_add_wchstr test_addchstr test_addstr test_addwstr testcurs
+ add_wch test: demo_panels ncurses test_add_wchstr test_addwstr
+ add_wchnstr test: test_add_wchstr
+ add_wchstr test: test_add_wchstr view
+-addch test: blue bs echochar hashtest ncurses savescreen test_add_wchstr test_addchstr test_addstr test_addwstr test_opaque testaddch view worm
++addch test: background blue bs echochar hashtest ncurses savescreen test_add_wchstr test_addchstr test_addstr test_addwstr test_opaque testaddch view worm
+ addchnstr test: test_addchstr
+ addchstr test: test_addchstr
+ addnstr test: test_addstr
+ addnwstr test: ncurses test_addwstr
+ addstr test: blue bs cardfile gdc hanoi lrtest ncurses savescreen test_addstr
+ addwstr test: ncurses test_addwstr
+-assume_default_colors test: ncurses
++assume_default_colors test: background ncurses
+ assume_default_colors_sp -
+ attr_get test: ncurses
+ attr_off test: ncurses
+@@ -271,7 +271,7 @@
+ color_content_sp -
+ color_set test: color_set ncurses
+ copywin test: ncurses testcurs
+-cur_term test: demo_terminfo dots dots_mvcur lrtest progs: clear tabs tput tset
++cur_term test: demo_terminfo dots dots_mvcur lrtest test_vid_puts test_vidputs progs: clear tabs tput tset
+ curs_set test: echochar firework gdc hanoi lrtest ncurses newdemo rain savescreen tclock testcurs worm xmas
+ curs_set_sp lib: ncurses
+ curscr test: demo_panels edit_field knight lrtest ncurses savescreen tclock view
+@@ -306,7 +306,7 @@
+ erasewchar -
+ filter test: filter
+ filter_sp -
+-flash test: cardfile lrtest ncurses tclock testcurs
++flash test: cardfile lrtest movewindow ncurses tclock testcurs
+ flash_sp -
+ flushinp test: ncurses newdemo testcurs
+ flushinp_sp lib: ncurses
+@@ -399,7 +399,7 @@
+ key_name test: key_names ncurses
+ keybound test: demo_altkeys demo_defkey
+ keybound_sp lib: ncurses
+-keyname test: demo_altkeys demo_defkey demo_keyok demo_menus edit_field foldkeys keynames movewindow ncurses redraw testcurs view progs: tic
++keyname test: demo_altkeys demo_defkey demo_keyok demo_menus edit_field foldkeys keynames movewindow ncurses redraw test_getstr testcurs view progs: tic
+ keyname_sp lib: ncurses
+ keyok test: demo_keyok foldkeys
+ keyok_sp lib: ncurses
+@@ -430,7 +430,7 @@
+ mvaddwstr test: test_addwstr
+ mvchgat test: chgat
+ mvcur test: dots_mvcur redraw
+-mvcur_sp lib: ncurses
++mvcur_sp -
+ mvdelch -
+ mvderwin test: movewindow
+ mvget_wch -
+@@ -457,7 +457,7 @@
+ mvinsstr test: inserts
+ mvinstr test: test_instr
+ mvinwstr test: test_inwstr
+-mvprintw test: bs demo_menus firework hanoi ncurses tclock view
++mvprintw test: background bs demo_menus firework hanoi ncurses tclock view
+ mvscanw -
+ mvvline test: ncurses
+ mvvline_set test: ncurses
+@@ -542,13 +542,13 @@
+ prefresh test: testcurs
+ printw test: background blue bs color_set demo_altkeys demo_defkey demo_keyok demo_menus filter foldkeys ncurses savescreen testcurs testscanw view
+ putp progs: tput
+-putp_sp lib: ncurses
++putp_sp -
+ putwin test: ncurses
+ qiflush -
+ qiflush_sp -
+ raw test: demo_forms ncurses redraw testcurs
+ raw_sp lib: ncurses
+-redrawwin test: redraw
++redrawwin test: redraw view
+ refresh test: blue bs demo_defkey demo_forms demo_keyok demo_menus demo_panels echochar filter firstlast gdc hanoi hashtest lrtest movewindow ncurses savescreen tclock testcurs view xmas
+ reset_prog_mode test: filter ncurses
+ reset_prog_mode_sp lib: ncurses
+@@ -586,7 +586,7 @@
+ set_term lib: ncurses
+ setcchar test: demo_panels ins_wide ncurses test_add_wchstr test_addwstr view
+ setscrreg test: view
+-setupterm test: demo_termcap demo_terminfo dots progs: clear tabs tput tset
++setupterm test: demo_termcap demo_terminfo dots test_vid_puts test_vidputs progs: clear tabs tput tset
+ slk_attr -
+ slk_attr_off -
+ slk_attr_on -
+@@ -644,20 +644,20 @@
+ tgetstr test: demo_termcap railroad
+ tgetstr_sp -
+ tgoto test: railroad
+-tigetflag test: demo_terminfo progs: tput
++tigetflag test: demo_terminfo progs: tic tput
+ tigetflag_sp -
+ tigetnum test: demo_terminfo ncurses progs: tput
+ tigetnum_sp -
+-tigetstr test: blue demo_defkey demo_terminfo foldkeys testcurs progs: tput
++tigetstr test: demo_defkey demo_terminfo foldkeys testcurs progs: tput
+ tigetstr_sp -
+ timeout test: rain savescreen
+ tiparm -
+ touchline test: chgat clip_printw insdelln
+ touchwin test: chgat clip_printw demo_menus edit_field filter firstlast inch_wide inchs ins_wide insdelln inserts movewindow ncurses redraw test_add_wchstr test_addchstr test_addstr test_addwstr test_get_wstr test_getstr test_instr test_inwstr test_opaque xmas
+ tparm test: dots dots_mvcur progs: tabs tic tput
+-tputs test: dots dots_mvcur railroad progs: clear tabs tset
++tputs test: dots dots_mvcur railroad test_vid_puts test_vidputs progs: clear tabs tset
+ tputs_sp lib: ncurses
+-trace test: demo_menus hanoi hashtest lrtest ncurses testcurs view worm
++trace test: demo_menus hashtest lrtest ncurses testcurs view worm
+ ttytype lib: ncurses
+ typeahead test: testcurs
+ typeahead_sp lib: ncurses
+@@ -670,22 +670,24 @@
+ ungetmouse -
+ ungetmouse_sp -
+ untouchwin lib: form
+-use_default_colors test: filter firework gdc hanoi knight ncurses rain tclock worm xmas
++use_default_colors test: background filter firework gdc hanoi knight ncurses rain tclock worm xmas
+ use_default_colors_sp -
+-use_env progs: tput
++use_env test: ncurses progs: tput
+ use_env_sp -
+-use_extended_names test: demo_terminfo progs: infocmp tic
++use_extended_names test: demo_termcap demo_terminfo progs: infocmp tic
+ use_legacy_coding -
+ use_legacy_coding_sp -
+ use_screen test: ditto
++use_tioctl test: ncurses
++use_tioctl_sp -
+ use_window test: rain worm
+-vid_attr -
++vid_attr test: test_vid_puts
+ vid_attr_sp -
+-vid_puts -
++vid_puts test: test_vid_puts
+ vid_puts_sp -
+-vidattr -
+-vidattr_sp lib: ncurses
+-vidputs -
++vidattr test: test_vidputs
++vidattr_sp -
++vidputs test: test_vidputs
+ vidputs_sp lib: ncurses
+ vline test: gdc ncurses
+ vline_set -
+Index: test/aclocal.m4
+Prereq: 1.50
+--- ncurses-5.9/test/aclocal.m4 2011-03-24 08:28:07.000000000 +0000
++++ ncurses-5.9-20130504/test/aclocal.m4 2013-03-09 21:41:33.000000000 +0000
+@@ -1,5 +1,5 @@
+ dnl***************************************************************************
+-dnl Copyright (c) 2003-2010,2011 Free Software Foundation, Inc. *
++dnl Copyright (c) 2003-2012,2013 Free Software Foundation, Inc. *
+ dnl *
+ dnl Permission is hereby granted, free of charge, to any person obtaining a *
+ dnl copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ dnl authorization. *
+ dnl***************************************************************************
+ dnl
+-dnl $Id: aclocal.m4,v 1.50 2011/03/24 08:28:07 tom Exp $
++dnl $Id: aclocal.m4,v 1.86 2013/03/09 21:41:33 tom Exp $
+ dnl
+ dnl Author: Thomas E. Dickey
+ dnl
+@@ -40,6 +40,32 @@
+ dnl
+ dnl ---------------------------------------------------------------------------
+ dnl ---------------------------------------------------------------------------
++dnl CF_ACVERSION_CHECK version: 4 updated: 2013/03/04 19:52:56
++dnl ------------------
++dnl Conditionally generate script according to whether we're using a given autoconf.
++dnl
++dnl $1 = version to compare against
++dnl $2 = code to use if AC_ACVERSION is at least as high as $1.
++dnl $3 = code to use if AC_ACVERSION is older than $1.
++define([CF_ACVERSION_CHECK],
++[
++ifdef([AC_ACVERSION], ,[m4_copy([m4_PACKAGE_VERSION],[AC_ACVERSION])])dnl
++ifdef([m4_version_compare],
++[m4_if(m4_version_compare(m4_defn([AC_ACVERSION]), [$1]), -1, [$3], [$2])],
++[CF_ACVERSION_COMPARE(
++AC_PREREQ_CANON(AC_PREREQ_SPLIT([$1])),
++AC_PREREQ_CANON(AC_PREREQ_SPLIT(AC_ACVERSION)), AC_ACVERSION, [$2], [$3])])])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_ACVERSION_COMPARE version: 3 updated: 2012/10/03 18:39:53
++dnl --------------------
++dnl CF_ACVERSION_COMPARE(MAJOR1, MINOR1, TERNARY1,
++dnl MAJOR2, MINOR2, TERNARY2,
++dnl PRINTABLE2, not FOUND, FOUND)
++define([CF_ACVERSION_COMPARE],
++[ifelse(builtin([eval], [$2 < $5]), 1,
++[ifelse([$8], , ,[$8])],
++[ifelse([$9], , ,[$9])])])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_ADD_CFLAGS version: 10 updated: 2010/05/26 05:38:42
+ dnl -------------
+ dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS
+@@ -272,76 +298,6 @@
+ }
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_ANSI_CC_CHECK version: 10 updated: 2010/10/23 15:52:32
+-dnl ----------------
+-dnl This is adapted from the macros 'fp_PROG_CC_STDC' and 'fp_C_PROTOTYPES'
+-dnl in the sharutils 4.2 distribution.
+-AC_DEFUN([CF_ANSI_CC_CHECK],
+-[
+-AC_CACHE_CHECK(for ${CC:-cc} option to accept ANSI C, cf_cv_ansi_cc,[
+-cf_cv_ansi_cc=no
+-cf_save_CFLAGS="$CFLAGS"
+-cf_save_CPPFLAGS="$CPPFLAGS"
+-# Don't try gcc -ansi; that turns off useful extensions and
+-# breaks some systems' header files.
+-# AIX -qlanglvl=ansi
+-# Ultrix and OSF/1 -std1
+-# HP-UX -Aa -D_HPUX_SOURCE
+-# SVR4 -Xc
+-# UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes)
+-for cf_arg in "-DCC_HAS_PROTOS" \
+- "" \
+- -qlanglvl=ansi \
+- -std1 \
+- -Ae \
+- "-Aa -D_HPUX_SOURCE" \
+- -Xc
+-do
+- CF_ADD_CFLAGS($cf_arg)
+- AC_TRY_COMPILE(
+-[
+-#ifndef CC_HAS_PROTOS
+-#if !defined(__STDC__) || (__STDC__ != 1)
+-choke me
+-#endif
+-#endif
+-],[
+- int test (int i, double x);
+- struct s1 {int (*f) (int a);};
+- struct s2 {int (*f) (double a);};],
+- [cf_cv_ansi_cc="$cf_arg"; break])
+-done
+-CFLAGS="$cf_save_CFLAGS"
+-CPPFLAGS="$cf_save_CPPFLAGS"
+-])
+-
+-if test "$cf_cv_ansi_cc" != "no"; then
+-if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then
+- CF_ADD_CFLAGS($cf_cv_ansi_cc)
+-else
+- AC_DEFINE(CC_HAS_PROTOS)
+-fi
+-fi
+-])dnl
+-dnl ---------------------------------------------------------------------------
+-dnl CF_ANSI_CC_REQD version: 4 updated: 2008/03/23 14:48:54
+-dnl ---------------
+-dnl For programs that must use an ANSI compiler, obtain compiler options that
+-dnl will make it recognize prototypes. We'll do preprocessor checks in other
+-dnl macros, since tools such as unproto can fake prototypes, but only part of
+-dnl the preprocessor.
+-AC_DEFUN([CF_ANSI_CC_REQD],
+-[AC_REQUIRE([CF_ANSI_CC_CHECK])
+-if test "$cf_cv_ansi_cc" = "no"; then
+- AC_MSG_ERROR(
+-[Your compiler does not appear to recognize prototypes.
+-You have the following choices:
+- a. adjust your compiler options
+- b. get an up-to-date compiler
+- c. use a wrapper such as unproto])
+-fi
+-])dnl
+-dnl ---------------------------------------------------------------------------
+ dnl CF_ARG_DISABLE version: 3 updated: 1999/03/30 17:24:31
+ dnl --------------
+ dnl Allow user to disable a normally-on option.
+@@ -377,7 +333,33 @@
+ ])dnl
+ ])])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CHECK_CACHE version: 11 updated: 2008/03/23 14:45:59
++dnl CF_CC_ENV_FLAGS version: 1 updated: 2012/10/03 05:25:49
++dnl ---------------
++dnl Check for user's environment-breakage by stuffing CFLAGS/CPPFLAGS content
++dnl into CC. This will not help with broken scripts that wrap the compiler with
++dnl options, but eliminates a more common category of user confusion.
++AC_DEFUN([CF_CC_ENV_FLAGS],
++[
++# This should have been defined by AC_PROG_CC
++: ${CC:=cc}
++
++AC_MSG_CHECKING(\$CC variable)
++case "$CC" in #(vi
++*[[\ \ ]]-[[IUD]]*)
++ AC_MSG_RESULT(broken)
++ AC_MSG_WARN(your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options)
++ # humor him...
++ cf_flags=`echo "$CC" | sed -e 's/^[[^ ]]*[[ ]]//'`
++ CC=`echo "$CC" | sed -e 's/[[ ]].*//'`
++ CF_ADD_CFLAGS($cf_flags)
++ ;;
++*)
++ AC_MSG_RESULT(ok)
++ ;;
++esac
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_CHECK_CACHE version: 12 updated: 2012/10/02 20:55:03
+ dnl --------------
+ dnl Check if we're accidentally using a cache from a different machine.
+ dnl Derive the system name, as a check for reusing the autoconf cache.
+@@ -400,7 +382,7 @@
+ system_name="`(hostname) 2>/dev/null`"
+ fi
+ fi
+-test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name")
++test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name",[Define to the system name.])
+ AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])
+
+ test -z "$system_name" && system_name="$cf_cv_system_name"
+@@ -434,7 +416,40 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CURSES_ACS_MAP version: 6 updated: 2010/10/23 15:54:49
++dnl CF_CLANG_COMPILER version: 1 updated: 2012/06/16 14:55:39
++dnl -----------------
++dnl Check if the given compiler is really clang. clang's C driver defines
++dnl __GNUC__ (fooling the configure script into setting $GCC to yes) but does
++dnl not ignore some gcc options.
++dnl
++dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to
++dnl ensure that it is not mistaken for gcc/g++. It is normally invoked from
++dnl the wrappers for gcc and g++ warnings.
++dnl
++dnl $1 = GCC (default) or GXX
++dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS
++dnl $3 = CFLAGS (default) or CXXFLAGS
++AC_DEFUN([CF_CLANG_COMPILER],[
++ifelse([$2],,CLANG_COMPILER,[$2])=no
++
++if test "$ifelse([$1],,[$1],GCC)" = yes ; then
++ AC_MSG_CHECKING(if this is really Clang ifelse([$1],GXX,C++,C) compiler)
++ cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])"
++ ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -Qunused-arguments"
++ AC_TRY_COMPILE([],[
++#ifdef __clang__
++#else
++make an error
++#endif
++],[ifelse([$2],,CLANG_COMPILER,[$2])=yes
++cf_save_CFLAGS="$cf_save_CFLAGS -Qunused-arguments"
++],[])
++ ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS"
++ AC_MSG_RESULT($ifelse([$2],,CLANG_COMPILER,[$2]))
++fi
++])
++dnl ---------------------------------------------------------------------------
++dnl CF_CURSES_ACS_MAP version: 7 updated: 2012/10/06 16:39:58
+ dnl -----------------
+ dnl Check for likely values of acs_map[]:
+ AC_DEFUN([CF_CURSES_ACS_MAP],
+@@ -452,7 +467,7 @@
+ done
+ ])
+
+-test "$cf_cv_curses_acs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_ACS_ARRAY,$cf_cv_curses_acs_map)
++test "$cf_cv_curses_acs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_ACS_ARRAY,$cf_cv_curses_acs_map,[Define as needed to override ncurses prefix _nc_])
+ ])
+ dnl ---------------------------------------------------------------------------
+ dnl CF_CURSES_CHECK_DATA version: 4 updated: 2011/01/15 16:39:24
+@@ -499,7 +514,7 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CURSES_CHECK_TYPE version: 3 updated: 2010/10/23 15:54:49
++dnl CF_CURSES_CHECK_TYPE version: 4 updated: 2012/10/06 16:39:58
+ dnl --------------------
+ dnl Check if curses.h defines the given type
+ AC_DEFUN([CF_CURSES_CHECK_TYPE],
+@@ -515,9 +530,9 @@
+ AC_MSG_RESULT($cf_result)
+ if test $cf_result = yes ; then
+ CF_UPPER(cf_result,have_type_$1)
+- AC_DEFINE_UNQUOTED($cf_result)
++ AC_DEFINE_UNQUOTED($cf_result,1,[Define to 1 if we have type $1])
+ else
+- AC_DEFINE_UNQUOTED($1,$2)
++ AC_DEFINE_UNQUOTED($1,$2,[Define to appropriate type if $1 is not declared])
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+@@ -533,7 +548,7 @@
+ CF_CURSES_LIBS
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CURSES_CPPFLAGS version: 10 updated: 2009/01/06 19:34:11
++dnl CF_CURSES_CPPFLAGS version: 11 updated: 2011/04/09 14:51:08
+ dnl ------------------
+ dnl Look for the curses headers.
+ AC_DEFUN([CF_CURSES_CPPFLAGS],[
+@@ -542,13 +557,19 @@
+ cf_cv_curses_incdir=no
+ case $host_os in #(vi
+ hpux10.*) #(vi
+- test -d /usr/include/curses_colr && \
+- cf_cv_curses_incdir="-I/usr/include/curses_colr"
++ if test "x$cf_cv_screen" = "xcurses_colr"
++ then
++ test -d /usr/include/curses_colr && \
++ cf_cv_curses_incdir="-I/usr/include/curses_colr"
++ fi
+ ;;
+ sunos3*|sunos4*)
+- test -d /usr/5lib && \
+- test -d /usr/5include && \
+- cf_cv_curses_incdir="-I/usr/5include"
++ if test "x$cf_cv_screen" = "xcurses_5lib"
++ then
++ test -d /usr/5lib && \
++ test -d /usr/5include && \
++ cf_cv_curses_incdir="-I/usr/5include"
++ fi
+ ;;
+ esac
+ ])
+@@ -558,7 +579,7 @@
+ CF_TERM_HEADER
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CURSES_FUNCS version: 15 updated: 2010/10/23 15:52:32
++dnl CF_CURSES_FUNCS version: 17 updated: 2011/05/14 16:07:29
+ dnl ---------------
+ dnl Curses-functions are a little complicated, since a lot of them are macros.
+ AC_DEFUN([CF_CURSES_FUNCS],
+@@ -566,6 +587,7 @@
+ AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl
+ AC_REQUIRE([CF_XOPEN_CURSES])
+ AC_REQUIRE([CF_CURSES_TERM_H])
++AC_REQUIRE([CF_CURSES_UNCTRL_H])
+ for cf_func in $1
+ do
+ CF_UPPER(cf_tr_func,$cf_func)
+@@ -578,7 +600,8 @@
+ [
+ #ifndef ${cf_func}
+ long foo = (long)(&${cf_func});
+-${cf_cv_main_return:-return}(foo == 0);
++if (foo + 1234 > 5678)
++ ${cf_cv_main_return:-return}(foo);
+ #endif
+ ],
+ [cf_result=yes],
+@@ -595,7 +618,7 @@
+ done
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CURSES_HEADER version: 2 updated: 2010/04/28 06:02:16
++dnl CF_CURSES_HEADER version: 3 updated: 2011/05/01 19:47:45
+ dnl ----------------
+ dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common
+ dnl variations of ncurses' installs.
+@@ -605,10 +628,10 @@
+ AC_CACHE_CHECK(if we have identified curses headers,cf_cv_ncurses_header,[
+ cf_cv_ncurses_header=none
+ for cf_header in ifelse($1,,,[ \
+- $1/curses.h \
+- $1/ncurses.h]) \
+- curses.h \
+- ncurses.h ifelse($1,,[ncurses/curses.h ncurses/ncurses.h])
++ $1/ncurses.h \
++ $1/curses.h]) \
++ ncurses.h \
++ curses.h ifelse($1,,[ncurses/ncurses.h ncurses/curses.h])
+ do
+ AC_TRY_COMPILE([#include <${cf_header}>],
+ [initscr(); tgoto("?", 0,0)],
+@@ -624,7 +647,7 @@
+ AC_CHECK_HEADERS($cf_cv_ncurses_header)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CURSES_LIBS version: 33 updated: 2011/03/06 12:37:18
++dnl CF_CURSES_LIBS version: 37 updated: 2013/02/09 17:33:50
+ dnl --------------
+ dnl Look for the curses libraries. Older curses implementations may require
+ dnl termcap/termlib to be linked as well. Call CF_CURSES_CPPFLAGS first.
+@@ -644,17 +667,24 @@
+ AC_CHECK_LIB(mytinfo,tgoto,[CF_ADD_LIBS(-lmytinfo)])
+ ;;
+ hpux10.*) #(vi
+- AC_CHECK_LIB(cur_colr,initscr,[
+- CF_ADD_LIBS(-lcur_colr)
+- ac_cv_func_initscr=yes
+- ],[
+- AC_CHECK_LIB(Hcurses,initscr,[
+- # HP's header uses __HP_CURSES, but user claims _HP_CURSES.
+- CF_ADD_LIBS(-lHcurses)
+- CPPFLAGS="$CPPFLAGS -D__HP_CURSES -D_HP_CURSES"
+- ac_cv_func_initscr=yes
+- ])])
+- ;;
++ # Looking at HPUX 10.20, the Hcurses library is the oldest (1997), cur_colr
++ # next (1998), and xcurses "newer" (2000). There is no header file for
++ # Hcurses; the subdirectory curses_colr has the headers (curses.h and
++ # term.h) for cur_colr
++ if test "x$cf_cv_screen" = "xcurses_colr"
++ then
++ AC_CHECK_LIB(cur_colr,initscr,[
++ CF_ADD_LIBS(-lcur_colr)
++ ac_cv_func_initscr=yes
++ ],[
++ AC_CHECK_LIB(Hcurses,initscr,[
++ # HP's header uses __HP_CURSES, but user claims _HP_CURSES.
++ CF_ADD_LIBS(-lHcurses)
++ CPPFLAGS="$CPPFLAGS -D__HP_CURSES -D_HP_CURSES"
++ ac_cv_func_initscr=yes
++ ])])
++ fi
++ ;;
+ linux*)
+ case `arch 2>/dev/null` in
+ x86_64)
+@@ -669,76 +699,83 @@
+ CF_ADD_LIBDIR(/lib)
+ ;;
+ esac
+- ;;
++ ;;
+ sunos3*|sunos4*)
+- if test -d /usr/5lib ; then
+- CF_ADD_LIBDIR(/usr/5lib)
+- CF_ADD_LIBS(-lcurses -ltermcap)
++ if test "x$cf_cv_screen" = "xcurses_5lib"
++ then
++ if test -d /usr/5lib ; then
++ CF_ADD_LIBDIR(/usr/5lib)
++ CF_ADD_LIBS(-lcurses -ltermcap)
++ fi
+ fi
+ ac_cv_func_initscr=yes
+ ;;
+ esac
+
+ if test ".$ac_cv_func_initscr" != .yes ; then
+- cf_save_LIBS="$LIBS"
+- cf_term_lib=""
+- cf_curs_lib=""
++ cf_save_LIBS="$LIBS"
+
+- if test ".${cf_cv_ncurses_version:-no}" != .no
+- then
+- cf_check_list="ncurses curses cursesX"
+- else
+- cf_check_list="cursesX curses ncurses"
+- fi
++ if test ".${cf_cv_ncurses_version:-no}" != .no
++ then
++ cf_check_list="ncurses curses cursesX"
++ else
++ cf_check_list="cursesX curses ncurses"
++ fi
+
+- # Check for library containing tgoto. Do this before curses library
+- # because it may be needed to link the test-case for initscr.
+- AC_CHECK_FUNC(tgoto,[cf_term_lib=predefined],[
+- for cf_term_lib in $cf_check_list termcap termlib unknown
+- do
+- AC_CHECK_LIB($cf_term_lib,tgoto,[break])
+- done
+- ])
++ # Check for library containing tgoto. Do this before curses library
++ # because it may be needed to link the test-case for initscr.
++ if test "x$cf_term_lib" = x
++ then
++ AC_CHECK_FUNC(tgoto,[cf_term_lib=predefined],[
++ for cf_term_lib in $cf_check_list otermcap termcap tinfo termlib unknown
++ do
++ AC_CHECK_LIB($cf_term_lib,tgoto,[break])
++ done
++ ])
++ fi
+
+- # Check for library containing initscr
+- test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS"
+- for cf_curs_lib in $cf_check_list xcurses jcurses pdcurses unknown
+- do
+- AC_CHECK_LIB($cf_curs_lib,initscr,[break])
+- done
+- test $cf_curs_lib = unknown && AC_MSG_ERROR(no curses library found)
++ # Check for library containing initscr
++ test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS"
++ if test "x$cf_curs_lib" = x
++ then
++ for cf_curs_lib in $cf_check_list xcurses jcurses pdcurses unknown
++ do
++ AC_CHECK_LIB($cf_curs_lib,initscr,[break])
++ done
++ fi
++ test $cf_curs_lib = unknown && AC_MSG_ERROR(no curses library found)
+
+- LIBS="-l$cf_curs_lib $cf_save_LIBS"
+- if test "$cf_term_lib" = unknown ; then
+- AC_MSG_CHECKING(if we can link with $cf_curs_lib library)
+- AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
+- [initscr()],
+- [cf_result=yes],
+- [cf_result=no])
+- AC_MSG_RESULT($cf_result)
+- test $cf_result = no && AC_MSG_ERROR(Cannot link curses library)
+- elif test "$cf_curs_lib" = "$cf_term_lib" ; then
+- :
+- elif test "$cf_term_lib" != predefined ; then
+- AC_MSG_CHECKING(if we need both $cf_curs_lib and $cf_term_lib libraries)
+- AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
+- [initscr(); tgoto((char *)0, 0, 0);],
+- [cf_result=no],
+- [
+- LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
+- AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
+- [initscr()],
+- [cf_result=yes],
+- [cf_result=error])
+- ])
+- AC_MSG_RESULT($cf_result)
+- fi
++ LIBS="-l$cf_curs_lib $cf_save_LIBS"
++ if test "$cf_term_lib" = unknown ; then
++ AC_MSG_CHECKING(if we can link with $cf_curs_lib library)
++ AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
++ [initscr()],
++ [cf_result=yes],
++ [cf_result=no])
++ AC_MSG_RESULT($cf_result)
++ test $cf_result = no && AC_MSG_ERROR(Cannot link curses library)
++ elif test "$cf_curs_lib" = "$cf_term_lib" ; then
++ :
++ elif test "$cf_term_lib" != predefined ; then
++ AC_MSG_CHECKING(if we need both $cf_curs_lib and $cf_term_lib libraries)
++ AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
++ [initscr(); tgoto((char *)0, 0, 0);],
++ [cf_result=no],
++ [
++ LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
++ AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
++ [initscr()],
++ [cf_result=yes],
++ [cf_result=error])
++ ])
++ AC_MSG_RESULT($cf_result)
++ fi
+ fi
+ fi
+
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CURSES_TERM_H version: 8 updated: 2010/10/23 15:54:49
++dnl CF_CURSES_TERM_H version: 10 updated: 2012/10/06 08:57:51
+ dnl ----------------
+ dnl SVr4 curses should have term.h as well (where it puts the definitions of
+ dnl the low-level interface). This may not be true in old/broken implementations,
+@@ -752,9 +789,17 @@
+
+ # If we found <ncurses/curses.h>, look for <ncurses/term.h>, but always look
+ # for <term.h> if we do not find the variant.
+-for cf_header in \
+- `echo ${cf_cv_ncurses_header:-curses.h} | sed -e 's%/.*%/%'`term.h \
+- term.h
++
++cf_header_list="term.h ncurses/term.h ncursesw/term.h"
++
++case ${cf_cv_ncurses_header:-curses.h} in #(vi
++*/*)
++ cf_header_item=`echo ${cf_cv_ncurses_header:-curses.h} | sed -e 's%\..*%%' -e 's%/.*%/%'`term.h
++ cf_header_list="$cf_header_item $cf_header_list"
++ ;;
++esac
++
++for cf_header in $cf_header_list
+ do
+ AC_TRY_COMPILE([
+ #include <${cf_cv_ncurses_header:-curses.h}>
+@@ -789,18 +834,73 @@
+
+ case $cf_cv_term_header in #(vi
+ term.h) #(vi
+- AC_DEFINE(HAVE_TERM_H)
++ AC_DEFINE(HAVE_TERM_H,1,[Define to 1 if we have term.h])
+ ;;
+ ncurses/term.h) #(vi
+- AC_DEFINE(HAVE_NCURSES_TERM_H)
++ AC_DEFINE(HAVE_NCURSES_TERM_H,1,[Define to 1 if we have ncurses/term.h])
+ ;;
+ ncursesw/term.h)
+- AC_DEFINE(HAVE_NCURSESW_TERM_H)
++ AC_DEFINE(HAVE_NCURSESW_TERM_H,1,[Define to 1 if we have ncursesw/term.h])
++ ;;
++esac
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_CURSES_UNCTRL_H version: 2 updated: 2012/10/06 08:57:51
++dnl ------------------
++dnl Any X/Open curses implementation must have unctrl.h, but ncurses packages
++dnl may put it in a subdirectory (along with ncurses' other headers, of
++dnl course). Packages which put the headers in inconsistent locations are
++dnl broken).
++AC_DEFUN([CF_CURSES_UNCTRL_H],
++[
++AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl
++
++AC_CACHE_CHECK(for unctrl.h, cf_cv_unctrl_header,[
++
++# If we found <ncurses/curses.h>, look for <ncurses/unctrl.h>, but always look
++# for <unctrl.h> if we do not find the variant.
++
++cf_header_list="unctrl.h ncurses/unctrl.h ncursesw/unctrl.h"
++
++case ${cf_cv_ncurses_header:-curses.h} in #(vi
++*/*)
++ cf_header_item=`echo ${cf_cv_ncurses_header:-curses.h} | sed -e 's%\..*%%' -e 's%/.*%/%'`unctrl.h
++ cf_header_list="$cf_header_item $cf_header_list"
++ ;;
++esac
++
++for cf_header in $cf_header_list
++do
++ AC_TRY_COMPILE([
++#include <${cf_cv_ncurses_header:-curses.h}>
++#include <${cf_header}>],
++ [WINDOW *x],
++ [cf_cv_unctrl_header=$cf_header
++ break],
++ [cf_cv_unctrl_header=no])
++done
++
++case $cf_cv_unctrl_header in #(vi
++no)
++ AC_MSG_WARN(unctrl.h header not found)
++ ;;
++esac
++])
++
++case $cf_cv_unctrl_header in #(vi
++unctrl.h) #(vi
++ AC_DEFINE(HAVE_UNCTRL_H,1,[Define to 1 if we have unctrl.h])
++ ;;
++ncurses/unctrl.h) #(vi
++ AC_DEFINE(HAVE_NCURSES_UNCTRL_H,1,[Define to 1 if we have ncurses/unctrl.h])
++ ;;
++ncursesw/unctrl.h)
++ AC_DEFINE(HAVE_NCURSESW_UNCTRL_H,1,[Define to 1 if we have ncursesw/unctrl.h])
+ ;;
+ esac
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CURSES_WACS_MAP version: 5 updated: 2011/01/15 11:28:59
++dnl CF_CURSES_WACS_MAP version: 6 updated: 2012/10/06 08:57:51
+ dnl ------------------
+ dnl Check for likely values of wacs_map[].
+ AC_DEFUN([CF_CURSES_WACS_MAP],
+@@ -819,10 +919,10 @@
+ break])
+ done])
+
+-test "$cf_cv_curses_wacs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_WACS_ARRAY,$cf_cv_curses_wacs_map)
++test "$cf_cv_curses_wacs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_WACS_ARRAY,$cf_cv_curses_wacs_map,[Define to name of (n)curses wide-character array])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CURSES_WACS_SYMBOLS version: 1 updated: 2011/01/15 11:28:59
++dnl CF_CURSES_WACS_SYMBOLS version: 2 updated: 2012/10/06 08:57:51
+ dnl ----------------------
+ dnl Do a check to see if the WACS_xxx constants are defined compatibly with
+ dnl X/Open Curses. In particular, NetBSD's implementation of the WACS_xxx
+@@ -854,7 +954,7 @@
+ fi
+ ])
+
+-test "$cf_cv_curses_wacs_symbols" != no && AC_DEFINE(CURSES_WACS_SYMBOLS)
++test "$cf_cv_curses_wacs_symbols" != no && AC_DEFINE(CURSES_WACS_SYMBOLS,1,[Define to 1 if (n)curses supports wide-character WACS_ symbols])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+ dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52
+@@ -862,7 +962,7 @@
+ dnl "dirname" is not portable, so we fake it with a shell script.
+ AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_DISABLE_ECHO version: 11 updated: 2009/12/13 13:16:57
++dnl CF_DISABLE_ECHO version: 12 updated: 2012/10/06 16:30:28
+ dnl ---------------
+ dnl You can always use "make -n" to see the actual options, but it's hard to
+ dnl pick out/analyze warning messages when the compile-line is long.
+@@ -877,7 +977,7 @@
+ AC_DEFUN([CF_DISABLE_ECHO],[
+ AC_MSG_CHECKING(if you want to see long compiling messages)
+ CF_ARG_DISABLE(echo,
+- [ --disable-echo display "compiling" commands],
++ [ --disable-echo do not display "compiling" commands],
+ [
+ ECHO_LT='--silent'
+ ECHO_LD='@echo linking [$]@;'
+@@ -899,7 +999,7 @@
+ AC_SUBST(ECHO_CC)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_DISABLE_LEAKS version: 6 updated: 2010/07/23 04:14:32
++dnl CF_DISABLE_LEAKS version: 7 updated: 2012/10/02 20:55:03
+ dnl ----------------
+ dnl Combine no-leak checks with the libraries or tools that are used for the
+ dnl checks.
+@@ -917,11 +1017,30 @@
+ AC_MSG_RESULT($with_no_leaks)
+
+ if test "$with_no_leaks" = yes ; then
+- AC_DEFINE(NO_LEAKS)
+- AC_DEFINE(YY_NO_LEAKS)
++ AC_DEFINE(NO_LEAKS,1,[Define to 1 if you want to perform memory-leak testing.])
++ AC_DEFINE(YY_NO_LEAKS,1,[Define to 1 if you want to perform memory-leak testing.])
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_DISABLE_RPATH_HACK version: 2 updated: 2011/02/13 13:31:33
++dnl ---------------------
++dnl The rpath-hack makes it simpler to build programs, particularly with the
++dnl *BSD ports which may have essential libraries in unusual places. But it
++dnl can interfere with building an executable for the base system. Use this
++dnl option in that case.
++AC_DEFUN([CF_DISABLE_RPATH_HACK],
++[
++AC_MSG_CHECKING(if rpath-hack should be disabled)
++CF_ARG_DISABLE(rpath-hack,
++ [ --disable-rpath-hack don't add rpath options for additional libraries],
++ [cf_disable_rpath_hack=yes],
++ [cf_disable_rpath_hack=no])
++AC_MSG_RESULT($cf_disable_rpath_hack)
++if test "$cf_disable_rpath_hack" = no ; then
++ CF_RPATH_HACK
++fi
++])
++dnl ---------------------------------------------------------------------------
+ dnl CF_ENABLE_WARNINGS version: 4 updated: 2009/07/26 17:53:03
+ dnl ------------------
+ dnl Configure-option to enable gcc warnings
+@@ -1122,7 +1241,7 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_FUNC_CURSES_VERSION version: 5 updated: 2010/10/23 15:54:49
++dnl CF_FUNC_CURSES_VERSION version: 6 updated: 2012/10/06 16:39:58
+ dnl ----------------------
+ dnl Solaris has a data item 'curses_version', which confuses AC_CHECK_FUNCS.
+ dnl It's a character string "SVR4", not documented.
+@@ -1141,10 +1260,10 @@
+ ,[cf_cv_func_curses_version=no]
+ ,[cf_cv_func_curses_version=unknown])
+ rm -f core])
+-test "$cf_cv_func_curses_version" = yes && AC_DEFINE(HAVE_CURSES_VERSION)
++test "$cf_cv_func_curses_version" = yes && AC_DEFINE(HAVE_CURSES_VERSION,1,[Define to 1 if we have curses_version function])
+ ])
+ dnl ---------------------------------------------------------------------------
+-dnl CF_GCC_ATTRIBUTES version: 14 updated: 2010/10/23 15:52:32
++dnl CF_GCC_ATTRIBUTES version: 16 updated: 2012/10/02 20:55:03
+ dnl -----------------
+ dnl Test for availability of useful gcc __attribute__ directives to quiet
+ dnl compiler warnings. Though useful, not all are supported -- and contrary
+@@ -1222,27 +1341,27 @@
+ test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute)
+ cat conftest.h >>confdefs.h
+ case $cf_attribute in #(vi
++ noreturn) #(vi
++ AC_DEFINE_UNQUOTED(GCC_NORETURN,$cf_directive,[Define to noreturn-attribute for gcc])
++ ;;
+ printf) #(vi
+- if test "$cf_printf_attribute" = no ; then
+- cat >>confdefs.h <<EOF
+-#define GCC_PRINTFLIKE(fmt,var) /* nothing */
+-EOF
+- else
+- cat >>confdefs.h <<EOF
+-#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
+-EOF
++ cf_value='/* nothing */'
++ if test "$cf_printf_attribute" != no ; then
++ cf_value='__attribute__((format(printf,fmt,var)))'
++ AC_DEFINE(GCC_PRINTF,1,[Define to 1 if the compiler supports gcc-like printf attribute.])
+ fi
++ AC_DEFINE_UNQUOTED(GCC_PRINTFLIKE(fmt,var),$cf_value,[Define to printf-attribute for gcc])
+ ;;
+ scanf) #(vi
+- if test "$cf_scanf_attribute" = no ; then
+- cat >>confdefs.h <<EOF
+-#define GCC_SCANFLIKE(fmt,var) /* nothing */
+-EOF
+- else
+- cat >>confdefs.h <<EOF
+-#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
+-EOF
++ cf_value='/* nothing */'
++ if test "$cf_scanf_attribute" != no ; then
++ cf_value='__attribute__((format(scanf,fmt,var)))'
++ AC_DEFINE(GCC_SCANF,1,[Define to 1 if the compiler supports gcc-like scanf attribute.])
+ fi
++ AC_DEFINE_UNQUOTED(GCC_SCANFLIKE(fmt,var),$cf_value,[Define to sscanf-attribute for gcc])
++ ;;
++ unused) #(vi
++ AC_DEFINE_UNQUOTED(GCC_UNUSED,$cf_directive,[Define to unused-attribute for gcc])
+ ;;
+ esac
+ fi
+@@ -1254,7 +1373,7 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_GCC_VERSION version: 5 updated: 2010/04/24 11:02:31
++dnl CF_GCC_VERSION version: 7 updated: 2012/10/18 06:46:33
+ dnl --------------
+ dnl Find version of gcc
+ AC_DEFUN([CF_GCC_VERSION],[
+@@ -1262,13 +1381,13 @@
+ GCC_VERSION=none
+ if test "$GCC" = yes ; then
+ AC_MSG_CHECKING(version of $CC)
+- GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
++ GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC[[^)]]*) //' -e 's/^.*(Debian[[^)]]*) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
+ test -z "$GCC_VERSION" && GCC_VERSION=unknown
+ AC_MSG_RESULT($GCC_VERSION)
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_GCC_WARNINGS version: 27 updated: 2010/10/23 15:52:32
++dnl CF_GCC_WARNINGS version: 29 updated: 2012/06/16 14:55:39
+ dnl ---------------
+ dnl Check if the compiler supports useful warning options. There's a few that
+ dnl we don't use, simply because they're too noisy:
+@@ -1291,6 +1410,7 @@
+ [
+ AC_REQUIRE([CF_GCC_VERSION])
+ CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS)
++CF_CLANG_COMPILER(GCC,CLANG_COMPILER,CFLAGS)
+
+ cat > conftest.$ac_ext <<EOF
+ #line __oline__ "${as_me:-configure}"
+@@ -1366,6 +1486,13 @@
+ continue;;
+ esac
+ ;;
++ Wpointer-arith) #(vi
++ case $GCC_VERSION in
++ [[12]].*)
++ CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
++ continue;;
++ esac
++ ;;
+ esac
+ EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
+ fi
+@@ -1377,6 +1504,29 @@
+ AC_SUBST(EXTRA_CFLAGS)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_GETOPT_HEADER version: 5 updated: 2012/10/06 16:39:58
++dnl ----------------
++dnl Check for getopt's variables which are commonly defined in stdlib.h,
++dnl unistd.h or (nonstandard) in getopt.h
++AC_DEFUN([CF_GETOPT_HEADER],
++[
++AC_HAVE_HEADERS(unistd.h getopt.h)
++AC_CACHE_CHECK(for header declaring getopt variables,cf_cv_getopt_header,[
++cf_cv_getopt_header=none
++for cf_header in stdio.h stdlib.h unistd.h getopt.h
++do
++AC_TRY_COMPILE([
++#include <$cf_header>],
++[int x = optind; char *y = optarg],
++[cf_cv_getopt_header=$cf_header
++ break])
++done
++])
++if test $cf_cv_getopt_header != none ; then
++ AC_DEFINE(HAVE_GETOPT_HEADER,1,[Define to 1 if we need to include getopt.h])
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_GNU_SOURCE version: 6 updated: 2005/07/09 13:23:07
+ dnl -------------
+ dnl Check if we must define _GNU_SOURCE to get a reasonable value for
+@@ -1453,6 +1603,13 @@
+ $1="[$]$1 $cf_header_path_list"
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_HELP_MESSAGE version: 3 updated: 1998/01/14 10:56:23
++dnl ---------------
++dnl Insert text into the help-message, for readability, from AC_ARG_WITH.
++AC_DEFUN([CF_HELP_MESSAGE],
++[AC_DIVERT_HELP([$1])dnl
++])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_INHERIT_SCRIPT version: 2 updated: 2003/03/01 23:50:42
+ dnl -----------------
+ dnl If we do not have a given script, look for it in the parent directory.
+@@ -1461,7 +1618,7 @@
+ test -f $1 || ( test -f ../$1 && cp ../$1 ./ )
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_INTEL_COMPILER version: 4 updated: 2010/05/26 05:38:42
++dnl CF_INTEL_COMPILER version: 5 updated: 2013/02/10 10:41:05
+ dnl -----------------
+ dnl Check if the given compiler is really the Intel compiler for Linux. It
+ dnl tries to imitate gcc, but does not return an error when it finds a mismatch
+@@ -1475,6 +1632,7 @@
+ dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS
+ dnl $3 = CFLAGS (default) or CXXFLAGS
+ AC_DEFUN([CF_INTEL_COMPILER],[
++AC_REQUIRE([AC_CANONICAL_HOST])
+ ifelse([$2],,INTEL_COMPILER,[$2])=no
+
+ if test "$ifelse([$1],,[$1],GCC)" = yes ; then
+@@ -1498,6 +1656,60 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_LD_RPATH_OPT version: 5 updated: 2011/07/17 14:48:41
++dnl ---------------
++dnl For the given system and compiler, find the compiler flags to pass to the
++dnl loader to use the "rpath" feature.
++AC_DEFUN([CF_LD_RPATH_OPT],
++[
++AC_REQUIRE([CF_CHECK_CACHE])
++
++LD_RPATH_OPT=
++AC_MSG_CHECKING(for an rpath option)
++case $cf_cv_system_name in #(vi
++irix*) #(vi
++ if test "$GCC" = yes; then
++ LD_RPATH_OPT="-Wl,-rpath,"
++ else
++ LD_RPATH_OPT="-rpath "
++ fi
++ ;;
++linux*|gnu*|k*bsd*-gnu) #(vi
++ LD_RPATH_OPT="-Wl,-rpath,"
++ ;;
++openbsd[[2-9]].*|mirbsd*) #(vi
++ LD_RPATH_OPT="-Wl,-rpath,"
++ ;;
++dragonfly*|freebsd*) #(vi
++ LD_RPATH_OPT="-rpath "
++ ;;
++netbsd*) #(vi
++ LD_RPATH_OPT="-Wl,-rpath,"
++ ;;
++osf*|mls+*) #(vi
++ LD_RPATH_OPT="-rpath "
++ ;;
++solaris2*) #(vi
++ LD_RPATH_OPT="-R"
++ ;;
++*)
++ ;;
++esac
++AC_MSG_RESULT($LD_RPATH_OPT)
++
++case "x$LD_RPATH_OPT" in #(vi
++x-R*)
++ AC_MSG_CHECKING(if we need a space after rpath option)
++ cf_save_LIBS="$LIBS"
++ CF_ADD_LIBS(${LD_RPATH_OPT}$libdir)
++ AC_TRY_LINK(, , cf_rpath_space=no, cf_rpath_space=yes)
++ LIBS="$cf_save_LIBS"
++ AC_MSG_RESULT($cf_rpath_space)
++ test "$cf_rpath_space" = yes && LD_RPATH_OPT="$LD_RPATH_OPT "
++ ;;
++esac
++])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_LIBRARY_PATH version: 9 updated: 2010/03/28 12:52:50
+ dnl ---------------
+ dnl Construct a search-list of directories for a nonstandard library-file
+@@ -1588,38 +1800,7 @@
+ fi
+ ])
+ dnl ---------------------------------------------------------------------------
+-dnl CF_MIN_GETCCHAR version: 3 updated: 2010/10/23 15:54:49
+-dnl ---------------
+-dnl CF_MIN_GETCCHAR
+-dnl Check whether getcchar's return value counts the trailing null in a wchar_t
+-dnl string, or not. X/Open says it does, but Tru64 and Solaris do not do this.
+-AC_DEFUN([CF_MIN_GETCCHAR],[
+-AC_CACHE_CHECK(if getcchar counts trailing null,cf_cv_min_getcchar,[
+-AC_TRY_RUN([
+-#include <stdlib.h>
+-#include <stdarg.h>
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-
+-int main()
+-{
+- wchar_t data[2];
+- cchar_t temp[2];
+- int count;
+- data[0] = L'\0';
+- setcchar(temp, data, 0, 0, (void *)0);
+- count = getcchar(temp, (wchar_t *)0, (attr_t *)0, (short *)0, (void *)0);
+- ${cf_cv_main_return:-return}(count != 0);
+-}],
+- [cf_cv_min_getcchar=no],
+- [cf_cv_min_getcchar=yes],
+- [cf_cv_min_getcchar=yes])
+-])
+-if test "$cf_cv_min_getcchar" = yes ; then
+- AC_DEFINE(MIN_GETCCHAR,1)
+-fi
+-])dnl
+-dnl ---------------------------------------------------------------------------
+-dnl CF_MIXEDCASE_FILENAMES version: 3 updated: 2003/09/20 17:07:55
++dnl CF_MIXEDCASE_FILENAMES version: 4 updated: 2012/10/02 20:55:03
+ dnl ----------------------
+ dnl Check if the file-system supports mixed-case filenames. If we're able to
+ dnl create a lowercase name and see it as uppercase, it doesn't support that.
+@@ -1646,7 +1827,7 @@
+ rm -f conftest CONFTEST
+ fi
+ ])
+-test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES)
++test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES,1,[Define to 1 if filesystem supports mixed-case filenames.])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+ dnl CF_MSG_LOG version: 5 updated: 2010/10/23 15:52:32
+@@ -1690,7 +1871,7 @@
+ ,[$1=no])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_NCURSES_CONFIG version: 8 updated: 2010/07/08 05:17:30
++dnl CF_NCURSES_CONFIG version: 10 updated: 2012/10/06 08:57:51
+ dnl -----------------
+ dnl Tie together the configure-script macros for ncurses.
+ dnl Prefer the "-config" script from ncurses 6.x, to simplify analysis.
+@@ -1702,7 +1883,10 @@
+ cf_ncuconfig_root=ifelse($1,,ncurses,$1)
+
+ echo "Looking for ${cf_ncuconfig_root}-config"
+-AC_PATH_PROGS(NCURSES_CONFIG,${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config,none)
++
++CF_ACVERSION_CHECK(2.52,
++ [AC_CHECK_TOOLS(NCURSES_CONFIG, ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)],
++ [AC_PATH_PROGS(NCURSES_CONFIG, ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)])
+
+ if test "$NCURSES_CONFIG" != none ; then
+
+@@ -1713,7 +1897,7 @@
+ CF_CURSES_HEADER(ifelse($1,,ncurses,$1))
+
+ dnl like CF_NCURSES_CPPFLAGS
+-AC_DEFINE(NCURSES)
++AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries])
+
+ dnl like CF_NCURSES_LIBS
+ CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_ncuconfig_root)
+@@ -1730,7 +1914,7 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_NCURSES_CPPFLAGS version: 20 updated: 2010/11/20 17:02:38
++dnl CF_NCURSES_CPPFLAGS version: 21 updated: 2012/10/06 08:57:51
+ dnl -------------------
+ dnl Look for the SVr4 curses clone 'ncurses' in the standard places, adjusting
+ dnl the CPPFLAGS variable so we can include its header.
+@@ -1776,12 +1960,12 @@
+ CF_TERM_HEADER
+
+ # some applications need this, but should check for NCURSES_VERSION
+-AC_DEFINE(NCURSES)
++AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries])
+
+ CF_NCURSES_VERSION
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_NCURSES_EXT_FUNCS version: 3 updated: 2010/11/13 19:43:23
++dnl CF_NCURSES_EXT_FUNCS version: 4 updated: 2012/10/06 16:39:58
+ dnl --------------------
+ dnl Since 2007/11/17, ncurses has defined NCURSES_EXT_FUNCS; earlier versions
+ dnl may provide these functions. Define the symbol if it is not defined, and
+@@ -1813,10 +1997,10 @@
+ [cf_cv_ncurses_ext_funcs=no])
+ ])
+ ])
+-test "$cf_cv_ncurses_ext_funcs" = yes && AC_DEFINE(NCURSES_EXT_FUNCS)
++test "$cf_cv_ncurses_ext_funcs" = yes && AC_DEFINE(NCURSES_EXT_FUNCS,1,[Define to 1 if we have ncurses extensions])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_NCURSES_HEADER version: 2 updated: 2008/03/23 14:48:54
++dnl CF_NCURSES_HEADER version: 3 updated: 2012/10/06 08:57:51
+ dnl -----------------
+ dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common
+ dnl variations of ncurses' installs.
+@@ -1867,16 +2051,16 @@
+
+ case $cf_cv_ncurses_header in # (vi
+ *ncurses.h)
+- AC_DEFINE(HAVE_NCURSES_H)
++ AC_DEFINE(HAVE_NCURSES_H,1,[Define to 1 if we have ncurses.h])
+ ;;
+ esac
+
+ case $cf_cv_ncurses_header in # (vi
+ ncurses/curses.h|ncurses/ncurses.h)
+- AC_DEFINE(HAVE_NCURSES_NCURSES_H)
++ AC_DEFINE(HAVE_NCURSES_NCURSES_H,1,[Define to 1 if we have ncurses/ncurses.h])
+ ;;
+ ncursesw/curses.h|ncursesw/ncurses.h)
+- AC_DEFINE(HAVE_NCURSESW_NCURSES_H)
++ AC_DEFINE(HAVE_NCURSESW_NCURSES_H,1,[Define to 1 if we have ncursesw/ncurses.h])
+ ;;
+ esac
+
+@@ -1950,7 +2134,7 @@
+ AC_DEFINE_UNQUOTED($cf_nculib_ROOT)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_NCURSES_VERSION version: 13 updated: 2010/10/23 15:54:49
++dnl CF_NCURSES_VERSION version: 14 updated: 2012/10/06 08:57:51
+ dnl ------------------
+ dnl Check for the version of ncurses, to aid in reporting bugs, etc.
+ dnl Call CF_CURSES_CPPFLAGS first, or CF_NCURSES_CPPFLAGS. We don't use
+@@ -2009,7 +2193,7 @@
+ ])
+ rm -f $cf_tempfile
+ ])
+-test "$cf_cv_ncurses_version" = no || AC_DEFINE(NCURSES)
++test "$cf_cv_ncurses_version" = no || AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+ dnl CF_NCURSES_WRAP_PREFIX version: 1 updated: 2009/03/28 16:08:10
+@@ -2028,7 +2212,7 @@
+ AC_SUBST(NCURSES_WRAP_PREFIX)
+ ])
+ dnl ---------------------------------------------------------------------------
+-dnl CF_NETBSD_FORM_H version: 1 updated: 2011/01/15 14:59:18
++dnl CF_NETBSD_FORM_H version: 2 updated: 2012/10/06 16:39:58
+ dnl ----------------
+ dnl Check for NetBSD's form.h, which is incompatible with SVr4 and ncurses.
+ dnl Some workarounds are needed in client programs to allow them to compile.
+@@ -2045,10 +2229,10 @@
+ ],[cf_cv_netbsd_form_h=no])
+ ])
+
+-test "$cf_cv_netbsd_form_h" = yes && AC_DEFINE(HAVE_NETBSD_FORM_H)
++test "$cf_cv_netbsd_form_h" = yes && AC_DEFINE(HAVE_NETBSD_FORM_H,1,[Define to 1 if we appear to be using NetBSD form.h])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_NETBSD_MENU_H version: 1 updated: 2011/01/15 14:59:18
++dnl CF_NETBSD_MENU_H version: 2 updated: 2012/10/06 16:39:58
+ dnl ----------------
+ dnl Check for NetBSD's menu.h, which is incompatible with SVr4 and ncurses.
+ dnl Some workarounds are needed in client programs to allow them to compile.
+@@ -2064,17 +2248,17 @@
+ ],[cf_cv_netbsd_menu_h=no])
+ ])
+
+-test "$cf_cv_netbsd_menu_h" = yes && AC_DEFINE(HAVE_NETBSD_MENU_H)
++test "$cf_cv_netbsd_menu_h" = yes && AC_DEFINE(HAVE_NETBSD_MENU_H,1,[Define to 1 if we appear to be using NetBSD menu.h])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_NO_LEAKS_OPTION version: 4 updated: 2006/12/16 14:24:05
++dnl CF_NO_LEAKS_OPTION version: 5 updated: 2012/10/02 20:55:03
+ dnl ------------------
+ dnl see CF_WITH_NO_LEAKS
+ AC_DEFUN([CF_NO_LEAKS_OPTION],[
+ AC_MSG_CHECKING(if you want to use $1 for testing)
+ AC_ARG_WITH($1,
+ [$2],
+- [AC_DEFINE($3)ifelse([$4],,[
++ [AC_DEFINE_UNQUOTED($3,1,"Define to 1 if you want to use $1 for testing.")ifelse([$4],,[
+ $4
+ ])
+ : ${with_cflags:=-g}
+@@ -2096,7 +2280,7 @@
+ esac
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_PATH_SYNTAX version: 13 updated: 2010/05/26 05:38:42
++dnl CF_PATH_SYNTAX version: 14 updated: 2012/06/19 20:58:54
+ dnl --------------
+ dnl Check the argument to see that it looks like a pathname. Rewrite it if it
+ dnl begins with one of the prefix/exec_prefix variables, and then again if the
+@@ -2116,7 +2300,7 @@
+ ;;
+ .[[a-zA-Z]]:[[\\/]]*) #(vi OS/2 EMX
+ ;;
+-.\[$]{*prefix}*) #(vi
++.\[$]{*prefix}*|.\[$]{*dir}*) #(vi
+ eval $1="[$]$1"
+ case ".[$]$1" in #(vi
+ .NONE/*)
+@@ -2133,13 +2317,15 @@
+ esac
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_PDCURSES_X11 version: 11 updated: 2011/01/15 18:45:38
++dnl CF_PDCURSES_X11 version: 13 updated: 2012/10/06 16:39:58
+ dnl ---------------
+ dnl Configure for PDCurses' X11 library
+ AC_DEFUN([CF_PDCURSES_X11],[
+ AC_REQUIRE([CF_X_ATHENA])
+
+-AC_PATH_PROGS(XCURSES_CONFIG,xcurses-config,none)
++CF_ACVERSION_CHECK(2.52,
++ [AC_CHECK_TOOLS(XCURSES_CONFIG, xcurses-config, none)],
++ [AC_PATH_PROGS(XCURSES_CONFIG, xcurses-config, none)])
+
+ if test "$XCURSES_CONFIG" != none ; then
+
+@@ -2168,15 +2354,15 @@
+ fi
+
+ if test $cf_cv_lib_XCurses = yes ; then
+- AC_DEFINE(UNIX)
+- AC_DEFINE(XCURSES)
+- AC_CHECK_HEADER(xcurses.h, AC_DEFINE(HAVE_XCURSES))
++ AC_DEFINE(UNIX,1,[Define to 1 if using PDCurses on Unix])
++ AC_DEFINE(XCURSES,1,[Define to 1 if using PDCurses on Unix])
++ AC_CHECK_HEADER(xcurses.h, AC_DEFINE(HAVE_XCURSES,1,[Define to 1 if using PDCurses on Unix]))
+ else
+ AC_MSG_ERROR(Cannot link with XCurses)
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_PKG_CONFIG version: 4 updated: 2011/02/18 20:26:24
++dnl CF_PKG_CONFIG version: 7 updated: 2011/04/29 04:53:22
+ dnl -------------
+ dnl Check for the package-config program, unless disabled by command-line.
+ AC_DEFUN([CF_PKG_CONFIG],
+@@ -2193,7 +2379,9 @@
+ PKG_CONFIG=none
+ ;;
+ yes) #(vi
+- AC_PATH_TOOL(PKG_CONFIG, pkg-config, none)
++ CF_ACVERSION_CHECK(2.52,
++ [AC_PATH_TOOL(PKG_CONFIG, pkg-config, none)],
++ [AC_PATH_PROG(PKG_CONFIG, pkg-config, none)])
+ ;;
+ *)
+ PKG_CONFIG=$withval
+@@ -2305,29 +2493,17 @@
+
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_PROG_CC_U_D version: 1 updated: 2005/07/14 16:59:30
+-dnl --------------
+-dnl Check if C (preprocessor) -U and -D options are processed in the order
+-dnl given rather than by type of option. Some compilers insist on apply all
+-dnl of the -U options after all of the -D options. Others allow mixing them,
+-dnl and may predefine symbols that conflict with those we define.
+-AC_DEFUN([CF_PROG_CC_U_D],
+-[
+-AC_CACHE_CHECK(if $CC -U and -D options work together,cf_cv_cc_u_d_options,[
+- cf_save_CPPFLAGS="$CPPFLAGS"
+- CPPFLAGS="-UU_D_OPTIONS -DU_D_OPTIONS -DD_U_OPTIONS -UD_U_OPTIONS"
+- AC_TRY_COMPILE([],[
+-#ifndef U_D_OPTIONS
+-make an undefined-error
+-#endif
+-#ifdef D_U_OPTIONS
+-make a defined-error
+-#endif
+- ],[
+- cf_cv_cc_u_d_options=yes],[
+- cf_cv_cc_u_d_options=no])
+- CPPFLAGS="$cf_save_CPPFLAGS"
+-])
++dnl CF_PROG_CC version: 3 updated: 2012/10/06 15:31:55
++dnl ----------
++dnl standard check for CC, plus followup sanity checks
++dnl $1 = optional parameter to pass to AC_PROG_CC to specify compiler name
++AC_DEFUN([CF_PROG_CC],[
++ifelse($1,,[AC_PROG_CC],[AC_PROG_CC($1)])
++CF_GCC_VERSION
++CF_ACVERSION_CHECK(2.52,
++ [AC_PROG_CC_STDC],
++ [CF_ANSI_CC_REQD])
++CF_CC_ENV_FLAGS
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+ dnl CF_PROG_INSTALL version: 5 updated: 2002/12/21 22:46:07
+@@ -2373,7 +2549,122 @@
+ -e 's/-[[UD]]'"$3"'\(=[[^ ]]*\)\?[$]//g'`
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_SIG_ATOMIC_T version: 2 updated: 2005/09/18 17:27:12
++dnl CF_RPATH_HACK version: 9 updated: 2011/02/13 13:31:33
++dnl -------------
++AC_DEFUN([CF_RPATH_HACK],
++[
++AC_REQUIRE([CF_LD_RPATH_OPT])
++AC_MSG_CHECKING(for updated LDFLAGS)
++if test -n "$LD_RPATH_OPT" ; then
++ AC_MSG_RESULT(maybe)
++
++ AC_CHECK_PROGS(cf_ldd_prog,ldd,no)
++ cf_rpath_list="/usr/lib /lib"
++ if test "$cf_ldd_prog" != no
++ then
++ cf_rpath_oops=
++
++AC_TRY_LINK([#include <stdio.h>],
++ [printf("Hello");],
++ [cf_rpath_oops=`$cf_ldd_prog conftest$ac_exeext | fgrep ' not found' | sed -e 's% =>.*$%%' |sort -u`
++ cf_rpath_list=`$cf_ldd_prog conftest$ac_exeext | fgrep / | sed -e 's%^.*[[ ]]/%/%' -e 's%/[[^/]][[^/]]*$%%' |sort -u`])
++
++ # If we passed the link-test, but get a "not found" on a given library,
++ # this could be due to inept reconfiguration of gcc to make it only
++ # partly honor /usr/local/lib (or whatever). Sometimes this behavior
++ # is intentional, e.g., installing gcc in /usr/bin and suppressing the
++ # /usr/local libraries.
++ if test -n "$cf_rpath_oops"
++ then
++ for cf_rpath_src in $cf_rpath_oops
++ do
++ for cf_rpath_dir in \
++ /usr/local \
++ /usr/pkg \
++ /opt/sfw
++ do
++ if test -f $cf_rpath_dir/lib/$cf_rpath_src
++ then
++ CF_VERBOSE(...adding -L$cf_rpath_dir/lib to LDFLAGS for $cf_rpath_src)
++ LDFLAGS="$LDFLAGS -L$cf_rpath_dir/lib"
++ break
++ fi
++ done
++ done
++ fi
++ fi
++
++ CF_VERBOSE(...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS)
++
++ CF_RPATH_HACK_2(LDFLAGS)
++ CF_RPATH_HACK_2(LIBS)
++
++ CF_VERBOSE(...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS)
++fi
++AC_SUBST(EXTRA_LDFLAGS)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_RPATH_HACK_2 version: 6 updated: 2010/04/17 16:31:24
++dnl ---------------
++dnl Do one set of substitutions for CF_RPATH_HACK, adding an rpath option to
++dnl EXTRA_LDFLAGS for each -L option found.
++dnl
++dnl $cf_rpath_list contains a list of directories to ignore.
++dnl
++dnl $1 = variable name to update. The LDFLAGS variable should be the only one,
++dnl but LIBS often has misplaced -L options.
++AC_DEFUN([CF_RPATH_HACK_2],
++[
++CF_VERBOSE(...checking $1 [$]$1)
++
++cf_rpath_dst=
++for cf_rpath_src in [$]$1
++do
++ case $cf_rpath_src in #(vi
++ -L*) #(vi
++
++ # check if this refers to a directory which we will ignore
++ cf_rpath_skip=no
++ if test -n "$cf_rpath_list"
++ then
++ for cf_rpath_item in $cf_rpath_list
++ do
++ if test "x$cf_rpath_src" = "x-L$cf_rpath_item"
++ then
++ cf_rpath_skip=yes
++ break
++ fi
++ done
++ fi
++
++ if test "$cf_rpath_skip" = no
++ then
++ # transform the option
++ if test "$LD_RPATH_OPT" = "-R " ; then
++ cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%-R %"`
++ else
++ cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%$LD_RPATH_OPT%"`
++ fi
++
++ # if we have not already added this, add it now
++ cf_rpath_tst=`echo "$EXTRA_LDFLAGS" | sed -e "s%$cf_rpath_tmp %%"`
++ if test "x$cf_rpath_tst" = "x$EXTRA_LDFLAGS"
++ then
++ CF_VERBOSE(...Filter $cf_rpath_src ->$cf_rpath_tmp)
++ EXTRA_LDFLAGS="$cf_rpath_tmp $EXTRA_LDFLAGS"
++ fi
++ fi
++ ;;
++ esac
++ cf_rpath_dst="$cf_rpath_dst $cf_rpath_src"
++done
++$1=$cf_rpath_dst
++
++CF_VERBOSE(...checked $1 [$]$1)
++AC_SUBST(EXTRA_LDFLAGS)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_SIG_ATOMIC_T version: 3 updated: 2012/10/04 20:12:20
+ dnl ---------------
+ dnl signal handler, but there are some gcc depedencies in that recommendation.
+ dnl Try anyway.
+@@ -2405,7 +2696,7 @@
+ done
+ ])
+ AC_MSG_RESULT($cf_cv_sig_atomic_t)
+-test "$cf_cv_sig_atomic_t" != no && AC_DEFINE_UNQUOTED(SIG_ATOMIC_T, $cf_cv_sig_atomic_t)
++test "$cf_cv_sig_atomic_t" != no && AC_DEFINE_UNQUOTED(SIG_ATOMIC_T, $cf_cv_sig_atomic_t,[Define to signal global datatype])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+ dnl CF_SUBDIR_PATH version: 6 updated: 2010/04/21 06:20:50
+@@ -2425,7 +2716,7 @@
+ CF_ADD_SUBDIR_PATH($1,$2,$3,[$]HOME,$prefix)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_SYS_TIME_SELECT version: 4 updated: 2000/10/04 09:18:40
++dnl CF_SYS_TIME_SELECT version: 5 updated: 2012/10/04 05:24:07
+ dnl ------------------
+ dnl Check if we can include <sys/time.h> with <sys/select.h>; this breaks on
+ dnl older SCO configurations.
+@@ -2445,10 +2736,10 @@
+ [cf_cv_sys_time_select=no])
+ ])
+ AC_MSG_RESULT($cf_cv_sys_time_select)
+-test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT)
++test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT,1,[Define to 1 if we can include <sys/time.h> with <sys/select.h>])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_TERM_HEADER version: 2 updated: 2010/10/23 15:54:49
++dnl CF_TERM_HEADER version: 3 updated: 2012/10/06 08:57:51
+ dnl --------------
+ dnl Look for term.h, which is part of X/Open curses. It defines the interface
+ dnl to terminfo database. Usually it is in the same include-path as curses.h,
+@@ -2481,20 +2772,73 @@
+
+ case $cf_cv_term_header in # (vi
+ *term.h)
+- AC_DEFINE(HAVE_TERM_H)
++ AC_DEFINE(HAVE_TERM_H,1,[Define to 1 if we have term.h])
+ ;;
+ esac
+
+ case $cf_cv_term_header in # (vi
+ ncurses/term.h) #(vi
+- AC_DEFINE(HAVE_NCURSES_TERM_H)
++ AC_DEFINE(HAVE_NCURSES_TERM_H,1,[Define to 1 if we have ncurses/term.h])
+ ;;
+ ncursesw/term.h)
+- AC_DEFINE(HAVE_NCURSESW_TERM_H)
++ AC_DEFINE(HAVE_NCURSESW_TERM_H,1,[Define to 1 if we have ncursesw/term.h])
+ ;;
+ esac
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_TOP_BUILDDIR version: 1 updated: 2006/10/15 16:33:23
++dnl ---------------
++dnl Define a top_builddir symbol, for applications that need an absolute path.
++AC_DEFUN([CF_TOP_BUILDDIR],
++[
++top_builddir=`pwd`
++AC_SUBST(top_builddir)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_TPUTS_PROTO version: 2 updated: 2011/04/23 19:25:50
++dnl --------------
++dnl Check for type of function-pointer passed to tputs. Some old
++dnl implementations used functions that had different prototypes, making it
++dnl hard to compile portable programs using tputs.
++AC_DEFUN([CF_TPUTS_PROTO],[
++CF_CURSES_FUNCS(tputs)
++if test x$cf_cv_func_tputs = xyes
++then
++ cf_done=no
++ for cf_arg in int char
++ do
++ for cf_ret in int void
++ do
++ if test $cf_ret = void
++ then
++ cf_return="/* nothing */"
++ else
++ cf_return="return value"
++ fi
++ AC_TRY_COMPILE([
++#include <${cf_cv_ncurses_header:-curses.h}>
++#include <$cf_cv_term_header>
++
++static $cf_ret outc($cf_arg value) { $cf_return; }
++],[
++ tputs("hello", 0, outc);
++ ${cf_cv_main_return:-return}(0);
++],[
++ CF_VERBOSE([prototype $cf_ret func($cf_arg value)])
++ cat >>confdefs.h <<EOF
++#define TPUTS_ARG $cf_arg
++#define TPUTS_PROTO(func,value) $cf_ret func(TPUTS_ARG value)
++#define TPUTS_RETURN(value) $cf_return
++EOF
++ cf_done=yes
++ break
++])
++ done
++ test $cf_done = yes && break
++ done
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_TRY_PKG_CONFIG version: 4 updated: 2010/06/14 17:42:30
+ dnl -----------------
+ dnl This is a simple wrapper to use for pkg-config, for libraries which may be
+@@ -2520,6 +2864,45 @@
+ fi
+ ])
+ dnl ---------------------------------------------------------------------------
++dnl CF_TRY_XOPEN_SOURCE version: 1 updated: 2011/10/30 17:09:50
++dnl -------------------
++dnl If _XOPEN_SOURCE is not defined in the compile environment, check if we
++dnl can define it successfully.
++AC_DEFUN([CF_TRY_XOPEN_SOURCE],[
++AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
++ AC_TRY_COMPILE([
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++],[
++#ifndef _XOPEN_SOURCE
++make an error
++#endif],
++ [cf_cv_xopen_source=no],
++ [cf_save="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
++ AC_TRY_COMPILE([
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++],[
++#ifdef _XOPEN_SOURCE
++make an error
++#endif],
++ [cf_cv_xopen_source=no],
++ [cf_cv_xopen_source=$cf_XOPEN_SOURCE])
++ CPPFLAGS="$cf_save"
++ ])
++])
++
++if test "$cf_cv_xopen_source" != no ; then
++ CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE)
++ CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE)
++ cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
++ CF_ADD_CFLAGS($cf_temp_xopen_source)
++fi
++])
++dnl ---------------------------------------------------------------------------
+ dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59
+ dnl --------
+ dnl Make an uppercase version of a variable
+@@ -2529,7 +2912,7 @@
+ $1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_UTF8_LIB version: 7 updated: 2010/06/20 09:24:28
++dnl CF_UTF8_LIB version: 8 updated: 2012/10/06 08:57:51
+ dnl -----------
+ dnl Check for multibyte support, and if not found, utf8 compatibility library
+ AC_DEFUN([CF_UTF8_LIB],
+@@ -2548,7 +2931,7 @@
+ # HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
+ # ncurses/ncursesw:
+ if test "$cf_cv_utf8_lib" = "add-on" ; then
+- AC_DEFINE(HAVE_LIBUTF8_H)
++ AC_DEFINE(HAVE_LIBUTF8_H,1,[Define to 1 if we should include libutf8.h])
+ CF_ADD_INCDIR($cf_cv_header_path_utf8)
+ CF_ADD_LIBDIR($cf_cv_library_path_utf8)
+ CF_ADD_LIBS($cf_cv_library_file_utf8)
+@@ -2563,7 +2946,7 @@
+ CF_MSG_LOG([$1])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_WCHAR_TYPE version: 3 updated: 2010/05/26 16:44:57
++dnl CF_WCHAR_TYPE version: 4 updated: 2012/10/06 16:39:58
+ dnl -------------
+ dnl Check if type wide-character type $1 is declared, and if so, which header
+ dnl file is needed. The second parameter is used to set a shell variable when
+@@ -2595,7 +2978,7 @@
+ [cf_cv_$1=unknown])])])
+
+ if test "$cf_cv_$1" = yes ; then
+- AC_DEFINE(NEED_WCHAR_H)
++ AC_DEFINE(NEED_WCHAR_H,1,[Define to 1 if we must include wchar.h])
+ NEED_WCHAR_H=1
+ fi
+
+@@ -2667,6 +3050,60 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_WITH_NCURSES_ETC version: 2 updated: 2012/01/13 10:49:00
++dnl -------------------
++dnl Use this macro for programs which use any variant of "curses", e.g.,
++dnl "ncurses", and "PDCurses". Programs that can use curses and some unrelated
++dnl library (such as slang) should use a "--with-screen=XXX" option.
++dnl
++dnl This does not use AC_DEFUN, because that would tell autoconf to run each
++dnl of the macros inside this one - before this macro.
++define([CF_WITH_NCURSES_ETC],[
++CF_WITH_CURSES_DIR
++
++cf_cv_screen=curses
++
++AC_MSG_CHECKING(for specified curses library type)
++AC_ARG_WITH(ncursesw,
++ [ --with-ncursesw use wide ncurses-libraries],
++ [cf_cv_screen=ncursesw],[
++
++AC_ARG_WITH(ncurses,
++ [ --with-ncurses use ncurses-libraries],
++ [cf_cv_screen=ncurses],[
++
++AC_ARG_WITH(pdcurses,
++ [ --with-pdcurses compile/link with pdcurses X11 library],
++ [cf_cv_screen=pdcurses],[
++
++AC_ARG_WITH(curses-colr,
++ [ --with-curses-colr compile/link with HPUX 10.x color-curses],
++ [cf_cv_screen=curses_colr],[
++
++AC_ARG_WITH(curses-5lib,
++ [ --with-curses-5lib compile/link with SunOS 5lib curses],
++ [cf_cv_screen=curses_5lib])])])])])
++
++AC_MSG_RESULT($cf_cv_screen)
++
++case $cf_cv_screen in #(vi
++curses|curses_*) #(vi
++ CF_CURSES_CONFIG
++ ;;
++ncurses) #(vi
++ CF_NCURSES_CONFIG
++ ;;
++ncursesw) #(vi
++ CF_UTF8_LIB
++ CF_NCURSES_CONFIG(ncursesw)
++ ;;
++pdcurses)
++ CF_PDCURSES_X11
++ ;;
++esac
++
++])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_WITH_VALGRIND version: 1 updated: 2006/12/14 18:00:21
+ dnl ----------------
+ AC_DEFUN([CF_WITH_VALGRIND],[
+@@ -2714,7 +3151,7 @@
+ test $cf_cv_need_xopen_extension = yes && CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_XOPEN_SOURCE version: 35 updated: 2011/02/20 20:37:37
++dnl CF_XOPEN_SOURCE version: 43 updated: 2013/02/10 10:41:05
+ dnl ---------------
+ dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions,
+ dnl or adapt to the vendor's definitions to get equivalent functionality,
+@@ -2724,13 +3161,14 @@
+ dnl $1 is the nominal value for _XOPEN_SOURCE
+ dnl $2 is the nominal value for _POSIX_C_SOURCE
+ AC_DEFUN([CF_XOPEN_SOURCE],[
++AC_REQUIRE([AC_CANONICAL_HOST])
+
+ cf_XOPEN_SOURCE=ifelse([$1],,500,[$1])
+ cf_POSIX_C_SOURCE=ifelse([$2],,199506L,[$2])
+ cf_xopen_source=
+
+ case $host_os in #(vi
+-aix[[456]]*) #(vi
++aix[[4-7]]*) #(vi
+ cf_xopen_source="-D_ALL_SOURCE"
+ ;;
+ cygwin) #(vi
+@@ -2741,6 +3179,7 @@
+ ;;
+ darwin*) #(vi
+ cf_xopen_source="-D_DARWIN_C_SOURCE"
++ cf_XOPEN_SOURCE=
+ ;;
+ freebsd*|dragonfly*) #(vi
+ # 5.x headers associate
+@@ -2758,15 +3197,23 @@
+ ;;
+ irix[[56]].*) #(vi
+ cf_xopen_source="-D_SGI_SOURCE"
++ cf_XOPEN_SOURCE=
+ ;;
+ linux*|gnu*|mint*|k*bsd*-gnu) #(vi
+ CF_GNU_SOURCE
+ ;;
+ mirbsd*) #(vi
+- # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <arpa/inet.h>
++ # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <sys/select.h> and other headers which use u_int / u_short types
++ cf_XOPEN_SOURCE=
++ CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
+ ;;
+ netbsd*) #(vi
+- # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
++ cf_xopen_source="-D_NETBSD_SOURCE" # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
++ ;;
++openbsd[[4-9]]*) #(vi
++ # setting _XOPEN_SOURCE lower than 500 breaks g++ compile with wchar.h, needed for ncursesw
++ cf_xopen_source="-D_BSD_SOURCE"
++ cf_XOPEN_SOURCE=600
+ ;;
+ openbsd*) #(vi
+ # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
+@@ -2780,36 +3227,11 @@
+ sco*) #(vi
+ # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
+ ;;
+-solaris2.1[[0-9]]) #(vi
+- cf_xopen_source="-D__EXTENSIONS__ -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+- ;;
+-solaris2.[[1-9]]) #(vi
++solaris2.*) #(vi
+ cf_xopen_source="-D__EXTENSIONS__"
+ ;;
+ *)
+- AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
+- AC_TRY_COMPILE([#include <sys/types.h>],[
+-#ifndef _XOPEN_SOURCE
+-make an error
+-#endif],
+- [cf_cv_xopen_source=no],
+- [cf_save="$CPPFLAGS"
+- CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+- AC_TRY_COMPILE([#include <sys/types.h>],[
+-#ifdef _XOPEN_SOURCE
+-make an error
+-#endif],
+- [cf_cv_xopen_source=no],
+- [cf_cv_xopen_source=$cf_XOPEN_SOURCE])
+- CPPFLAGS="$cf_save"
+- ])
+-])
+- if test "$cf_cv_xopen_source" != no ; then
+- CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE)
+- CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE)
+- cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
+- CF_ADD_CFLAGS($cf_temp_xopen_source)
+- fi
++ CF_TRY_XOPEN_SOURCE
+ CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
+ ;;
+ esac
+@@ -2817,6 +3239,35 @@
+ if test -n "$cf_xopen_source" ; then
+ CF_ADD_CFLAGS($cf_xopen_source)
+ fi
++
++dnl In anything but the default case, we may have system-specific setting
++dnl which is still not guaranteed to provide all of the entrypoints that
++dnl _XOPEN_SOURCE would yield.
++if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then
++ AC_MSG_CHECKING(if _XOPEN_SOURCE really is set)
++ AC_TRY_COMPILE([#include <stdlib.h>],[
++#ifndef _XOPEN_SOURCE
++make an error
++#endif],
++ [cf_XOPEN_SOURCE_set=yes],
++ [cf_XOPEN_SOURCE_set=no])
++ AC_MSG_RESULT($cf_XOPEN_SOURCE_set)
++ if test $cf_XOPEN_SOURCE_set = yes
++ then
++ AC_TRY_COMPILE([#include <stdlib.h>],[
++#if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE
++make an error
++#endif],
++ [cf_XOPEN_SOURCE_set_ok=yes],
++ [cf_XOPEN_SOURCE_set_ok=no])
++ if test $cf_XOPEN_SOURCE_set_ok = no
++ then
++ AC_MSG_WARN(_XOPEN_SOURCE is lower than requested)
++ fi
++ else
++ CF_TRY_XOPEN_SOURCE
++ fi
++fi
+ ])
+ dnl ---------------------------------------------------------------------------
+ dnl CF_X_ATHENA version: 20 updated: 2010/11/09 05:18:02
+@@ -2957,7 +3408,7 @@
+ fi
+ ])
+ dnl ---------------------------------------------------------------------------
+-dnl CF_X_ATHENA_LIBS version: 10 updated: 2011/02/13 13:31:33
++dnl CF_X_ATHENA_LIBS version: 12 updated: 2011/07/17 19:55:02
+ dnl ----------------
+ dnl Normally invoked by CF_X_ATHENA, with $1 set to the appropriate flavor of
+ dnl the Athena widgets, e.g., Xaw, Xaw3d, neXtaw.
+@@ -2973,19 +3424,24 @@
+ /usr/local
+ do
+ for cf_lib in \
+- "-l$cf_x_athena_root -lXmu" \
+- "-l$cf_x_athena_root -lXpm -lXmu" \
+- "-l${cf_x_athena_root}_s -lXmu_s"
++ ${cf_x_athena_root} \
++ ${cf_x_athena_root}7 \
++ ${cf_x_athena_root}6
++ do
++ for cf_libs in \
++ "-l$cf_lib -lXmu" \
++ "-l$cf_lib -lXpm -lXmu" \
++ "-l${cf_lib}_s -lXmu_s"
+ do
+ if test -z "$cf_x_athena_lib" ; then
+ cf_save="$LIBS"
+ cf_test=XawSimpleMenuAddGlobalActions
+ if test $cf_path != default ; then
+- CF_ADD_LIBS(-L$cf_path/lib $cf_lib)
+- AC_MSG_CHECKING(for $cf_lib in $cf_path)
++ CF_ADD_LIBS(-L$cf_path/lib $cf_libs)
++ AC_MSG_CHECKING(for $cf_libs in $cf_path)
+ else
+- CF_ADD_LIBS($cf_lib)
+- AC_MSG_CHECKING(for $cf_test in $cf_lib)
++ CF_ADD_LIBS($cf_libs)
++ AC_MSG_CHECKING(for $cf_test in $cf_libs)
+ fi
+ AC_TRY_LINK([
+ #include <X11/Intrinsic.h>
+@@ -2996,12 +3452,14 @@
+ [cf_result=no])
+ AC_MSG_RESULT($cf_result)
+ if test "$cf_result" = yes ; then
+- cf_x_athena_lib="$cf_lib"
++ cf_x_athena_lib="$cf_libs"
+ break
+ fi
+ LIBS="$cf_save"
+ fi
+- done
++ done # cf_libs
++ test -n "$cf_x_athena_lib" && break
++ done # cf_lib
+ done
+
+ if test -z "$cf_x_athena_lib" ; then
+@@ -3021,7 +3479,7 @@
+ [CF_ADD_LIB(Xext)])])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_X_TOOLKIT version: 20 updated: 2010/11/19 05:43:04
++dnl CF_X_TOOLKIT version: 21 updated: 2012/10/04 06:57:36
+ dnl ------------
+ dnl Check for X Toolkit libraries
+ dnl
+@@ -3095,7 +3553,7 @@
+
+ AC_CHECK_FUNC(XtAppInitialize,,[
+ AC_CHECK_LIB(Xt, XtAppInitialize,
+- [AC_DEFINE(HAVE_LIBXT)
++ [AC_DEFINE(HAVE_LIBXT,1,[Define to 1 if we can compile with the Xt library])
+ cf_have_X_LIBS=Xt
+ LIBS="-lXt $X_PRE_LIBS $LIBS $X_EXTRA_LIBS"],,
+ [$X_PRE_LIBS $LIBS $X_EXTRA_LIBS])])
+Index: test/background.c
+Prereq: 1.3
+--- ncurses-5.9/test/background.c 2006-06-03 16:43:08.000000000 +0000
++++ ncurses-5.9-20130504/test/background.c 2012-06-09 20:30:33.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2003,2006 Free Software Foundation, Inc. *
++ * Copyright (c) 2003-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,15 +26,172 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: background.c,v 1.3 2006/06/03 16:43:08 tom Exp $
++ * $Id: background.c,v 1.13 2012/06/09 20:30:33 tom Exp $
+ */
+
+-#include <test.priv.h>
++#define NEED_COLOR_CODE 1
++#define NEED_COLOR_NAME 1
++#include <color_name.h>
++
++static int default_bg = COLOR_BLACK;
++static int default_fg = COLOR_WHITE;
++
++static void
++test_background(void)
++{
++ short f, b;
++ int row;
++ int chr;
++
++ if (pair_content(0, &f, &b) == ERR) {
++ printw("pair 0 contains no data\n");
++ } else {
++ printw("pair 0 contains (%d,%d)\n", f, b);
++ }
++ getch();
++
++ printw("Initializing pair 1 to red/%s\n", color_name(default_bg));
++ init_pair(1, COLOR_RED, (short) default_bg);
++ bkgdset((chtype) (' ' | COLOR_PAIR(1)));
++ printw("RED/BLACK\n");
++ getch();
++
++ printw("Initializing pair 2 to %s/blue\n", color_name(default_fg));
++ init_pair(2, (short) default_fg, COLOR_BLUE);
++ bkgdset((chtype) (' ' | COLOR_PAIR(2)));
++ printw("This line should be %s/blue\n", color_name(default_fg));
++ getch();
++
++ printw("Initializing pair 3 to %s/cyan (ACS_HLINE)\n", color_name(default_fg));
++ init_pair(3, (short) default_fg, COLOR_CYAN);
++ printw("...and drawing a box which should be followed by lines\n");
++ bkgdset(ACS_HLINE | COLOR_PAIR(3));
++ /*
++ * Characters from vt100 line-drawing should be mapped to line-drawing,
++ * since A_ALTCHARSET is set in the background, and the character part
++ * of the background is replaced by the nonblank characters written.
++ *
++ * Characters not in the line-drawing range are usually sent as-is.
++ *
++ * With SVr4 curses it is possible to rely on this to mix uppercase text
++ * with the (lowercase) line-drawing characters. ncurses uses some of
++ * the uppercase characters for encoding thick- and double-lines.
++ */
++ row = 7;
++ mvprintw(row++, 10, "l");
++ for (chr = 0; chr < 32; ++chr)
++ addch(' ');
++ printw("x\n");
++ chr = 32;
++ while (chr < 128) {
++ if ((chr % 32) == 0)
++ mvprintw(row++, 10, "x");
++ addch((chtype) ((chr == 127) ? ' ' : chr));
++ if ((++chr % 32) == 0)
++ printw("x\n");
++ }
++ mvprintw(row++, 10, "m");
++ for (chr = 0; chr < 32; ++chr)
++ addch(' ');
++ printw("j\n");
++ getch();
++
++ bkgdset((chtype) (' ' | COLOR_PAIR(0)));
++ printw("Default Colors\n");
++ getch();
++
++ printw("Resetting colors to pair 1\n");
++ bkgdset((chtype) (' ' | COLOR_PAIR(1)));
++ printw("This line should be red/%s\n", color_name(default_bg));
++ getch();
++
++ printw("Setting screen to pair 0\n");
++ bkgd((chtype) (' ' | COLOR_PAIR(0)));
++ getch();
++
++ printw("Setting screen to pair 1\n");
++ bkgd((chtype) (' ' | COLOR_PAIR(1)));
++ getch();
++
++ printw("Setting screen to pair 2\n");
++ bkgd((chtype) (' ' | COLOR_PAIR(2)));
++ getch();
++
++ printw("Setting screen to pair 3\n");
++ bkgd((chtype) (' ' | COLOR_PAIR(3)));
++ getch();
++
++ printw("Setting screen to pair 0\n");
++ bkgd((chtype) (' ' | COLOR_PAIR(0)));
++ getch();
++}
++
++static void
++usage(void)
++{
++ static const char *msg[] =
++ {
++ "Usage: background [options]"
++ ,""
++ ,"Options:"
++#if HAVE_ASSUME_DEFAULT_COLORS
++ ," -a invoke assume_default_colors, repeat to use in init_pair"
++#endif
++ ," -b XXX specify background color"
++#if HAVE_USE_DEFAULT_COLORS
++ ," -d invoke use_default_colors, repeat to use in init_pair"
++#endif
++ ," -f XXX specify foreground color"
++ };
++ size_t n;
++
++ for (n = 0; n < SIZEOF(msg); n++)
++ fprintf(stderr, "%s\n", msg[n]);
++
++ ExitProgram(EXIT_FAILURE);
++}
+
+ int
+ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
+ {
+- short f, b;
++#if HAVE_ASSUME_DEFAULT_COLORS
++ int a_option = 0;
++#endif
++#if HAVE_USE_DEFAULT_COLORS
++ int d_option = 0;
++#endif
++ int n;
++
++ setlocale(LC_ALL, "");
++
++ while ((n = getopt(argc, argv, "ab:df:")) != -1) {
++ switch (n) {
++#if HAVE_ASSUME_DEFAULT_COLORS
++ case 'a':
++ ++a_option;
++ break;
++#endif
++ case 'b':
++ default_bg = color_code(optarg);
++ break;
++#if HAVE_USE_DEFAULT_COLORS
++ case 'd':
++ ++d_option;
++ break;
++#endif
++ case 'f':
++ default_fg = color_code(optarg);
++ break;
++ default:
++ usage();
++ }
++ }
++#if HAVE_USE_DEFAULT_COLORS && HAVE_ASSUME_DEFAULT_COLORS
++ if (a_option && d_option) {
++ fprintf(stderr, "Use either -a or -d option, but not both\n");
++ ExitProgram(EXIT_FAILURE);
++ }
++#endif
+
+ initscr();
+ cbreak();
+@@ -43,47 +200,30 @@
+ if (has_colors()) {
+ start_color();
+
+- pair_content(0, &f, &b);
+- printw("pair 0 contains (%d,%d)\n", f, b);
+- getch();
++#if HAVE_USE_DEFAULT_COLORS
++ if (d_option) {
++ printw("Using default colors...\n");
++ use_default_colors();
++ if (d_option > 1) {
++ default_fg = -1;
++ default_bg = -1;
++ }
++ }
++#endif
++#if HAVE_ASSUME_DEFAULT_COLORS
++ if (a_option) {
++ printw("Using assumed colors %s/%s...\n",
++ color_name(default_fg),
++ color_name(default_bg));
++ assume_default_colors(default_fg, default_bg);
++ if (a_option > 1) {
++ default_fg = -1;
++ default_bg = -1;
++ }
++ }
++#endif
+
+- printw("Initializing pair 1 to red/black\n");
+- init_pair(1, COLOR_RED, COLOR_BLACK);
+- bkgdset(' ' | COLOR_PAIR(1));
+- printw("RED/BLACK\n");
+- getch();
+-
+- printw("Initializing pair 2 to white/blue\n");
+- init_pair(2, COLOR_WHITE, COLOR_BLUE);
+- bkgdset(' ' | COLOR_PAIR(2));
+- printw("WHITE/BLUE\n");
+- getch();
+-
+- printw("Resetting colors to pair 0\n");
+- bkgdset(' ' | COLOR_PAIR(0));
+- printw("Default Colors\n");
+- getch();
+-
+- printw("Resetting colors to pair 1\n");
+- bkgdset(' ' | COLOR_PAIR(1));
+- printw("RED/BLACK\n");
+- getch();
+-
+- printw("Setting screen to pair 0\n");
+- bkgd(' ' | COLOR_PAIR(0));
+- getch();
+-
+- printw("Setting screen to pair 1\n");
+- bkgd(' ' | COLOR_PAIR(1));
+- getch();
+-
+- printw("Setting screen to pair 2\n");
+- bkgd(' ' | COLOR_PAIR(2));
+- getch();
+-
+- printw("Setting screen to pair 0\n");
+- bkgd(' ' | COLOR_PAIR(0));
+- getch();
++ test_background();
+
+ } else {
+ printw("This demo requires a color terminal");
+Index: test/blue.c
+Prereq: 1.33
+--- ncurses-5.9/test/blue.c 2009-10-24 21:03:35.000000000 +0000
++++ ncurses-5.9-20130504/test/blue.c 2013-04-27 19:46:53.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2009,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -40,7 +40,7 @@
+ * results, use the ncurses(3) library. On non-Intel machines, SVr4 curses is
+ * just as good.
+ *
+- * $Id: blue.c,v 1.33 2009/10/24 21:03:35 tom Exp $
++ * $Id: blue.c,v 1.35 2013/04/27 19:46:53 tom Exp $
+ */
+
+ #include <test.priv.h>
+@@ -70,7 +70,7 @@
+ #define BLACK_ON_WHITE 2
+ #define BLUE_ON_WHITE 3
+
+-static RETSIGTYPE die(int onsig) GCC_NORETURN;
++static void die(int onsig) GCC_NORETURN;
+
+ static int deck_size = PACK_SIZE; /* initial deck */
+ static int deck[PACK_SIZE];
+@@ -132,7 +132,7 @@
+
+ static chtype *suits = letters; /* this may change to glyphs below */
+
+-static RETSIGTYPE
++static void
+ die(int onsig)
+ {
+ (void) signal(onsig, SIG_IGN);
+@@ -202,8 +202,8 @@
+ if (value == NOCARD)
+ (void) addstr(" ");
+ else {
+- addch(ranks[value % SUIT_LENGTH][0] | COLOR_PAIR(BLUE_ON_WHITE));
+- addch(ranks[value % SUIT_LENGTH][1] | COLOR_PAIR(BLUE_ON_WHITE));
++ addch(ranks[value % SUIT_LENGTH][0] | (chtype) COLOR_PAIR(BLUE_ON_WHITE));
++ addch(ranks[value % SUIT_LENGTH][1] | (chtype) COLOR_PAIR(BLUE_ON_WHITE));
+ addch(suits[value / SUIT_LENGTH]);
+ }
+ (void) addch(' ');
+Index: test/bs.c
+Prereq: 1.52
+--- ncurses-5.9/test/bs.c 2010-11-13 20:07:52.000000000 +0000
++++ ncurses-5.9-20130504/test/bs.c 2013-04-27 19:46:53.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -34,7 +34,7 @@
+ * v2.0 featuring strict ANSI/POSIX conformance, November 1993.
+ * v2.1 with ncurses mouse support, September 1995
+ *
+- * $Id: bs.c,v 1.52 2010/11/13 20:07:52 tom Exp $
++ * $Id: bs.c,v 1.61 2013/04/27 19:46:53 tom Exp $
+ */
+
+ #include <test.priv.h>
+@@ -110,7 +110,7 @@
+ static char destroy[] = "Destroyer";
+ static char ptboat[] = "PT Boat";
+
+-static char name[40];
++static char *your_name;
+ static char dftname[] = "stranger";
+
+ /* direction constants */
+@@ -174,9 +174,9 @@
+
+ #define PR (void)addstr
+
+-static RETSIGTYPE uninitgame(int sig) GCC_NORETURN;
++static void uninitgame(int sig) GCC_NORETURN;
+
+-static RETSIGTYPE
++static void
+ uninitgame(int sig GCC_UNUSED)
+ /* end the game, either normally or due to signal */
+ {
+@@ -220,11 +220,12 @@
+
+ CATCHALL(uninitgame);
+
+- if ((tmpname = getlogin()) != 0) {
+- (void) strcpy(name, tmpname);
+- name[0] = (char) toupper(UChar(name[0]));
+- } else
+- (void) strcpy(name, dftname);
++ if ((tmpname = getlogin()) != 0 &&
++ (your_name = strdup(tmpname)) != 0) {
++ your_name[0] = (char) toupper(UChar(your_name[0]));
++ } else {
++ your_name = dftname;
++ }
+
+ (void) initscr();
+ keypad(stdscr, TRUE);
+@@ -368,7 +369,7 @@
+ MvAddCh(PYBASE + i, PXBASE - 3, (chtype) (i + 'A'));
+ #ifdef A_COLOR
+ if (has_colors())
+- attron(COLOR_PAIR(COLOR_BLUE));
++ attron((attr_t) COLOR_PAIR(COLOR_BLUE));
+ #endif /* A_COLOR */
+ (void) addch(' ');
+ for (j = 0; j < BWIDTH; j++)
+@@ -386,7 +387,7 @@
+ MvAddCh(CYBASE + i, CXBASE - 3, (chtype) (i + 'A'));
+ #ifdef A_COLOR
+ if (has_colors())
+- attron(COLOR_PAIR(COLOR_BLUE));
++ attron((attr_t) COLOR_PAIR(COLOR_BLUE));
+ #endif /* A_COLOR */
+ (void) addch(' ');
+ for (j = 0; j < BWIDTH; j++)
+@@ -426,10 +427,11 @@
+ placeship(COMPUTER, ss, FALSE);
+ }
+
+- ss = (ship_t *) NULL;
+ do {
+ char c, docked[SHIPTYPES + 2], *cp = docked;
+
++ ss = (ship_t *) NULL;
++
+ /* figure which ships still wait to be placed */
+ *cp++ = 'R';
+ for (i = 0; i < SHIPTYPES; i++)
+@@ -459,13 +461,14 @@
+ do {
+ c = (char) getch();
+ } while
+- (!(strchr("hjklrR", c) || c == FF));
++ (!(strchr("hjkl8462rR", c) || c == FF));
+
+ if (c == FF) {
+ (void) clearok(stdscr, TRUE);
+ (void) refresh();
++ } else if (ss == 0) {
++ beep(); /* simple to verify, unlikely to happen */
+ } else if (c == 'r') {
+- assert(ss != 0);
+ prompt(1, "Random-placing your %s", ss->name);
+ randomplace(PLAYER, ss);
+ placeship(PLAYER, ss, TRUE);
+@@ -481,7 +484,6 @@
+ }
+ error((char *) NULL);
+ } else if (strchr("hjkl8462", c)) {
+- assert(ss != 0);
+ ss->x = curx;
+ ss->y = cury;
+
+@@ -769,7 +771,7 @@
+ cgoto(y1, x1);
+ #ifdef A_COLOR
+ if (has_colors())
+- attron(COLOR_PAIR(COLOR_GREEN));
++ attron((attr_t) COLOR_PAIR(COLOR_GREEN));
+ #endif /* A_COLOR */
+ (void) addch(MARK_MISS);
+ #ifdef A_COLOR
+@@ -795,7 +797,7 @@
+ pgoto(y1, x1);
+ #ifdef A_COLOR
+ if (has_colors())
+- attron(COLOR_PAIR(COLOR_RED));
++ attron((attr_t) COLOR_PAIR(COLOR_RED));
+ #endif /* A_COLOR */
+ (void) addch(SHOWHIT);
+ #ifdef A_COLOR
+@@ -834,9 +836,9 @@
+ #ifdef A_COLOR
+ if (has_colors()) {
+ if (hit)
+- attron(COLOR_PAIR(COLOR_RED));
++ attron((attr_t) COLOR_PAIR(COLOR_RED));
+ else
+- attron(COLOR_PAIR(COLOR_GREEN));
++ attron((attr_t) COLOR_PAIR(COLOR_GREEN));
+ }
+ #endif /* A_COLOR */
+ (void) addch((chtype) hits[PLAYER][curx][cury]);
+@@ -863,7 +865,9 @@
+ m = " You'll pick up survivors from my %s, I hope...!";
+ break;
+ }
+- (void) printw(m, ss->name);
++ if (m != 0) {
++ (void) printw(m, ss->name);
++ }
+ (void) beep();
+ }
+ return (hit);
+@@ -952,8 +956,8 @@
+ bool hit, sunk;
+ ship_t *ss = NULL;
+
+- hit = board[PLAYER][x][y] ? MARK_HIT : MARK_MISS;
+- hits[COMPUTER][x][y] = (char) hit;
++ hit = (bool) board[PLAYER][x][y];
++ hits[COMPUTER][x][y] = (hit ? MARK_HIT : MARK_MISS);
+ MvPrintw(PROMPTLINE, 0,
+ "I shoot at %c%d. I %s!", y + 'A', x, hit ? "hit" :
+ "miss");
+@@ -965,9 +969,9 @@
+ #ifdef A_COLOR
+ if (has_colors()) {
+ if (hit)
+- attron(COLOR_PAIR(COLOR_RED));
++ attron((attr_t) COLOR_PAIR(COLOR_RED));
+ else
+- attron(COLOR_PAIR(COLOR_GREEN));
++ attron((attr_t) COLOR_PAIR(COLOR_GREEN));
+ }
+ #endif /* A_COLOR */
+ (void) addch((chtype) (hit ? SHOWHIT : SHOWSPLASH));
+@@ -1130,16 +1134,16 @@
+ ++cpuwon;
+ else
+ ++plywon;
+- j = 18 + (int) strlen(name);
++ j = 18 + (int) strlen(your_name);
+ if (plywon >= 10)
+ ++j;
+ if (cpuwon >= 10)
+ ++j;
+ MvPrintw(1, (COLWIDTH - j) / 2,
+- "%s: %d Computer: %d", name, plywon, cpuwon);
++ "%s: %d Computer: %d", your_name, plywon, cpuwon);
+
+ prompt(2, (awinna())? "Want to be humiliated again, %s [yn]? "
+- : "Going to give me a chance for revenge, %s [yn]? ", name);
++ : "Going to give me a chance for revenge, %s [yn]? ", your_name);
+ return (sgetc("YN") == 'Y');
+ }
+
+Index: test/cardfile.c
+Prereq: 1.38
+--- ncurses-5.9/test/cardfile.c 2010-11-14 00:58:45.000000000 +0000
++++ ncurses-5.9-20130504/test/cardfile.c 2012-11-03 19:26:50.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1999-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1999-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -29,7 +29,7 @@
+ /*
+ * Author: Thomas E. Dickey
+ *
+- * $Id: cardfile.c,v 1.38 2010/11/14 00:58:45 tom Exp $
++ * $Id: cardfile.c,v 1.41 2012/11/03 19:26:50 tom Exp $
+ *
+ * File format: text beginning in column 1 is a title; other text is content.
+ */
+@@ -68,17 +68,13 @@
+ static bool try_color = FALSE;
+ static char default_name[] = "cardfile.dat";
+
+-#if !HAVE_STRDUP
+-#define strdup my_strdup
+-static char *
+-strdup(const char *s)
+-{
+- char *p = typeMalloc(char, strlen(s) + 1);
+- if (p)
+- strcpy(p, s);
+- return (p);
++static void
++failed(const char *s)
++{
++ perror(s);
++ endwin();
++ ExitProgram(EXIT_FAILURE);
+ }
+-#endif /* not HAVE_STRDUP */
+
+ static const char *
+ skip(const char *buffer)
+@@ -146,6 +142,8 @@
+ }
+ if (card->content)
+ strcpy(card->content + offset, content);
++ else
++ failed("add_content");
+ }
+ }
+
+@@ -414,7 +412,7 @@
+ if ((win = newwin(panel_high, panel_wide, y, x)) == 0)
+ break;
+
+- wbkgd(win, COLOR_PAIR(pair_2));
++ wbkgd(win, (chtype) COLOR_PAIR(pair_2));
+ keypad(win, TRUE);
+ p->panel = new_panel(win);
+ box(win, 0, 0);
+@@ -588,7 +586,7 @@
+ start_color();
+ init_pair(pair_1, COLOR_WHITE, COLOR_BLUE);
+ init_pair(pair_2, COLOR_WHITE, COLOR_CYAN);
+- bkgd(COLOR_PAIR(pair_1));
++ bkgd((chtype) COLOR_PAIR(pair_1));
+ } else {
+ try_color = FALSE;
+ }
+Index: test/chgat.c
+Prereq: 1.11
+--- ncurses-5.9/test/chgat.c 2010-05-01 19:12:26.000000000 +0000
++++ ncurses-5.9-20130504/test/chgat.c 2012-11-18 01:55:35.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2006-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2006-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: chgat.c,v 1.11 2010/05/01 19:12:26 tom Exp $
++ * $Id: chgat.c,v 1.12 2012/11/18 01:55:35 tom Exp $
+ *
+ * test-driver for chgat/wchgat/mvchgat/mvwchgat
+ */
+@@ -176,6 +176,8 @@
+ delwin(win1);
+ touchwin(win);
+ } else {
++ if (win1 != 0)
++ delwin(win1);
+ beep();
+ }
+ }
+Index: test/clip_printw.c
+Prereq: 1.7
+--- ncurses-5.9/test/clip_printw.c 2010-11-13 20:48:48.000000000 +0000
++++ ncurses-5.9-20130504/test/clip_printw.c 2012-11-18 00:39:48.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2008-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2008-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: clip_printw.c,v 1.7 2010/11/13 20:48:48 tom Exp $
++ * $Id: clip_printw.c,v 1.9 2012/11/18 00:39:48 tom Exp $
+ *
+ * demonstrate how to use printw without wrapping.
+ */
+@@ -207,6 +207,8 @@
+ delwin(win1);
+ touchwin(win);
+ } else {
++ if (win1)
++ delwin(win1);
+ beep();
+ }
+ }
+@@ -329,7 +331,7 @@
+ do {
+ switch (st.ch) {
+ case '.': /* change from current position */
+- (void) wattrset(win, st.attr | (chtype) COLOR_PAIR(st.pair));
++ (void) wattrset(win, (int) (st.attr | (chtype) COLOR_PAIR(st.pair)));
+ if (st.count > 0) {
+ need = (unsigned) st.count + 1;
+ sprintf(fmt, "%%c%%%ds%%c", st.count);
+@@ -337,12 +339,13 @@
+ need = (unsigned) getmaxx(win) - 1;
+ strcpy(fmt, "%c%s%c");
+ }
+- if ((buffer = typeMalloc(char, need)) != 0) {
++ if ((buffer = typeMalloc(char, need + 1)) != 0) {
+ for (j = 0; j < need; ++j) {
+ buffer[j] = (char) ('A' + (j % 26));
+ }
+ buffer[need - 1] = '\0';
+ st.status = clip_wprintw(win, fmt, '[', buffer, ']');
++ free(buffer);
+ }
+ break;
+ case 'w':
+Index: test/color_name.h
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/test/color_name.h 2012-11-18 01:59:32.000000000 +0000
+@@ -0,0 +1,103 @@
++/****************************************************************************
++ * Copyright (c) 2011,2012 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++/*
++ * $Id: color_name.h,v 1.4 2012/11/18 01:59:32 tom Exp $
++ */
++
++#ifndef __COLORNAME_H
++#define __COLORNAME_H 1
++
++#ifndef __TEST_PRIV_H
++#include <test.priv.h>
++#endif
++
++static NCURSES_CONST char *the_color_names[] =
++{
++ "black",
++ "red",
++ "green",
++ "yellow",
++ "blue",
++ "magenta",
++ "cyan",
++ "white",
++ "BLACK",
++ "RED",
++ "GREEN",
++ "YELLOW",
++ "BLUE",
++ "MAGENTA",
++ "CYAN",
++ "WHITE"
++};
++
++#ifdef NEED_COLOR_CODE
++static int
++color_code(const char *color)
++{
++ int result = 0;
++ char *endp = 0;
++ size_t n;
++
++ if ((result = (int) strtol(color, &endp, 0)) >= 0
++ && (endp == 0 || *endp == 0)) {
++ ;
++ } else if (!strcmp(color, "default")) {
++ result = -1;
++ } else {
++ for (n = 0; n < SIZEOF(the_color_names); ++n) {
++ if (!strcmp(the_color_names[n], color)) {
++ result = (int) n;
++ break;
++ }
++ }
++ }
++ return result;
++}
++#endif /* NEED_COLOR_NAME */
++
++#ifdef NEED_COLOR_NAME
++static const char *
++color_name(int color)
++{
++ static char temp[20];
++ const char *result = 0;
++
++ if (color >= (int) SIZEOF(the_color_names)) {
++ sprintf(temp, "%d", color);
++ result = temp;
++ } else if (color < 0) {
++ result = "default";
++ } else {
++ result = the_color_names[color];
++ }
++ return result;
++}
++#endif /* NEED_COLOR_NAME */
++
++#endif /* __COLORNAME_H */
+Index: test/color_set.c
+Prereq: 1.6
+--- ncurses-5.9/test/color_set.c 2008-02-10 00:18:01.000000000 +0000
++++ ncurses-5.9-20130504/test/color_set.c 2012-12-15 22:04:14.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2003-2006,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 2003-2008,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: color_set.c,v 1.6 2008/02/10 00:18:01 tom Exp $
++ * $Id: color_set.c,v 1.7 2012/12/15 22:04:14 tom Exp $
+ */
+
+ #include <test.priv.h>
+@@ -48,7 +48,7 @@
+ if (has_colors()) {
+ start_color();
+
+- pair_content(0, &f, &b);
++ (void) pair_content(0, &f, &b);
+ printw("pair 0 contains (%d,%d)\n", f, b);
+ getch();
+
+Index: test/configure
+--- ncurses-5.9/test/configure 2011-03-24 08:29:40.000000000 +0000
++++ ncurses-5.9-20130504/test/configure 2013-04-27 19:51:02.000000000 +0000
+@@ -1,6 +1,6 @@
+ #! /bin/sh
+ # Guess values for system-dependent variables and create Makefiles.
+-# Generated by Autoconf 2.52.20101002.
++# Generated by Autoconf 2.52.20121002.
+ #
+ # Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+ # Free Software Foundation, Inc.
+@@ -105,42 +105,6 @@
+ : ${ac_max_here_lines=38}
+
+ ac_unique_file="ncurses.c"
+-# Factoring default headers for most tests.
+-ac_includes_default="\
+-#include <stdio.h>
+-#if HAVE_SYS_TYPES_H
+-# include <sys/types.h>
+-#endif
+-#if HAVE_SYS_STAT_H
+-# include <sys/stat.h>
+-#endif
+-#if STDC_HEADERS
+-# include <stdlib.h>
+-# include <stddef.h>
+-#else
+-# if HAVE_STDLIB_H
+-# include <stdlib.h>
+-# endif
+-#endif
+-#if HAVE_STRING_H
+-# if !STDC_HEADERS && HAVE_MEMORY_H
+-# include <memory.h>
+-# endif
+-# include <string.h>
+-#endif
+-#if HAVE_STRINGS_H
+-# include <strings.h>
+-#endif
+-#if HAVE_INTTYPES_H
+-# include <inttypes.h>
+-#else
+-# if HAVE_STDINT_H
+-# include <stdint.h>
+-# endif
+-#endif
+-#if HAVE_UNISTD_H
+-# include <unistd.h>
+-#endif"
+
+ # Initialize some variables set by options.
+ ac_init_help=
+@@ -170,15 +134,16 @@
+ bindir='${exec_prefix}/bin'
+ sbindir='${exec_prefix}/sbin'
+ libexecdir='${exec_prefix}/libexec'
+-datadir='${prefix}/share'
++datarootdir='${prefix}/share'
++datadir='${datarootdir}'
+ sysconfdir='${prefix}/etc'
+ sharedstatedir='${prefix}/com'
+ localstatedir='${prefix}/var'
+ libdir='${exec_prefix}/lib'
+ includedir='${prefix}/include'
+ oldincludedir='/usr/include'
+-infodir='${prefix}/info'
+-mandir='${prefix}/man'
++infodir='${datarootdir}/info'
++mandir='${datarootdir}/man'
+
+ # Identity of this package.
+ PACKAGE_NAME=
+@@ -229,6 +194,13 @@
+ | --da=*)
+ datadir=$ac_optarg ;;
+
++ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
++ | --dataroo | --dataro | --datar)
++ ac_prev=datarootdir ;;
++ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
++ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
++ datarootdir=$ac_optarg ;;
++
+ -disable-* | --disable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+@@ -504,7 +476,7 @@
+ done
+
+ # Be sure to have absolute paths.
+-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
++for ac_var in bindir sbindir libexecdir datarootdir datadir sysconfdir sharedstatedir \
+ localstatedir libdir includedir oldincludedir infodir mandir
+ do
+ eval ac_val=$`echo $ac_var`
+@@ -641,15 +613,16 @@
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+- --datadir=DIR read-only architecture-independent data [PREFIX/share]
++ --datarootdir=DIR read-only architecture-independent data [PREFIX/share]
++ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+- --infodir=DIR info documentation [PREFIX/info]
+- --mandir=DIR man documentation [PREFIX/man]
++ --infodir=DIR info documentation [DATAROOTDIR/info]
++ --mandir=DIR man documentation [DATAROOTDIR/man]
+ EOF
+
+ cat <<\EOF
+@@ -673,31 +646,37 @@
+
+ cat <<\EOF
+
+-Optional Features:
+- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+-
+ Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+
+- --disable-echo display "compiling" commands
+- --enable-warnings test: turn on gcc compiler warnings
+- --with-dmalloc test: use Gray Watson's dmalloc library
+- --with-dbmalloc test: use Conor Cahill's dbmalloc library
+- --with-valgrind test: use valgrind
+- --disable-leaks test: free permanent memory, analyze leaks
++Optional Features:
++ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
++ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
++
++General Options:
++ --with-pkg-config{=path} enable/disable use of pkg-config
++ --disable-echo do not display "compiling" commands
++Curses Version-dependent Options:
++ --with-ncurses-wrap-prefix naming-prefix for ncurses wrapped-variables
++ --disable-widec disable checks for wide-character functions
+ --with-curses-dir=DIR directory in which (n)curses is installed
+- --with-5lib use SunOS sysv-libraries
+- --with-ncursesw use wide ncurses-libraries (installed)
+- --with-ncurses use ncurses-libraries (installed)
++ --with-ncursesw use wide ncurses-libraries
++ --with-ncurses use ncurses-libraries
+ --with-pdcurses compile/link with pdcurses X11 library
++ --with-curses-colr compile/link with HPUX 10.x color-curses
++ --with-curses-5lib compile/link with SunOS 5lib curses
+ --with-Xaw3d link with Xaw 3d library
+ --with-neXtaw link with neXT Athena library
+ --with-XawPlus link with Athena-Plus library
+- --with-pkg-config{=path} enable/disable use of pkg-config
+ --with-x use the X Window System
+- --with-ncurses-wrap-prefix naming-prefix for ncurses wrapped-variables
++Testing/development Options:
++ --enable-warnings test: turn on gcc compiler warnings
++ --with-dmalloc test: use Gray Watson's dmalloc library
++ --with-dbmalloc test: use Conor Cahill's dbmalloc library
++ --with-valgrind test: use valgrind
++ --disable-leaks test: free permanent memory, analyze leaks
++ --disable-rpath-hack don't add rpath options for additional libraries
+
+ Some influential environment variables:
+ CC C compiler command
+@@ -767,7 +746,7 @@
+ running configure, to aid debugging if configure makes a mistake.
+
+ It was created by $as_me, which was
+-generated by GNU Autoconf 2.52.20101002. Invocation command line was
++generated by GNU Autoconf 2.52.20121002. Invocation command line was
+
+ $ $0 $@
+
+@@ -891,7 +870,7 @@
+ fi
+ for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+- { echo "$as_me:894: loading site script $ac_site_file" >&5
++ { echo "$as_me:873: loading site script $ac_site_file" >&5
+ echo "$as_me: loading site script $ac_site_file" >&6;}
+ cat "$ac_site_file" >&5
+ . "$ac_site_file"
+@@ -902,7 +881,7 @@
+ # Some versions of bash will fail to source /dev/null (special
+ # files actually), so we avoid doing that.
+ if test -f "$cache_file"; then
+- { echo "$as_me:905: loading cache $cache_file" >&5
++ { echo "$as_me:884: loading cache $cache_file" >&5
+ echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . $cache_file;;
+@@ -910,7 +889,7 @@
+ esac
+ fi
+ else
+- { echo "$as_me:913: creating cache $cache_file" >&5
++ { echo "$as_me:892: creating cache $cache_file" >&5
+ echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+ fi
+@@ -926,21 +905,21 @@
+ eval ac_new_val="\$ac_env_${ac_var}_value"
+ case $ac_old_set,$ac_new_set in
+ set,)
+- { echo "$as_me:929: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
++ { echo "$as_me:908: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+ echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+- { echo "$as_me:933: error: \`$ac_var' was not set in the previous run" >&5
++ { echo "$as_me:912: error: \`$ac_var' was not set in the previous run" >&5
+ echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+- { echo "$as_me:939: error: \`$ac_var' has changed since the previous run:" >&5
++ { echo "$as_me:918: error: \`$ac_var' has changed since the previous run:" >&5
+ echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+- { echo "$as_me:941: former value: $ac_old_val" >&5
++ { echo "$as_me:920: former value: $ac_old_val" >&5
+ echo "$as_me: former value: $ac_old_val" >&2;}
+- { echo "$as_me:943: current value: $ac_new_val" >&5
++ { echo "$as_me:922: current value: $ac_new_val" >&5
+ echo "$as_me: current value: $ac_new_val" >&2;}
+ ac_cache_corrupted=:
+ fi;;
+@@ -959,9 +938,9 @@
+ fi
+ done
+ if $ac_cache_corrupted; then
+- { echo "$as_me:962: error: changes in the environment can compromise the build" >&5
++ { echo "$as_me:941: error: changes in the environment can compromise the build" >&5
+ echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+- { { echo "$as_me:964: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
++ { { echo "$as_me:943: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+ echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -982,10 +961,10 @@
+ echo "#! $SHELL" >conftest.sh
+ echo "exit 0" >>conftest.sh
+ chmod +x conftest.sh
+-if { (echo "$as_me:985: PATH=\".;.\"; conftest.sh") >&5
++if { (echo "$as_me:964: PATH=\".;.\"; conftest.sh") >&5
+ (PATH=".;."; conftest.sh) 2>&5
+ ac_status=$?
+- echo "$as_me:988: \$? = $ac_status" >&5
++ echo "$as_me:967: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ ac_path_separator=';'
+ else
+@@ -1017,7 +996,7 @@
+ fi
+ done
+ if test -z "$ac_aux_dir"; then
+- { { echo "$as_me:1020: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
++ { { echo "$as_me:999: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
+ echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -1027,11 +1006,11 @@
+
+ # Make sure we can run config.sub.
+ $ac_config_sub sun4 >/dev/null 2>&1 ||
+- { { echo "$as_me:1030: error: cannot run $ac_config_sub" >&5
++ { { echo "$as_me:1009: error: cannot run $ac_config_sub" >&5
+ echo "$as_me: error: cannot run $ac_config_sub" >&2;}
+ { (exit 1); exit 1; }; }
+
+-echo "$as_me:1034: checking build system type" >&5
++echo "$as_me:1013: checking build system type" >&5
+ echo $ECHO_N "checking build system type... $ECHO_C" >&6
+ if test "${ac_cv_build+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1040,16 +1019,16 @@
+ test -z "$ac_cv_build_alias" &&
+ ac_cv_build_alias=`$ac_config_guess`
+ test -z "$ac_cv_build_alias" &&
+- { { echo "$as_me:1043: error: cannot guess build type; you must specify one" >&5
++ { { echo "$as_me:1022: error: cannot guess build type; you must specify one" >&5
+ echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+ { (exit 1); exit 1; }; }
+ ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
+- { { echo "$as_me:1047: error: $ac_config_sub $ac_cv_build_alias failed." >&5
++ { { echo "$as_me:1026: error: $ac_config_sub $ac_cv_build_alias failed." >&5
+ echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed." >&2;}
+ { (exit 1); exit 1; }; }
+
+ fi
+-echo "$as_me:1052: result: $ac_cv_build" >&5
++echo "$as_me:1031: result: $ac_cv_build" >&5
+ echo "${ECHO_T}$ac_cv_build" >&6
+ build=$ac_cv_build
+ build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+@@ -1057,7 +1036,7 @@
+ build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+ if test -f $srcdir/config.guess || test -f $ac_aux_dir/config.guess ; then
+- echo "$as_me:1060: checking host system type" >&5
++ echo "$as_me:1039: checking host system type" >&5
+ echo $ECHO_N "checking host system type... $ECHO_C" >&6
+ if test "${ac_cv_host+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1066,12 +1045,12 @@
+ test -z "$ac_cv_host_alias" &&
+ ac_cv_host_alias=$ac_cv_build_alias
+ ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
+- { { echo "$as_me:1069: error: $ac_config_sub $ac_cv_host_alias failed" >&5
++ { { echo "$as_me:1048: error: $ac_config_sub $ac_cv_host_alias failed" >&5
+ echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+
+ fi
+-echo "$as_me:1074: result: $ac_cv_host" >&5
++echo "$as_me:1053: result: $ac_cv_host" >&5
+ echo "${ECHO_T}$ac_cv_host" >&6
+ host=$ac_cv_host
+ host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+@@ -1085,7 +1064,8 @@
+ system_name="`(hostname) 2>/dev/null`"
+ fi
+ fi
+-test -n "$system_name" && cat >>confdefs.h <<EOF
++test -n "$system_name" &&
++cat >>confdefs.h <<EOF
+ #define SYSTEM_NAME "$system_name"
+ EOF
+
+@@ -1096,13 +1076,13 @@
+ fi
+
+ test -z "$system_name" && system_name="$cf_cv_system_name"
+-test -n "$cf_cv_system_name" && echo "$as_me:1099: result: Configuring for $cf_cv_system_name" >&5
++test -n "$cf_cv_system_name" && echo "$as_me:1079: result: Configuring for $cf_cv_system_name" >&5
+ echo "${ECHO_T}Configuring for $cf_cv_system_name" >&6
+
+ if test ".$system_name" != ".$cf_cv_system_name" ; then
+- echo "$as_me:1103: result: Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&5
++ echo "$as_me:1083: result: Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&5
+ echo "${ECHO_T}Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&6
+- { { echo "$as_me:1105: error: \"Please remove config.cache and try again.\"" >&5
++ { { echo "$as_me:1085: error: \"Please remove config.cache and try again.\"" >&5
+ echo "$as_me: error: \"Please remove config.cache and try again.\"" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -1120,7 +1100,7 @@
+ program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
+ rm conftest.sed
+
+-echo "$as_me:1123: checking whether ${MAKE-make} sets \${MAKE}" >&5
++echo "$as_me:1103: checking whether ${MAKE-make} sets \${MAKE}" >&5
+ echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6
+ set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
+ if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+@@ -1140,11 +1120,11 @@
+ rm -f conftest.make
+ fi
+ if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+- echo "$as_me:1143: result: yes" >&5
++ echo "$as_me:1123: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ SET_MAKE=
+ else
+- echo "$as_me:1147: result: no" >&5
++ echo "$as_me:1127: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ SET_MAKE="MAKE=${MAKE-make}"
+ fi
+@@ -1158,7 +1138,7 @@
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}gcc; ac_word=$2
+-echo "$as_me:1161: checking for $ac_word" >&5
++echo "$as_me:1141: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1173,7 +1153,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
+-echo "$as_me:1176: found $ac_dir/$ac_word" >&5
++echo "$as_me:1156: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -1181,10 +1161,10 @@
+ fi
+ CC=$ac_cv_prog_CC
+ if test -n "$CC"; then
+- echo "$as_me:1184: result: $CC" >&5
++ echo "$as_me:1164: result: $CC" >&5
+ echo "${ECHO_T}$CC" >&6
+ else
+- echo "$as_me:1187: result: no" >&5
++ echo "$as_me:1167: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -1193,7 +1173,7 @@
+ ac_ct_CC=$CC
+ # Extract the first word of "gcc", so it can be a program name with args.
+ set dummy gcc; ac_word=$2
+-echo "$as_me:1196: checking for $ac_word" >&5
++echo "$as_me:1176: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1208,7 +1188,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_CC="gcc"
+-echo "$as_me:1211: found $ac_dir/$ac_word" >&5
++echo "$as_me:1191: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -1216,10 +1196,10 @@
+ fi
+ ac_ct_CC=$ac_cv_prog_ac_ct_CC
+ if test -n "$ac_ct_CC"; then
+- echo "$as_me:1219: result: $ac_ct_CC" >&5
++ echo "$as_me:1199: result: $ac_ct_CC" >&5
+ echo "${ECHO_T}$ac_ct_CC" >&6
+ else
+- echo "$as_me:1222: result: no" >&5
++ echo "$as_me:1202: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -1232,7 +1212,7 @@
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}cc; ac_word=$2
+-echo "$as_me:1235: checking for $ac_word" >&5
++echo "$as_me:1215: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1247,7 +1227,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_CC="${ac_tool_prefix}cc"
+-echo "$as_me:1250: found $ac_dir/$ac_word" >&5
++echo "$as_me:1230: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -1255,10 +1235,10 @@
+ fi
+ CC=$ac_cv_prog_CC
+ if test -n "$CC"; then
+- echo "$as_me:1258: result: $CC" >&5
++ echo "$as_me:1238: result: $CC" >&5
+ echo "${ECHO_T}$CC" >&6
+ else
+- echo "$as_me:1261: result: no" >&5
++ echo "$as_me:1241: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -1267,7 +1247,7 @@
+ ac_ct_CC=$CC
+ # Extract the first word of "cc", so it can be a program name with args.
+ set dummy cc; ac_word=$2
+-echo "$as_me:1270: checking for $ac_word" >&5
++echo "$as_me:1250: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1282,7 +1262,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_CC="cc"
+-echo "$as_me:1285: found $ac_dir/$ac_word" >&5
++echo "$as_me:1265: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -1290,10 +1270,10 @@
+ fi
+ ac_ct_CC=$ac_cv_prog_ac_ct_CC
+ if test -n "$ac_ct_CC"; then
+- echo "$as_me:1293: result: $ac_ct_CC" >&5
++ echo "$as_me:1273: result: $ac_ct_CC" >&5
+ echo "${ECHO_T}$ac_ct_CC" >&6
+ else
+- echo "$as_me:1296: result: no" >&5
++ echo "$as_me:1276: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -1306,7 +1286,7 @@
+ if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+ set dummy cc; ac_word=$2
+-echo "$as_me:1309: checking for $ac_word" >&5
++echo "$as_me:1289: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1326,7 +1306,7 @@
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+-echo "$as_me:1329: found $ac_dir/$ac_word" >&5
++echo "$as_me:1309: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -1348,10 +1328,10 @@
+ fi
+ CC=$ac_cv_prog_CC
+ if test -n "$CC"; then
+- echo "$as_me:1351: result: $CC" >&5
++ echo "$as_me:1331: result: $CC" >&5
+ echo "${ECHO_T}$CC" >&6
+ else
+- echo "$as_me:1354: result: no" >&5
++ echo "$as_me:1334: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -1362,7 +1342,7 @@
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+ set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+-echo "$as_me:1365: checking for $ac_word" >&5
++echo "$as_me:1345: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1377,7 +1357,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+-echo "$as_me:1380: found $ac_dir/$ac_word" >&5
++echo "$as_me:1360: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -1385,10 +1365,10 @@
+ fi
+ CC=$ac_cv_prog_CC
+ if test -n "$CC"; then
+- echo "$as_me:1388: result: $CC" >&5
++ echo "$as_me:1368: result: $CC" >&5
+ echo "${ECHO_T}$CC" >&6
+ else
+- echo "$as_me:1391: result: no" >&5
++ echo "$as_me:1371: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -1401,7 +1381,7 @@
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+-echo "$as_me:1404: checking for $ac_word" >&5
++echo "$as_me:1384: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1416,7 +1396,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+-echo "$as_me:1419: found $ac_dir/$ac_word" >&5
++echo "$as_me:1399: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -1424,10 +1404,10 @@
+ fi
+ ac_ct_CC=$ac_cv_prog_ac_ct_CC
+ if test -n "$ac_ct_CC"; then
+- echo "$as_me:1427: result: $ac_ct_CC" >&5
++ echo "$as_me:1407: result: $ac_ct_CC" >&5
+ echo "${ECHO_T}$ac_ct_CC" >&6
+ else
+- echo "$as_me:1430: result: no" >&5
++ echo "$as_me:1410: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -1439,32 +1419,32 @@
+
+ fi
+
+-test -z "$CC" && { { echo "$as_me:1442: error: no acceptable cc found in \$PATH" >&5
++test -z "$CC" && { { echo "$as_me:1422: error: no acceptable cc found in \$PATH" >&5
+ echo "$as_me: error: no acceptable cc found in \$PATH" >&2;}
+ { (exit 1); exit 1; }; }
+
+ # Provide some information about the compiler.
+-echo "$as_me:1447:" \
++echo "$as_me:1427:" \
+ "checking for C compiler version" >&5
+ ac_compiler=`set X $ac_compile; echo $2`
+-{ (eval echo "$as_me:1450: \"$ac_compiler --version </dev/null >&5\"") >&5
++{ (eval echo "$as_me:1430: \"$ac_compiler --version </dev/null >&5\"") >&5
+ (eval $ac_compiler --version </dev/null >&5) 2>&5
+ ac_status=$?
+- echo "$as_me:1453: \$? = $ac_status" >&5
++ echo "$as_me:1433: \$? = $ac_status" >&5
+ (exit $ac_status); }
+-{ (eval echo "$as_me:1455: \"$ac_compiler -v </dev/null >&5\"") >&5
++{ (eval echo "$as_me:1435: \"$ac_compiler -v </dev/null >&5\"") >&5
+ (eval $ac_compiler -v </dev/null >&5) 2>&5
+ ac_status=$?
+- echo "$as_me:1458: \$? = $ac_status" >&5
++ echo "$as_me:1438: \$? = $ac_status" >&5
+ (exit $ac_status); }
+-{ (eval echo "$as_me:1460: \"$ac_compiler -V </dev/null >&5\"") >&5
++{ (eval echo "$as_me:1440: \"$ac_compiler -V </dev/null >&5\"") >&5
+ (eval $ac_compiler -V </dev/null >&5) 2>&5
+ ac_status=$?
+- echo "$as_me:1463: \$? = $ac_status" >&5
++ echo "$as_me:1443: \$? = $ac_status" >&5
+ (exit $ac_status); }
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1467 "configure"
++#line 1447 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -1480,13 +1460,13 @@
+ # Try to create an executable without -o first, disregard a.out.
+ # It will help us diagnose broken compilers, and finding out an intuition
+ # of exeext.
+-echo "$as_me:1483: checking for C compiler default output" >&5
++echo "$as_me:1463: checking for C compiler default output" >&5
+ echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6
+ ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+-if { (eval echo "$as_me:1486: \"$ac_link_default\"") >&5
++if { (eval echo "$as_me:1466: \"$ac_link_default\"") >&5
+ (eval $ac_link_default) 2>&5
+ ac_status=$?
+- echo "$as_me:1489: \$? = $ac_status" >&5
++ echo "$as_me:1469: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # Find the output, starting from the most likely. This scheme is
+ # not robust to junk in `.', hence go to wildcards (a.*) only as a last
+@@ -1509,34 +1489,34 @@
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-{ { echo "$as_me:1512: error: C compiler cannot create executables" >&5
++{ { echo "$as_me:1492: error: C compiler cannot create executables" >&5
+ echo "$as_me: error: C compiler cannot create executables" >&2;}
+ { (exit 77); exit 77; }; }
+ fi
+
+ ac_exeext=$ac_cv_exeext
+-echo "$as_me:1518: result: $ac_file" >&5
++echo "$as_me:1498: result: $ac_file" >&5
+ echo "${ECHO_T}$ac_file" >&6
+
+ # Check the compiler produces executables we can run. If not, either
+ # the compiler is broken, or we cross compile.
+-echo "$as_me:1523: checking whether the C compiler works" >&5
++echo "$as_me:1503: checking whether the C compiler works" >&5
+ echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
+ # FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+ # If not cross compiling, check that we can run a simple program.
+ if test "$cross_compiling" != yes; then
+ if { ac_try='./$ac_file'
+- { (eval echo "$as_me:1529: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1509: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1532: \$? = $ac_status" >&5
++ echo "$as_me:1512: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+- { { echo "$as_me:1539: error: cannot run C compiled programs.
++ { { echo "$as_me:1519: error: cannot run C compiled programs.
+ If you meant to cross compile, use \`--host'." >&5
+ echo "$as_me: error: cannot run C compiled programs.
+ If you meant to cross compile, use \`--host'." >&2;}
+@@ -1544,24 +1524,24 @@
+ fi
+ fi
+ fi
+-echo "$as_me:1547: result: yes" >&5
++echo "$as_me:1527: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+
+ rm -f a.out a.exe conftest$ac_cv_exeext
+ ac_clean_files=$ac_clean_files_save
+ # Check the compiler produces executables we can run. If not, either
+ # the compiler is broken, or we cross compile.
+-echo "$as_me:1554: checking whether we are cross compiling" >&5
++echo "$as_me:1534: checking whether we are cross compiling" >&5
+ echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
+-echo "$as_me:1556: result: $cross_compiling" >&5
++echo "$as_me:1536: result: $cross_compiling" >&5
+ echo "${ECHO_T}$cross_compiling" >&6
+
+-echo "$as_me:1559: checking for executable suffix" >&5
++echo "$as_me:1539: checking for executable suffix" >&5
+ echo $ECHO_N "checking for executable suffix... $ECHO_C" >&6
+-if { (eval echo "$as_me:1561: \"$ac_link\"") >&5
++if { (eval echo "$as_me:1541: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:1564: \$? = $ac_status" >&5
++ echo "$as_me:1544: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
+ # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
+@@ -1577,25 +1557,25 @@
+ esac
+ done
+ else
+- { { echo "$as_me:1580: error: cannot compute EXEEXT: cannot compile and link" >&5
++ { { echo "$as_me:1560: error: cannot compute EXEEXT: cannot compile and link" >&5
+ echo "$as_me: error: cannot compute EXEEXT: cannot compile and link" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ rm -f conftest$ac_cv_exeext
+-echo "$as_me:1586: result: $ac_cv_exeext" >&5
++echo "$as_me:1566: result: $ac_cv_exeext" >&5
+ echo "${ECHO_T}$ac_cv_exeext" >&6
+
+ rm -f conftest.$ac_ext
+ EXEEXT=$ac_cv_exeext
+ ac_exeext=$EXEEXT
+-echo "$as_me:1592: checking for object suffix" >&5
++echo "$as_me:1572: checking for object suffix" >&5
+ echo $ECHO_N "checking for object suffix... $ECHO_C" >&6
+ if test "${ac_cv_objext+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1598 "configure"
++#line 1578 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -1607,10 +1587,10 @@
+ }
+ _ACEOF
+ rm -f conftest.o conftest.obj
+-if { (eval echo "$as_me:1610: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1590: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1613: \$? = $ac_status" >&5
++ echo "$as_me:1593: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+ case $ac_file in
+@@ -1622,24 +1602,24 @@
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-{ { echo "$as_me:1625: error: cannot compute OBJEXT: cannot compile" >&5
++{ { echo "$as_me:1605: error: cannot compute OBJEXT: cannot compile" >&5
+ echo "$as_me: error: cannot compute OBJEXT: cannot compile" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ rm -f conftest.$ac_cv_objext conftest.$ac_ext
+ fi
+-echo "$as_me:1632: result: $ac_cv_objext" >&5
++echo "$as_me:1612: result: $ac_cv_objext" >&5
+ echo "${ECHO_T}$ac_cv_objext" >&6
+ OBJEXT=$ac_cv_objext
+ ac_objext=$OBJEXT
+-echo "$as_me:1636: checking whether we are using the GNU C compiler" >&5
++echo "$as_me:1616: checking whether we are using the GNU C compiler" >&5
+ echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
+ if test "${ac_cv_c_compiler_gnu+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1642 "configure"
++#line 1622 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -1654,16 +1634,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:1657: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1637: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1660: \$? = $ac_status" >&5
++ echo "$as_me:1640: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:1663: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1643: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1666: \$? = $ac_status" >&5
++ echo "$as_me:1646: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_compiler_gnu=yes
+ else
+@@ -1675,19 +1655,19 @@
+ ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+ fi
+-echo "$as_me:1678: result: $ac_cv_c_compiler_gnu" >&5
++echo "$as_me:1658: result: $ac_cv_c_compiler_gnu" >&5
+ echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
+ GCC=`test $ac_compiler_gnu = yes && echo yes`
+ ac_test_CFLAGS=${CFLAGS+set}
+ ac_save_CFLAGS=$CFLAGS
+ CFLAGS="-g"
+-echo "$as_me:1684: checking whether $CC accepts -g" >&5
++echo "$as_me:1664: checking whether $CC accepts -g" >&5
+ echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
+ if test "${ac_cv_prog_cc_g+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1690 "configure"
++#line 1670 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -1699,16 +1679,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:1702: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1682: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1705: \$? = $ac_status" >&5
++ echo "$as_me:1685: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:1708: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1688: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1711: \$? = $ac_status" >&5
++ echo "$as_me:1691: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_prog_cc_g=yes
+ else
+@@ -1718,7 +1698,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:1721: result: $ac_cv_prog_cc_g" >&5
++echo "$as_me:1701: result: $ac_cv_prog_cc_g" >&5
+ echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+@@ -1745,16 +1725,16 @@
+ #endif
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:1748: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1728: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1751: \$? = $ac_status" >&5
++ echo "$as_me:1731: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:1754: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1734: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1757: \$? = $ac_status" >&5
++ echo "$as_me:1737: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ for ac_declaration in \
+ ''\
+@@ -1766,7 +1746,7 @@
+ 'void exit (int);'
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1769 "configure"
++#line 1749 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ $ac_declaration
+@@ -1779,16 +1759,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:1782: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1762: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1785: \$? = $ac_status" >&5
++ echo "$as_me:1765: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:1788: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1768: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1791: \$? = $ac_status" >&5
++ echo "$as_me:1771: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -1798,7 +1778,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1801 "configure"
++#line 1781 "configure"
+ #include "confdefs.h"
+ $ac_declaration
+ int
+@@ -1810,16 +1790,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:1813: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1793: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1816: \$? = $ac_status" >&5
++ echo "$as_me:1796: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:1819: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1799: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1822: \$? = $ac_status" >&5
++ echo "$as_me:1802: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -1847,13 +1827,214 @@
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ ac_main_return=return
+
++GCC_VERSION=none
++if test "$GCC" = yes ; then
++ echo "$as_me:1832: checking version of $CC" >&5
++echo $ECHO_N "checking version of $CC... $ECHO_C" >&6
++ GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC[^)]*) //' -e 's/^.*(Debian[^)]*) //' -e 's/^[^0-9.]*//' -e 's/[^0-9.].*//'`"
++ test -z "$GCC_VERSION" && GCC_VERSION=unknown
++ echo "$as_me:1836: result: $GCC_VERSION" >&5
++echo "${ECHO_T}$GCC_VERSION" >&6
++fi
++
++echo "$as_me:1840: checking for $CC option to accept ANSI C" >&5
++echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
++if test "${ac_cv_prog_cc_stdc+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_prog_cc_stdc=no
++ac_save_CC=$CC
++cat >conftest.$ac_ext <<_ACEOF
++#line 1848 "configure"
++#include "confdefs.h"
++#include <stdarg.h>
++#include <stdio.h>
++#include <sys/types.h>
++#include <sys/stat.h>
++/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
++struct buf { int x; };
++FILE * (*rcsopen) (struct buf *, struct stat *, int);
++static char *e (p, i)
++ char **p;
++ int i;
++{
++ return p[i];
++}
++static char *f (char * (*g) (char **, int), char **p, ...)
++{
++ char *s;
++ va_list v;
++ va_start (v,p);
++ s = g (p, va_arg (v,int));
++ va_end (v);
++ return s;
++}
++int test (int i, double x);
++struct s1 {int (*f) (int a);};
++struct s2 {int (*f) (double a);};
++int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
++int argc;
++char **argv;
++int
++main ()
++{
++return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
++ ;
++ return 0;
++}
++_ACEOF
++# Don't try gcc -ansi; that turns off useful extensions and
++# breaks some systems' header files.
++# AIX -qlanglvl=ansi
++# Ultrix and OSF/1 -std1
++# HP-UX 10.20 and later -Ae
++# HP-UX older versions -Aa -D_HPUX_SOURCE
++# SVR4 -Xc -D__EXTENSIONS__
++for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
++do
++ CC="$ac_save_CC $ac_arg"
++ rm -f conftest.$ac_objext
++if { (eval echo "$as_me:1897: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:1900: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:1903: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:1906: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_prog_cc_stdc=$ac_arg
++break
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++fi
++rm -f conftest.$ac_objext
++done
++rm -f conftest.$ac_ext conftest.$ac_objext
++CC=$ac_save_CC
++
++fi
++
++case "x$ac_cv_prog_cc_stdc" in
++ x|xno)
++ echo "$as_me:1923: result: none needed" >&5
++echo "${ECHO_T}none needed" >&6 ;;
++ *)
++ echo "$as_me:1926: result: $ac_cv_prog_cc_stdc" >&5
++echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
++ CC="$CC $ac_cv_prog_cc_stdc" ;;
++esac
++
++# This should have been defined by AC_PROG_CC
++: ${CC:=cc}
++
++echo "$as_me:1934: checking \$CC variable" >&5
++echo $ECHO_N "checking \$CC variable... $ECHO_C" >&6
++case "$CC" in #(vi
++*[\ \ ]-[IUD]*)
++ echo "$as_me:1938: result: broken" >&5
++echo "${ECHO_T}broken" >&6
++ { echo "$as_me:1940: WARNING: your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options" >&5
++echo "$as_me: WARNING: your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options" >&2;}
++ # humor him...
++ cf_flags=`echo "$CC" | sed -e 's/^[^ ]*[ ]//'`
++ CC=`echo "$CC" | sed -e 's/[ ].*//'`
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in $cf_flags
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
++fi
++
++if test -n "$cf_new_cppflags" ; then
++
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
++
++ ;;
++*)
++ echo "$as_me:2026: result: ok" >&5
++echo "${ECHO_T}ok" >&6
++ ;;
++esac
++
+ ac_ext=c
+ ac_cpp='$CPP $CPPFLAGS'
+ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ ac_main_return=return
+-echo "$as_me:1856: checking how to run the C preprocessor" >&5
++echo "$as_me:2037: checking how to run the C preprocessor" >&5
+ echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
+ # On Suns, sometimes $CPP names a directory.
+ if test -n "$CPP" && test -d "$CPP"; then
+@@ -1874,18 +2055,18 @@
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1877 "configure"
++#line 2058 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+ Syntax error
+ _ACEOF
+-if { (eval echo "$as_me:1882: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:2063: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:1888: \$? = $ac_status" >&5
++ echo "$as_me:2069: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -1908,17 +2089,17 @@
+ # OK, works on sane cases. Now check whether non-existent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1911 "configure"
++#line 2092 "configure"
+ #include "confdefs.h"
+ #include <ac_nonexistent.h>
+ _ACEOF
+-if { (eval echo "$as_me:1915: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:2096: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:1921: \$? = $ac_status" >&5
++ echo "$as_me:2102: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -1955,7 +2136,7 @@
+ else
+ ac_cv_prog_CPP=$CPP
+ fi
+-echo "$as_me:1958: result: $CPP" >&5
++echo "$as_me:2139: result: $CPP" >&5
+ echo "${ECHO_T}$CPP" >&6
+ ac_preproc_ok=false
+ for ac_c_preproc_warn_flag in '' yes
+@@ -1965,18 +2146,18 @@
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1968 "configure"
++#line 2149 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+ Syntax error
+ _ACEOF
+-if { (eval echo "$as_me:1973: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:2154: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:1979: \$? = $ac_status" >&5
++ echo "$as_me:2160: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -1999,17 +2180,17 @@
+ # OK, works on sane cases. Now check whether non-existent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2002 "configure"
++#line 2183 "configure"
+ #include "confdefs.h"
+ #include <ac_nonexistent.h>
+ _ACEOF
+-if { (eval echo "$as_me:2006: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:2187: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:2012: \$? = $ac_status" >&5
++ echo "$as_me:2193: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -2037,7 +2218,7 @@
+ if $ac_preproc_ok; then
+ :
+ else
+- { { echo "$as_me:2040: error: C preprocessor \"$CPP\" fails sanity check" >&5
++ { { echo "$as_me:2221: error: C preprocessor \"$CPP\" fails sanity check" >&5
+ echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -2053,7 +2234,7 @@
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+-echo "$as_me:2056: checking for $ac_word" >&5
++echo "$as_me:2237: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_AWK+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2068,7 +2249,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_AWK="$ac_prog"
+-echo "$as_me:2071: found $ac_dir/$ac_word" >&5
++echo "$as_me:2252: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -2076,10 +2257,10 @@
+ fi
+ AWK=$ac_cv_prog_AWK
+ if test -n "$AWK"; then
+- echo "$as_me:2079: result: $AWK" >&5
++ echo "$as_me:2260: result: $AWK" >&5
+ echo "${ECHO_T}$AWK" >&6
+ else
+- echo "$as_me:2082: result: no" >&5
++ echo "$as_me:2263: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -2098,7 +2279,7 @@
+ # AFS /usr/afsws/bin/install, which mishandles nonexistent args
+ # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+ # ./install, which can be erroneously created by make from ./install.sh.
+-echo "$as_me:2101: checking for a BSD compatible install" >&5
++echo "$as_me:2282: checking for a BSD compatible install" >&5
+ echo $ECHO_N "checking for a BSD compatible install... $ECHO_C" >&6
+ if test -z "$INSTALL"; then
+ if test "${ac_cv_path_install+set}" = set; then
+@@ -2147,7 +2328,7 @@
+ INSTALL=$ac_install_sh
+ fi
+ fi
+-echo "$as_me:2150: result: $INSTALL" >&5
++echo "$as_me:2331: result: $INSTALL" >&5
+ echo "${ECHO_T}$INSTALL" >&6
+
+ # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+@@ -2172,7 +2353,7 @@
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+-echo "$as_me:2175: checking for $ac_word" >&5
++echo "$as_me:2356: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_LINT+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2187,7 +2368,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_LINT="$ac_prog"
+-echo "$as_me:2190: found $ac_dir/$ac_word" >&5
++echo "$as_me:2371: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -2195,17 +2376,17 @@
+ fi
+ LINT=$ac_cv_prog_LINT
+ if test -n "$LINT"; then
+- echo "$as_me:2198: result: $LINT" >&5
++ echo "$as_me:2379: result: $LINT" >&5
+ echo "${ECHO_T}$LINT" >&6
+ else
+- echo "$as_me:2201: result: no" >&5
++ echo "$as_me:2382: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+ test -n "$LINT" && break
+ done
+
+-echo "$as_me:2208: checking if filesystem supports mixed-case filenames" >&5
++echo "$as_me:2389: checking if filesystem supports mixed-case filenames" >&5
+ echo $ECHO_N "checking if filesystem supports mixed-case filenames... $ECHO_C" >&6
+ if test "${cf_cv_mixedcase+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2232,9 +2413,10 @@
+ fi
+
+ fi
+-echo "$as_me:2235: result: $cf_cv_mixedcase" >&5
++echo "$as_me:2416: result: $cf_cv_mixedcase" >&5
+ echo "${ECHO_T}$cf_cv_mixedcase" >&6
+-test "$cf_cv_mixedcase" = yes && cat >>confdefs.h <<\EOF
++test "$cf_cv_mixedcase" = yes &&
++cat >>confdefs.h <<\EOF
+ #define MIXEDCASE_FILENAMES 1
+ EOF
+
+@@ -2242,7 +2424,7 @@
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+-echo "$as_me:2245: checking for $ac_word" >&5
++echo "$as_me:2427: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_CTAGS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2257,7 +2439,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_CTAGS="$ac_prog"
+-echo "$as_me:2260: found $ac_dir/$ac_word" >&5
++echo "$as_me:2442: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -2265,10 +2447,10 @@
+ fi
+ CTAGS=$ac_cv_prog_CTAGS
+ if test -n "$CTAGS"; then
+- echo "$as_me:2268: result: $CTAGS" >&5
++ echo "$as_me:2450: result: $CTAGS" >&5
+ echo "${ECHO_T}$CTAGS" >&6
+ else
+- echo "$as_me:2271: result: no" >&5
++ echo "$as_me:2453: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -2279,7 +2461,7 @@
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+-echo "$as_me:2282: checking for $ac_word" >&5
++echo "$as_me:2464: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ETAGS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2294,7 +2476,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ETAGS="$ac_prog"
+-echo "$as_me:2297: found $ac_dir/$ac_word" >&5
++echo "$as_me:2479: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -2302,10 +2484,10 @@
+ fi
+ ETAGS=$ac_cv_prog_ETAGS
+ if test -n "$ETAGS"; then
+- echo "$as_me:2305: result: $ETAGS" >&5
++ echo "$as_me:2487: result: $ETAGS" >&5
+ echo "${ECHO_T}$ETAGS" >&6
+ else
+- echo "$as_me:2308: result: no" >&5
++ echo "$as_me:2490: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -2314,7 +2496,7 @@
+
+ # Extract the first word of "${CTAGS:-ctags}", so it can be a program name with args.
+ set dummy ${CTAGS:-ctags}; ac_word=$2
+-echo "$as_me:2317: checking for $ac_word" >&5
++echo "$as_me:2499: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_MAKE_LOWER_TAGS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2329,7 +2511,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_MAKE_LOWER_TAGS="yes"
+-echo "$as_me:2332: found $ac_dir/$ac_word" >&5
++echo "$as_me:2514: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -2338,17 +2520,17 @@
+ fi
+ MAKE_LOWER_TAGS=$ac_cv_prog_MAKE_LOWER_TAGS
+ if test -n "$MAKE_LOWER_TAGS"; then
+- echo "$as_me:2341: result: $MAKE_LOWER_TAGS" >&5
++ echo "$as_me:2523: result: $MAKE_LOWER_TAGS" >&5
+ echo "${ECHO_T}$MAKE_LOWER_TAGS" >&6
+ else
+- echo "$as_me:2344: result: no" >&5
++ echo "$as_me:2526: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+ if test "$cf_cv_mixedcase" = yes ; then
+ # Extract the first word of "${ETAGS:-etags}", so it can be a program name with args.
+ set dummy ${ETAGS:-etags}; ac_word=$2
+-echo "$as_me:2351: checking for $ac_word" >&5
++echo "$as_me:2533: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_MAKE_UPPER_TAGS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2363,7 +2545,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_MAKE_UPPER_TAGS="yes"
+-echo "$as_me:2366: found $ac_dir/$ac_word" >&5
++echo "$as_me:2548: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -2372,10 +2554,10 @@
+ fi
+ MAKE_UPPER_TAGS=$ac_cv_prog_MAKE_UPPER_TAGS
+ if test -n "$MAKE_UPPER_TAGS"; then
+- echo "$as_me:2375: result: $MAKE_UPPER_TAGS" >&5
++ echo "$as_me:2557: result: $MAKE_UPPER_TAGS" >&5
+ echo "${ECHO_T}$MAKE_UPPER_TAGS" >&6
+ else
+- echo "$as_me:2378: result: no" >&5
++ echo "$as_me:2560: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -2395,14 +2577,14 @@
+ MAKE_LOWER_TAGS="#"
+ fi
+
+-echo "$as_me:2398: checking if -lm needed for math functions" >&5
++echo "$as_me:2580: checking if -lm needed for math functions" >&5
+ echo $ECHO_N "checking if -lm needed for math functions... $ECHO_C" >&6
+ if test "${cf_cv_need_libm+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2405 "configure"
++#line 2587 "configure"
+ #include "confdefs.h"
+
+ #include <stdio.h>
+@@ -2417,16 +2599,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:2420: \"$ac_link\"") >&5
++if { (eval echo "$as_me:2602: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:2423: \$? = $ac_status" >&5
++ echo "$as_me:2605: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:2426: \"$ac_try\"") >&5
++ { (eval echo "$as_me:2608: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2429: \$? = $ac_status" >&5
++ echo "$as_me:2611: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_need_libm=no
+ else
+@@ -2436,13 +2618,15 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:2439: result: $cf_cv_need_libm" >&5
++echo "$as_me:2621: result: $cf_cv_need_libm" >&5
+ echo "${ECHO_T}$cf_cv_need_libm" >&6
+ if test "$cf_cv_need_libm" = yes
+ then
+ MATH_LIB=-lm
+ fi
+
++top_builddir=`pwd`
++
+ CC_G_OPT="-g"
+ CC_SHARED_OPTS=unknown
+ CPPFLAGS="$CPPFLAGS"
+@@ -2464,427 +2648,304 @@
+ TEST_ARGS=""
+ TEST_DEPS=""
+ TEST_LIBS=""
+-TINFO_ARGS='$(LIBS_CURSES)'
++TINFO_LDFLAGS=''
++TINFO_LIBS='$(LIBS_CURSES)'
+ cf_cv_abi_version=""
+ cf_cv_rel_version=""
+
+ cf_cv_screen=curses
+ cf_cv_libtype=
+
+-echo "$as_me:2474: checking for ${CC:-cc} option to accept ANSI C" >&5
+-echo $ECHO_N "checking for ${CC:-cc} option to accept ANSI C... $ECHO_C" >&6
+-if test "${cf_cv_ansi_cc+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
++if test "$GCC" = yes
++then
++cat > conftest.i <<EOF
++#ifndef GCC_PRINTF
++#define GCC_PRINTF 0
++#endif
++#ifndef GCC_SCANF
++#define GCC_SCANF 0
++#endif
++#ifndef GCC_NORETURN
++#define GCC_NORETURN /* nothing */
++#endif
++#ifndef GCC_UNUSED
++#define GCC_UNUSED /* nothing */
++#endif
++EOF
++if test "$GCC" = yes
++then
++ { echo "$as_me:2677: checking for $CC __attribute__ directives..." >&5
++echo "$as_me: checking for $CC __attribute__ directives..." >&6;}
++cat > conftest.$ac_ext <<EOF
++#line 2680 "${as_me:-configure}"
++#include "confdefs.h"
++#include "conftest.h"
++#include "conftest.i"
++#if GCC_PRINTF
++#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
++#else
++#define GCC_PRINTFLIKE(fmt,var) /*nothing*/
++#endif
++#if GCC_SCANF
++#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
++#else
++#define GCC_SCANFLIKE(fmt,var) /*nothing*/
++#endif
++extern void wow(char *,...) GCC_SCANFLIKE(1,2);
++extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
++extern void foo(void) GCC_NORETURN;
++int main(int argc GCC_UNUSED, char *argv[] GCC_UNUSED) { return 0; }
++EOF
++ cf_printf_attribute=no
++ cf_scanf_attribute=no
++ for cf_attribute in scanf printf unused noreturn
++ do
+
+-cf_cv_ansi_cc=no
+-cf_save_CFLAGS="$CFLAGS"
+-cf_save_CPPFLAGS="$CPPFLAGS"
+-# Don't try gcc -ansi; that turns off useful extensions and
+-# breaks some systems' header files.
+-# AIX -qlanglvl=ansi
+-# Ultrix and OSF/1 -std1
+-# HP-UX -Aa -D_HPUX_SOURCE
+-# SVR4 -Xc
+-# UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes)
+-for cf_arg in "-DCC_HAS_PROTOS" \
+- "" \
+- -qlanglvl=ansi \
+- -std1 \
+- -Ae \
+- "-Aa -D_HPUX_SOURCE" \
+- -Xc
+-do
+-
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
+-
+-for cf_add_cflags in $cf_arg
+-do
+-case $cf_fix_cppflags in
+-no)
+- case $cf_add_cflags in #(vi
+- -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+- case $cf_add_cflags in
+- -D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++cf_ATTRIBUTE=`echo "$cf_attribute" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
++ cf_directive="__attribute__(($cf_attribute))"
++ echo "checking for $CC $cf_directive" 1>&5
+
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- fi
++ case $cf_attribute in #(vi
++ printf) #(vi
++ cf_printf_attribute=yes
++ cat >conftest.h <<EOF
++#define GCC_$cf_ATTRIBUTE 1
++EOF
+ ;;
+- esac
+- case "$CPPFLAGS" in
+- *$cf_add_cflags) #(vi
++ scanf) #(vi
++ cf_scanf_attribute=yes
++ cat >conftest.h <<EOF
++#define GCC_$cf_ATTRIBUTE 1
++EOF
+ ;;
+ *) #(vi
+- case $cf_add_cflags in #(vi
+- -D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++ cat >conftest.h <<EOF
++#define GCC_$cf_ATTRIBUTE $cf_directive
++EOF
++ ;;
++ esac
+
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++ if { (eval echo "$as_me:2729: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:2732: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ test -n "$verbose" && echo "$as_me:2734: result: ... $cf_attribute" >&5
++echo "${ECHO_T}... $cf_attribute" >&6
++ cat conftest.h >>confdefs.h
++ case $cf_attribute in #(vi
++ noreturn) #(vi
++
++cat >>confdefs.h <<EOF
++#define GCC_NORETURN $cf_directive
++EOF
+
+ ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- *)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+-yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ printf) #(vi
++ cf_value='/* nothing */'
++ if test "$cf_printf_attribute" != no ; then
++ cf_value='__attribute__((format(printf,fmt,var)))'
+
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++cat >>confdefs.h <<\EOF
++#define GCC_PRINTF 1
++EOF
+
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
+-done
++ fi
+
+-if test -n "$cf_new_cflags" ; then
++cat >>confdefs.h <<EOF
++#define GCC_PRINTFLIKE(fmt,var) $cf_value
++EOF
+
+- CFLAGS="$CFLAGS $cf_new_cflags"
+-fi
++ ;;
++ scanf) #(vi
++ cf_value='/* nothing */'
++ if test "$cf_scanf_attribute" != no ; then
++ cf_value='__attribute__((format(scanf,fmt,var)))'
+
+-if test -n "$cf_new_cppflags" ; then
++cat >>confdefs.h <<\EOF
++#define GCC_SCANF 1
++EOF
+
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
+-fi
++ fi
+
+-if test -n "$cf_new_extra_cppflags" ; then
++cat >>confdefs.h <<EOF
++#define GCC_SCANFLIKE(fmt,var) $cf_value
++EOF
+
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++ ;;
++ unused) #(vi
++
++cat >>confdefs.h <<EOF
++#define GCC_UNUSED $cf_directive
++EOF
++
++ ;;
++ esac
++ fi
++ done
++else
++ fgrep define conftest.i >>confdefs.h
++fi
++rm -rf conftest*
+ fi
+
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 2578 "configure"
++cf_XOPEN_SOURCE=500
++cf_POSIX_C_SOURCE=199506L
++cf_xopen_source=
++
++case $host_os in #(vi
++aix[4-7]*) #(vi
++ cf_xopen_source="-D_ALL_SOURCE"
++ ;;
++cygwin) #(vi
++ cf_XOPEN_SOURCE=600
++ ;;
++darwin[0-8].*) #(vi
++ cf_xopen_source="-D_APPLE_C_SOURCE"
++ ;;
++darwin*) #(vi
++ cf_xopen_source="-D_DARWIN_C_SOURCE"
++ cf_XOPEN_SOURCE=
++ ;;
++freebsd*|dragonfly*) #(vi
++ # 5.x headers associate
++ # _XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L
++ # _XOPEN_SOURCE=500 with _POSIX_C_SOURCE=199506L
++ cf_POSIX_C_SOURCE=200112L
++ cf_XOPEN_SOURCE=600
++ cf_xopen_source="-D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
++ ;;
++hpux11*) #(vi
++ cf_xopen_source="-D_HPUX_SOURCE -D_XOPEN_SOURCE=500"
++ ;;
++hpux*) #(vi
++ cf_xopen_source="-D_HPUX_SOURCE"
++ ;;
++irix[56].*) #(vi
++ cf_xopen_source="-D_SGI_SOURCE"
++ cf_XOPEN_SOURCE=
++ ;;
++linux*|gnu*|mint*|k*bsd*-gnu) #(vi
++
++echo "$as_me:2831: checking if we must define _GNU_SOURCE" >&5
++echo $ECHO_N "checking if we must define _GNU_SOURCE... $ECHO_C" >&6
++if test "${cf_cv_gnu_source+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++cat >conftest.$ac_ext <<_ACEOF
++#line 2838 "configure"
+ #include "confdefs.h"
++#include <sys/types.h>
++int
++main ()
++{
+
+-#ifndef CC_HAS_PROTOS
+-#if !defined(__STDC__) || (__STDC__ != 1)
+-choke me
+-#endif
++#ifndef _XOPEN_SOURCE
++make an error
+ #endif
+-
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:2853: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:2856: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:2859: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:2862: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_gnu_source=no
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_save="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 2871 "configure"
++#include "confdefs.h"
++#include <sys/types.h>
+ int
+ main ()
+ {
+
+- int test (int i, double x);
+- struct s1 {int (*f) (int a);};
+- struct s2 {int (*f) (double a);};
++#ifdef _XOPEN_SOURCE
++make an error
++#endif
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:2599: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:2886: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:2602: \$? = $ac_status" >&5
++ echo "$as_me:2889: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:2605: \"$ac_try\"") >&5
++ { (eval echo "$as_me:2892: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2608: \$? = $ac_status" >&5
++ echo "$as_me:2895: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_ansi_cc="$cf_arg"; break
++ cf_cv_gnu_source=no
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
++cf_cv_gnu_source=yes
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+-done
+-CFLAGS="$cf_save_CFLAGS"
+-CPPFLAGS="$cf_save_CPPFLAGS"
++ CPPFLAGS="$cf_save"
+
+ fi
+-echo "$as_me:2621: result: $cf_cv_ansi_cc" >&5
+-echo "${ECHO_T}$cf_cv_ansi_cc" >&6
++rm -f conftest.$ac_objext conftest.$ac_ext
+
+-if test "$cf_cv_ansi_cc" != "no"; then
+-if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then
++fi
++echo "$as_me:2910: result: $cf_cv_gnu_source" >&5
++echo "${ECHO_T}$cf_cv_gnu_source" >&6
++test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
+
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
++ ;;
++mirbsd*) #(vi
++ # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <sys/select.h> and other headers which use u_int / u_short types
++ cf_XOPEN_SOURCE=
+
+-for cf_add_cflags in $cf_cv_ansi_cc
+-do
+-case $cf_fix_cppflags in
+-no)
+- case $cf_add_cflags in #(vi
+- -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+- case $cf_add_cflags in
+- -D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++cf_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE
+
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
++cf_save_CFLAGS="$CFLAGS"
++cf_save_CPPFLAGS="$CPPFLAGS"
+
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- *$cf_add_cflags) #(vi
+- ;;
+- *) #(vi
+- case $cf_add_cflags in #(vi
+- -D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++cf_trim_CFLAGS=`echo "$cf_save_CFLAGS" | \
++ sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'`
+
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++cf_trim_CPPFLAGS=`echo "$cf_save_CPPFLAGS" | \
++ sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'`
+
+- ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- *)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+-yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+-
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
+-done
+-
+-if test -n "$cf_new_cflags" ; then
+-
+- CFLAGS="$CFLAGS $cf_new_cflags"
+-fi
+-
+-if test -n "$cf_new_cppflags" ; then
+-
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
+-fi
+-
+-if test -n "$cf_new_extra_cppflags" ; then
+-
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+-fi
+-
+-else
+- cat >>confdefs.h <<\EOF
+-#define CC_HAS_PROTOS 1
+-EOF
+-
+-fi
+-fi
+-
+-if test "$cf_cv_ansi_cc" = "no"; then
+- { { echo "$as_me:2714: error: Your compiler does not appear to recognize prototypes.
+-You have the following choices:
+- a. adjust your compiler options
+- b. get an up-to-date compiler
+- c. use a wrapper such as unproto" >&5
+-echo "$as_me: error: Your compiler does not appear to recognize prototypes.
+-You have the following choices:
+- a. adjust your compiler options
+- b. get an up-to-date compiler
+- c. use a wrapper such as unproto" >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+-
+-if test "$GCC" = yes
+-then
+-cat > conftest.i <<EOF
+-#ifndef GCC_PRINTF
+-#define GCC_PRINTF 0
+-#endif
+-#ifndef GCC_SCANF
+-#define GCC_SCANF 0
+-#endif
+-#ifndef GCC_NORETURN
+-#define GCC_NORETURN /* nothing */
+-#endif
+-#ifndef GCC_UNUSED
+-#define GCC_UNUSED /* nothing */
+-#endif
+-EOF
+-if test "$GCC" = yes
+-then
+- { echo "$as_me:2745: checking for $CC __attribute__ directives..." >&5
+-echo "$as_me: checking for $CC __attribute__ directives..." >&6;}
+-cat > conftest.$ac_ext <<EOF
+-#line 2748 "${as_me:-configure}"
+-#include "confdefs.h"
+-#include "conftest.h"
+-#include "conftest.i"
+-#if GCC_PRINTF
+-#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
+-#else
+-#define GCC_PRINTFLIKE(fmt,var) /*nothing*/
+-#endif
+-#if GCC_SCANF
+-#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
+-#else
+-#define GCC_SCANFLIKE(fmt,var) /*nothing*/
+-#endif
+-extern void wow(char *,...) GCC_SCANFLIKE(1,2);
+-extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
+-extern void foo(void) GCC_NORETURN;
+-int main(int argc GCC_UNUSED, char *argv[] GCC_UNUSED) { return 0; }
+-EOF
+- cf_printf_attribute=no
+- cf_scanf_attribute=no
+- for cf_attribute in scanf printf unused noreturn
+- do
+-
+-cf_ATTRIBUTE=`echo "$cf_attribute" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+-
+- cf_directive="__attribute__(($cf_attribute))"
+- echo "checking for $CC $cf_directive" 1>&5
+-
+- case $cf_attribute in #(vi
+- printf) #(vi
+- cf_printf_attribute=yes
+- cat >conftest.h <<EOF
+-#define GCC_$cf_ATTRIBUTE 1
+-EOF
+- ;;
+- scanf) #(vi
+- cf_scanf_attribute=yes
+- cat >conftest.h <<EOF
+-#define GCC_$cf_ATTRIBUTE 1
+-EOF
+- ;;
+- *) #(vi
+- cat >conftest.h <<EOF
+-#define GCC_$cf_ATTRIBUTE $cf_directive
+-EOF
+- ;;
+- esac
+-
+- if { (eval echo "$as_me:2797: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:2800: \$? = $ac_status" >&5
+- (exit $ac_status); }; then
+- test -n "$verbose" && echo "$as_me:2802: result: ... $cf_attribute" >&5
+-echo "${ECHO_T}... $cf_attribute" >&6
+- cat conftest.h >>confdefs.h
+- case $cf_attribute in #(vi
+- printf) #(vi
+- if test "$cf_printf_attribute" = no ; then
+- cat >>confdefs.h <<EOF
+-#define GCC_PRINTFLIKE(fmt,var) /* nothing */
+-EOF
+- else
+- cat >>confdefs.h <<EOF
+-#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
+-EOF
+- fi
+- ;;
+- scanf) #(vi
+- if test "$cf_scanf_attribute" = no ; then
+- cat >>confdefs.h <<EOF
+-#define GCC_SCANFLIKE(fmt,var) /* nothing */
+-EOF
+- else
+- cat >>confdefs.h <<EOF
+-#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
+-EOF
+- fi
+- ;;
+- esac
+- fi
+- done
+-else
+- fgrep define conftest.i >>confdefs.h
+-fi
+-rm -rf conftest*
+-fi
+-
+-cf_XOPEN_SOURCE=500
+-cf_POSIX_C_SOURCE=199506L
+-cf_xopen_source=
+-
+-case $host_os in #(vi
+-aix[456]*) #(vi
+- cf_xopen_source="-D_ALL_SOURCE"
+- ;;
+-cygwin) #(vi
+- cf_XOPEN_SOURCE=600
+- ;;
+-darwin[0-8].*) #(vi
+- cf_xopen_source="-D_APPLE_C_SOURCE"
+- ;;
+-darwin*) #(vi
+- cf_xopen_source="-D_DARWIN_C_SOURCE"
+- ;;
+-freebsd*|dragonfly*) #(vi
+- # 5.x headers associate
+- # _XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L
+- # _XOPEN_SOURCE=500 with _POSIX_C_SOURCE=199506L
+- cf_POSIX_C_SOURCE=200112L
+- cf_XOPEN_SOURCE=600
+- cf_xopen_source="-D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+- ;;
+-hpux11*) #(vi
+- cf_xopen_source="-D_HPUX_SOURCE -D_XOPEN_SOURCE=500"
+- ;;
+-hpux*) #(vi
+- cf_xopen_source="-D_HPUX_SOURCE"
+- ;;
+-irix[56].*) #(vi
+- cf_xopen_source="-D_SGI_SOURCE"
+- ;;
+-linux*|gnu*|mint*|k*bsd*-gnu) #(vi
+-
+-echo "$as_me:2873: checking if we must define _GNU_SOURCE" >&5
+-echo $ECHO_N "checking if we must define _GNU_SOURCE... $ECHO_C" >&6
+-if test "${cf_cv_gnu_source+set}" = set; then
++echo "$as_me:2932: checking if we should define _POSIX_C_SOURCE" >&5
++echo $ECHO_N "checking if we should define _POSIX_C_SOURCE... $ECHO_C" >&6
++if test "${cf_cv_posix_c_source+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 2880 "configure"
++echo "${as_me:-configure}:2938: testing if the symbol is already defined go no further ..." 1>&5
++
++ cat >conftest.$ac_ext <<_ACEOF
++#line 2941 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ int
+ main ()
+ {
+
+-#ifndef _XOPEN_SOURCE
++#ifndef _POSIX_C_SOURCE
+ make an error
+ #endif
+ ;
+@@ -2892,32 +2953,44 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:2895: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:2956: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:2898: \$? = $ac_status" >&5
++ echo "$as_me:2959: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:2901: \"$ac_try\"") >&5
++ { (eval echo "$as_me:2962: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2904: \$? = $ac_status" >&5
++ echo "$as_me:2965: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_gnu_source=no
++ cf_cv_posix_c_source=no
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_save="$CPPFLAGS"
+- CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 2913 "configure"
++cf_want_posix_source=no
++ case .$cf_POSIX_C_SOURCE in #(vi
++ .[12]??*) #(vi
++ cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
++ ;;
++ .2) #(vi
++ cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
++ cf_want_posix_source=yes
++ ;;
++ .*)
++ cf_want_posix_source=yes
++ ;;
++ esac
++ if test "$cf_want_posix_source" = yes ; then
++ cat >conftest.$ac_ext <<_ACEOF
++#line 2986 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ int
+ main ()
+ {
+
+-#ifdef _XOPEN_SOURCE
++#ifdef _POSIX_SOURCE
+ make an error
+ #endif
+ ;
+@@ -2925,75 +2998,42 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:2928: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:3001: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:2931: \$? = $ac_status" >&5
++ echo "$as_me:3004: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:2934: \"$ac_try\"") >&5
++ { (eval echo "$as_me:3007: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2937: \$? = $ac_status" >&5
++ echo "$as_me:3010: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_gnu_source=no
++ :
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_gnu_source=yes
++cf_cv_posix_c_source="$cf_cv_posix_c_source -D_POSIX_SOURCE"
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+- CPPFLAGS="$cf_save"
++ fi
+
+-fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
++echo "${as_me:-configure}:3021: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5
+
+-fi
+-echo "$as_me:2952: result: $cf_cv_gnu_source" >&5
+-echo "${ECHO_T}$cf_cv_gnu_source" >&6
+-test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
++ CFLAGS="$cf_trim_CFLAGS"
++ CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source"
+
+- ;;
+-mirbsd*) #(vi
+- # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <arpa/inet.h>
+- ;;
+-netbsd*) #(vi
+- # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
+- ;;
+-openbsd*) #(vi
+- # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
+- ;;
+-osf[45]*) #(vi
+- cf_xopen_source="-D_OSF_SOURCE"
+- ;;
+-nto-qnx*) #(vi
+- cf_xopen_source="-D_QNX_SOURCE"
+- ;;
+-sco*) #(vi
+- # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
+- ;;
+-solaris2.1[0-9]) #(vi
+- cf_xopen_source="-D__EXTENSIONS__ -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+- ;;
+-solaris2.[1-9]) #(vi
+- cf_xopen_source="-D__EXTENSIONS__"
+- ;;
+-*)
+- echo "$as_me:2982: checking if we should define _XOPEN_SOURCE" >&5
+-echo $ECHO_N "checking if we should define _XOPEN_SOURCE... $ECHO_C" >&6
+-if test "${cf_cv_xopen_source+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
++echo "${as_me:-configure}:3026: testing if the second compile does not leave our definition intact error ..." 1>&5
+
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 2989 "configure"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 3029 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ int
+ main ()
+ {
+
+-#ifndef _XOPEN_SOURCE
++#ifndef _POSIX_C_SOURCE
+ make an error
+ #endif
+ ;
+@@ -3001,32 +3041,200 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:3004: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:3044: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:3007: \$? = $ac_status" >&5
++ echo "$as_me:3047: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:3010: \"$ac_try\"") >&5
++ { (eval echo "$as_me:3050: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3013: \$? = $ac_status" >&5
++ echo "$as_me:3053: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_xopen_source=no
++ :
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_save="$CPPFLAGS"
+- CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 3022 "configure"
+-#include "confdefs.h"
+-#include <sys/types.h>
+-int
+-main ()
+-{
+-
+-#ifdef _XOPEN_SOURCE
++cf_cv_posix_c_source=no
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CFLAGS="$cf_save_CFLAGS"
++ CPPFLAGS="$cf_save_CPPFLAGS"
++
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++
++fi
++echo "$as_me:3069: result: $cf_cv_posix_c_source" >&5
++echo "${ECHO_T}$cf_cv_posix_c_source" >&6
++
++if test "$cf_cv_posix_c_source" != no ; then
++ CFLAGS="$cf_trim_CFLAGS"
++ CPPFLAGS="$cf_trim_CPPFLAGS"
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in $cf_cv_posix_c_source
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
++fi
++
++if test -n "$cf_new_cppflags" ; then
++
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
++
++fi
++
++ ;;
++netbsd*) #(vi
++ cf_xopen_source="-D_NETBSD_SOURCE" # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
++ ;;
++openbsd[4-9]*) #(vi
++ # setting _XOPEN_SOURCE lower than 500 breaks g++ compile with wchar.h, needed for ncursesw
++ cf_xopen_source="-D_BSD_SOURCE"
++ cf_XOPEN_SOURCE=600
++ ;;
++openbsd*) #(vi
++ # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
++ ;;
++osf[45]*) #(vi
++ cf_xopen_source="-D_OSF_SOURCE"
++ ;;
++nto-qnx*) #(vi
++ cf_xopen_source="-D_QNX_SOURCE"
++ ;;
++sco*) #(vi
++ # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
++ ;;
++solaris2.*) #(vi
++ cf_xopen_source="-D__EXTENSIONS__"
++ ;;
++*)
++
++echo "$as_me:3182: checking if we should define _XOPEN_SOURCE" >&5
++echo $ECHO_N "checking if we should define _XOPEN_SOURCE... $ECHO_C" >&6
++if test "${cf_cv_xopen_source+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++ cat >conftest.$ac_ext <<_ACEOF
++#line 3189 "configure"
++#include "confdefs.h"
++
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++
++int
++main ()
++{
++
++#ifndef _XOPEN_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:3208: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:3211: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:3214: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:3217: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_xopen_source=no
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_save="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 3226 "configure"
++#include "confdefs.h"
++
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++
++int
++main ()
++{
++
++#ifdef _XOPEN_SOURCE
+ make an error
+ #endif
+ ;
+@@ -3034,16 +3242,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:3037: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:3245: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:3040: \$? = $ac_status" >&5
++ echo "$as_me:3248: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:3043: \"$ac_try\"") >&5
++ { (eval echo "$as_me:3251: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3046: \$? = $ac_status" >&5
++ echo "$as_me:3254: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_xopen_source=no
+ else
+@@ -3058,9 +3266,10 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+-echo "$as_me:3061: result: $cf_cv_xopen_source" >&5
++echo "$as_me:3269: result: $cf_cv_xopen_source" >&5
+ echo "${ECHO_T}$cf_cv_xopen_source" >&6
+- if test "$cf_cv_xopen_source" != no ; then
++
++if test "$cf_cv_xopen_source" != no ; then
+
+ CFLAGS=`echo "$CFLAGS" | \
+ sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
+@@ -3070,7 +3279,7 @@
+ sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
+ -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'`
+
+- cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
++ cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
+
+ cf_fix_cppflags=no
+ cf_new_cflags=
+@@ -3150,7 +3359,7 @@
+ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+ fi
+
+- fi
++fi
+
+ cf_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE
+
+@@ -3165,16 +3374,16 @@
+ sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
+ -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'`
+
+-echo "$as_me:3168: checking if we should define _POSIX_C_SOURCE" >&5
++echo "$as_me:3377: checking if we should define _POSIX_C_SOURCE" >&5
+ echo $ECHO_N "checking if we should define _POSIX_C_SOURCE... $ECHO_C" >&6
+ if test "${cf_cv_posix_c_source+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+-echo "${as_me:-configure}:3174: testing if the symbol is already defined go no further ..." 1>&5
++echo "${as_me:-configure}:3383: testing if the symbol is already defined go no further ..." 1>&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 3177 "configure"
++#line 3386 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ int
+@@ -3189,16 +3398,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:3192: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:3401: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:3195: \$? = $ac_status" >&5
++ echo "$as_me:3404: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:3198: \"$ac_try\"") >&5
++ { (eval echo "$as_me:3407: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3201: \$? = $ac_status" >&5
++ echo "$as_me:3410: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_posix_c_source=no
+ else
+@@ -3219,7 +3428,7 @@
+ esac
+ if test "$cf_want_posix_source" = yes ; then
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 3222 "configure"
++#line 3431 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ int
+@@ -3234,16 +3443,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:3237: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:3446: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:3240: \$? = $ac_status" >&5
++ echo "$as_me:3449: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:3243: \"$ac_try\"") >&5
++ { (eval echo "$as_me:3452: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3246: \$? = $ac_status" >&5
++ echo "$as_me:3455: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -3254,15 +3463,15 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+
+-echo "${as_me:-configure}:3257: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5
++echo "${as_me:-configure}:3466: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5
+
+ CFLAGS="$cf_trim_CFLAGS"
+ CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source"
+
+-echo "${as_me:-configure}:3262: testing if the second compile does not leave our definition intact error ..." 1>&5
++echo "${as_me:-configure}:3471: testing if the second compile does not leave our definition intact error ..." 1>&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 3265 "configure"
++#line 3474 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ int
+@@ -3277,16 +3486,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:3280: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:3489: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:3283: \$? = $ac_status" >&5
++ echo "$as_me:3492: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:3286: \"$ac_try\"") >&5
++ { (eval echo "$as_me:3495: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3289: \$? = $ac_status" >&5
++ echo "$as_me:3498: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -3302,7 +3511,7 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+-echo "$as_me:3305: result: $cf_cv_posix_c_source" >&5
++echo "$as_me:3514: result: $cf_cv_posix_c_source" >&5
+ echo "${ECHO_T}$cf_cv_posix_c_source" >&6
+
+ if test "$cf_cv_posix_c_source" != no ; then
+@@ -3474,191 +3683,274 @@
+
+ fi
+
+-echo "$as_me:3477: checking for $CC option to accept ANSI C" >&5
+-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
+-if test "${ac_cv_prog_cc_stdc+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_cv_prog_cc_stdc=no
+-ac_save_CC=$CC
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 3485 "configure"
++if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then
++ echo "$as_me:3687: checking if _XOPEN_SOURCE really is set" >&5
++echo $ECHO_N "checking if _XOPEN_SOURCE really is set... $ECHO_C" >&6
++ cat >conftest.$ac_ext <<_ACEOF
++#line 3690 "configure"
+ #include "confdefs.h"
+-#include <stdarg.h>
+-#include <stdio.h>
+-#include <sys/types.h>
+-#include <sys/stat.h>
+-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+-struct buf { int x; };
+-FILE * (*rcsopen) (struct buf *, struct stat *, int);
+-static char *e (p, i)
+- char **p;
+- int i;
+-{
+- return p[i];
+-}
+-static char *f (char * (*g) (char **, int), char **p, ...)
+-{
+- char *s;
+- va_list v;
+- va_start (v,p);
+- s = g (p, va_arg (v,int));
+- va_end (v);
+- return s;
+-}
+-int test (int i, double x);
+-struct s1 {int (*f) (int a);};
+-struct s2 {int (*f) (double a);};
+-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+-int argc;
+-char **argv;
++#include <stdlib.h>
+ int
+ main ()
+ {
+-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
++
++#ifndef _XOPEN_SOURCE
++make an error
++#endif
+ ;
+ return 0;
+ }
+ _ACEOF
+-# Don't try gcc -ansi; that turns off useful extensions and
+-# breaks some systems' header files.
+-# AIX -qlanglvl=ansi
+-# Ultrix and OSF/1 -std1
+-# HP-UX 10.20 and later -Ae
+-# HP-UX older versions -Aa -D_HPUX_SOURCE
+-# SVR4 -Xc -D__EXTENSIONS__
+-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+-do
+- CC="$ac_save_CC $ac_arg"
+- rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:3534: \"$ac_compile\"") >&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:3705: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:3537: \$? = $ac_status" >&5
++ echo "$as_me:3708: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:3540: \"$ac_try\"") >&5
++ { (eval echo "$as_me:3711: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3543: \$? = $ac_status" >&5
++ echo "$as_me:3714: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_prog_cc_stdc=$ac_arg
+-break
++ cf_XOPEN_SOURCE_set=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
++cf_XOPEN_SOURCE_set=no
+ fi
+-rm -f conftest.$ac_objext
+-done
+-rm -f conftest.$ac_ext conftest.$ac_objext
+-CC=$ac_save_CC
+-
+-fi
+-
+-case "x$ac_cv_prog_cc_stdc" in
+- x|xno)
+- echo "$as_me:3560: result: none needed" >&5
+-echo "${ECHO_T}none needed" >&6 ;;
+- *)
+- echo "$as_me:3563: result: $ac_cv_prog_cc_stdc" >&5
+-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
+- CC="$CC $ac_cv_prog_cc_stdc" ;;
+-esac
+-
+-echo "$as_me:3568: checking for an ANSI C-conforming const" >&5
+-echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6
+-if test "${ac_cv_c_const+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 3574 "configure"
++rm -f conftest.$ac_objext conftest.$ac_ext
++ echo "$as_me:3723: result: $cf_XOPEN_SOURCE_set" >&5
++echo "${ECHO_T}$cf_XOPEN_SOURCE_set" >&6
++ if test $cf_XOPEN_SOURCE_set = yes
++ then
++ cat >conftest.$ac_ext <<_ACEOF
++#line 3728 "configure"
+ #include "confdefs.h"
+-
++#include <stdlib.h>
+ int
+ main ()
+ {
+-/* FIXME: Include the comments suggested by Paul. */
+-#ifndef __cplusplus
+- /* Ultrix mips cc rejects this. */
+- typedef int charset[2];
+- const charset x;
+- /* SunOS 4.1.1 cc rejects this. */
+- char const *const *ccp;
+- char **p;
+- /* NEC SVR4.0.2 mips cc rejects this. */
+- struct point {int x, y;};
+- static struct point const zero = {0,0};
+- /* AIX XL C 1.02.0.0 rejects this.
+- It does not let you subtract one const X* pointer from another in
+- an arm of an if-expression whose if-part is not a constant
+- expression */
+- const char *g = "string";
+- ccp = &g + (g ? g-g : 0);
+- /* HPUX 7.0 cc rejects these. */
+- ++ccp;
+- p = (char**) ccp;
+- ccp = (char const *const *) p;
+- { /* SCO 3.2v4 cc rejects this. */
+- char *t;
+- char const *s = 0 ? (char *) 0 : (char const *) 0;
+
+- *t++ = 0;
+- }
+- { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
+- int x[] = {25, 17};
+- const int *foo = &x[0];
+- ++foo;
+- }
+- { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
+- typedef const int *iptr;
+- iptr p = 0;
+- ++p;
+- }
+- { /* AIX XL C 1.02.0.0 rejects this saying
+- "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
+- struct s { int j; const int *ap[3]; };
+- struct s *b; b->j = 5;
+- }
+- { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
+- const int foo = 10;
+- }
++#if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE
++make an error
+ #endif
+-
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:3632: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:3743: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:3635: \$? = $ac_status" >&5
++ echo "$as_me:3746: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:3638: \"$ac_try\"") >&5
++ { (eval echo "$as_me:3749: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3641: \$? = $ac_status" >&5
++ echo "$as_me:3752: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_c_const=yes
++ cf_XOPEN_SOURCE_set_ok=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_c_const=no
++cf_XOPEN_SOURCE_set_ok=no
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+-fi
+-echo "$as_me:3651: result: $ac_cv_c_const" >&5
+-echo "${ECHO_T}$ac_cv_c_const" >&6
+-if test $ac_cv_c_const = no; then
++ if test $cf_XOPEN_SOURCE_set_ok = no
++ then
++ { echo "$as_me:3763: WARNING: _XOPEN_SOURCE is lower than requested" >&5
++echo "$as_me: WARNING: _XOPEN_SOURCE is lower than requested" >&2;}
++ fi
++ else
+
+-cat >>confdefs.h <<\EOF
+-#define const
+-EOF
++echo "$as_me:3768: checking if we should define _XOPEN_SOURCE" >&5
++echo $ECHO_N "checking if we should define _XOPEN_SOURCE... $ECHO_C" >&6
++if test "${cf_cv_xopen_source+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++ cat >conftest.$ac_ext <<_ACEOF
++#line 3775 "configure"
++#include "confdefs.h"
++
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++
++int
++main ()
++{
++
++#ifndef _XOPEN_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:3794: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:3797: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:3800: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:3803: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_xopen_source=no
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_save="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 3812 "configure"
++#include "confdefs.h"
++
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++
++int
++main ()
++{
++
++#ifdef _XOPEN_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:3831: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:3834: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:3837: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:3840: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_xopen_source=no
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_xopen_source=$cf_XOPEN_SOURCE
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CPPFLAGS="$cf_save"
++
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++
++fi
++echo "$as_me:3855: result: $cf_cv_xopen_source" >&5
++echo "${ECHO_T}$cf_cv_xopen_source" >&6
++
++if test "$cf_cv_xopen_source" != no ; then
++
++CFLAGS=`echo "$CFLAGS" | \
++ sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'`
++
++ cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in $cf_temp_xopen_source
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
++fi
++
++if test -n "$cf_new_cppflags" ; then
++
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
++
++fi
++
++ fi
+ fi
+
+-echo "$as_me:3661: checking for signal global datatype" >&5
++echo "$as_me:3953: checking for signal global datatype" >&5
+ echo $ECHO_N "checking for signal global datatype... $ECHO_C" >&6
+ if test "${cf_cv_sig_atomic_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3670,7 +3962,7 @@
+ "int"
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 3673 "configure"
++#line 3965 "configure"
+ #include "confdefs.h"
+
+ #include <sys/types.h>
+@@ -3693,16 +3985,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:3696: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:3988: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:3699: \$? = $ac_status" >&5
++ echo "$as_me:3991: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:3702: \"$ac_try\"") >&5
++ { (eval echo "$as_me:3994: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3705: \$? = $ac_status" >&5
++ echo "$as_me:3997: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_sig_atomic_t=$cf_type
+ else
+@@ -3716,473 +4008,535 @@
+
+ fi
+
+-echo "$as_me:3719: result: $cf_cv_sig_atomic_t" >&5
++echo "$as_me:4011: result: $cf_cv_sig_atomic_t" >&5
+ echo "${ECHO_T}$cf_cv_sig_atomic_t" >&6
+-test "$cf_cv_sig_atomic_t" != no && cat >>confdefs.h <<EOF
++test "$cf_cv_sig_atomic_t" != no &&
++cat >>confdefs.h <<EOF
+ #define SIG_ATOMIC_T $cf_cv_sig_atomic_t
+ EOF
+
+-echo "$as_me:3725: checking if you want to see long compiling messages" >&5
+-echo $ECHO_N "checking if you want to see long compiling messages... $ECHO_C" >&6
+-
+-# Check whether --enable-echo or --disable-echo was given.
+-if test "${enable_echo+set}" = set; then
+- enableval="$enable_echo"
+- test "$enableval" != no && enableval=yes
+- if test "$enableval" != "yes" ; then
+-
+- ECHO_LT='--silent'
+- ECHO_LD='@echo linking $@;'
+- RULE_CC='@echo compiling $<'
+- SHOW_CC='@echo compiling $@'
+- ECHO_CC='@'
+-
+- else
+-
+- ECHO_LT=''
+- ECHO_LD=''
+- RULE_CC=''
+- SHOW_CC=''
+- ECHO_CC=''
++echo "$as_me:4018: checking if you want to use pkg-config" >&5
++echo $ECHO_N "checking if you want to use pkg-config... $ECHO_C" >&6
+
+- fi
++# Check whether --with-pkg-config or --without-pkg-config was given.
++if test "${with_pkg_config+set}" = set; then
++ withval="$with_pkg_config"
++ cf_pkg_config=$withval
+ else
+- enableval=yes
++ cf_pkg_config=yes
++fi;
++echo "$as_me:4028: result: $cf_pkg_config" >&5
++echo "${ECHO_T}$cf_pkg_config" >&6
+
+- ECHO_LT=''
+- ECHO_LD=''
+- RULE_CC=''
+- SHOW_CC=''
+- ECHO_CC=''
++case $cf_pkg_config in #(vi
++no) #(vi
++ PKG_CONFIG=none
++ ;;
++yes) #(vi
+
+-fi;
+-echo "$as_me:3759: result: $enableval" >&5
+-echo "${ECHO_T}$enableval" >&6
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
++set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
++echo "$as_me:4040: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ case $PKG_CONFIG in
++ [\\/]* | ?:[\\/]*)
++ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
++ ;;
++ *)
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ if $as_executable_p "$ac_dir/$ac_word"; then
++ ac_cv_path_PKG_CONFIG="$ac_dir/$ac_word"
++ echo "$as_me:4057: found $ac_dir/$ac_word" >&5
++ break
++fi
++done
+
+-GCC_VERSION=none
+-if test "$GCC" = yes ; then
+- echo "$as_me:3764: checking version of $CC" >&5
+-echo $ECHO_N "checking version of $CC... $ECHO_C" >&6
+- GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[^0-9.]*//' -e 's/[^0-9.].*//'`"
+- test -z "$GCC_VERSION" && GCC_VERSION=unknown
+- echo "$as_me:3768: result: $GCC_VERSION" >&5
+-echo "${ECHO_T}$GCC_VERSION" >&6
++ ;;
++esac
+ fi
++PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+
+-if ( test "$GCC" = yes || test "$GXX" = yes )
+-then
+-echo "$as_me:3774: checking if you want to turn on gcc warnings" >&5
+-echo $ECHO_N "checking if you want to turn on gcc warnings... $ECHO_C" >&6
++if test -n "$PKG_CONFIG"; then
++ echo "$as_me:4068: result: $PKG_CONFIG" >&5
++echo "${ECHO_T}$PKG_CONFIG" >&6
++else
++ echo "$as_me:4071: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
+
+-# Check whether --enable-warnings or --disable-warnings was given.
+-if test "${enable_warnings+set}" = set; then
+- enableval="$enable_warnings"
+- test "$enableval" != yes && enableval=no
+- if test "$enableval" != "no" ; then
+- with_warnings=yes
+- else
+- with_warnings=no
+- fi
++fi
++if test -z "$ac_cv_path_PKG_CONFIG"; then
++ ac_pt_PKG_CONFIG=$PKG_CONFIG
++ # Extract the first word of "pkg-config", so it can be a program name with args.
++set dummy pkg-config; ac_word=$2
++echo "$as_me:4080: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- enableval=no
+- with_warnings=no
++ case $ac_pt_PKG_CONFIG in
++ [\\/]* | ?:[\\/]*)
++ ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
++ ;;
++ *)
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ if $as_executable_p "$ac_dir/$ac_word"; then
++ ac_cv_path_ac_pt_PKG_CONFIG="$ac_dir/$ac_word"
++ echo "$as_me:4097: found $ac_dir/$ac_word" >&5
++ break
++fi
++done
+
+-fi;
+-echo "$as_me:3791: result: $with_warnings" >&5
+-echo "${ECHO_T}$with_warnings" >&6
+-if test "$with_warnings" = "yes"
+-then
++ test -z "$ac_cv_path_ac_pt_PKG_CONFIG" && ac_cv_path_ac_pt_PKG_CONFIG="none"
++ ;;
++esac
++fi
++ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+
+-if test "$GCC" = yes
+-then
+-cat > conftest.i <<EOF
+-#ifndef GCC_PRINTF
+-#define GCC_PRINTF 0
+-#endif
+-#ifndef GCC_SCANF
+-#define GCC_SCANF 0
+-#endif
+-#ifndef GCC_NORETURN
+-#define GCC_NORETURN /* nothing */
+-#endif
+-#ifndef GCC_UNUSED
+-#define GCC_UNUSED /* nothing */
+-#endif
+-EOF
+-if test "$GCC" = yes
+-then
+- { echo "$as_me:3814: checking for $CC __attribute__ directives..." >&5
+-echo "$as_me: checking for $CC __attribute__ directives..." >&6;}
+-cat > conftest.$ac_ext <<EOF
+-#line 3817 "${as_me:-configure}"
+-#include "confdefs.h"
+-#include "conftest.h"
+-#include "conftest.i"
+-#if GCC_PRINTF
+-#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
+-#else
+-#define GCC_PRINTFLIKE(fmt,var) /*nothing*/
+-#endif
+-#if GCC_SCANF
+-#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
+-#else
+-#define GCC_SCANFLIKE(fmt,var) /*nothing*/
+-#endif
+-extern void wow(char *,...) GCC_SCANFLIKE(1,2);
+-extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
+-extern void foo(void) GCC_NORETURN;
+-int main(int argc GCC_UNUSED, char *argv[] GCC_UNUSED) { return 0; }
+-EOF
+- cf_printf_attribute=no
+- cf_scanf_attribute=no
+- for cf_attribute in scanf printf unused noreturn
+- do
++if test -n "$ac_pt_PKG_CONFIG"; then
++ echo "$as_me:4109: result: $ac_pt_PKG_CONFIG" >&5
++echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6
++else
++ echo "$as_me:4112: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
+
+-cf_ATTRIBUTE=`echo "$cf_attribute" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++ PKG_CONFIG=$ac_pt_PKG_CONFIG
++else
++ PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
++fi
+
+- cf_directive="__attribute__(($cf_attribute))"
+- echo "checking for $CC $cf_directive" 1>&5
++ ;;
++*)
++ PKG_CONFIG=$withval
++ ;;
++esac
+
+- case $cf_attribute in #(vi
+- printf) #(vi
+- cf_printf_attribute=yes
+- cat >conftest.h <<EOF
+-#define GCC_$cf_ATTRIBUTE 1
+-EOF
+- ;;
+- scanf) #(vi
+- cf_scanf_attribute=yes
+- cat >conftest.h <<EOF
+-#define GCC_$cf_ATTRIBUTE 1
+-EOF
+- ;;
+- *) #(vi
+- cat >conftest.h <<EOF
+-#define GCC_$cf_ATTRIBUTE $cf_directive
+-EOF
+- ;;
+- esac
++test -z "$PKG_CONFIG" && PKG_CONFIG=none
++if test "$PKG_CONFIG" != none ; then
+
+- if { (eval echo "$as_me:3866: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:3869: \$? = $ac_status" >&5
+- (exit $ac_status); }; then
+- test -n "$verbose" && echo "$as_me:3871: result: ... $cf_attribute" >&5
+-echo "${ECHO_T}... $cf_attribute" >&6
+- cat conftest.h >>confdefs.h
+- case $cf_attribute in #(vi
+- printf) #(vi
+- if test "$cf_printf_attribute" = no ; then
+- cat >>confdefs.h <<EOF
+-#define GCC_PRINTFLIKE(fmt,var) /* nothing */
+-EOF
+- else
+- cat >>confdefs.h <<EOF
+-#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
+-EOF
+- fi
+- ;;
+- scanf) #(vi
+- if test "$cf_scanf_attribute" = no ; then
+- cat >>confdefs.h <<EOF
+-#define GCC_SCANFLIKE(fmt,var) /* nothing */
+-EOF
+- else
+- cat >>confdefs.h <<EOF
+-#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
+-EOF
+- fi
+- ;;
+- esac
+- fi
+- done
++if test "x$prefix" != xNONE; then
++ cf_path_syntax="$prefix"
+ else
+- fgrep define conftest.i >>confdefs.h
++ cf_path_syntax="$ac_default_prefix"
+ fi
+-rm -rf conftest*
++
++case ".$PKG_CONFIG" in #(vi
++.\$\(*\)*|.\'*\'*) #(vi
++ ;;
++..|./*|.\\*) #(vi
++ ;;
++.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
++ ;;
++.\${*prefix}*|.\${*dir}*) #(vi
++ eval PKG_CONFIG="$PKG_CONFIG"
++ case ".$PKG_CONFIG" in #(vi
++ .NONE/*)
++ PKG_CONFIG=`echo $PKG_CONFIG | sed -e s%NONE%$cf_path_syntax%`
++ ;;
++ esac
++ ;; #(vi
++.no|.NONE/*)
++ PKG_CONFIG=`echo $PKG_CONFIG | sed -e s%NONE%$cf_path_syntax%`
++ ;;
++*)
++ { { echo "$as_me:4155: error: expected a pathname, not \"$PKG_CONFIG\"" >&5
++echo "$as_me: error: expected a pathname, not \"$PKG_CONFIG\"" >&2;}
++ { (exit 1); exit 1; }; }
++ ;;
++esac
++
+ fi
+
+-INTEL_COMPILER=no
++echo "$as_me:4163: checking if you want to see long compiling messages" >&5
++echo $ECHO_N "checking if you want to see long compiling messages... $ECHO_C" >&6
+
+-if test "$GCC" = yes ; then
+- case $host_os in
+- linux*|gnu*)
+- echo "$as_me:3911: checking if this is really Intel C compiler" >&5
+-echo $ECHO_N "checking if this is really Intel C compiler... $ECHO_C" >&6
+- cf_save_CFLAGS="$CFLAGS"
+- CFLAGS="$CFLAGS -no-gcc"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 3916 "configure"
+-#include "confdefs.h"
++# Check whether --enable-echo or --disable-echo was given.
++if test "${enable_echo+set}" = set; then
++ enableval="$enable_echo"
++ test "$enableval" != no && enableval=yes
++ if test "$enableval" != "yes" ; then
+
+-int
+-main ()
+-{
++ ECHO_LT='--silent'
++ ECHO_LD='@echo linking $@;'
++ RULE_CC='@echo compiling $<'
++ SHOW_CC='@echo compiling $@'
++ ECHO_CC='@'
+
+-#ifdef __INTEL_COMPILER
+-#else
+-make an error
+-#endif
++ else
+
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:3933: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:3936: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:3939: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:3942: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- INTEL_COMPILER=yes
+-cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc"
++ ECHO_LT=''
++ ECHO_LD=''
++ RULE_CC=''
++ SHOW_CC=''
++ ECHO_CC=''
+
++ fi
+ else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+- CFLAGS="$cf_save_CFLAGS"
+- echo "$as_me:3953: result: $INTEL_COMPILER" >&5
+-echo "${ECHO_T}$INTEL_COMPILER" >&6
+- ;;
+- esac
+-fi
++ enableval=yes
+
+-cat > conftest.$ac_ext <<EOF
+-#line 3960 "${as_me:-configure}"
+-int main(int argc, char *argv[]) { return (argv[argc-1] == 0) ; }
+-EOF
++ ECHO_LT=''
++ ECHO_LD=''
++ RULE_CC=''
++ SHOW_CC=''
++ ECHO_CC=''
+
+-if test "$INTEL_COMPILER" = yes
+-then
+-# The "-wdXXX" options suppress warnings:
+-# remark #1419: external declaration in primary source file
+-# remark #1683: explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
+-# remark #1684: conversion from pointer to same-sized integral type (potential portability problem)
+-# remark #193: zero used for undefined preprocessing identifier
+-# remark #593: variable "curs_sb_left_arrow" was set but never used
+-# remark #810: conversion from "int" to "Dimension={unsigned short}" may lose significant bits
+-# remark #869: parameter "tw" was never referenced
+-# remark #981: operands are evaluated in unspecified order
+-# warning #279: controlling expression is constant
++fi;
++echo "$as_me:4197: result: $enableval" >&5
++echo "${ECHO_T}$enableval" >&6
+
+- { echo "$as_me:3977: checking for $CC warning options..." >&5
+-echo "$as_me: checking for $CC warning options..." >&6;}
+- cf_save_CFLAGS="$CFLAGS"
+- EXTRA_CFLAGS="-Wall"
+- for cf_opt in \
+- wd1419 \
+- wd1683 \
+- wd1684 \
+- wd193 \
+- wd593 \
+- wd279 \
+- wd810 \
+- wd869 \
+- wd981
+- do
+- CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
+- if { (eval echo "$as_me:3993: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:3996: \$? = $ac_status" >&5
+- (exit $ac_status); }; then
+- test -n "$verbose" && echo "$as_me:3998: result: ... -$cf_opt" >&5
+-echo "${ECHO_T}... -$cf_opt" >&6
+- EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
+- fi
+- done
+- CFLAGS="$cf_save_CFLAGS"
+-
+-elif test "$GCC" = yes
+-then
+- { echo "$as_me:4007: checking for $CC warning options..." >&5
+-echo "$as_me: checking for $CC warning options..." >&6;}
+- cf_save_CFLAGS="$CFLAGS"
+- EXTRA_CFLAGS=
+- cf_warn_CONST=""
+- test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings"
+- for cf_opt in W Wall \
+- Wbad-function-cast \
+- Wcast-align \
+- Wcast-qual \
+- Winline \
+- Wmissing-declarations \
+- Wmissing-prototypes \
+- Wnested-externs \
+- Wpointer-arith \
+- Wshadow \
+- Wstrict-prototypes \
+- Wundef $cf_warn_CONST
+- do
+- CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
+- if { (eval echo "$as_me:4027: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:4030: \$? = $ac_status" >&5
+- (exit $ac_status); }; then
+- test -n "$verbose" && echo "$as_me:4032: result: ... -$cf_opt" >&5
+-echo "${ECHO_T}... -$cf_opt" >&6
+- case $cf_opt in #(vi
+- Wcast-qual) #(vi
+- CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES"
+- ;;
+- Winline) #(vi
+- case $GCC_VERSION in
+- [34].*)
+- test -n "$verbose" && echo " feature is broken in gcc $GCC_VERSION" 1>&6
++echo "$as_me:4200: checking for ncurses wrap-prefix" >&5
++echo $ECHO_N "checking for ncurses wrap-prefix... $ECHO_C" >&6
+
+-echo "${as_me:-configure}:4043: testing feature is broken in gcc $GCC_VERSION ..." 1>&5
++# Check whether --with-ncurses-wrap-prefix or --without-ncurses-wrap-prefix was given.
++if test "${with_ncurses_wrap_prefix+set}" = set; then
++ withval="$with_ncurses_wrap_prefix"
++ NCURSES_WRAP_PREFIX=$withval
++else
++ NCURSES_WRAP_PREFIX=_nc_
++fi;
++echo "$as_me:4210: result: $NCURSES_WRAP_PREFIX" >&5
++echo "${ECHO_T}$NCURSES_WRAP_PREFIX" >&6
+
+- continue;;
+- esac
+- ;;
+- esac
+- EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
+- fi
+- done
+- CFLAGS="$cf_save_CFLAGS"
+-fi
+-rm -rf conftest*
++echo "$as_me:4213: checking if you want to check for wide-character functions" >&5
++echo $ECHO_N "checking if you want to check for wide-character functions... $ECHO_C" >&6
+
+-fi
+-fi
++# Check whether --enable-widec or --disable-widec was given.
++if test "${enable_widec+set}" = set; then
++ enableval="$enable_widec"
++ test "$enableval" != no && enableval=yes
++ if test "$enableval" != "yes" ; then
++ cf_enable_widec=no
++ else
++ cf_enable_widec=yes
++ fi
++else
++ enableval=yes
++ cf_enable_widec=yes
+
+-echo "$as_me:4059: checking if you want to use dmalloc for testing" >&5
+-echo $ECHO_N "checking if you want to use dmalloc for testing... $ECHO_C" >&6
++fi;
++echo "$as_me:4230: result: $cf_enable_widec" >&5
++echo "${ECHO_T}$cf_enable_widec" >&6
+
+-# Check whether --with-dmalloc or --without-dmalloc was given.
+-if test "${with_dmalloc+set}" = set; then
+- withval="$with_dmalloc"
+- cat >>confdefs.h <<\EOF
+-#define USE_DMALLOC 1
+-EOF
++echo "$as_me:4233: checking for specific curses-directory" >&5
++echo $ECHO_N "checking for specific curses-directory... $ECHO_C" >&6
+
+- : ${with_cflags:=-g}
+- : ${with_no_leaks:=yes}
+- with_dmalloc=yes
++# Check whether --with-curses-dir or --without-curses-dir was given.
++if test "${with_curses_dir+set}" = set; then
++ withval="$with_curses_dir"
++ cf_cv_curses_dir=$withval
+ else
+- with_dmalloc=
++ cf_cv_curses_dir=no
+ fi;
+-echo "$as_me:4075: result: ${with_dmalloc:-no}" >&5
+-echo "${ECHO_T}${with_dmalloc:-no}" >&6
++echo "$as_me:4243: result: $cf_cv_curses_dir" >&5
++echo "${ECHO_T}$cf_cv_curses_dir" >&6
+
+-case .$with_cflags in #(vi
+-.*-g*)
+- case .$CFLAGS in #(vi
+- .*-g*) #(vi
+- ;;
+- *)
++if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
++then
+
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
++if test "x$prefix" != xNONE; then
++ cf_path_syntax="$prefix"
++else
++ cf_path_syntax="$ac_default_prefix"
++fi
+
+-for cf_add_cflags in -g
+-do
+-case $cf_fix_cppflags in
+-no)
+- case $cf_add_cflags in #(vi
+- -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+- case $cf_add_cflags in
+- -D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++case ".$withval" in #(vi
++.\$\(*\)*|.\'*\'*) #(vi
++ ;;
++..|./*|.\\*) #(vi
++ ;;
++.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
++ ;;
++.\${*prefix}*|.\${*dir}*) #(vi
++ eval withval="$withval"
++ case ".$withval" in #(vi
++ .NONE/*)
++ withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%`
++ ;;
++ esac
++ ;; #(vi
++.no|.NONE/*)
++ withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%`
++ ;;
++*)
++ { { echo "$as_me:4274: error: expected a pathname, not \"$withval\"" >&5
++echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
++ { (exit 1); exit 1; }; }
++ ;;
++esac
+
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
++ if test -d "$cf_cv_curses_dir"
++ then
+
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
++if test -n "$cf_cv_curses_dir/include" ; then
++ for cf_add_incdir in $cf_cv_curses_dir/include
++ do
++ while test $cf_add_incdir != /usr/include
++ do
++ if test -d $cf_add_incdir
++ then
++ cf_have_incdir=no
++ if test -n "$CFLAGS$CPPFLAGS" ; then
++ # a loop is needed to ensure we can add subdirs of existing dirs
++ for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
++ if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
++ cf_have_incdir=yes; break
+ fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- *$cf_add_cflags) #(vi
+- ;;
+- *) #(vi
+- case $cf_add_cflags in #(vi
+- -D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+-
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++ done
++ fi
+
+- ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- *)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+-yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ if test "$cf_have_incdir" = no ; then
++ if test "$cf_add_incdir" = /usr/local/include ; then
++ if test "$GCC" = yes
++ then
++ cf_save_CPPFLAGS=$CPPFLAGS
++ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 4307 "configure"
++#include "confdefs.h"
++#include <stdio.h>
++int
++main ()
++{
++printf("Hello")
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:4319: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:4322: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:4325: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:4328: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_have_incdir=yes
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CPPFLAGS=$cf_save_CPPFLAGS
++ fi
++ fi
++ fi
+
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++ if test "$cf_have_incdir" = no ; then
++ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
+-done
++echo "${as_me:-configure}:4345: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+-if test -n "$cf_new_cflags" ; then
++ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+- CFLAGS="$CFLAGS $cf_new_cflags"
++ cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
++ test "$cf_top_incdir" = "$cf_add_incdir" && break
++ cf_add_incdir="$cf_top_incdir"
++ else
++ break
++ fi
++ fi
++ done
++ done
+ fi
+
+-if test -n "$cf_new_cppflags" ; then
+-
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
+-fi
++if test -n "$cf_cv_curses_dir/lib" ; then
++ for cf_add_libdir in $cf_cv_curses_dir/lib
++ do
++ if test $cf_add_libdir = /usr/lib ; then
++ :
++ elif test -d $cf_add_libdir
++ then
++ cf_have_libdir=no
++ if test -n "$LDFLAGS$LIBS" ; then
++ # a loop is needed to ensure we can add subdirs of existing dirs
++ for cf_test_libdir in $LDFLAGS $LIBS ; do
++ if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
++ cf_have_libdir=yes; break
++ fi
++ done
++ fi
++ if test "$cf_have_libdir" = no ; then
++ test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
+
+-if test -n "$cf_new_extra_cppflags" ; then
++echo "${as_me:-configure}:4379: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++ LDFLAGS="-L$cf_add_libdir $LDFLAGS"
++ fi
++ fi
++ done
+ fi
+
+- ;;
+- esac
++ fi
++fi
++
++cf_cv_screen=curses
++
++echo "$as_me:4392: checking for specified curses library type" >&5
++echo $ECHO_N "checking for specified curses library type... $ECHO_C" >&6
++
++# Check whether --with-ncursesw or --without-ncursesw was given.
++if test "${with_ncursesw+set}" = set; then
++ withval="$with_ncursesw"
++ cf_cv_screen=ncursesw
++else
++
++# Check whether --with-ncurses or --without-ncurses was given.
++if test "${with_ncurses+set}" = set; then
++ withval="$with_ncurses"
++ cf_cv_screen=ncurses
++else
++
++# Check whether --with-pdcurses or --without-pdcurses was given.
++if test "${with_pdcurses+set}" = set; then
++ withval="$with_pdcurses"
++ cf_cv_screen=pdcurses
++else
++
++# Check whether --with-curses-colr or --without-curses-colr was given.
++if test "${with_curses_colr+set}" = set; then
++ withval="$with_curses_colr"
++ cf_cv_screen=curses_colr
++else
++
++# Check whether --with-curses-5lib or --without-curses-5lib was given.
++if test "${with_curses_5lib+set}" = set; then
++ withval="$with_curses_5lib"
++ cf_cv_screen=curses_5lib
++fi;
++fi;
++fi;
++fi;
++fi;
++
++echo "$as_me:4429: result: $cf_cv_screen" >&5
++echo "${ECHO_T}$cf_cv_screen" >&6
++
++case $cf_cv_screen in #(vi
++curses|curses_*) #(vi
++
++echo "$as_me:4435: checking for extra include directories" >&5
++echo $ECHO_N "checking for extra include directories... $ECHO_C" >&6
++if test "${cf_cv_curses_incdir+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++cf_cv_curses_incdir=no
++case $host_os in #(vi
++hpux10.*) #(vi
++ if test "x$cf_cv_screen" = "xcurses_colr"
++ then
++ test -d /usr/include/curses_colr && \
++ cf_cv_curses_incdir="-I/usr/include/curses_colr"
++ fi
++ ;;
++sunos3*|sunos4*)
++ if test "x$cf_cv_screen" = "xcurses_5lib"
++ then
++ test -d /usr/5lib && \
++ test -d /usr/5include && \
++ cf_cv_curses_incdir="-I/usr/5include"
++ fi
+ ;;
+ esac
+
+-if test "$with_dmalloc" = yes ; then
+- echo "$as_me:4169: checking for dmalloc.h" >&5
+-echo $ECHO_N "checking for dmalloc.h... $ECHO_C" >&6
+-if test "${ac_cv_header_dmalloc_h+set}" = set; then
++fi
++echo "$as_me:4461: result: $cf_cv_curses_incdir" >&5
++echo "${ECHO_T}$cf_cv_curses_incdir" >&6
++test "$cf_cv_curses_incdir" != no && CPPFLAGS="$CPPFLAGS $cf_cv_curses_incdir"
++
++echo "$as_me:4465: checking if we have identified curses headers" >&5
++echo $ECHO_N "checking if we have identified curses headers... $ECHO_C" >&6
++if test "${cf_cv_ncurses_header+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++cf_cv_ncurses_header=none
++for cf_header in \
++ ncurses.h \
++ curses.h ncurses/ncurses.h ncurses/curses.h
++do
++cat >conftest.$ac_ext <<_ACEOF
++#line 4477 "configure"
++#include "confdefs.h"
++#include <${cf_header}>
++int
++main ()
++{
++initscr(); tgoto("?", 0,0)
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:4489: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:4492: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:4495: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:4498: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_ncurses_header=$cf_header; break
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++done
++
++fi
++echo "$as_me:4509: result: $cf_cv_ncurses_header" >&5
++echo "${ECHO_T}$cf_cv_ncurses_header" >&6
++
++if test "$cf_cv_ncurses_header" = none ; then
++ { { echo "$as_me:4513: error: No curses header-files found" >&5
++echo "$as_me: error: No curses header-files found" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++# cheat, to get the right #define's for HAVE_NCURSES_H, etc.
++
++for ac_header in $cf_cv_ncurses_header
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++echo "$as_me:4523: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4175 "configure"
++#line 4529 "configure"
+ #include "confdefs.h"
+-#include <dmalloc.h>
++#include <$ac_header>
+ _ACEOF
+-if { (eval echo "$as_me:4179: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:4533: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:4185: \$? = $ac_status" >&5
++ echo "$as_me:4539: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -4193,238 +4547,316 @@
+ ac_cpp_err=yes
+ fi
+ if test -z "$ac_cpp_err"; then
+- ac_cv_header_dmalloc_h=yes
++ eval "$as_ac_Header=yes"
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+- ac_cv_header_dmalloc_h=no
++ eval "$as_ac_Header=no"
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:4204: result: $ac_cv_header_dmalloc_h" >&5
+-echo "${ECHO_T}$ac_cv_header_dmalloc_h" >&6
+-if test $ac_cv_header_dmalloc_h = yes; then
++echo "$as_me:4558: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<EOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++EOF
+
+-echo "$as_me:4208: checking for dmalloc_debug in -ldmalloc" >&5
+-echo $ECHO_N "checking for dmalloc_debug in -ldmalloc... $ECHO_C" >&6
+-if test "${ac_cv_lib_dmalloc_dmalloc_debug+set}" = set; then
++fi
++done
++
++echo "$as_me:4568: checking for terminfo header" >&5
++echo $ECHO_N "checking for terminfo header... $ECHO_C" >&6
++if test "${cf_cv_term_header+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-ldmalloc $LIBS"
++
++case ${cf_cv_ncurses_header} in #(vi
++*/ncurses.h|*/ncursesw.h) #(vi
++ cf_term_header=`echo "$cf_cv_ncurses_header" | sed -e 's%ncurses[^.]*\.h$%term.h%'`
++ ;;
++*)
++ cf_term_header=term.h
++ ;;
++esac
++
++for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h"
++do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4216 "configure"
++#line 4586 "configure"
+ #include "confdefs.h"
++#include <stdio.h>
++#include <${cf_cv_ncurses_header:-curses.h}>
++#include <$cf_test>
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char dmalloc_debug ();
+ int
+ main ()
+ {
+-dmalloc_debug ();
++int x = auto_left_margin
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:4235: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:4601: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:4238: \$? = $ac_status" >&5
++ echo "$as_me:4604: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:4241: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:4607: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4244: \$? = $ac_status" >&5
++ echo "$as_me:4610: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_dmalloc_dmalloc_debug=yes
++
++ cf_cv_term_header="$cf_test"
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_dmalloc_dmalloc_debug=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:4255: result: $ac_cv_lib_dmalloc_dmalloc_debug" >&5
+-echo "${ECHO_T}$ac_cv_lib_dmalloc_dmalloc_debug" >&6
+-if test $ac_cv_lib_dmalloc_dmalloc_debug = yes; then
+- cat >>confdefs.h <<EOF
+-#define HAVE_LIBDMALLOC 1
+-EOF
+
+- LIBS="-ldmalloc $LIBS"
++ cf_cv_term_header=unknown
+
+ fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ test "$cf_cv_term_header" != unknown && break
++done
+
+ fi
++echo "$as_me:4626: result: $cf_cv_term_header" >&5
++echo "${ECHO_T}$cf_cv_term_header" >&6
+
+-fi
++# Set definitions to allow ifdef'ing to accommodate subdirectories
+
+-echo "$as_me:4270: checking if you want to use dbmalloc for testing" >&5
+-echo $ECHO_N "checking if you want to use dbmalloc for testing... $ECHO_C" >&6
++case $cf_cv_term_header in # (vi
++*term.h)
+
+-# Check whether --with-dbmalloc or --without-dbmalloc was given.
+-if test "${with_dbmalloc+set}" = set; then
+- withval="$with_dbmalloc"
+- cat >>confdefs.h <<\EOF
+-#define USE_DBMALLOC 1
++cat >>confdefs.h <<\EOF
++#define HAVE_TERM_H 1
+ EOF
+
+- : ${with_cflags:=-g}
+- : ${with_no_leaks:=yes}
+- with_dbmalloc=yes
+-else
+- with_dbmalloc=
+-fi;
+-echo "$as_me:4286: result: ${with_dbmalloc:-no}" >&5
+-echo "${ECHO_T}${with_dbmalloc:-no}" >&6
++ ;;
++esac
+
+-case .$with_cflags in #(vi
+-.*-g*)
+- case .$CFLAGS in #(vi
+- .*-g*) #(vi
+- ;;
+- *)
++case $cf_cv_term_header in # (vi
++ncurses/term.h) #(vi
+
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
++cat >>confdefs.h <<\EOF
++#define HAVE_NCURSES_TERM_H 1
++EOF
+
+-for cf_add_cflags in -g
+-do
+-case $cf_fix_cppflags in
+-no)
+- case $cf_add_cflags in #(vi
+- -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+- case $cf_add_cflags in
+- -D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++ ;;
++ncursesw/term.h)
+
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
++cat >>confdefs.h <<\EOF
++#define HAVE_NCURSESW_TERM_H 1
++EOF
+
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- *$cf_add_cflags) #(vi
+- ;;
+- *) #(vi
+- case $cf_add_cflags in #(vi
+- -D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+-
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+-
+- ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- *)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+ ;;
+-yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++esac
+
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++echo "$as_me:4658: checking for ncurses version" >&5
++echo $ECHO_N "checking for ncurses version... $ECHO_C" >&6
++if test "${cf_cv_ncurses_version+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
+
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
+-done
++ cf_cv_ncurses_version=no
++ cf_tempfile=out$$
++ rm -f $cf_tempfile
++ if test "$cross_compiling" = yes; then
+
+-if test -n "$cf_new_cflags" ; then
++ # This will not work if the preprocessor splits the line after the
++ # Autoconf token. The 'unproto' program does that.
++ cat > conftest.$ac_ext <<EOF
++#include <${cf_cv_ncurses_header:-curses.h}>
++#undef Autoconf
++#ifdef NCURSES_VERSION
++Autoconf NCURSES_VERSION
++#else
++#ifdef __NCURSES_H
++Autoconf "old"
++#endif
++;
++#endif
++EOF
++ cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
++ { (eval echo "$as_me:4684: \"$cf_try\"") >&5
++ (eval $cf_try) 2>&5
++ ac_status=$?
++ echo "$as_me:4687: \$? = $ac_status" >&5
++ (exit $ac_status); }
++ if test -f conftest.out ; then
++ cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'`
++ test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
++ rm -f conftest.out
++ fi
+
+- CFLAGS="$CFLAGS $cf_new_cflags"
+-fi
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 4697 "configure"
++#include "confdefs.h"
+
+-if test -n "$cf_new_cppflags" ; then
++#include <${cf_cv_ncurses_header:-curses.h}>
++#include <stdio.h>
++int main()
++{
++ FILE *fp = fopen("$cf_tempfile", "w");
++#ifdef NCURSES_VERSION
++# ifdef NCURSES_VERSION_PATCH
++ fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH);
++# else
++ fprintf(fp, "%s\n", NCURSES_VERSION);
++# endif
++#else
++# ifdef __NCURSES_H
++ fprintf(fp, "old\n");
++# else
++ make an error
++# endif
++#endif
++ ${cf_cv_main_return:-return}(0);
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (eval echo "$as_me:4722: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:4725: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (eval echo "$as_me:4727: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:4730: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
+
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++ cf_cv_ncurses_version=`cat $cf_tempfile`
++else
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
+ fi
++rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++ rm -f $cf_tempfile
+
+-if test -n "$cf_new_extra_cppflags" ; then
+-
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+ fi
++echo "$as_me:4744: result: $cf_cv_ncurses_version" >&5
++echo "${ECHO_T}$cf_cv_ncurses_version" >&6
++test "$cf_cv_ncurses_version" = no ||
++cat >>confdefs.h <<\EOF
++#define NCURSES 1
++EOF
+
+- ;;
+- esac
+- ;;
+-esac
++echo "$as_me:4751: checking if we have identified curses libraries" >&5
++echo $ECHO_N "checking if we have identified curses libraries... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++#line 4754 "configure"
++#include "confdefs.h"
++#include <${cf_cv_ncurses_header:-curses.h}>
++int
++main ()
++{
++initscr(); tgoto("?", 0,0)
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:4766: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:4769: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:4772: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:4775: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_result=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_result=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++echo "$as_me:4784: result: $cf_result" >&5
++echo "${ECHO_T}$cf_result" >&6
+
+-if test "$with_dbmalloc" = yes ; then
+- echo "$as_me:4380: checking for dbmalloc.h" >&5
+-echo $ECHO_N "checking for dbmalloc.h... $ECHO_C" >&6
+-if test "${ac_cv_header_dbmalloc_h+set}" = set; then
++if test "$cf_result" = no ; then
++case $host_os in #(vi
++freebsd*) #(vi
++ echo "$as_me:4790: checking for tgoto in -lmytinfo" >&5
++echo $ECHO_N "checking for tgoto in -lmytinfo... $ECHO_C" >&6
++if test "${ac_cv_lib_mytinfo_tgoto+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 4386 "configure"
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lmytinfo $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 4798 "configure"
+ #include "confdefs.h"
+-#include <dbmalloc.h>
++
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char tgoto ();
++int
++main ()
++{
++tgoto ();
++ ;
++ return 0;
++}
+ _ACEOF
+-if { (eval echo "$as_me:4390: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:4817: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- egrep -v '^ *\+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:4396: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- ac_cv_header_dbmalloc_h=yes
++ echo "$as_me:4820: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:4823: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:4826: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_lib_mytinfo_tgoto=yes
+ else
+ echo "$as_me: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- ac_cv_header_dbmalloc_h=no
++cat conftest.$ac_ext >&5
++ac_cv_lib_mytinfo_tgoto=no
+ fi
+-rm -f conftest.err conftest.$ac_ext
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:4837: result: $ac_cv_lib_mytinfo_tgoto" >&5
++echo "${ECHO_T}$ac_cv_lib_mytinfo_tgoto" >&6
++if test $ac_cv_lib_mytinfo_tgoto = yes; then
++ LIBS="-lmytinfo $LIBS"
+ fi
+-echo "$as_me:4415: result: $ac_cv_header_dbmalloc_h" >&5
+-echo "${ECHO_T}$ac_cv_header_dbmalloc_h" >&6
+-if test $ac_cv_header_dbmalloc_h = yes; then
+
+-echo "$as_me:4419: checking for debug_malloc in -ldbmalloc" >&5
+-echo $ECHO_N "checking for debug_malloc in -ldbmalloc... $ECHO_C" >&6
+-if test "${ac_cv_lib_dbmalloc_debug_malloc+set}" = set; then
++ ;;
++hpux10.*) #(vi
++ # Looking at HPUX 10.20, the Hcurses library is the oldest (1997), cur_colr
++ # next (1998), and xcurses "newer" (2000). There is no header file for
++ # Hcurses; the subdirectory curses_colr has the headers (curses.h and
++ # term.h) for cur_colr
++ if test "x$cf_cv_screen" = "xcurses_colr"
++ then
++ echo "$as_me:4851: checking for initscr in -lcur_colr" >&5
++echo $ECHO_N "checking for initscr in -lcur_colr... $ECHO_C" >&6
++if test "${ac_cv_lib_cur_colr_initscr+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-ldbmalloc $LIBS"
++LIBS="-lcur_colr $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4427 "configure"
++#line 4859 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -4433,313 +4865,115 @@
+ #endif
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char debug_malloc ();
++char initscr ();
+ int
+ main ()
+ {
+-debug_malloc ();
++initscr ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:4446: \"$ac_link\"") >&5
++if { (eval echo "$as_me:4878: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:4449: \$? = $ac_status" >&5
++ echo "$as_me:4881: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:4452: \"$ac_try\"") >&5
++ { (eval echo "$as_me:4884: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4455: \$? = $ac_status" >&5
++ echo "$as_me:4887: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_dbmalloc_debug_malloc=yes
++ ac_cv_lib_cur_colr_initscr=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_dbmalloc_debug_malloc=no
++ac_cv_lib_cur_colr_initscr=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:4466: result: $ac_cv_lib_dbmalloc_debug_malloc" >&5
+-echo "${ECHO_T}$ac_cv_lib_dbmalloc_debug_malloc" >&6
+-if test $ac_cv_lib_dbmalloc_debug_malloc = yes; then
+- cat >>confdefs.h <<EOF
+-#define HAVE_LIBDBMALLOC 1
+-EOF
+-
+- LIBS="-ldbmalloc $LIBS"
++echo "$as_me:4898: result: $ac_cv_lib_cur_colr_initscr" >&5
++echo "${ECHO_T}$ac_cv_lib_cur_colr_initscr" >&6
++if test $ac_cv_lib_cur_colr_initscr = yes; then
+
+-fi
++ LIBS="-lcur_colr $LIBS"
++ ac_cv_func_initscr=yes
+
+-fi
++else
+
+-fi
++ echo "$as_me:4907: checking for initscr in -lHcurses" >&5
++echo $ECHO_N "checking for initscr in -lHcurses... $ECHO_C" >&6
++if test "${ac_cv_lib_Hcurses_initscr+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lHcurses $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 4915 "configure"
++#include "confdefs.h"
+
+-echo "$as_me:4481: checking if you want to use valgrind for testing" >&5
+-echo $ECHO_N "checking if you want to use valgrind for testing... $ECHO_C" >&6
+-
+-# Check whether --with-valgrind or --without-valgrind was given.
+-if test "${with_valgrind+set}" = set; then
+- withval="$with_valgrind"
+- cat >>confdefs.h <<\EOF
+-#define USE_VALGRIND 1
+-EOF
+-
+- : ${with_cflags:=-g}
+- : ${with_no_leaks:=yes}
+- with_valgrind=yes
+-else
+- with_valgrind=
+-fi;
+-echo "$as_me:4497: result: ${with_valgrind:-no}" >&5
+-echo "${ECHO_T}${with_valgrind:-no}" >&6
+-
+-case .$with_cflags in #(vi
+-.*-g*)
+- case .$CFLAGS in #(vi
+- .*-g*) #(vi
+- ;;
+- *)
+-
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
+-
+-for cf_add_cflags in -g
+-do
+-case $cf_fix_cppflags in
+-no)
+- case $cf_add_cflags in #(vi
+- -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+- case $cf_add_cflags in
+- -D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
+-
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- *$cf_add_cflags) #(vi
+- ;;
+- *) #(vi
+- case $cf_add_cflags in #(vi
+- -D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+-
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+-
+- ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- *)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+-yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+-
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
+-done
+-
+-if test -n "$cf_new_cflags" ; then
+-
+- CFLAGS="$CFLAGS $cf_new_cflags"
+-fi
+-
+-if test -n "$cf_new_cppflags" ; then
+-
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
+-fi
+-
+-if test -n "$cf_new_extra_cppflags" ; then
+-
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+-fi
+-
+- ;;
+- esac
+- ;;
+-esac
+-
+-echo "$as_me:4590: checking if you want to perform memory-leak testing" >&5
+-echo $ECHO_N "checking if you want to perform memory-leak testing... $ECHO_C" >&6
+-
+-# Check whether --enable-leaks or --disable-leaks was given.
+-if test "${enable_leaks+set}" = set; then
+- enableval="$enable_leaks"
+- if test "x$enableval" = xno; then with_no_leaks=yes; else with_no_leaks=no; fi
+-else
+- : ${with_no_leaks:=no}
+-fi;
+-echo "$as_me:4600: result: $with_no_leaks" >&5
+-echo "${ECHO_T}$with_no_leaks" >&6
+-
+-if test "$with_no_leaks" = yes ; then
+- cat >>confdefs.h <<\EOF
+-#define NO_LEAKS 1
+-EOF
+-
+- cat >>confdefs.h <<\EOF
+-#define YY_NO_LEAKS 1
+-EOF
+-
+-fi
+-
+-echo "$as_me:4614: checking for specific curses-directory" >&5
+-echo $ECHO_N "checking for specific curses-directory... $ECHO_C" >&6
+-
+-# Check whether --with-curses-dir or --without-curses-dir was given.
+-if test "${with_curses_dir+set}" = set; then
+- withval="$with_curses_dir"
+- cf_cv_curses_dir=$withval
+-else
+- cf_cv_curses_dir=no
+-fi;
+-echo "$as_me:4624: result: $cf_cv_curses_dir" >&5
+-echo "${ECHO_T}$cf_cv_curses_dir" >&6
+-
+-if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
+-then
+-
+-if test "x$prefix" != xNONE; then
+- cf_path_syntax="$prefix"
+-else
+- cf_path_syntax="$ac_default_prefix"
+-fi
+-
+-case ".$withval" in #(vi
+-.\$\(*\)*|.\'*\'*) #(vi
+- ;;
+-..|./*|.\\*) #(vi
+- ;;
+-.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
+- ;;
+-.\${*prefix}*) #(vi
+- eval withval="$withval"
+- case ".$withval" in #(vi
+- .NONE/*)
+- withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%`
+- ;;
+- esac
+- ;; #(vi
+-.no|.NONE/*)
+- withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%`
+- ;;
+-*)
+- { { echo "$as_me:4655: error: expected a pathname, not \"$withval\"" >&5
+-echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
+- { (exit 1); exit 1; }; }
+- ;;
+-esac
+-
+- if test -d "$cf_cv_curses_dir"
+- then
+-
+-if test -n "$cf_cv_curses_dir/include" ; then
+- for cf_add_incdir in $cf_cv_curses_dir/include
+- do
+- while test $cf_add_incdir != /usr/include
+- do
+- if test -d $cf_add_incdir
+- then
+- cf_have_incdir=no
+- if test -n "$CFLAGS$CPPFLAGS" ; then
+- # a loop is needed to ensure we can add subdirs of existing dirs
+- for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
+- if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
+- cf_have_incdir=yes; break
+- fi
+- done
+- fi
+-
+- if test "$cf_have_incdir" = no ; then
+- if test "$cf_add_incdir" = /usr/local/include ; then
+- if test "$GCC" = yes
+- then
+- cf_save_CPPFLAGS=$CPPFLAGS
+- CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 4688 "configure"
+-#include "confdefs.h"
+-#include <stdio.h>
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char initscr ();
+ int
+ main ()
+ {
+-printf("Hello")
++initscr ();
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:4700: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:4934: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:4703: \$? = $ac_status" >&5
++ echo "$as_me:4937: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:4706: \"$ac_try\"") >&5
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:4940: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4709: \$? = $ac_status" >&5
++ echo "$as_me:4943: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- :
++ ac_cv_lib_Hcurses_initscr=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_have_incdir=yes
++ac_cv_lib_Hcurses_initscr=no
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+- CPPFLAGS=$cf_save_CPPFLAGS
+- fi
+- fi
+- fi
+-
+- if test "$cf_have_incdir" = no ; then
+- test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:4954: result: $ac_cv_lib_Hcurses_initscr" >&5
++echo "${ECHO_T}$ac_cv_lib_Hcurses_initscr" >&6
++if test $ac_cv_lib_Hcurses_initscr = yes; then
+
+-echo "${as_me:-configure}:4726: testing adding $cf_add_incdir to include-path ..." 1>&5
++ # HP's header uses __HP_CURSES, but user claims _HP_CURSES.
++ LIBS="-lHcurses $LIBS"
++ CPPFLAGS="$CPPFLAGS -D__HP_CURSES -D_HP_CURSES"
++ ac_cv_func_initscr=yes
+
+- CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
++fi
+
+- cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
+- test "$cf_top_incdir" = "$cf_add_incdir" && break
+- cf_add_incdir="$cf_top_incdir"
+- else
+- break
+- fi
+- fi
+- done
+- done
+ fi
+
+-if test -n "$cf_cv_curses_dir/lib" ; then
+- for cf_add_libdir in $cf_cv_curses_dir/lib
++ fi
++ ;;
++linux*)
++ case `arch 2>/dev/null` in
++ x86_64)
++ if test -d /lib64
++ then
++
++if test -n "/lib64" ; then
++ for cf_add_libdir in /lib64
+ do
+ if test $cf_add_libdir = /usr/lib ; then
+ :
+@@ -4757,7 +4991,7 @@
+ if test "$cf_have_libdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
+
+-echo "${as_me:-configure}:4760: testing adding $cf_add_libdir to library-path ..." 1>&5
++echo "${as_me:-configure}:4994: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+ LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+ fi
+@@ -4765,370 +4999,339 @@
+ done
+ fi
+
+- fi
+-fi
++ else
+
+-# Check whether --with-5lib or --without-5lib was given.
+-if test "${with_5lib+set}" = set; then
+- withval="$with_5lib"
+- LIBS="-L/usr/5lib $LIBS"
+- CPPFLAGS="$CPPFLAGS -I/usr/5include"
+-fi;
++if test -n "/lib" ; then
++ for cf_add_libdir in /lib
++ do
++ if test $cf_add_libdir = /usr/lib ; then
++ :
++ elif test -d $cf_add_libdir
++ then
++ cf_have_libdir=no
++ if test -n "$LDFLAGS$LIBS" ; then
++ # a loop is needed to ensure we can add subdirs of existing dirs
++ for cf_test_libdir in $LDFLAGS $LIBS ; do
++ if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
++ cf_have_libdir=yes; break
++ fi
++ done
++ fi
++ if test "$cf_have_libdir" = no ; then
++ test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
+
+-# Check whether --with-ncursesw or --without-ncursesw was given.
+-if test "${with_ncursesw+set}" = set; then
+- withval="$with_ncursesw"
+- cf_cv_screen=ncursesw
+-else
++echo "${as_me:-configure}:5023: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+-# Check whether --with-ncurses or --without-ncurses was given.
+-if test "${with_ncurses+set}" = set; then
+- withval="$with_ncurses"
+- cf_cv_screen=ncurses
+-else
++ LDFLAGS="-L$cf_add_libdir $LDFLAGS"
++ fi
++ fi
++ done
++fi
+
+-# Check whether --with-pdcurses or --without-pdcurses was given.
+-if test "${with_pdcurses+set}" = set; then
+- withval="$with_pdcurses"
+- cf_cv_screen=pdcurses
+-fi;
+-fi;
+-fi;
++ fi
++ ;;
++ *)
+
+-case $cf_cv_screen in
+-curses)
++if test -n "/lib" ; then
++ for cf_add_libdir in /lib
++ do
++ if test $cf_add_libdir = /usr/lib ; then
++ :
++ elif test -d $cf_add_libdir
++ then
++ cf_have_libdir=no
++ if test -n "$LDFLAGS$LIBS" ; then
++ # a loop is needed to ensure we can add subdirs of existing dirs
++ for cf_test_libdir in $LDFLAGS $LIBS ; do
++ if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
++ cf_have_libdir=yes; break
++ fi
++ done
++ fi
++ if test "$cf_have_libdir" = no ; then
++ test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
+
+-echo "$as_me:4801: checking for extra include directories" >&5
+-echo $ECHO_N "checking for extra include directories... $ECHO_C" >&6
+-if test "${cf_cv_curses_incdir+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
++echo "${as_me:-configure}:5054: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+-cf_cv_curses_incdir=no
+-case $host_os in #(vi
+-hpux10.*) #(vi
+- test -d /usr/include/curses_colr && \
+- cf_cv_curses_incdir="-I/usr/include/curses_colr"
++ LDFLAGS="-L$cf_add_libdir $LDFLAGS"
++ fi
++ fi
++ done
++fi
++
++ ;;
++ esac
+ ;;
+ sunos3*|sunos4*)
+- test -d /usr/5lib && \
+- test -d /usr/5include && \
+- cf_cv_curses_incdir="-I/usr/5include"
+- ;;
+-esac
++ if test "x$cf_cv_screen" = "xcurses_5lib"
++ then
++ if test -d /usr/5lib ; then
++
++if test -n "/usr/5lib" ; then
++ for cf_add_libdir in /usr/5lib
++ do
++ if test $cf_add_libdir = /usr/lib ; then
++ :
++ elif test -d $cf_add_libdir
++ then
++ cf_have_libdir=no
++ if test -n "$LDFLAGS$LIBS" ; then
++ # a loop is needed to ensure we can add subdirs of existing dirs
++ for cf_test_libdir in $LDFLAGS $LIBS ; do
++ if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
++ cf_have_libdir=yes; break
++ fi
++ done
++ fi
++ if test "$cf_have_libdir" = no ; then
++ test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
+
++echo "${as_me:-configure}:5089: testing adding $cf_add_libdir to library-path ..." 1>&5
++
++ LDFLAGS="-L$cf_add_libdir $LDFLAGS"
++ fi
++ fi
++ done
+ fi
+-echo "$as_me:4821: result: $cf_cv_curses_incdir" >&5
+-echo "${ECHO_T}$cf_cv_curses_incdir" >&6
+-test "$cf_cv_curses_incdir" != no && CPPFLAGS="$CPPFLAGS $cf_cv_curses_incdir"
+
+-echo "$as_me:4825: checking if we have identified curses headers" >&5
+-echo $ECHO_N "checking if we have identified curses headers... $ECHO_C" >&6
+-if test "${cf_cv_ncurses_header+set}" = set; then
++ LIBS="-lcurses -ltermcap $LIBS"
++ fi
++ fi
++ ac_cv_func_initscr=yes
++ ;;
++esac
++
++if test ".$ac_cv_func_initscr" != .yes ; then
++ cf_save_LIBS="$LIBS"
++
++ if test ".${cf_cv_ncurses_version:-no}" != .no
++ then
++ cf_check_list="ncurses curses cursesX"
++ else
++ cf_check_list="cursesX curses ncurses"
++ fi
++
++ # Check for library containing tgoto. Do this before curses library
++ # because it may be needed to link the test-case for initscr.
++ if test "x$cf_term_lib" = x
++ then
++ echo "$as_me:5118: checking for tgoto" >&5
++echo $ECHO_N "checking for tgoto... $ECHO_C" >&6
++if test "${ac_cv_func_tgoto+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+-
+-cf_cv_ncurses_header=none
+-for cf_header in \
+- curses.h \
+- ncurses.h ncurses/curses.h ncurses/ncurses.h
+-do
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 4837 "configure"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 5124 "configure"
+ #include "confdefs.h"
+-#include <${cf_header}>
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char tgoto (); below. */
++#include <assert.h>
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char tgoto ();
++char (*f) ();
++
+ int
+ main ()
+ {
+-initscr(); tgoto("?", 0,0)
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined (__stub_tgoto) || defined (__stub___tgoto)
++choke me
++#else
++f = tgoto; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
++#endif
++
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:4849: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:5155: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:4852: \$? = $ac_status" >&5
++ echo "$as_me:5158: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:4855: \"$ac_try\"") >&5
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:5161: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4858: \$? = $ac_status" >&5
++ echo "$as_me:5164: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_ncurses_header=$cf_header; break
++ ac_cv_func_tgoto=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
++ac_cv_func_tgoto=no
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-done
+-
+-fi
+-echo "$as_me:4869: result: $cf_cv_ncurses_header" >&5
+-echo "${ECHO_T}$cf_cv_ncurses_header" >&6
+-
+-if test "$cf_cv_ncurses_header" = none ; then
+- { { echo "$as_me:4873: error: No curses header-files found" >&5
+-echo "$as_me: error: No curses header-files found" >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+-
+-# cheat, to get the right #define's for HAVE_NCURSES_H, etc.
+-
+-for ac_header in $cf_cv_ncurses_header
+-do
+-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:4883: checking for $ac_header" >&5
+-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 4889 "configure"
+-#include "confdefs.h"
+-#include <$ac_header>
+-_ACEOF
+-if { (eval echo "$as_me:4893: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+- ac_status=$?
+- egrep -v '^ *\+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:4899: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-if test -z "$ac_cpp_err"; then
+- eval "$as_ac_Header=yes"
++echo "$as_me:5174: result: $ac_cv_func_tgoto" >&5
++echo "${ECHO_T}$ac_cv_func_tgoto" >&6
++if test $ac_cv_func_tgoto = yes; then
++ cf_term_lib=predefined
+ else
+- echo "$as_me: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- eval "$as_ac_Header=no"
+-fi
+-rm -f conftest.err conftest.$ac_ext
+-fi
+-echo "$as_me:4918: result: `eval echo '${'$as_ac_Header'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+- cat >>confdefs.h <<EOF
+-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+-EOF
+-
+-fi
+-done
+
+-echo "$as_me:4928: checking for terminfo header" >&5
+-echo $ECHO_N "checking for terminfo header... $ECHO_C" >&6
+-if test "${cf_cv_term_header+set}" = set; then
++ for cf_term_lib in $cf_check_list otermcap termcap tinfo termlib unknown
++ do
++ as_ac_Lib=`echo "ac_cv_lib_$cf_term_lib''_tgoto" | $as_tr_sh`
++echo "$as_me:5183: checking for tgoto in -l$cf_term_lib" >&5
++echo $ECHO_N "checking for tgoto in -l$cf_term_lib... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Lib+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+-
+-case ${cf_cv_ncurses_header} in #(vi
+-*/ncurses.h|*/ncursesw.h) #(vi
+- cf_term_header=`echo "$cf_cv_ncurses_header" | sed -e 's%ncurses[^.]*\.h$%term.h%'`
+- ;;
+-*)
+- cf_term_header=term.h
+- ;;
+-esac
+-
+-for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h"
+-do
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-l$cf_term_lib $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4946 "configure"
++#line 5191 "configure"
+ #include "confdefs.h"
+-#include <stdio.h>
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-#include <$cf_test>
+
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char tgoto ();
+ int
+ main ()
+ {
+-int x = auto_left_margin
++tgoto ();
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:4961: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:5210: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:4964: \$? = $ac_status" >&5
++ echo "$as_me:5213: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:4967: \"$ac_try\"") >&5
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:5216: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4970: \$? = $ac_status" >&5
++ echo "$as_me:5219: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+-
+- cf_cv_term_header="$cf_test"
++ eval "$as_ac_Lib=yes"
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-
+- cf_cv_term_header=unknown
+-
++eval "$as_ac_Lib=no"
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+- test "$cf_cv_term_header" != unknown && break
+-done
+-
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:5230: result: `eval echo '${'$as_ac_Lib'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
++if test `eval echo '${'$as_ac_Lib'}'` = yes; then
++ break
+ fi
+-echo "$as_me:4986: result: $cf_cv_term_header" >&5
+-echo "${ECHO_T}$cf_cv_term_header" >&6
+-
+-# Set definitions to allow ifdef'ing to accommodate subdirectories
+-
+-case $cf_cv_term_header in # (vi
+-*term.h)
+- cat >>confdefs.h <<\EOF
+-#define HAVE_TERM_H 1
+-EOF
+-
+- ;;
+-esac
+-
+-case $cf_cv_term_header in # (vi
+-ncurses/term.h) #(vi
+- cat >>confdefs.h <<\EOF
+-#define HAVE_NCURSES_TERM_H 1
+-EOF
+-
+- ;;
+-ncursesw/term.h)
+- cat >>confdefs.h <<\EOF
+-#define HAVE_NCURSESW_TERM_H 1
+-EOF
+-
+- ;;
+-esac
+
+-echo "$as_me:5015: checking for ncurses version" >&5
+-echo $ECHO_N "checking for ncurses version... $ECHO_C" >&6
+-if test "${cf_cv_ncurses_version+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
++ done
+
+- cf_cv_ncurses_version=no
+- cf_tempfile=out$$
+- rm -f $cf_tempfile
+- if test "$cross_compiling" = yes; then
++fi
+
+- # This will not work if the preprocessor splits the line after the
+- # Autoconf token. The 'unproto' program does that.
+- cat > conftest.$ac_ext <<EOF
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-#undef Autoconf
+-#ifdef NCURSES_VERSION
+-Autoconf NCURSES_VERSION
+-#else
+-#ifdef __NCURSES_H
+-Autoconf "old"
+-#endif
+-;
+-#endif
+-EOF
+- cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
+- { (eval echo "$as_me:5041: \"$cf_try\"") >&5
+- (eval $cf_try) 2>&5
+- ac_status=$?
+- echo "$as_me:5044: \$? = $ac_status" >&5
+- (exit $ac_status); }
+- if test -f conftest.out ; then
+- cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'`
+- test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
+- rm -f conftest.out
+ fi
+
++ # Check for library containing initscr
++ test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS"
++ if test "x$cf_curs_lib" = x
++ then
++ for cf_curs_lib in $cf_check_list xcurses jcurses pdcurses unknown
++ do
++ as_ac_Lib=`echo "ac_cv_lib_$cf_curs_lib''_initscr" | $as_tr_sh`
++echo "$as_me:5249: checking for initscr in -l$cf_curs_lib" >&5
++echo $ECHO_N "checking for initscr in -l$cf_curs_lib... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Lib+set}\" = set"; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 5054 "configure"
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-l$cf_curs_lib $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 5257 "configure"
+ #include "confdefs.h"
+
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-#include <stdio.h>
+-int main()
+-{
+- FILE *fp = fopen("$cf_tempfile", "w");
+-#ifdef NCURSES_VERSION
+-# ifdef NCURSES_VERSION_PATCH
+- fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH);
+-# else
+- fprintf(fp, "%s\n", NCURSES_VERSION);
+-# endif
+-#else
+-# ifdef __NCURSES_H
+- fprintf(fp, "old\n");
+-# else
+- make an error
+-# endif
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
+ #endif
+- ${cf_cv_main_return:-return}(0);
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char initscr ();
++int
++main ()
++{
++initscr ();
++ ;
++ return 0;
+ }
+ _ACEOF
+-rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:5079: \"$ac_link\"") >&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:5276: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5082: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:5084: \"$ac_try\"") >&5
++ echo "$as_me:5279: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:5282: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5087: \$? = $ac_status" >&5
++ echo "$as_me:5285: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+-
+- cf_cv_ncurses_version=`cat $cf_tempfile`
++ eval "$as_ac_Lib=yes"
+ else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
++ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
++eval "$as_ac_Lib=no"
+ fi
+-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
+ fi
+- rm -f $cf_tempfile
+-
++echo "$as_me:5296: result: `eval echo '${'$as_ac_Lib'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
++if test `eval echo '${'$as_ac_Lib'}'` = yes; then
++ break
+ fi
+-echo "$as_me:5101: result: $cf_cv_ncurses_version" >&5
+-echo "${ECHO_T}$cf_cv_ncurses_version" >&6
+-test "$cf_cv_ncurses_version" = no || cat >>confdefs.h <<\EOF
+-#define NCURSES 1
+-EOF
+
+-echo "$as_me:5107: checking if we have identified curses libraries" >&5
+-echo $ECHO_N "checking if we have identified curses libraries... $ECHO_C" >&6
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 5110 "configure"
++ done
++ fi
++ test $cf_curs_lib = unknown && { { echo "$as_me:5304: error: no curses library found" >&5
++echo "$as_me: error: no curses library found" >&2;}
++ { (exit 1); exit 1; }; }
++
++ LIBS="-l$cf_curs_lib $cf_save_LIBS"
++ if test "$cf_term_lib" = unknown ; then
++ echo "$as_me:5310: checking if we can link with $cf_curs_lib library" >&5
++echo $ECHO_N "checking if we can link with $cf_curs_lib library... $ECHO_C" >&6
++ cat >conftest.$ac_ext <<_ACEOF
++#line 5313 "configure"
+ #include "confdefs.h"
+ #include <${cf_cv_ncurses_header:-curses.h}>
+ int
+ main ()
+ {
+-initscr(); tgoto("?", 0,0)
++initscr()
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5122: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5325: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5125: \$? = $ac_status" >&5
++ echo "$as_me:5328: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5128: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5331: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5131: \$? = $ac_status" >&5
++ echo "$as_me:5334: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_result=yes
+ else
+@@ -5137,919 +5340,720 @@
+ cf_result=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-echo "$as_me:5140: result: $cf_result" >&5
++ echo "$as_me:5343: result: $cf_result" >&5
+ echo "${ECHO_T}$cf_result" >&6
+-
+-if test "$cf_result" = no ; then
+-case $host_os in #(vi
+-freebsd*) #(vi
+- echo "$as_me:5146: checking for tgoto in -lmytinfo" >&5
+-echo $ECHO_N "checking for tgoto in -lmytinfo... $ECHO_C" >&6
+-if test "${ac_cv_lib_mytinfo_tgoto+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lmytinfo $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 5154 "configure"
++ test $cf_result = no && { { echo "$as_me:5345: error: Cannot link curses library" >&5
++echo "$as_me: error: Cannot link curses library" >&2;}
++ { (exit 1); exit 1; }; }
++ elif test "$cf_curs_lib" = "$cf_term_lib" ; then
++ :
++ elif test "$cf_term_lib" != predefined ; then
++ echo "$as_me:5351: checking if we need both $cf_curs_lib and $cf_term_lib libraries" >&5
++echo $ECHO_N "checking if we need both $cf_curs_lib and $cf_term_lib libraries... $ECHO_C" >&6
++ cat >conftest.$ac_ext <<_ACEOF
++#line 5354 "configure"
+ #include "confdefs.h"
+-
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char tgoto ();
++#include <${cf_cv_ncurses_header:-curses.h}>
+ int
+ main ()
+ {
+-tgoto ();
++initscr(); tgoto((char *)0, 0, 0);
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5173: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5366: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5176: \$? = $ac_status" >&5
++ echo "$as_me:5369: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5179: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5372: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5182: \$? = $ac_status" >&5
++ echo "$as_me:5375: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_mytinfo_tgoto=yes
++ cf_result=no
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_mytinfo_tgoto=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:5193: result: $ac_cv_lib_mytinfo_tgoto" >&5
+-echo "${ECHO_T}$ac_cv_lib_mytinfo_tgoto" >&6
+-if test $ac_cv_lib_mytinfo_tgoto = yes; then
+- LIBS="-lmytinfo $LIBS"
+-fi
+
+- ;;
+-hpux10.*) #(vi
+- echo "$as_me:5201: checking for initscr in -lcur_colr" >&5
+-echo $ECHO_N "checking for initscr in -lcur_colr... $ECHO_C" >&6
+-if test "${ac_cv_lib_cur_colr_initscr+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lcur_colr $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 5209 "configure"
++ LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 5384 "configure"
+ #include "confdefs.h"
+-
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char initscr ();
++#include <${cf_cv_ncurses_header:-curses.h}>
+ int
+ main ()
+ {
+-initscr ();
++initscr()
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5228: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5396: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5231: \$? = $ac_status" >&5
++ echo "$as_me:5399: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5234: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5402: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5237: \$? = $ac_status" >&5
++ echo "$as_me:5405: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_cur_colr_initscr=yes
++ cf_result=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_cur_colr_initscr=no
++cf_result=error
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
++
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++ echo "$as_me:5417: result: $cf_result" >&5
++echo "${ECHO_T}$cf_result" >&6
++ fi
++fi
+ fi
+-echo "$as_me:5248: result: $ac_cv_lib_cur_colr_initscr" >&5
+-echo "${ECHO_T}$ac_cv_lib_cur_colr_initscr" >&6
+-if test $ac_cv_lib_cur_colr_initscr = yes; then
+
+- LIBS="-lcur_colr $LIBS"
+- ac_cv_func_initscr=yes
++ ;;
++ncurses) #(vi
+
+-else
++cf_ncuconfig_root=ncurses
+
+- echo "$as_me:5257: checking for initscr in -lHcurses" >&5
+-echo $ECHO_N "checking for initscr in -lHcurses... $ECHO_C" >&6
+-if test "${ac_cv_lib_Hcurses_initscr+set}" = set; then
++echo "Looking for ${cf_ncuconfig_root}-config"
++
++if test -n "$ac_tool_prefix"; then
++ for ac_prog in ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config
++ do
++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
++echo "$as_me:5435: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_NCURSES_CONFIG+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lHcurses $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 5265 "configure"
+-#include "confdefs.h"
++ if test -n "$NCURSES_CONFIG"; then
++ ac_cv_prog_NCURSES_CONFIG="$NCURSES_CONFIG" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_NCURSES_CONFIG="$ac_tool_prefix$ac_prog"
++echo "$as_me:5450: found $ac_dir/$ac_word" >&5
++break
++done
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char initscr ();
+-int
+-main ()
+-{
+-initscr ();
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5284: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:5287: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5290: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:5293: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_Hcurses_initscr=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-ac_cv_lib_Hcurses_initscr=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:5304: result: $ac_cv_lib_Hcurses_initscr" >&5
+-echo "${ECHO_T}$ac_cv_lib_Hcurses_initscr" >&6
+-if test $ac_cv_lib_Hcurses_initscr = yes; then
+-
+- # HP's header uses __HP_CURSES, but user claims _HP_CURSES.
+- LIBS="-lHcurses $LIBS"
+- CPPFLAGS="$CPPFLAGS -D__HP_CURSES -D_HP_CURSES"
+- ac_cv_func_initscr=yes
+-
+ fi
+-
++NCURSES_CONFIG=$ac_cv_prog_NCURSES_CONFIG
++if test -n "$NCURSES_CONFIG"; then
++ echo "$as_me:5458: result: $NCURSES_CONFIG" >&5
++echo "${ECHO_T}$NCURSES_CONFIG" >&6
++else
++ echo "$as_me:5461: result: no" >&5
++echo "${ECHO_T}no" >&6
+ fi
+
+- ;;
+-linux*)
+- case `arch 2>/dev/null` in
+- x86_64)
+- if test -d /lib64
+- then
+-
+-if test -n "/lib64" ; then
+- for cf_add_libdir in /lib64
+- do
+- if test $cf_add_libdir = /usr/lib ; then
+- :
+- elif test -d $cf_add_libdir
+- then
+- cf_have_libdir=no
+- if test -n "$LDFLAGS$LIBS" ; then
+- # a loop is needed to ensure we can add subdirs of existing dirs
+- for cf_test_libdir in $LDFLAGS $LIBS ; do
+- if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
+- cf_have_libdir=yes; break
+- fi
+- done
+- fi
+- if test "$cf_have_libdir" = no ; then
+- test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
+-
+-echo "${as_me:-configure}:5343: testing adding $cf_add_libdir to library-path ..." 1>&5
+-
+- LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+- fi
+- fi
++ test -n "$NCURSES_CONFIG" && break
+ done
+ fi
++if test -z "$NCURSES_CONFIG"; then
++ ac_ct_NCURSES_CONFIG=$NCURSES_CONFIG
++ for ac_prog in ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++echo "$as_me:5474: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_ac_ct_NCURSES_CONFIG+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_NCURSES_CONFIG"; then
++ ac_cv_prog_ac_ct_NCURSES_CONFIG="$ac_ct_NCURSES_CONFIG" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_ac_ct_NCURSES_CONFIG="$ac_prog"
++echo "$as_me:5489: found $ac_dir/$ac_word" >&5
++break
++done
+
+- else
+-
+-if test -n "/lib" ; then
+- for cf_add_libdir in /lib
+- do
+- if test $cf_add_libdir = /usr/lib ; then
+- :
+- elif test -d $cf_add_libdir
+- then
+- cf_have_libdir=no
+- if test -n "$LDFLAGS$LIBS" ; then
+- # a loop is needed to ensure we can add subdirs of existing dirs
+- for cf_test_libdir in $LDFLAGS $LIBS ; do
+- if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
+- cf_have_libdir=yes; break
+- fi
+- done
+- fi
+- if test "$cf_have_libdir" = no ; then
+- test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
+-
+-echo "${as_me:-configure}:5372: testing adding $cf_add_libdir to library-path ..." 1>&5
+-
+- LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+- fi
+- fi
+- done
+ fi
+-
+- fi
+- ;;
+- *)
+-
+-if test -n "/lib" ; then
+- for cf_add_libdir in /lib
+- do
+- if test $cf_add_libdir = /usr/lib ; then
+- :
+- elif test -d $cf_add_libdir
+- then
+- cf_have_libdir=no
+- if test -n "$LDFLAGS$LIBS" ; then
+- # a loop is needed to ensure we can add subdirs of existing dirs
+- for cf_test_libdir in $LDFLAGS $LIBS ; do
+- if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
+- cf_have_libdir=yes; break
+- fi
+- done
+- fi
+- if test "$cf_have_libdir" = no ; then
+- test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
+-
+-echo "${as_me:-configure}:5403: testing adding $cf_add_libdir to library-path ..." 1>&5
+-
+- LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+- fi
+- fi
+- done
++fi
++ac_ct_NCURSES_CONFIG=$ac_cv_prog_ac_ct_NCURSES_CONFIG
++if test -n "$ac_ct_NCURSES_CONFIG"; then
++ echo "$as_me:5497: result: $ac_ct_NCURSES_CONFIG" >&5
++echo "${ECHO_T}$ac_ct_NCURSES_CONFIG" >&6
++else
++ echo "$as_me:5500: result: no" >&5
++echo "${ECHO_T}no" >&6
+ fi
+
+- ;;
+- esac
+- ;;
+-sunos3*|sunos4*)
+- if test -d /usr/5lib ; then
+-
+-if test -n "/usr/5lib" ; then
+- for cf_add_libdir in /usr/5lib
+- do
+- if test $cf_add_libdir = /usr/lib ; then
+- :
+- elif test -d $cf_add_libdir
+- then
+- cf_have_libdir=no
+- if test -n "$LDFLAGS$LIBS" ; then
+- # a loop is needed to ensure we can add subdirs of existing dirs
+- for cf_test_libdir in $LDFLAGS $LIBS ; do
+- if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
+- cf_have_libdir=yes; break
+- fi
+- done
+- fi
+- if test "$cf_have_libdir" = no ; then
+- test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
+-
+-echo "${as_me:-configure}:5436: testing adding $cf_add_libdir to library-path ..." 1>&5
++ test -n "$ac_ct_NCURSES_CONFIG" && break
++done
++test -n "$ac_ct_NCURSES_CONFIG" || ac_ct_NCURSES_CONFIG="none"
+
+- LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+- fi
+- fi
+- done
++ NCURSES_CONFIG=$ac_ct_NCURSES_CONFIG
+ fi
+
+- LIBS="-lcurses -ltermcap $LIBS"
+- fi
+- ac_cv_func_initscr=yes
+- ;;
+-esac
++if test "$NCURSES_CONFIG" != none ; then
+
+-if test ".$ac_cv_func_initscr" != .yes ; then
+- cf_save_LIBS="$LIBS"
+- cf_term_lib=""
+- cf_curs_lib=""
++CPPFLAGS="$CPPFLAGS `$NCURSES_CONFIG --cflags`"
++LIBS="`$NCURSES_CONFIG --libs` $LIBS"
+
+- if test ".${cf_cv_ncurses_version:-no}" != .no
+- then
+- cf_check_list="ncurses curses cursesX"
+- else
+- cf_check_list="cursesX curses ncurses"
+- fi
++# even with config script, some packages use no-override for curses.h
+
+- # Check for library containing tgoto. Do this before curses library
+- # because it may be needed to link the test-case for initscr.
+- echo "$as_me:5464: checking for tgoto" >&5
+-echo $ECHO_N "checking for tgoto... $ECHO_C" >&6
+-if test "${ac_cv_func_tgoto+set}" = set; then
++echo "$as_me:5518: checking if we have identified curses headers" >&5
++echo $ECHO_N "checking if we have identified curses headers... $ECHO_C" >&6
++if test "${cf_cv_ncurses_header+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 5470 "configure"
+-#include "confdefs.h"
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char tgoto (); below. */
+-#include <assert.h>
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char tgoto ();
+-char (*f) ();
+
++cf_cv_ncurses_header=none
++for cf_header in \
++ ncurses/ncurses.h \
++ ncurses/curses.h \
++ ncurses.h \
++ curses.h
++do
++cat >conftest.$ac_ext <<_ACEOF
++#line 5532 "configure"
++#include "confdefs.h"
++#include <${cf_header}>
+ int
+ main ()
+ {
+-/* The GNU C library defines this for functions which it implements
+- to always fail with ENOSYS. Some functions are actually named
+- something starting with __ and the normal name is an alias. */
+-#if defined (__stub_tgoto) || defined (__stub___tgoto)
+-choke me
+-#else
+-f = tgoto;
+-#endif
+-
++initscr(); tgoto("?", 0,0)
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5501: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:5544: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5504: \$? = $ac_status" >&5
++ echo "$as_me:5547: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5507: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:5550: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5510: \$? = $ac_status" >&5
++ echo "$as_me:5553: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_func_tgoto=yes
++ cf_cv_ncurses_header=$cf_header; break
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_func_tgoto=no
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++rm -f conftest.$ac_objext conftest.$ac_ext
++done
++
+ fi
+-echo "$as_me:5520: result: $ac_cv_func_tgoto" >&5
+-echo "${ECHO_T}$ac_cv_func_tgoto" >&6
+-if test $ac_cv_func_tgoto = yes; then
+- cf_term_lib=predefined
+-else
++echo "$as_me:5564: result: $cf_cv_ncurses_header" >&5
++echo "${ECHO_T}$cf_cv_ncurses_header" >&6
+
+- for cf_term_lib in $cf_check_list termcap termlib unknown
+- do
+- as_ac_Lib=`echo "ac_cv_lib_$cf_term_lib''_tgoto" | $as_tr_sh`
+-echo "$as_me:5529: checking for tgoto in -l$cf_term_lib" >&5
+-echo $ECHO_N "checking for tgoto in -l$cf_term_lib... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Lib+set}\" = set"; then
++if test "$cf_cv_ncurses_header" = none ; then
++ { { echo "$as_me:5568: error: No curses header-files found" >&5
++echo "$as_me: error: No curses header-files found" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++# cheat, to get the right #define's for HAVE_NCURSES_H, etc.
++
++for ac_header in $cf_cv_ncurses_header
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++echo "$as_me:5578: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-l$cf_term_lib $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 5537 "configure"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 5584 "configure"
+ #include "confdefs.h"
+-
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char tgoto ();
+-int
+-main ()
+-{
+-tgoto ();
+- ;
+- return 0;
+-}
++#include <$ac_header>
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5556: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:5559: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5562: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
++if { (eval echo "$as_me:5588: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+- echo "$as_me:5565: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- eval "$as_ac_Lib=yes"
++ egrep -v '^ *\+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:5594: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++ eval "$as_ac_Header=yes"
+ else
+ echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-eval "$as_ac_Lib=no"
++ cat conftest.$ac_ext >&5
++ eval "$as_ac_Header=no"
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
++rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:5576: result: `eval echo '${'$as_ac_Lib'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
+-if test `eval echo '${'$as_ac_Lib'}'` = yes; then
+- break
++echo "$as_me:5613: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<EOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++EOF
++
+ fi
++done
+
+- done
++cat >>confdefs.h <<\EOF
++#define NCURSES 1
++EOF
+
+-fi
++cf_nculib_ROOT=`echo "HAVE_LIB$cf_ncuconfig_root" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+
+- # Check for library containing initscr
+- test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS"
+- for cf_curs_lib in $cf_check_list xcurses jcurses pdcurses unknown
+- do
+- as_ac_Lib=`echo "ac_cv_lib_$cf_curs_lib''_initscr" | $as_tr_sh`
+-echo "$as_me:5591: checking for initscr in -l$cf_curs_lib" >&5
+-echo $ECHO_N "checking for initscr in -l$cf_curs_lib... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Lib+set}\" = set"; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-l$cf_curs_lib $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 5599 "configure"
+-#include "confdefs.h"
++cat >>confdefs.h <<EOF
++#define $cf_nculib_ROOT 1
++EOF
++
++cf_cv_ncurses_version=`$NCURSES_CONFIG --version`
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char initscr ();
+-int
+-main ()
+-{
+-initscr ();
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5618: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:5621: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5624: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:5627: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- eval "$as_ac_Lib=yes"
+ else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-eval "$as_ac_Lib=no"
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:5638: result: `eval echo '${'$as_ac_Lib'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
+-if test `eval echo '${'$as_ac_Lib'}'` = yes; then
+- break
+-fi
+
+- done
+- test $cf_curs_lib = unknown && { { echo "$as_me:5645: error: no curses library found" >&5
+-echo "$as_me: error: no curses library found" >&2;}
+- { (exit 1); exit 1; }; }
++cf_ncuhdr_root=ncurses
+
+- LIBS="-l$cf_curs_lib $cf_save_LIBS"
+- if test "$cf_term_lib" = unknown ; then
+- echo "$as_me:5651: checking if we can link with $cf_curs_lib library" >&5
+-echo $ECHO_N "checking if we can link with $cf_curs_lib library... $ECHO_C" >&6
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 5654 "configure"
+-#include "confdefs.h"
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-int
+-main ()
+-{
+-initscr()
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5666: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:5669: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5672: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:5675: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- cf_result=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-cf_result=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+- echo "$as_me:5684: result: $cf_result" >&5
+-echo "${ECHO_T}$cf_result" >&6
+- test $cf_result = no && { { echo "$as_me:5686: error: Cannot link curses library" >&5
+-echo "$as_me: error: Cannot link curses library" >&2;}
+- { (exit 1); exit 1; }; }
+- elif test "$cf_curs_lib" = "$cf_term_lib" ; then
+- :
+- elif test "$cf_term_lib" != predefined ; then
+- echo "$as_me:5692: checking if we need both $cf_curs_lib and $cf_term_lib libraries" >&5
+-echo $ECHO_N "checking if we need both $cf_curs_lib and $cf_term_lib libraries... $ECHO_C" >&6
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 5695 "configure"
+-#include "confdefs.h"
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-int
+-main ()
+-{
+-initscr(); tgoto((char *)0, 0, 0);
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5707: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:5710: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5713: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:5716: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- cf_result=no
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
++test -n "$cf_cv_curses_dir" && \
++test "$cf_cv_curses_dir" != "no" && { \
+
+- LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 5725 "configure"
++if test -n "$cf_cv_curses_dir/include/$cf_ncuhdr_root" ; then
++ for cf_add_incdir in $cf_cv_curses_dir/include/$cf_ncuhdr_root
++ do
++ while test $cf_add_incdir != /usr/include
++ do
++ if test -d $cf_add_incdir
++ then
++ cf_have_incdir=no
++ if test -n "$CFLAGS$CPPFLAGS" ; then
++ # a loop is needed to ensure we can add subdirs of existing dirs
++ for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
++ if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
++ cf_have_incdir=yes; break
++ fi
++ done
++ fi
++
++ if test "$cf_have_incdir" = no ; then
++ if test "$cf_add_incdir" = /usr/local/include ; then
++ if test "$GCC" = yes
++ then
++ cf_save_CPPFLAGS=$CPPFLAGS
++ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 5666 "configure"
+ #include "confdefs.h"
+-#include <${cf_cv_ncurses_header:-curses.h}>
++#include <stdio.h>
+ int
+ main ()
+ {
+-initscr()
++printf("Hello")
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5737: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:5678: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5740: \$? = $ac_status" >&5
++ echo "$as_me:5681: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5743: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:5684: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5746: \$? = $ac_status" >&5
++ echo "$as_me:5687: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_result=yes
++ :
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_result=error
++cf_have_incdir=yes
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CPPFLAGS=$cf_save_CPPFLAGS
++ fi
++ fi
++ fi
+
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+- echo "$as_me:5758: result: $cf_result" >&5
+-echo "${ECHO_T}$cf_result" >&6
+- fi
+-fi
++ if test "$cf_have_incdir" = no ; then
++ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
++
++echo "${as_me:-configure}:5704: testing adding $cf_add_incdir to include-path ..." 1>&5
++
++ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
++
++ cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
++ test "$cf_top_incdir" = "$cf_add_incdir" && break
++ cf_add_incdir="$cf_top_incdir"
++ else
++ break
++ fi
++ fi
++ done
++ done
+ fi
+
+-echo "$as_me:5764: checking for NetBSD form.h" >&5
+-echo $ECHO_N "checking for NetBSD form.h... $ECHO_C" >&6
+-if test "${cf_cv_netbsd_form_h+set}" = set; then
++}
++
++echo "$as_me:5721: checking for $cf_ncuhdr_root header in include-path" >&5
++echo $ECHO_N "checking for $cf_ncuhdr_root header in include-path... $ECHO_C" >&6
++if test "${cf_cv_ncurses_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 5771 "configure"
+-#include "confdefs.h"
++ cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h"
++ ( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h"
++ for cf_header in $cf_header_list
++ do
+
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-#include <form.h>
++ cat >conftest.$ac_ext <<_ACEOF
++#line 5733 "configure"
++#include "confdefs.h"
+
++#include <$cf_header>
+ int
+ main ()
+ {
+
+- FORM *form;
+- int y = current_field(form)->cursor_ypos;
+- int x = current_field(form)->cursor_xpos;
++#ifdef NCURSES_VERSION
++
++printf("%s\n", NCURSES_VERSION);
++#else
++#ifdef __NCURSES_H
++printf("old\n");
++#else
++ make an error
++#endif
++#endif
+
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:5790: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:5757: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5793: \$? = $ac_status" >&5
++ echo "$as_me:5760: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:5796: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5763: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5799: \$? = $ac_status" >&5
++ echo "$as_me:5766: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_netbsd_form_h=yes
++ cf_cv_ncurses_h=$cf_header
+
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_netbsd_form_h=no
++cf_cv_ncurses_h=no
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+
++ test "$cf_cv_ncurses_h" != no && break
++ done
++
+ fi
+-echo "$as_me:5811: result: $cf_cv_netbsd_form_h" >&5
+-echo "${ECHO_T}$cf_cv_netbsd_form_h" >&6
++echo "$as_me:5781: result: $cf_cv_ncurses_h" >&5
++echo "${ECHO_T}$cf_cv_ncurses_h" >&6
+
+-test "$cf_cv_netbsd_form_h" = yes && cat >>confdefs.h <<\EOF
+-#define HAVE_NETBSD_FORM_H 1
+-EOF
++if test "$cf_cv_ncurses_h" != no ; then
++ cf_cv_ncurses_header=$cf_cv_ncurses_h
++else
+
+-echo "$as_me:5818: checking for NetBSD menu.h" >&5
+-echo $ECHO_N "checking for NetBSD menu.h... $ECHO_C" >&6
+-if test "${cf_cv_netbsd_menu_h+set}" = set; then
++echo "$as_me:5788: checking for $cf_ncuhdr_root include-path" >&5
++echo $ECHO_N "checking for $cf_ncuhdr_root include-path... $ECHO_C" >&6
++if test "${cf_cv_ncurses_h2+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 5825 "configure"
+-#include "confdefs.h"
++ test -n "$verbose" && echo
+
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-#include <menu.h>
++cf_search=
++
++# collect the current set of include-directories from compiler flags
++cf_header_path_list=""
++if test -n "${CFLAGS}${CPPFLAGS}" ; then
++ for cf_header_path in $CPPFLAGS $CFLAGS
++ do
++ case $cf_header_path in #(vi
++ -I*)
++ cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'`
++
++test "$cf_header_path" != "NONE" && \
++test -d "$cf_header_path" && \
++ {
++ test -n "$verbose" && echo " ... testing for include-directories under $cf_header_path"
++ test -d $cf_header_path/include && cf_search="$cf_search $cf_header_path/include"
++ test -d $cf_header_path/include/$cf_ncuhdr_root && cf_search="$cf_search $cf_header_path/include/$cf_ncuhdr_root"
++ test -d $cf_header_path/include/$cf_ncuhdr_root/include && cf_search="$cf_search $cf_header_path/include/$cf_ncuhdr_root/include"
++ test -d $cf_header_path/$cf_ncuhdr_root/include && cf_search="$cf_search $cf_header_path/$cf_ncuhdr_root/include"
++ test -d $cf_header_path/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search $cf_header_path/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
++}
++
++ cf_header_path_list="$cf_header_path_list $cf_search"
++ ;;
++ esac
++ done
++fi
++
++# add the variations for the package we are looking for
++
++cf_search=
++
++test "/usr" != "$prefix" && \
++test -d "/usr" && \
++(test $prefix = NONE || test "/usr" != "$prefix") && {
++ test -n "$verbose" && echo " ... testing for include-directories under /usr"
++ test -d /usr/include && cf_search="$cf_search /usr/include"
++ test -d /usr/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/include/$cf_ncuhdr_root"
++ test -d /usr/include/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/include/$cf_ncuhdr_root/include"
++ test -d /usr/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/$cf_ncuhdr_root/include"
++ test -d /usr/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
++}
++
++test "$prefix" != "NONE" && \
++test -d "$prefix" && \
++ {
++ test -n "$verbose" && echo " ... testing for include-directories under $prefix"
++ test -d $prefix/include && cf_search="$cf_search $prefix/include"
++ test -d $prefix/include/$cf_ncuhdr_root && cf_search="$cf_search $prefix/include/$cf_ncuhdr_root"
++ test -d $prefix/include/$cf_ncuhdr_root/include && cf_search="$cf_search $prefix/include/$cf_ncuhdr_root/include"
++ test -d $prefix/$cf_ncuhdr_root/include && cf_search="$cf_search $prefix/$cf_ncuhdr_root/include"
++ test -d $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
++}
++
++test "/usr/local" != "$prefix" && \
++test -d "/usr/local" && \
++(test $prefix = NONE || test "/usr/local" != "$prefix") && {
++ test -n "$verbose" && echo " ... testing for include-directories under /usr/local"
++ test -d /usr/local/include && cf_search="$cf_search /usr/local/include"
++ test -d /usr/local/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root"
++ test -d /usr/local/include/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root/include"
++ test -d /usr/local/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include"
++ test -d /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
++}
++
++test "/opt" != "$prefix" && \
++test -d "/opt" && \
++(test $prefix = NONE || test "/opt" != "$prefix") && {
++ test -n "$verbose" && echo " ... testing for include-directories under /opt"
++ test -d /opt/include && cf_search="$cf_search /opt/include"
++ test -d /opt/include/$cf_ncuhdr_root && cf_search="$cf_search /opt/include/$cf_ncuhdr_root"
++ test -d /opt/include/$cf_ncuhdr_root/include && cf_search="$cf_search /opt/include/$cf_ncuhdr_root/include"
++ test -d /opt/$cf_ncuhdr_root/include && cf_search="$cf_search /opt/$cf_ncuhdr_root/include"
++ test -d /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
++}
++
++test "$HOME" != "$prefix" && \
++test -d "$HOME" && \
++(test $prefix = NONE || test "$HOME" != "$prefix") && {
++ test -n "$verbose" && echo " ... testing for include-directories under $HOME"
++ test -d $HOME/include && cf_search="$cf_search $HOME/include"
++ test -d $HOME/include/$cf_ncuhdr_root && cf_search="$cf_search $HOME/include/$cf_ncuhdr_root"
++ test -d $HOME/include/$cf_ncuhdr_root/include && cf_search="$cf_search $HOME/include/$cf_ncuhdr_root/include"
++ test -d $HOME/$cf_ncuhdr_root/include && cf_search="$cf_search $HOME/$cf_ncuhdr_root/include"
++ test -d $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
++}
++
++test "$includedir" != NONE && \
++test "$includedir" != "/usr/include" && \
++test -d "$includedir" && {
++ test -d $includedir && cf_search="$cf_search $includedir"
++ test -d $includedir/$cf_ncuhdr_root && cf_search="$cf_search $includedir/$cf_ncuhdr_root"
++}
++
++test "$oldincludedir" != NONE && \
++test "$oldincludedir" != "/usr/include" && \
++test -d "$oldincludedir" && {
++ test -d $oldincludedir && cf_search="$cf_search $oldincludedir"
++ test -d $oldincludedir/$cf_ncuhdr_root && cf_search="$cf_search $oldincludedir/$cf_ncuhdr_root"
++}
++
++cf_search="$cf_search $cf_header_path_list"
++
++ test -n "$verbose" && echo search path $cf_search
++ cf_save2_CPPFLAGS="$CPPFLAGS"
++ for cf_incdir in $cf_search
++ do
+
++if test -n "$cf_incdir" ; then
++ for cf_add_incdir in $cf_incdir
++ do
++ while test $cf_add_incdir != /usr/include
++ do
++ if test -d $cf_add_incdir
++ then
++ cf_have_incdir=no
++ if test -n "$CFLAGS$CPPFLAGS" ; then
++ # a loop is needed to ensure we can add subdirs of existing dirs
++ for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
++ if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
++ cf_have_incdir=yes; break
++ fi
++ done
++ fi
++
++ if test "$cf_have_incdir" = no ; then
++ if test "$cf_add_incdir" = /usr/local/include ; then
++ if test "$GCC" = yes
++ then
++ cf_save_CPPFLAGS=$CPPFLAGS
++ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 5928 "configure"
++#include "confdefs.h"
++#include <stdio.h>
+ int
+ main ()
+ {
+-
+- MENU *menu;
+- int y = menu->max_item_width;
+-
++printf("Hello")
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:5843: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:5940: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5846: \$? = $ac_status" >&5
++ echo "$as_me:5943: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:5849: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5946: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5852: \$? = $ac_status" >&5
++ echo "$as_me:5949: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_netbsd_menu_h=yes
+-
++ :
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_netbsd_menu_h=no
++cf_have_incdir=yes
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
++ CPPFLAGS=$cf_save_CPPFLAGS
++ fi
++ fi
++ fi
+
+-fi
+-echo "$as_me:5864: result: $cf_cv_netbsd_menu_h" >&5
+-echo "${ECHO_T}$cf_cv_netbsd_menu_h" >&6
+-
+-test "$cf_cv_netbsd_menu_h" = yes && cat >>confdefs.h <<\EOF
+-#define HAVE_NETBSD_MENU_H 1
+-EOF
+-
+- ;;
+-ncurses)
+-
+-cf_ncuconfig_root=ncurses
++ if test "$cf_have_incdir" = no ; then
++ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-echo "Looking for ${cf_ncuconfig_root}-config"
+-for ac_prog in ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config
+-do
+- # Extract the first word of "$ac_prog", so it can be a program name with args.
+-set dummy $ac_prog; ac_word=$2
+-echo "$as_me:5881: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_path_NCURSES_CONFIG+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- case $NCURSES_CONFIG in
+- [\\/]* | ?:[\\/]*)
+- ac_cv_path_NCURSES_CONFIG="$NCURSES_CONFIG" # Let the user override the test with a path.
+- ;;
+- *)
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- if $as_executable_p "$ac_dir/$ac_word"; then
+- ac_cv_path_NCURSES_CONFIG="$ac_dir/$ac_word"
+- echo "$as_me:5898: found $ac_dir/$ac_word" >&5
+- break
+-fi
+-done
++echo "${as_me:-configure}:5966: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+- ;;
+-esac
+-fi
+-NCURSES_CONFIG=$ac_cv_path_NCURSES_CONFIG
++ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+-if test -n "$NCURSES_CONFIG"; then
+- echo "$as_me:5909: result: $NCURSES_CONFIG" >&5
+-echo "${ECHO_T}$NCURSES_CONFIG" >&6
+-else
+- echo "$as_me:5912: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
++ test "$cf_top_incdir" = "$cf_add_incdir" && break
++ cf_add_incdir="$cf_top_incdir"
++ else
++ break
++ fi
++ fi
++ done
++ done
+ fi
+
+- test -n "$NCURSES_CONFIG" && break
+-done
+-test -n "$NCURSES_CONFIG" || NCURSES_CONFIG="none"
+-
+-if test "$NCURSES_CONFIG" != none ; then
+-
+-CPPFLAGS="$CPPFLAGS `$NCURSES_CONFIG --cflags`"
+-LIBS="`$NCURSES_CONFIG --libs` $LIBS"
+-
+-# even with config script, some packages use no-override for curses.h
+-
+-echo "$as_me:5927: checking if we have identified curses headers" >&5
+-echo $ECHO_N "checking if we have identified curses headers... $ECHO_C" >&6
+-if test "${cf_cv_ncurses_header+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
++ for cf_header in \
++ ncurses.h \
++ curses.h
++ do
+
+-cf_cv_ncurses_header=none
+-for cf_header in \
+- ncurses/curses.h \
+- ncurses/ncurses.h \
+- curses.h \
+- ncurses.h
+-do
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 5941 "configure"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 5987 "configure"
+ #include "confdefs.h"
+-#include <${cf_header}>
++
++#include <$cf_header>
+ int
+ main ()
+ {
+-initscr(); tgoto("?", 0,0)
++
++#ifdef NCURSES_VERSION
++
++printf("%s\n", NCURSES_VERSION);
++#else
++#ifdef __NCURSES_H
++printf("old\n");
++#else
++ make an error
++#endif
++#endif
++
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:5953: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:6011: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5956: \$? = $ac_status" >&5
++ echo "$as_me:6014: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:5959: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6017: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5962: \$? = $ac_status" >&5
++ echo "$as_me:6020: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_ncurses_header=$cf_header; break
++ cf_cv_ncurses_h2=$cf_header
++
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
++cf_cv_ncurses_h2=no
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+-done
+-
+-fi
+-echo "$as_me:5973: result: $cf_cv_ncurses_header" >&5
+-echo "${ECHO_T}$cf_cv_ncurses_header" >&6
+
+-if test "$cf_cv_ncurses_header" = none ; then
+- { { echo "$as_me:5977: error: No curses header-files found" >&5
+-echo "$as_me: error: No curses header-files found" >&2;}
++ if test "$cf_cv_ncurses_h2" != no ; then
++ cf_cv_ncurses_h2=$cf_incdir/$cf_header
++ test -n "$verbose" && echo $ac_n " ... found $ac_c" 1>&6
++ break
++ fi
++ test -n "$verbose" && echo " ... tested $cf_incdir/$cf_header" 1>&6
++ done
++ CPPFLAGS="$cf_save2_CPPFLAGS"
++ test "$cf_cv_ncurses_h2" != no && break
++ done
++ test "$cf_cv_ncurses_h2" = no && { { echo "$as_me:6041: error: not found" >&5
++echo "$as_me: error: not found" >&2;}
+ { (exit 1); exit 1; }; }
+-fi
+-
+-# cheat, to get the right #define's for HAVE_NCURSES_H, etc.
+-
+-for ac_header in $cf_cv_ncurses_header
+-do
+-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:5987: checking for $ac_header" >&5
+-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 5993 "configure"
+-#include "confdefs.h"
+-#include <$ac_header>
+-_ACEOF
+-if { (eval echo "$as_me:5997: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+- ac_status=$?
+- egrep -v '^ *\+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:6003: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- eval "$as_ac_Header=yes"
+-else
+- echo "$as_me: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- eval "$as_ac_Header=no"
+-fi
+-rm -f conftest.err conftest.$ac_ext
+-fi
+-echo "$as_me:6022: result: `eval echo '${'$as_ac_Header'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+- cat >>confdefs.h <<EOF
+-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+-EOF
+
+ fi
+-done
+-
+-cat >>confdefs.h <<\EOF
+-#define NCURSES 1
+-EOF
+-
+-cf_nculib_ROOT=`echo "HAVE_LIB$cf_ncuconfig_root" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+-
+-cat >>confdefs.h <<EOF
+-#define $cf_nculib_ROOT 1
+-EOF
+-
+-cf_cv_ncurses_version=`$NCURSES_CONFIG --version`
+-
+-else
+-
+-cf_ncuhdr_root=ncurses
++echo "$as_me:6046: result: $cf_cv_ncurses_h2" >&5
++echo "${ECHO_T}$cf_cv_ncurses_h2" >&6
+
+-test -n "$cf_cv_curses_dir" && \
+-test "$cf_cv_curses_dir" != "no" && { \
++ cf_1st_incdir=`echo $cf_cv_ncurses_h2 | sed -e 's%/[^/]*$%%'`
++ cf_cv_ncurses_header=`basename $cf_cv_ncurses_h2`
++ if test `basename $cf_1st_incdir` = $cf_ncuhdr_root ; then
++ cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header
++ fi
+
+-if test -n "$cf_cv_curses_dir/include/$cf_ncuhdr_root" ; then
+- for cf_add_incdir in $cf_cv_curses_dir/include/$cf_ncuhdr_root
++if test -n "$cf_1st_incdir" ; then
++ for cf_add_incdir in $cf_1st_incdir
+ do
+ while test $cf_add_incdir != /usr/include
+ do
+@@ -6072,7 +6076,7 @@
+ cf_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6075 "configure"
++#line 6079 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -6084,16 +6088,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:6087: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:6091: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:6090: \$? = $ac_status" >&5
++ echo "$as_me:6094: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:6093: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6097: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6096: \$? = $ac_status" >&5
++ echo "$as_me:6100: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -6110,7 +6114,7 @@
+ if test "$cf_have_incdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-echo "${as_me:-configure}:6113: testing adding $cf_add_incdir to include-path ..." 1>&5
++echo "${as_me:-configure}:6117: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+@@ -6125,1586 +6129,1504 @@
+ done
+ fi
+
+-}
++fi
+
+-echo "$as_me:6130: checking for $cf_ncuhdr_root header in include-path" >&5
+-echo $ECHO_N "checking for $cf_ncuhdr_root header in include-path... $ECHO_C" >&6
+-if test "${cf_cv_ncurses_h+set}" = set; then
++# Set definitions to allow ifdef'ing for ncurses.h
++
++case $cf_cv_ncurses_header in # (vi
++*ncurses.h)
++
++cat >>confdefs.h <<\EOF
++#define HAVE_NCURSES_H 1
++EOF
++
++ ;;
++esac
++
++case $cf_cv_ncurses_header in # (vi
++ncurses/curses.h|ncurses/ncurses.h)
++
++cat >>confdefs.h <<\EOF
++#define HAVE_NCURSES_NCURSES_H 1
++EOF
++
++ ;;
++ncursesw/curses.h|ncursesw/ncurses.h)
++
++cat >>confdefs.h <<\EOF
++#define HAVE_NCURSESW_NCURSES_H 1
++EOF
++
++ ;;
++esac
++
++echo "$as_me:6163: checking for terminfo header" >&5
++echo $ECHO_N "checking for terminfo header... $ECHO_C" >&6
++if test "${cf_cv_term_header+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+- cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h"
+- ( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h"
+- for cf_header in $cf_header_list
+- do
++case ${cf_cv_ncurses_header} in #(vi
++*/ncurses.h|*/ncursesw.h) #(vi
++ cf_term_header=`echo "$cf_cv_ncurses_header" | sed -e 's%ncurses[^.]*\.h$%term.h%'`
++ ;;
++*)
++ cf_term_header=term.h
++ ;;
++esac
+
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 6142 "configure"
++for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h"
++do
++cat >conftest.$ac_ext <<_ACEOF
++#line 6181 "configure"
+ #include "confdefs.h"
++#include <stdio.h>
++#include <${cf_cv_ncurses_header:-curses.h}>
++#include <$cf_test>
+
+-#include <$cf_header>
+ int
+ main ()
+ {
+-
+-#ifdef NCURSES_VERSION
+-
+-printf("%s\n", NCURSES_VERSION);
+-#else
+-#ifdef __NCURSES_H
+-printf("old\n");
+-#else
+- make an error
+-#endif
+-#endif
+-
++int x = auto_left_margin
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:6166: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:6196: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:6169: \$? = $ac_status" >&5
++ echo "$as_me:6199: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:6172: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6202: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6175: \$? = $ac_status" >&5
++ echo "$as_me:6205: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_ncurses_h=$cf_header
+
++ cf_cv_term_header="$cf_test"
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_ncurses_h=no
++
++ cf_cv_term_header=unknown
++
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+-
+- test "$cf_cv_ncurses_h" != no && break
+- done
++ test "$cf_cv_term_header" != unknown && break
++done
+
+ fi
+-echo "$as_me:6190: result: $cf_cv_ncurses_h" >&5
+-echo "${ECHO_T}$cf_cv_ncurses_h" >&6
++echo "$as_me:6221: result: $cf_cv_term_header" >&5
++echo "${ECHO_T}$cf_cv_term_header" >&6
+
+-if test "$cf_cv_ncurses_h" != no ; then
+- cf_cv_ncurses_header=$cf_cv_ncurses_h
+-else
++# Set definitions to allow ifdef'ing to accommodate subdirectories
+
+-echo "$as_me:6197: checking for $cf_ncuhdr_root include-path" >&5
+-echo $ECHO_N "checking for $cf_ncuhdr_root include-path... $ECHO_C" >&6
+-if test "${cf_cv_ncurses_h2+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
++case $cf_cv_term_header in # (vi
++*term.h)
+
+- test -n "$verbose" && echo
++cat >>confdefs.h <<\EOF
++#define HAVE_TERM_H 1
++EOF
+
+-cf_search=
++ ;;
++esac
+
+-# collect the current set of include-directories from compiler flags
+-cf_header_path_list=""
+-if test -n "${CFLAGS}${CPPFLAGS}" ; then
+- for cf_header_path in $CPPFLAGS $CFLAGS
+- do
+- case $cf_header_path in #(vi
+- -I*)
+- cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'`
++case $cf_cv_term_header in # (vi
++ncurses/term.h) #(vi
+
+-test "$cf_header_path" != "NONE" && \
+-test -d "$cf_header_path" && \
+- {
+- test -n "$verbose" && echo " ... testing for include-directories under $cf_header_path"
+- test -d $cf_header_path/include && cf_search="$cf_search $cf_header_path/include"
+- test -d $cf_header_path/include/$cf_ncuhdr_root && cf_search="$cf_search $cf_header_path/include/$cf_ncuhdr_root"
+- test -d $cf_header_path/include/$cf_ncuhdr_root/include && cf_search="$cf_search $cf_header_path/include/$cf_ncuhdr_root/include"
+- test -d $cf_header_path/$cf_ncuhdr_root/include && cf_search="$cf_search $cf_header_path/$cf_ncuhdr_root/include"
+- test -d $cf_header_path/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search $cf_header_path/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
+-}
++cat >>confdefs.h <<\EOF
++#define HAVE_NCURSES_TERM_H 1
++EOF
+
+- cf_header_path_list="$cf_header_path_list $cf_search"
+- ;;
+- esac
+- done
+-fi
++ ;;
++ncursesw/term.h)
+
+-# add the variations for the package we are looking for
++cat >>confdefs.h <<\EOF
++#define HAVE_NCURSESW_TERM_H 1
++EOF
+
+-cf_search=
++ ;;
++esac
+
+-test "/usr" != "$prefix" && \
+-test -d "/usr" && \
+-(test $prefix = NONE || test "/usr" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for include-directories under /usr"
+- test -d /usr/include && cf_search="$cf_search /usr/include"
+- test -d /usr/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/include/$cf_ncuhdr_root"
+- test -d /usr/include/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/include/$cf_ncuhdr_root/include"
+- test -d /usr/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/$cf_ncuhdr_root/include"
+- test -d /usr/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
+-}
++# some applications need this, but should check for NCURSES_VERSION
+
+-test "$prefix" != "NONE" && \
+-test -d "$prefix" && \
+- {
+- test -n "$verbose" && echo " ... testing for include-directories under $prefix"
+- test -d $prefix/include && cf_search="$cf_search $prefix/include"
+- test -d $prefix/include/$cf_ncuhdr_root && cf_search="$cf_search $prefix/include/$cf_ncuhdr_root"
+- test -d $prefix/include/$cf_ncuhdr_root/include && cf_search="$cf_search $prefix/include/$cf_ncuhdr_root/include"
+- test -d $prefix/$cf_ncuhdr_root/include && cf_search="$cf_search $prefix/$cf_ncuhdr_root/include"
+- test -d $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
+-}
++cat >>confdefs.h <<\EOF
++#define NCURSES 1
++EOF
+
+-test "/usr/local" != "$prefix" && \
+-test -d "/usr/local" && \
+-(test $prefix = NONE || test "/usr/local" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for include-directories under /usr/local"
+- test -d /usr/local/include && cf_search="$cf_search /usr/local/include"
+- test -d /usr/local/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root"
+- test -d /usr/local/include/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root/include"
+- test -d /usr/local/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include"
+- test -d /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
+-}
++echo "$as_me:6259: checking for ncurses version" >&5
++echo $ECHO_N "checking for ncurses version... $ECHO_C" >&6
++if test "${cf_cv_ncurses_version+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
+
+-test "/opt" != "$prefix" && \
+-test -d "/opt" && \
+-(test $prefix = NONE || test "/opt" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for include-directories under /opt"
+- test -d /opt/include && cf_search="$cf_search /opt/include"
+- test -d /opt/include/$cf_ncuhdr_root && cf_search="$cf_search /opt/include/$cf_ncuhdr_root"
+- test -d /opt/include/$cf_ncuhdr_root/include && cf_search="$cf_search /opt/include/$cf_ncuhdr_root/include"
+- test -d /opt/$cf_ncuhdr_root/include && cf_search="$cf_search /opt/$cf_ncuhdr_root/include"
+- test -d /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
+-}
++ cf_cv_ncurses_version=no
++ cf_tempfile=out$$
++ rm -f $cf_tempfile
++ if test "$cross_compiling" = yes; then
+
+-test "$HOME" != "$prefix" && \
+-test -d "$HOME" && \
+-(test $prefix = NONE || test "$HOME" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for include-directories under $HOME"
+- test -d $HOME/include && cf_search="$cf_search $HOME/include"
+- test -d $HOME/include/$cf_ncuhdr_root && cf_search="$cf_search $HOME/include/$cf_ncuhdr_root"
+- test -d $HOME/include/$cf_ncuhdr_root/include && cf_search="$cf_search $HOME/include/$cf_ncuhdr_root/include"
+- test -d $HOME/$cf_ncuhdr_root/include && cf_search="$cf_search $HOME/$cf_ncuhdr_root/include"
+- test -d $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
+-}
++ # This will not work if the preprocessor splits the line after the
++ # Autoconf token. The 'unproto' program does that.
++ cat > conftest.$ac_ext <<EOF
++#include <${cf_cv_ncurses_header:-curses.h}>
++#undef Autoconf
++#ifdef NCURSES_VERSION
++Autoconf NCURSES_VERSION
++#else
++#ifdef __NCURSES_H
++Autoconf "old"
++#endif
++;
++#endif
++EOF
++ cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
++ { (eval echo "$as_me:6285: \"$cf_try\"") >&5
++ (eval $cf_try) 2>&5
++ ac_status=$?
++ echo "$as_me:6288: \$? = $ac_status" >&5
++ (exit $ac_status); }
++ if test -f conftest.out ; then
++ cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'`
++ test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
++ rm -f conftest.out
++ fi
+
+-test "$includedir" != NONE && \
+-test "$includedir" != "/usr/include" && \
+-test -d "$includedir" && {
+- test -d $includedir && cf_search="$cf_search $includedir"
+- test -d $includedir/$cf_ncuhdr_root && cf_search="$cf_search $includedir/$cf_ncuhdr_root"
+-}
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 6298 "configure"
++#include "confdefs.h"
+
+-test "$oldincludedir" != NONE && \
+-test "$oldincludedir" != "/usr/include" && \
+-test -d "$oldincludedir" && {
+- test -d $oldincludedir && cf_search="$cf_search $oldincludedir"
+- test -d $oldincludedir/$cf_ncuhdr_root && cf_search="$cf_search $oldincludedir/$cf_ncuhdr_root"
++#include <${cf_cv_ncurses_header:-curses.h}>
++#include <stdio.h>
++int main()
++{
++ FILE *fp = fopen("$cf_tempfile", "w");
++#ifdef NCURSES_VERSION
++# ifdef NCURSES_VERSION_PATCH
++ fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH);
++# else
++ fprintf(fp, "%s\n", NCURSES_VERSION);
++# endif
++#else
++# ifdef __NCURSES_H
++ fprintf(fp, "old\n");
++# else
++ make an error
++# endif
++#endif
++ ${cf_cv_main_return:-return}(0);
+ }
++_ACEOF
++rm -f conftest$ac_exeext
++if { (eval echo "$as_me:6323: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:6326: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (eval echo "$as_me:6328: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:6331: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
+
+-cf_search="$cf_search $cf_header_path_list"
+-
+- test -n "$verbose" && echo search path $cf_search
+- cf_save2_CPPFLAGS="$CPPFLAGS"
+- for cf_incdir in $cf_search
+- do
++ cf_cv_ncurses_version=`cat $cf_tempfile`
++else
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++fi
++rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++ rm -f $cf_tempfile
+
+-if test -n "$cf_incdir" ; then
+- for cf_add_incdir in $cf_incdir
+- do
+- while test $cf_add_incdir != /usr/include
+- do
+- if test -d $cf_add_incdir
+- then
+- cf_have_incdir=no
+- if test -n "$CFLAGS$CPPFLAGS" ; then
+- # a loop is needed to ensure we can add subdirs of existing dirs
+- for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
+- if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
+- cf_have_incdir=yes; break
+- fi
+- done
+- fi
++fi
++echo "$as_me:6345: result: $cf_cv_ncurses_version" >&5
++echo "${ECHO_T}$cf_cv_ncurses_version" >&6
++test "$cf_cv_ncurses_version" = no ||
++cat >>confdefs.h <<\EOF
++#define NCURSES 1
++EOF
+
+- if test "$cf_have_incdir" = no ; then
+- if test "$cf_add_incdir" = /usr/local/include ; then
+- if test "$GCC" = yes
+- then
+- cf_save_CPPFLAGS=$CPPFLAGS
+- CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 6337 "configure"
++cf_nculib_root=ncurses
++ # This works, except for the special case where we find gpm, but
++ # ncurses is in a nonstandard location via $LIBS, and we really want
++ # to link gpm.
++cf_ncurses_LIBS=""
++cf_ncurses_SAVE="$LIBS"
++echo "$as_me:6358: checking for Gpm_Open in -lgpm" >&5
++echo $ECHO_N "checking for Gpm_Open in -lgpm... $ECHO_C" >&6
++if test "${ac_cv_lib_gpm_Gpm_Open+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lgpm $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 6366 "configure"
+ #include "confdefs.h"
+-#include <stdio.h>
++
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char Gpm_Open ();
+ int
+ main ()
+ {
+-printf("Hello")
++Gpm_Open ();
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:6349: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:6385: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6352: \$? = $ac_status" >&5
++ echo "$as_me:6388: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:6355: \"$ac_try\"") >&5
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:6391: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6358: \$? = $ac_status" >&5
++ echo "$as_me:6394: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- :
++ ac_cv_lib_gpm_Gpm_Open=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_have_incdir=yes
++ac_cv_lib_gpm_Gpm_Open=no
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+- CPPFLAGS=$cf_save_CPPFLAGS
+- fi
+- fi
+- fi
+-
+- if test "$cf_have_incdir" = no ; then
+- test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+-
+-echo "${as_me:-configure}:6375: testing adding $cf_add_incdir to include-path ..." 1>&5
+-
+- CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+-
+- cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
+- test "$cf_top_incdir" = "$cf_add_incdir" && break
+- cf_add_incdir="$cf_top_incdir"
+- else
+- break
+- fi
+- fi
+- done
+- done
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
+ fi
+-
+- for cf_header in \
+- ncurses.h \
+- curses.h
+- do
+-
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 6396 "configure"
++echo "$as_me:6405: result: $ac_cv_lib_gpm_Gpm_Open" >&5
++echo "${ECHO_T}$ac_cv_lib_gpm_Gpm_Open" >&6
++if test $ac_cv_lib_gpm_Gpm_Open = yes; then
++ echo "$as_me:6408: checking for initscr in -lgpm" >&5
++echo $ECHO_N "checking for initscr in -lgpm... $ECHO_C" >&6
++if test "${ac_cv_lib_gpm_initscr+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lgpm $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 6416 "configure"
+ #include "confdefs.h"
+
+-#include <$cf_header>
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char initscr ();
+ int
+ main ()
+ {
+-
+-#ifdef NCURSES_VERSION
+-
+-printf("%s\n", NCURSES_VERSION);
+-#else
+-#ifdef __NCURSES_H
+-printf("old\n");
+-#else
+- make an error
+-#endif
+-#endif
+-
++initscr ();
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:6420: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:6435: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6423: \$? = $ac_status" >&5
++ echo "$as_me:6438: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:6426: \"$ac_try\"") >&5
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:6441: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6429: \$? = $ac_status" >&5
++ echo "$as_me:6444: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_ncurses_h2=$cf_header
+-
++ ac_cv_lib_gpm_initscr=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_ncurses_h2=no
++ac_cv_lib_gpm_initscr=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:6455: result: $ac_cv_lib_gpm_initscr" >&5
++echo "${ECHO_T}$ac_cv_lib_gpm_initscr" >&6
++if test $ac_cv_lib_gpm_initscr = yes; then
++ LIBS="$cf_ncurses_SAVE"
++else
++ cf_ncurses_LIBS="-lgpm"
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-
+- if test "$cf_cv_ncurses_h2" != no ; then
+- cf_cv_ncurses_h2=$cf_incdir/$cf_header
+- test -n "$verbose" && echo $ac_n " ... found $ac_c" 1>&6
+- break
+- fi
+- test -n "$verbose" && echo " ... tested $cf_incdir/$cf_header" 1>&6
+- done
+- CPPFLAGS="$cf_save2_CPPFLAGS"
+- test "$cf_cv_ncurses_h2" != no && break
+- done
+- test "$cf_cv_ncurses_h2" = no && { { echo "$as_me:6450: error: not found" >&5
+-echo "$as_me: error: not found" >&2;}
+- { (exit 1); exit 1; }; }
+
+ fi
+-echo "$as_me:6455: result: $cf_cv_ncurses_h2" >&5
+-echo "${ECHO_T}$cf_cv_ncurses_h2" >&6
+-
+- cf_1st_incdir=`echo $cf_cv_ncurses_h2 | sed -e 's%/[^/]*$%%'`
+- cf_cv_ncurses_header=`basename $cf_cv_ncurses_h2`
+- if test `basename $cf_1st_incdir` = $cf_ncuhdr_root ; then
+- cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header
+- fi
+-
+-if test -n "$cf_1st_incdir" ; then
+- for cf_add_incdir in $cf_1st_incdir
+- do
+- while test $cf_add_incdir != /usr/include
+- do
+- if test -d $cf_add_incdir
+- then
+- cf_have_incdir=no
+- if test -n "$CFLAGS$CPPFLAGS" ; then
+- # a loop is needed to ensure we can add subdirs of existing dirs
+- for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
+- if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
+- cf_have_incdir=yes; break
+- fi
+- done
+- fi
+
+- if test "$cf_have_incdir" = no ; then
+- if test "$cf_add_incdir" = /usr/local/include ; then
+- if test "$GCC" = yes
+- then
+- cf_save_CPPFLAGS=$CPPFLAGS
+- CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 6488 "configure"
++case $host_os in #(vi
++freebsd*)
++ # This is only necessary if you are linking against an obsolete
++ # version of ncurses (but it should do no harm, since it's static).
++ if test "$cf_nculib_root" = ncurses ; then
++ echo "$as_me:6470: checking for tgoto in -lmytinfo" >&5
++echo $ECHO_N "checking for tgoto in -lmytinfo... $ECHO_C" >&6
++if test "${ac_cv_lib_mytinfo_tgoto+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lmytinfo $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 6478 "configure"
+ #include "confdefs.h"
+-#include <stdio.h>
++
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char tgoto ();
+ int
+ main ()
+ {
+-printf("Hello")
++tgoto ();
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:6500: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:6497: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6503: \$? = $ac_status" >&5
++ echo "$as_me:6500: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:6506: \"$ac_try\"") >&5
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:6503: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6509: \$? = $ac_status" >&5
++ echo "$as_me:6506: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- :
++ ac_cv_lib_mytinfo_tgoto=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_have_incdir=yes
++ac_cv_lib_mytinfo_tgoto=no
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+- CPPFLAGS=$cf_save_CPPFLAGS
+- fi
+- fi
+- fi
+-
+- if test "$cf_have_incdir" = no ; then
+- test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+-
+-echo "${as_me:-configure}:6526: testing adding $cf_add_incdir to include-path ..." 1>&5
+-
+- CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+-
+- cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
+- test "$cf_top_incdir" = "$cf_add_incdir" && break
+- cf_add_incdir="$cf_top_incdir"
+- else
+- break
+- fi
+- fi
+- done
+- done
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
+ fi
+-
++echo "$as_me:6517: result: $ac_cv_lib_mytinfo_tgoto" >&5
++echo "${ECHO_T}$ac_cv_lib_mytinfo_tgoto" >&6
++if test $ac_cv_lib_mytinfo_tgoto = yes; then
++ cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"
+ fi
+
+-# Set definitions to allow ifdef'ing for ncurses.h
+-
+-case $cf_cv_ncurses_header in # (vi
+-*ncurses.h)
+- cat >>confdefs.h <<\EOF
+-#define HAVE_NCURSES_H 1
+-EOF
+-
++ fi
+ ;;
+ esac
+
+-case $cf_cv_ncurses_header in # (vi
+-ncurses/curses.h|ncurses/ncurses.h)
+- cat >>confdefs.h <<\EOF
+-#define HAVE_NCURSES_NCURSES_H 1
+-EOF
+-
+- ;;
+-ncursesw/curses.h|ncursesw/ncurses.h)
+- cat >>confdefs.h <<\EOF
+-#define HAVE_NCURSESW_NCURSES_H 1
+-EOF
++LIBS="$cf_ncurses_LIBS $LIBS"
+
+- ;;
+-esac
++if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
++then
++ LIBS="-l$cf_nculib_root $LIBS"
++else
+
+-echo "$as_me:6569: checking for terminfo header" >&5
+-echo $ECHO_N "checking for terminfo header... $ECHO_C" >&6
+-if test "${cf_cv_term_header+set}" = set; then
++ eval 'cf_cv_have_lib_'$cf_nculib_root'=no'
++ cf_libdir=""
++ echo "$as_me:6536: checking for initscr" >&5
++echo $ECHO_N "checking for initscr... $ECHO_C" >&6
++if test "${ac_cv_func_initscr+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 6542 "configure"
++#include "confdefs.h"
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char initscr (); below. */
++#include <assert.h>
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char initscr ();
++char (*f) ();
+
+-case ${cf_cv_ncurses_header} in #(vi
+-*/ncurses.h|*/ncursesw.h) #(vi
+- cf_term_header=`echo "$cf_cv_ncurses_header" | sed -e 's%ncurses[^.]*\.h$%term.h%'`
+- ;;
+-*)
+- cf_term_header=term.h
+- ;;
+-esac
++int
++main ()
++{
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined (__stub_initscr) || defined (__stub___initscr)
++choke me
++#else
++f = initscr; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
++#endif
+
+-for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h"
+-do
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 6587 "configure"
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:6573: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:6576: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:6579: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:6582: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_func_initscr=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++ac_cv_func_initscr=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++fi
++echo "$as_me:6592: result: $ac_cv_func_initscr" >&5
++echo "${ECHO_T}$ac_cv_func_initscr" >&6
++if test $ac_cv_func_initscr = yes; then
++ eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
++else
++
++ cf_save_LIBS="$LIBS"
++ echo "$as_me:6599: checking for initscr in -l$cf_nculib_root" >&5
++echo $ECHO_N "checking for initscr in -l$cf_nculib_root... $ECHO_C" >&6
++ LIBS="-l$cf_nculib_root $LIBS"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 6603 "configure"
+ #include "confdefs.h"
+-#include <stdio.h>
+ #include <${cf_cv_ncurses_header:-curses.h}>
+-#include <$cf_test>
+-
+ int
+ main ()
+ {
+-int x = auto_left_margin
++initscr()
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:6602: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:6615: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6605: \$? = $ac_status" >&5
++ echo "$as_me:6618: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:6608: \"$ac_try\"") >&5
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:6621: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6611: \$? = $ac_status" >&5
++ echo "$as_me:6624: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
++ echo "$as_me:6626: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++ eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
+
+- cf_cv_term_header="$cf_test"
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
++echo "$as_me:6633: result: no" >&5
++echo "${ECHO_T}no" >&6
+
+- cf_cv_term_header=unknown
++cf_search=
++cf_library_path_list=""
++if test -n "${LDFLAGS}${LIBS}" ; then
++ for cf_library_path in $LDFLAGS $LIBS
++ do
++ case $cf_library_path in #(vi
++ -L*)
++ cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'`
+
+-fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+- test "$cf_cv_term_header" != unknown && break
+-done
++test "$cf_library_path" != "NONE" && \
++test -d "$cf_library_path" && \
++ {
++ test -n "$verbose" && echo " ... testing for lib-directories under $cf_library_path"
++ test -d $cf_library_path/lib && cf_search="$cf_search $cf_library_path/lib"
++ test -d $cf_library_path/lib/$cf_nculib_root && cf_search="$cf_search $cf_library_path/lib/$cf_nculib_root"
++ test -d $cf_library_path/lib/$cf_nculib_root/lib && cf_search="$cf_search $cf_library_path/lib/$cf_nculib_root/lib"
++ test -d $cf_library_path/$cf_nculib_root/lib && cf_search="$cf_search $cf_library_path/$cf_nculib_root/lib"
++ test -d $cf_library_path/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search $cf_library_path/$cf_nculib_root/lib/$cf_nculib_root"
++}
+
++ cf_library_path_list="$cf_library_path_list $cf_search"
++ ;;
++ esac
++ done
+ fi
+-echo "$as_me:6627: result: $cf_cv_term_header" >&5
+-echo "${ECHO_T}$cf_cv_term_header" >&6
+
+-# Set definitions to allow ifdef'ing to accommodate subdirectories
+-
+-case $cf_cv_term_header in # (vi
+-*term.h)
+- cat >>confdefs.h <<\EOF
+-#define HAVE_TERM_H 1
+-EOF
+-
+- ;;
+-esac
++cf_search=
+
+-case $cf_cv_term_header in # (vi
+-ncurses/term.h) #(vi
+- cat >>confdefs.h <<\EOF
+-#define HAVE_NCURSES_TERM_H 1
+-EOF
+-
+- ;;
+-ncursesw/term.h)
+- cat >>confdefs.h <<\EOF
+-#define HAVE_NCURSESW_TERM_H 1
+-EOF
++test "/usr" != "$prefix" && \
++test -d "/usr" && \
++(test $prefix = NONE || test "/usr" != "$prefix") && {
++ test -n "$verbose" && echo " ... testing for lib-directories under /usr"
++ test -d /usr/lib && cf_search="$cf_search /usr/lib"
++ test -d /usr/lib/$cf_nculib_root && cf_search="$cf_search /usr/lib/$cf_nculib_root"
++ test -d /usr/lib/$cf_nculib_root/lib && cf_search="$cf_search /usr/lib/$cf_nculib_root/lib"
++ test -d /usr/$cf_nculib_root/lib && cf_search="$cf_search /usr/$cf_nculib_root/lib"
++ test -d /usr/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /usr/$cf_nculib_root/lib/$cf_nculib_root"
++}
+
+- ;;
+-esac
++test "$prefix" != "NONE" && \
++test -d "$prefix" && \
++ {
++ test -n "$verbose" && echo " ... testing for lib-directories under $prefix"
++ test -d $prefix/lib && cf_search="$cf_search $prefix/lib"
++ test -d $prefix/lib/$cf_nculib_root && cf_search="$cf_search $prefix/lib/$cf_nculib_root"
++ test -d $prefix/lib/$cf_nculib_root/lib && cf_search="$cf_search $prefix/lib/$cf_nculib_root/lib"
++ test -d $prefix/$cf_nculib_root/lib && cf_search="$cf_search $prefix/$cf_nculib_root/lib"
++ test -d $prefix/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search $prefix/$cf_nculib_root/lib/$cf_nculib_root"
++}
+
+-# some applications need this, but should check for NCURSES_VERSION
+-cat >>confdefs.h <<\EOF
+-#define NCURSES 1
+-EOF
++test "/usr/local" != "$prefix" && \
++test -d "/usr/local" && \
++(test $prefix = NONE || test "/usr/local" != "$prefix") && {
++ test -n "$verbose" && echo " ... testing for lib-directories under /usr/local"
++ test -d /usr/local/lib && cf_search="$cf_search /usr/local/lib"
++ test -d /usr/local/lib/$cf_nculib_root && cf_search="$cf_search /usr/local/lib/$cf_nculib_root"
++ test -d /usr/local/lib/$cf_nculib_root/lib && cf_search="$cf_search /usr/local/lib/$cf_nculib_root/lib"
++ test -d /usr/local/$cf_nculib_root/lib && cf_search="$cf_search /usr/local/$cf_nculib_root/lib"
++ test -d /usr/local/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /usr/local/$cf_nculib_root/lib/$cf_nculib_root"
++}
+
+-echo "$as_me:6661: checking for ncurses version" >&5
+-echo $ECHO_N "checking for ncurses version... $ECHO_C" >&6
+-if test "${cf_cv_ncurses_version+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
++test "/opt" != "$prefix" && \
++test -d "/opt" && \
++(test $prefix = NONE || test "/opt" != "$prefix") && {
++ test -n "$verbose" && echo " ... testing for lib-directories under /opt"
++ test -d /opt/lib && cf_search="$cf_search /opt/lib"
++ test -d /opt/lib/$cf_nculib_root && cf_search="$cf_search /opt/lib/$cf_nculib_root"
++ test -d /opt/lib/$cf_nculib_root/lib && cf_search="$cf_search /opt/lib/$cf_nculib_root/lib"
++ test -d /opt/$cf_nculib_root/lib && cf_search="$cf_search /opt/$cf_nculib_root/lib"
++ test -d /opt/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /opt/$cf_nculib_root/lib/$cf_nculib_root"
++}
+
+- cf_cv_ncurses_version=no
+- cf_tempfile=out$$
+- rm -f $cf_tempfile
+- if test "$cross_compiling" = yes; then
++test "$HOME" != "$prefix" && \
++test -d "$HOME" && \
++(test $prefix = NONE || test "$HOME" != "$prefix") && {
++ test -n "$verbose" && echo " ... testing for lib-directories under $HOME"
++ test -d $HOME/lib && cf_search="$cf_search $HOME/lib"
++ test -d $HOME/lib/$cf_nculib_root && cf_search="$cf_search $HOME/lib/$cf_nculib_root"
++ test -d $HOME/lib/$cf_nculib_root/lib && cf_search="$cf_search $HOME/lib/$cf_nculib_root/lib"
++ test -d $HOME/$cf_nculib_root/lib && cf_search="$cf_search $HOME/$cf_nculib_root/lib"
++ test -d $HOME/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search $HOME/$cf_nculib_root/lib/$cf_nculib_root"
++}
+
+- # This will not work if the preprocessor splits the line after the
+- # Autoconf token. The 'unproto' program does that.
+- cat > conftest.$ac_ext <<EOF
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-#undef Autoconf
+-#ifdef NCURSES_VERSION
+-Autoconf NCURSES_VERSION
+-#else
+-#ifdef __NCURSES_H
+-Autoconf "old"
+-#endif
+-;
+-#endif
+-EOF
+- cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
+- { (eval echo "$as_me:6687: \"$cf_try\"") >&5
+- (eval $cf_try) 2>&5
+- ac_status=$?
+- echo "$as_me:6690: \$? = $ac_status" >&5
+- (exit $ac_status); }
+- if test -f conftest.out ; then
+- cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'`
+- test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
+- rm -f conftest.out
+- fi
++cf_search="$cf_library_path_list $cf_search"
+
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 6700 "configure"
++ for cf_libdir in $cf_search
++ do
++ echo "$as_me:6723: checking for -l$cf_nculib_root in $cf_libdir" >&5
++echo $ECHO_N "checking for -l$cf_nculib_root in $cf_libdir... $ECHO_C" >&6
++ LIBS="-L$cf_libdir -l$cf_nculib_root $cf_save_LIBS"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 6727 "configure"
+ #include "confdefs.h"
+-
+ #include <${cf_cv_ncurses_header:-curses.h}>
+-#include <stdio.h>
+-int main()
++int
++main ()
+ {
+- FILE *fp = fopen("$cf_tempfile", "w");
+-#ifdef NCURSES_VERSION
+-# ifdef NCURSES_VERSION_PATCH
+- fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH);
+-# else
+- fprintf(fp, "%s\n", NCURSES_VERSION);
+-# endif
+-#else
+-# ifdef __NCURSES_H
+- fprintf(fp, "old\n");
+-# else
+- make an error
+-# endif
+-#endif
+- ${cf_cv_main_return:-return}(0);
++initscr()
++ ;
++ return 0;
+ }
+ _ACEOF
+-rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:6725: \"$ac_link\"") >&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:6739: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6728: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:6730: \"$ac_try\"") >&5
++ echo "$as_me:6742: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:6745: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6733: \$? = $ac_status" >&5
++ echo "$as_me:6748: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+-
+- cf_cv_ncurses_version=`cat $cf_tempfile`
++ echo "$as_me:6750: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++ eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
++ break
+ else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
++ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
++echo "$as_me:6757: result: no" >&5
++echo "${ECHO_T}no" >&6
++ LIBS="$cf_save_LIBS"
+ fi
+-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++ done
++
+ fi
+- rm -f $cf_tempfile
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+ fi
+-echo "$as_me:6747: result: $cf_cv_ncurses_version" >&5
+-echo "${ECHO_T}$cf_cv_ncurses_version" >&6
+-test "$cf_cv_ncurses_version" = no || cat >>confdefs.h <<\EOF
+-#define NCURSES 1
+-EOF
+
+-cf_nculib_root=ncurses
+- # This works, except for the special case where we find gpm, but
+- # ncurses is in a nonstandard location via $LIBS, and we really want
+- # to link gpm.
+-cf_ncurses_LIBS=""
+-cf_ncurses_SAVE="$LIBS"
+-echo "$as_me:6759: checking for Gpm_Open in -lgpm" >&5
+-echo $ECHO_N "checking for Gpm_Open in -lgpm... $ECHO_C" >&6
+-if test "${ac_cv_lib_gpm_Gpm_Open+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lgpm $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 6767 "configure"
+-#include "confdefs.h"
++eval 'cf_found_library=$cf_cv_have_lib_'$cf_nculib_root
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char Gpm_Open ();
++if test $cf_found_library = no ; then
++ { { echo "$as_me:6772: error: Cannot link $cf_nculib_root library" >&5
++echo "$as_me: error: Cannot link $cf_nculib_root library" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++fi
++
++if test -n "$cf_ncurses_LIBS" ; then
++ echo "$as_me:6780: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5
++echo $ECHO_N "checking if we can link $cf_nculib_root without $cf_ncurses_LIBS... $ECHO_C" >&6
++ cf_ncurses_SAVE="$LIBS"
++ for p in $cf_ncurses_LIBS ; do
++ q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"`
++ if test "$q" != "$LIBS" ; then
++ LIBS="$q"
++ fi
++ done
++ cat >conftest.$ac_ext <<_ACEOF
++#line 6790 "configure"
++#include "confdefs.h"
++#include <${cf_cv_ncurses_header:-curses.h}>
+ int
+ main ()
+ {
+-Gpm_Open ();
++initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6786: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6802: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6789: \$? = $ac_status" >&5
++ echo "$as_me:6805: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6792: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6808: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6795: \$? = $ac_status" >&5
++ echo "$as_me:6811: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_gpm_Gpm_Open=yes
++ echo "$as_me:6813: result: yes" >&5
++echo "${ECHO_T}yes" >&6
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_gpm_Gpm_Open=no
++echo "$as_me:6818: result: no" >&5
++echo "${ECHO_T}no" >&6
++ LIBS="$cf_ncurses_SAVE"
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:6806: result: $ac_cv_lib_gpm_Gpm_Open" >&5
+-echo "${ECHO_T}$ac_cv_lib_gpm_Gpm_Open" >&6
+-if test $ac_cv_lib_gpm_Gpm_Open = yes; then
+- echo "$as_me:6809: checking for initscr in -lgpm" >&5
+-echo $ECHO_N "checking for initscr in -lgpm... $ECHO_C" >&6
+-if test "${ac_cv_lib_gpm_initscr+set}" = set; then
++
++cf_nculib_ROOT=`echo "HAVE_LIB$cf_nculib_root" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++
++cat >>confdefs.h <<EOF
++#define $cf_nculib_ROOT 1
++EOF
++
++fi
++
++ ;;
++ncursesw) #(vi
++
++echo "$as_me:6836: checking for multibyte character support" >&5
++echo $ECHO_N "checking for multibyte character support... $ECHO_C" >&6
++if test "${cf_cv_utf8_lib+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lgpm $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 6817 "configure"
++
++ cf_save_LIBS="$LIBS"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 6844 "configure"
+ #include "confdefs.h"
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char initscr ();
++#include <stdlib.h>
+ int
+ main ()
+ {
+-initscr ();
++putwc(0,0);
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6836: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6857: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6839: \$? = $ac_status" >&5
++ echo "$as_me:6860: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6842: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6863: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6845: \$? = $ac_status" >&5
++ echo "$as_me:6866: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_gpm_initscr=yes
++ cf_cv_utf8_lib=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_gpm_initscr=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:6856: result: $ac_cv_lib_gpm_initscr" >&5
+-echo "${ECHO_T}$ac_cv_lib_gpm_initscr" >&6
+-if test $ac_cv_lib_gpm_initscr = yes; then
+- LIBS="$cf_ncurses_SAVE"
+-else
+- cf_ncurses_LIBS="-lgpm"
+-fi
+
+-fi
++# If the linkage is not already in the $CPPFLAGS/$LDFLAGS configuration, these
++# will be set on completion of the AC_TRY_LINK below.
++cf_cv_header_path_utf8=
++cf_cv_library_path_utf8=
++
++echo "${as_me:-configure}:6878: testing Starting FIND_LINKAGE(utf8,) ..." 1>&5
++
++cf_save_LIBS="$LIBS"
+
+-case $host_os in #(vi
+-freebsd*)
+- # This is only necessary if you are linking against an obsolete
+- # version of ncurses (but it should do no harm, since it's static).
+- if test "$cf_nculib_root" = ncurses ; then
+- echo "$as_me:6871: checking for tgoto in -lmytinfo" >&5
+-echo $ECHO_N "checking for tgoto in -lmytinfo... $ECHO_C" >&6
+-if test "${ac_cv_lib_mytinfo_tgoto+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lmytinfo $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6879 "configure"
++#line 6883 "configure"
+ #include "confdefs.h"
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char tgoto ();
++#include <libutf8.h>
+ int
+ main ()
+ {
+-tgoto ();
++putwc(0,0);
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6898: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6896: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6901: \$? = $ac_status" >&5
++ echo "$as_me:6899: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6904: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6902: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6907: \$? = $ac_status" >&5
++ echo "$as_me:6905: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_mytinfo_tgoto=yes
++
++ cf_cv_find_linkage_utf8=yes
++ cf_cv_header_path_utf8=/usr/include
++ cf_cv_library_path_utf8=/usr/lib
++
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_mytinfo_tgoto=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:6918: result: $ac_cv_lib_mytinfo_tgoto" >&5
+-echo "${ECHO_T}$ac_cv_lib_mytinfo_tgoto" >&6
+-if test $ac_cv_lib_mytinfo_tgoto = yes; then
+- cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"
+-fi
+-
+- fi
+- ;;
+-esac
+-
+-LIBS="$cf_ncurses_LIBS $LIBS"
+
+-if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
+-then
+- LIBS="-l$cf_nculib_root $LIBS"
+-else
++LIBS="-lutf8 $cf_save_LIBS"
+
+- eval 'cf_cv_have_lib_'$cf_nculib_root'=no'
+- cf_libdir=""
+- echo "$as_me:6937: checking for initscr" >&5
+-echo $ECHO_N "checking for initscr... $ECHO_C" >&6
+-if test "${ac_cv_func_initscr+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 6943 "configure"
++cat >conftest.$ac_ext <<_ACEOF
++#line 6919 "configure"
+ #include "confdefs.h"
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char initscr (); below. */
+-#include <assert.h>
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char initscr ();
+-char (*f) ();
+
++#include <libutf8.h>
+ int
+ main ()
+ {
+-/* The GNU C library defines this for functions which it implements
+- to always fail with ENOSYS. Some functions are actually named
+- something starting with __ and the normal name is an alias. */
+-#if defined (__stub_initscr) || defined (__stub___initscr)
+-choke me
+-#else
+-f = initscr;
+-#endif
+-
++putwc(0,0);
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6974: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6932: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6977: \$? = $ac_status" >&5
++ echo "$as_me:6935: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6980: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6938: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6983: \$? = $ac_status" >&5
++ echo "$as_me:6941: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_func_initscr=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-ac_cv_func_initscr=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-fi
+-echo "$as_me:6993: result: $ac_cv_func_initscr" >&5
+-echo "${ECHO_T}$ac_cv_func_initscr" >&6
+-if test $ac_cv_func_initscr = yes; then
+- eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
+-else
+
+- cf_save_LIBS="$LIBS"
+- echo "$as_me:7000: checking for initscr in -l$cf_nculib_root" >&5
+-echo $ECHO_N "checking for initscr in -l$cf_nculib_root... $ECHO_C" >&6
+- LIBS="-l$cf_nculib_root $LIBS"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 7004 "configure"
+-#include "confdefs.h"
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-int
+-main ()
+-{
+-initscr()
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:7016: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:7019: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:7022: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:7025: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- echo "$as_me:7027: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
+- eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
++ cf_cv_find_linkage_utf8=yes
++ cf_cv_header_path_utf8=/usr/include
++ cf_cv_library_path_utf8=/usr/lib
++ cf_cv_library_file_utf8="-lutf8"
+
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-echo "$as_me:7034: result: no" >&5
+-echo "${ECHO_T}no" >&6
++
++ cf_cv_find_linkage_utf8=no
++ LIBS="$cf_save_LIBS"
++
++ test -n "$verbose" && echo " find linkage for utf8 library" 1>&6
++
++echo "${as_me:-configure}:6958: testing find linkage for utf8 library ..." 1>&5
++
++echo "${as_me:-configure}:6960: testing Searching for headers in FIND_LINKAGE(utf8,) ..." 1>&5
++
++ cf_save_CPPFLAGS="$CPPFLAGS"
++ cf_test_CPPFLAGS="$CPPFLAGS"
+
+ cf_search=
+-cf_library_path_list=""
+-if test -n "${LDFLAGS}${LIBS}" ; then
+- for cf_library_path in $LDFLAGS $LIBS
++
++# collect the current set of include-directories from compiler flags
++cf_header_path_list=""
++if test -n "${CFLAGS}${CPPFLAGS}" ; then
++ for cf_header_path in $CPPFLAGS $CFLAGS
+ do
+- case $cf_library_path in #(vi
+- -L*)
+- cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'`
++ case $cf_header_path in #(vi
++ -I*)
++ cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'`
+
+-test "$cf_library_path" != "NONE" && \
+-test -d "$cf_library_path" && \
++test "$cf_header_path" != "NONE" && \
++test -d "$cf_header_path" && \
+ {
+- test -n "$verbose" && echo " ... testing for lib-directories under $cf_library_path"
+- test -d $cf_library_path/lib && cf_search="$cf_search $cf_library_path/lib"
+- test -d $cf_library_path/lib/$cf_nculib_root && cf_search="$cf_search $cf_library_path/lib/$cf_nculib_root"
+- test -d $cf_library_path/lib/$cf_nculib_root/lib && cf_search="$cf_search $cf_library_path/lib/$cf_nculib_root/lib"
+- test -d $cf_library_path/$cf_nculib_root/lib && cf_search="$cf_search $cf_library_path/$cf_nculib_root/lib"
+- test -d $cf_library_path/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search $cf_library_path/$cf_nculib_root/lib/$cf_nculib_root"
++ test -n "$verbose" && echo " ... testing for include-directories under $cf_header_path"
++ test -d $cf_header_path/include && cf_search="$cf_search $cf_header_path/include"
++ test -d $cf_header_path/include/utf8 && cf_search="$cf_search $cf_header_path/include/utf8"
++ test -d $cf_header_path/include/utf8/include && cf_search="$cf_search $cf_header_path/include/utf8/include"
++ test -d $cf_header_path/utf8/include && cf_search="$cf_search $cf_header_path/utf8/include"
++ test -d $cf_header_path/utf8/include/utf8 && cf_search="$cf_search $cf_header_path/utf8/include/utf8"
+ }
+
+- cf_library_path_list="$cf_library_path_list $cf_search"
++ cf_header_path_list="$cf_header_path_list $cf_search"
+ ;;
+ esac
+ done
+ fi
+
++# add the variations for the package we are looking for
++
+ cf_search=
+
+ test "/usr" != "$prefix" && \
+ test -d "/usr" && \
+ (test $prefix = NONE || test "/usr" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for lib-directories under /usr"
+- test -d /usr/lib && cf_search="$cf_search /usr/lib"
+- test -d /usr/lib/$cf_nculib_root && cf_search="$cf_search /usr/lib/$cf_nculib_root"
+- test -d /usr/lib/$cf_nculib_root/lib && cf_search="$cf_search /usr/lib/$cf_nculib_root/lib"
+- test -d /usr/$cf_nculib_root/lib && cf_search="$cf_search /usr/$cf_nculib_root/lib"
+- test -d /usr/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /usr/$cf_nculib_root/lib/$cf_nculib_root"
++ test -n "$verbose" && echo " ... testing for include-directories under /usr"
++ test -d /usr/include && cf_search="$cf_search /usr/include"
++ test -d /usr/include/utf8 && cf_search="$cf_search /usr/include/utf8"
++ test -d /usr/include/utf8/include && cf_search="$cf_search /usr/include/utf8/include"
++ test -d /usr/utf8/include && cf_search="$cf_search /usr/utf8/include"
++ test -d /usr/utf8/include/utf8 && cf_search="$cf_search /usr/utf8/include/utf8"
+ }
+
+ test "$prefix" != "NONE" && \
+ test -d "$prefix" && \
+ {
+- test -n "$verbose" && echo " ... testing for lib-directories under $prefix"
+- test -d $prefix/lib && cf_search="$cf_search $prefix/lib"
+- test -d $prefix/lib/$cf_nculib_root && cf_search="$cf_search $prefix/lib/$cf_nculib_root"
+- test -d $prefix/lib/$cf_nculib_root/lib && cf_search="$cf_search $prefix/lib/$cf_nculib_root/lib"
+- test -d $prefix/$cf_nculib_root/lib && cf_search="$cf_search $prefix/$cf_nculib_root/lib"
+- test -d $prefix/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search $prefix/$cf_nculib_root/lib/$cf_nculib_root"
++ test -n "$verbose" && echo " ... testing for include-directories under $prefix"
++ test -d $prefix/include && cf_search="$cf_search $prefix/include"
++ test -d $prefix/include/utf8 && cf_search="$cf_search $prefix/include/utf8"
++ test -d $prefix/include/utf8/include && cf_search="$cf_search $prefix/include/utf8/include"
++ test -d $prefix/utf8/include && cf_search="$cf_search $prefix/utf8/include"
++ test -d $prefix/utf8/include/utf8 && cf_search="$cf_search $prefix/utf8/include/utf8"
+ }
+
+ test "/usr/local" != "$prefix" && \
+ test -d "/usr/local" && \
+ (test $prefix = NONE || test "/usr/local" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for lib-directories under /usr/local"
+- test -d /usr/local/lib && cf_search="$cf_search /usr/local/lib"
+- test -d /usr/local/lib/$cf_nculib_root && cf_search="$cf_search /usr/local/lib/$cf_nculib_root"
+- test -d /usr/local/lib/$cf_nculib_root/lib && cf_search="$cf_search /usr/local/lib/$cf_nculib_root/lib"
+- test -d /usr/local/$cf_nculib_root/lib && cf_search="$cf_search /usr/local/$cf_nculib_root/lib"
+- test -d /usr/local/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /usr/local/$cf_nculib_root/lib/$cf_nculib_root"
++ test -n "$verbose" && echo " ... testing for include-directories under /usr/local"
++ test -d /usr/local/include && cf_search="$cf_search /usr/local/include"
++ test -d /usr/local/include/utf8 && cf_search="$cf_search /usr/local/include/utf8"
++ test -d /usr/local/include/utf8/include && cf_search="$cf_search /usr/local/include/utf8/include"
++ test -d /usr/local/utf8/include && cf_search="$cf_search /usr/local/utf8/include"
++ test -d /usr/local/utf8/include/utf8 && cf_search="$cf_search /usr/local/utf8/include/utf8"
+ }
+
+ test "/opt" != "$prefix" && \
+ test -d "/opt" && \
+ (test $prefix = NONE || test "/opt" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for lib-directories under /opt"
+- test -d /opt/lib && cf_search="$cf_search /opt/lib"
+- test -d /opt/lib/$cf_nculib_root && cf_search="$cf_search /opt/lib/$cf_nculib_root"
+- test -d /opt/lib/$cf_nculib_root/lib && cf_search="$cf_search /opt/lib/$cf_nculib_root/lib"
+- test -d /opt/$cf_nculib_root/lib && cf_search="$cf_search /opt/$cf_nculib_root/lib"
+- test -d /opt/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /opt/$cf_nculib_root/lib/$cf_nculib_root"
++ test -n "$verbose" && echo " ... testing for include-directories under /opt"
++ test -d /opt/include && cf_search="$cf_search /opt/include"
++ test -d /opt/include/utf8 && cf_search="$cf_search /opt/include/utf8"
++ test -d /opt/include/utf8/include && cf_search="$cf_search /opt/include/utf8/include"
++ test -d /opt/utf8/include && cf_search="$cf_search /opt/utf8/include"
++ test -d /opt/utf8/include/utf8 && cf_search="$cf_search /opt/utf8/include/utf8"
+ }
+
+ test "$HOME" != "$prefix" && \
+ test -d "$HOME" && \
+ (test $prefix = NONE || test "$HOME" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for lib-directories under $HOME"
+- test -d $HOME/lib && cf_search="$cf_search $HOME/lib"
+- test -d $HOME/lib/$cf_nculib_root && cf_search="$cf_search $HOME/lib/$cf_nculib_root"
+- test -d $HOME/lib/$cf_nculib_root/lib && cf_search="$cf_search $HOME/lib/$cf_nculib_root/lib"
+- test -d $HOME/$cf_nculib_root/lib && cf_search="$cf_search $HOME/$cf_nculib_root/lib"
+- test -d $HOME/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search $HOME/$cf_nculib_root/lib/$cf_nculib_root"
++ test -n "$verbose" && echo " ... testing for include-directories under $HOME"
++ test -d $HOME/include && cf_search="$cf_search $HOME/include"
++ test -d $HOME/include/utf8 && cf_search="$cf_search $HOME/include/utf8"
++ test -d $HOME/include/utf8/include && cf_search="$cf_search $HOME/include/utf8/include"
++ test -d $HOME/utf8/include && cf_search="$cf_search $HOME/utf8/include"
++ test -d $HOME/utf8/include/utf8 && cf_search="$cf_search $HOME/utf8/include/utf8"
+ }
+
+-cf_search="$cf_library_path_list $cf_search"
++test "$includedir" != NONE && \
++test "$includedir" != "/usr/include" && \
++test -d "$includedir" && {
++ test -d $includedir && cf_search="$cf_search $includedir"
++ test -d $includedir/utf8 && cf_search="$cf_search $includedir/utf8"
++}
+
+- for cf_libdir in $cf_search
+- do
+- echo "$as_me:7124: checking for -l$cf_nculib_root in $cf_libdir" >&5
+-echo $ECHO_N "checking for -l$cf_nculib_root in $cf_libdir... $ECHO_C" >&6
+- LIBS="-L$cf_libdir -l$cf_nculib_root $cf_save_LIBS"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 7128 "configure"
++test "$oldincludedir" != NONE && \
++test "$oldincludedir" != "/usr/include" && \
++test -d "$oldincludedir" && {
++ test -d $oldincludedir && cf_search="$cf_search $oldincludedir"
++ test -d $oldincludedir/utf8 && cf_search="$cf_search $oldincludedir/utf8"
++}
++
++cf_search="$cf_search $cf_header_path_list"
++
++ for cf_cv_header_path_utf8 in $cf_search
++ do
++ if test -d $cf_cv_header_path_utf8 ; then
++ test -n "$verbose" && echo " ... testing $cf_cv_header_path_utf8" 1>&6
++
++echo "${as_me:-configure}:7073: testing ... testing $cf_cv_header_path_utf8 ..." 1>&5
++
++ CPPFLAGS="$cf_save_CPPFLAGS -I$cf_cv_header_path_utf8"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 7077 "configure"
+ #include "confdefs.h"
+-#include <${cf_cv_ncurses_header:-curses.h}>
++
++#include <libutf8.h>
+ int
+ main ()
+ {
+-initscr()
++putwc(0,0);
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:7140: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:7090: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7143: \$? = $ac_status" >&5
++ echo "$as_me:7093: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:7146: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:7096: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7149: \$? = $ac_status" >&5
++ echo "$as_me:7099: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- echo "$as_me:7151: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
+- eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
+- break
++
++ test -n "$verbose" && echo " ... found utf8 headers in $cf_cv_header_path_utf8" 1>&6
++
++echo "${as_me:-configure}:7104: testing ... found utf8 headers in $cf_cv_header_path_utf8 ..." 1>&5
++
++ cf_cv_find_linkage_utf8=maybe
++ cf_test_CPPFLAGS="$CPPFLAGS"
++ break
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-echo "$as_me:7158: result: no" >&5
+-echo "${ECHO_T}no" >&6
+- LIBS="$cf_save_LIBS"
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+- done
+
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++ CPPFLAGS="$cf_save_CPPFLAGS"
+
+ fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ fi
++ done
+
+-eval 'cf_found_library=$cf_cv_have_lib_'$cf_nculib_root
++ if test "$cf_cv_find_linkage_utf8" = maybe ; then
+
+-if test $cf_found_library = no ; then
+- { { echo "$as_me:7173: error: Cannot link $cf_nculib_root library" >&5
+-echo "$as_me: error: Cannot link $cf_nculib_root library" >&2;}
+- { (exit 1); exit 1; }; }
+-fi
++echo "${as_me:-configure}:7122: testing Searching for utf8 library in FIND_LINKAGE(utf8,) ..." 1>&5
+
+-fi
++ cf_save_LIBS="$LIBS"
++ cf_save_LDFLAGS="$LDFLAGS"
+
+-if test -n "$cf_ncurses_LIBS" ; then
+- echo "$as_me:7181: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5
+-echo $ECHO_N "checking if we can link $cf_nculib_root without $cf_ncurses_LIBS... $ECHO_C" >&6
+- cf_ncurses_SAVE="$LIBS"
+- for p in $cf_ncurses_LIBS ; do
+- q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"`
+- if test "$q" != "$LIBS" ; then
+- LIBS="$q"
+- fi
++ if test "$cf_cv_find_linkage_utf8" != yes ; then
++
++cf_search=
++cf_library_path_list=""
++if test -n "${LDFLAGS}${LIBS}" ; then
++ for cf_library_path in $LDFLAGS $LIBS
++ do
++ case $cf_library_path in #(vi
++ -L*)
++ cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'`
++
++test "$cf_library_path" != "NONE" && \
++test -d "$cf_library_path" && \
++ {
++ test -n "$verbose" && echo " ... testing for lib-directories under $cf_library_path"
++ test -d $cf_library_path/lib && cf_search="$cf_search $cf_library_path/lib"
++ test -d $cf_library_path/lib/utf8 && cf_search="$cf_search $cf_library_path/lib/utf8"
++ test -d $cf_library_path/lib/utf8/lib && cf_search="$cf_search $cf_library_path/lib/utf8/lib"
++ test -d $cf_library_path/utf8/lib && cf_search="$cf_search $cf_library_path/utf8/lib"
++ test -d $cf_library_path/utf8/lib/utf8 && cf_search="$cf_search $cf_library_path/utf8/lib/utf8"
++}
++
++ cf_library_path_list="$cf_library_path_list $cf_search"
++ ;;
++ esac
+ done
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 7191 "configure"
++fi
++
++cf_search=
++
++test "/usr" != "$prefix" && \
++test -d "/usr" && \
++(test $prefix = NONE || test "/usr" != "$prefix") && {
++ test -n "$verbose" && echo " ... testing for lib-directories under /usr"
++ test -d /usr/lib && cf_search="$cf_search /usr/lib"
++ test -d /usr/lib/utf8 && cf_search="$cf_search /usr/lib/utf8"
++ test -d /usr/lib/utf8/lib && cf_search="$cf_search /usr/lib/utf8/lib"
++ test -d /usr/utf8/lib && cf_search="$cf_search /usr/utf8/lib"
++ test -d /usr/utf8/lib/utf8 && cf_search="$cf_search /usr/utf8/lib/utf8"
++}
++
++test "$prefix" != "NONE" && \
++test -d "$prefix" && \
++ {
++ test -n "$verbose" && echo " ... testing for lib-directories under $prefix"
++ test -d $prefix/lib && cf_search="$cf_search $prefix/lib"
++ test -d $prefix/lib/utf8 && cf_search="$cf_search $prefix/lib/utf8"
++ test -d $prefix/lib/utf8/lib && cf_search="$cf_search $prefix/lib/utf8/lib"
++ test -d $prefix/utf8/lib && cf_search="$cf_search $prefix/utf8/lib"
++ test -d $prefix/utf8/lib/utf8 && cf_search="$cf_search $prefix/utf8/lib/utf8"
++}
++
++test "/usr/local" != "$prefix" && \
++test -d "/usr/local" && \
++(test $prefix = NONE || test "/usr/local" != "$prefix") && {
++ test -n "$verbose" && echo " ... testing for lib-directories under /usr/local"
++ test -d /usr/local/lib && cf_search="$cf_search /usr/local/lib"
++ test -d /usr/local/lib/utf8 && cf_search="$cf_search /usr/local/lib/utf8"
++ test -d /usr/local/lib/utf8/lib && cf_search="$cf_search /usr/local/lib/utf8/lib"
++ test -d /usr/local/utf8/lib && cf_search="$cf_search /usr/local/utf8/lib"
++ test -d /usr/local/utf8/lib/utf8 && cf_search="$cf_search /usr/local/utf8/lib/utf8"
++}
++
++test "/opt" != "$prefix" && \
++test -d "/opt" && \
++(test $prefix = NONE || test "/opt" != "$prefix") && {
++ test -n "$verbose" && echo " ... testing for lib-directories under /opt"
++ test -d /opt/lib && cf_search="$cf_search /opt/lib"
++ test -d /opt/lib/utf8 && cf_search="$cf_search /opt/lib/utf8"
++ test -d /opt/lib/utf8/lib && cf_search="$cf_search /opt/lib/utf8/lib"
++ test -d /opt/utf8/lib && cf_search="$cf_search /opt/utf8/lib"
++ test -d /opt/utf8/lib/utf8 && cf_search="$cf_search /opt/utf8/lib/utf8"
++}
++
++test "$HOME" != "$prefix" && \
++test -d "$HOME" && \
++(test $prefix = NONE || test "$HOME" != "$prefix") && {
++ test -n "$verbose" && echo " ... testing for lib-directories under $HOME"
++ test -d $HOME/lib && cf_search="$cf_search $HOME/lib"
++ test -d $HOME/lib/utf8 && cf_search="$cf_search $HOME/lib/utf8"
++ test -d $HOME/lib/utf8/lib && cf_search="$cf_search $HOME/lib/utf8/lib"
++ test -d $HOME/utf8/lib && cf_search="$cf_search $HOME/utf8/lib"
++ test -d $HOME/utf8/lib/utf8 && cf_search="$cf_search $HOME/utf8/lib/utf8"
++}
++
++cf_search="$cf_library_path_list $cf_search"
++
++ for cf_cv_library_path_utf8 in $cf_search
++ do
++ if test -d $cf_cv_library_path_utf8 ; then
++ test -n "$verbose" && echo " ... testing $cf_cv_library_path_utf8" 1>&6
++
++echo "${as_me:-configure}:7219: testing ... testing $cf_cv_library_path_utf8 ..." 1>&5
++
++ CPPFLAGS="$cf_test_CPPFLAGS"
++ LIBS="-lutf8 $cf_save_LIBS"
++ LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_utf8"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 7225 "configure"
+ #include "confdefs.h"
+-#include <${cf_cv_ncurses_header:-curses.h}>
++
++#include <libutf8.h>
+ int
+ main ()
+ {
+-initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);
++putwc(0,0);
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:7203: \"$ac_link\"") >&5
++if { (eval echo "$as_me:7238: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:7206: \$? = $ac_status" >&5
++ echo "$as_me:7241: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:7209: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7244: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7212: \$? = $ac_status" >&5
++ echo "$as_me:7247: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- echo "$as_me:7214: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
++
++ test -n "$verbose" && echo " ... found utf8 library in $cf_cv_library_path_utf8" 1>&6
++
++echo "${as_me:-configure}:7252: testing ... found utf8 library in $cf_cv_library_path_utf8 ..." 1>&5
++
++ cf_cv_find_linkage_utf8=yes
++ cf_cv_library_file_utf8="-lutf8"
++ break
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-echo "$as_me:7219: result: no" >&5
+-echo "${ECHO_T}no" >&6
+- LIBS="$cf_ncurses_SAVE"
++
++ CPPFLAGS="$cf_save_CPPFLAGS"
++ LIBS="$cf_save_LIBS"
++ LDFLAGS="$cf_save_LDFLAGS"
++
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-fi
++ fi
++ done
++ CPPFLAGS="$cf_save_CPPFLAGS"
++ LDFLAGS="$cf_save_LDFLAGS"
++ fi
+
+-cf_nculib_ROOT=`echo "HAVE_LIB$cf_nculib_root" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++ else
++ cf_cv_find_linkage_utf8=no
++ fi
+
+-cat >>confdefs.h <<EOF
+-#define $cf_nculib_ROOT 1
+-EOF
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+ fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+- ;;
+-ncursesw)
+- cf_cv_libtype=w
++LIBS="$cf_save_LIBS"
+
+-echo "$as_me:7238: checking for multibyte character support" >&5
+-echo $ECHO_N "checking for multibyte character support... $ECHO_C" >&6
+-if test "${cf_cv_utf8_lib+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
++if test "$cf_cv_find_linkage_utf8" = yes ; then
++cf_cv_utf8_lib=add-on
+ else
++cf_cv_utf8_lib=no
++fi
+
+- cf_save_LIBS="$LIBS"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 7246 "configure"
+-#include "confdefs.h"
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++fi
++echo "$as_me:7294: result: $cf_cv_utf8_lib" >&5
++echo "${ECHO_T}$cf_cv_utf8_lib" >&6
+
+-#include <stdlib.h>
++# HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
++# ncurses/ncursesw:
++if test "$cf_cv_utf8_lib" = "add-on" ; then
++
++cat >>confdefs.h <<\EOF
++#define HAVE_LIBUTF8_H 1
++EOF
++
++if test -n "$cf_cv_header_path_utf8" ; then
++ for cf_add_incdir in $cf_cv_header_path_utf8
++ do
++ while test $cf_add_incdir != /usr/include
++ do
++ if test -d $cf_add_incdir
++ then
++ cf_have_incdir=no
++ if test -n "$CFLAGS$CPPFLAGS" ; then
++ # a loop is needed to ensure we can add subdirs of existing dirs
++ for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
++ if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
++ cf_have_incdir=yes; break
++ fi
++ done
++ fi
++
++ if test "$cf_have_incdir" = no ; then
++ if test "$cf_add_incdir" = /usr/local/include ; then
++ if test "$GCC" = yes
++ then
++ cf_save_CPPFLAGS=$CPPFLAGS
++ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 7329 "configure"
++#include "confdefs.h"
++#include <stdio.h>
+ int
+ main ()
+ {
+-putwc(0,0);
++printf("Hello")
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:7259: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:7341: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7262: \$? = $ac_status" >&5
++ echo "$as_me:7344: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:7265: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:7347: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7268: \$? = $ac_status" >&5
++ echo "$as_me:7350: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_utf8_lib=yes
++ :
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
++cf_have_incdir=yes
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CPPFLAGS=$cf_save_CPPFLAGS
++ fi
++ fi
++ fi
+
+-# If the linkage is not already in the $CPPFLAGS/$LDFLAGS configuration, these
+-# will be set on completion of the AC_TRY_LINK below.
+-cf_cv_header_path_utf8=
+-cf_cv_library_path_utf8=
+-
+-echo "${as_me:-configure}:7280: testing Starting FIND_LINKAGE(utf8,) ..." 1>&5
++ if test "$cf_have_incdir" = no ; then
++ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-cf_save_LIBS="$LIBS"
++echo "${as_me:-configure}:7367: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 7285 "configure"
+-#include "confdefs.h"
++ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+-#include <libutf8.h>
+-int
+-main ()
+-{
+-putwc(0,0);
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:7298: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:7301: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:7304: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:7307: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
++ cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
++ test "$cf_top_incdir" = "$cf_add_incdir" && break
++ cf_add_incdir="$cf_top_incdir"
++ else
++ break
++ fi
++ fi
++ done
++ done
++fi
+
+- cf_cv_find_linkage_utf8=yes
+- cf_cv_header_path_utf8=/usr/include
+- cf_cv_library_path_utf8=/usr/lib
++if test -n "$cf_cv_library_path_utf8" ; then
++ for cf_add_libdir in $cf_cv_library_path_utf8
++ do
++ if test $cf_add_libdir = /usr/lib ; then
++ :
++ elif test -d $cf_add_libdir
++ then
++ cf_have_libdir=no
++ if test -n "$LDFLAGS$LIBS" ; then
++ # a loop is needed to ensure we can add subdirs of existing dirs
++ for cf_test_libdir in $LDFLAGS $LIBS ; do
++ if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
++ cf_have_libdir=yes; break
++ fi
++ done
++ fi
++ if test "$cf_have_libdir" = no ; then
++ test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
+
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
++echo "${as_me:-configure}:7401: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+-LIBS="-lutf8 $cf_save_LIBS"
++ LDFLAGS="-L$cf_add_libdir $LDFLAGS"
++ fi
++ fi
++ done
++fi
+
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 7321 "configure"
+-#include "confdefs.h"
++ LIBS="$cf_cv_library_file_utf8 $LIBS"
++fi
+
+-#include <libutf8.h>
+-int
+-main ()
+-{
+-putwc(0,0);
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:7334: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:7337: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:7340: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:7343: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
++cf_ncuconfig_root=ncursesw
+
+- cf_cv_find_linkage_utf8=yes
+- cf_cv_header_path_utf8=/usr/include
+- cf_cv_library_path_utf8=/usr/lib
+- cf_cv_library_file_utf8="-lutf8"
++echo "Looking for ${cf_ncuconfig_root}-config"
+
++if test -n "$ac_tool_prefix"; then
++ for ac_prog in ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config
++ do
++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
++echo "$as_me:7421: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_NCURSES_CONFIG+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-
+- cf_cv_find_linkage_utf8=no
+- LIBS="$cf_save_LIBS"
+-
+- test -n "$verbose" && echo " find linkage for utf8 library" 1>&6
+-
+-echo "${as_me:-configure}:7360: testing find linkage for utf8 library ..." 1>&5
+-
+-echo "${as_me:-configure}:7362: testing Searching for headers in FIND_LINKAGE(utf8,) ..." 1>&5
+-
+- cf_save_CPPFLAGS="$CPPFLAGS"
+- cf_test_CPPFLAGS="$CPPFLAGS"
+-
+-cf_search=
+-
+-# collect the current set of include-directories from compiler flags
+-cf_header_path_list=""
+-if test -n "${CFLAGS}${CPPFLAGS}" ; then
+- for cf_header_path in $CPPFLAGS $CFLAGS
+- do
+- case $cf_header_path in #(vi
+- -I*)
+- cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'`
+-
+-test "$cf_header_path" != "NONE" && \
+-test -d "$cf_header_path" && \
+- {
+- test -n "$verbose" && echo " ... testing for include-directories under $cf_header_path"
+- test -d $cf_header_path/include && cf_search="$cf_search $cf_header_path/include"
+- test -d $cf_header_path/include/utf8 && cf_search="$cf_search $cf_header_path/include/utf8"
+- test -d $cf_header_path/include/utf8/include && cf_search="$cf_search $cf_header_path/include/utf8/include"
+- test -d $cf_header_path/utf8/include && cf_search="$cf_search $cf_header_path/utf8/include"
+- test -d $cf_header_path/utf8/include/utf8 && cf_search="$cf_search $cf_header_path/utf8/include/utf8"
+-}
++ if test -n "$NCURSES_CONFIG"; then
++ ac_cv_prog_NCURSES_CONFIG="$NCURSES_CONFIG" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_NCURSES_CONFIG="$ac_tool_prefix$ac_prog"
++echo "$as_me:7436: found $ac_dir/$ac_word" >&5
++break
++done
+
+- cf_header_path_list="$cf_header_path_list $cf_search"
+- ;;
+- esac
+- done
++fi
++fi
++NCURSES_CONFIG=$ac_cv_prog_NCURSES_CONFIG
++if test -n "$NCURSES_CONFIG"; then
++ echo "$as_me:7444: result: $NCURSES_CONFIG" >&5
++echo "${ECHO_T}$NCURSES_CONFIG" >&6
++else
++ echo "$as_me:7447: result: no" >&5
++echo "${ECHO_T}no" >&6
+ fi
+
+-# add the variations for the package we are looking for
+-
+-cf_search=
+-
+-test "/usr" != "$prefix" && \
+-test -d "/usr" && \
+-(test $prefix = NONE || test "/usr" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for include-directories under /usr"
+- test -d /usr/include && cf_search="$cf_search /usr/include"
+- test -d /usr/include/utf8 && cf_search="$cf_search /usr/include/utf8"
+- test -d /usr/include/utf8/include && cf_search="$cf_search /usr/include/utf8/include"
+- test -d /usr/utf8/include && cf_search="$cf_search /usr/utf8/include"
+- test -d /usr/utf8/include/utf8 && cf_search="$cf_search /usr/utf8/include/utf8"
+-}
+-
+-test "$prefix" != "NONE" && \
+-test -d "$prefix" && \
+- {
+- test -n "$verbose" && echo " ... testing for include-directories under $prefix"
+- test -d $prefix/include && cf_search="$cf_search $prefix/include"
+- test -d $prefix/include/utf8 && cf_search="$cf_search $prefix/include/utf8"
+- test -d $prefix/include/utf8/include && cf_search="$cf_search $prefix/include/utf8/include"
+- test -d $prefix/utf8/include && cf_search="$cf_search $prefix/utf8/include"
+- test -d $prefix/utf8/include/utf8 && cf_search="$cf_search $prefix/utf8/include/utf8"
+-}
+-
+-test "/usr/local" != "$prefix" && \
+-test -d "/usr/local" && \
+-(test $prefix = NONE || test "/usr/local" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for include-directories under /usr/local"
+- test -d /usr/local/include && cf_search="$cf_search /usr/local/include"
+- test -d /usr/local/include/utf8 && cf_search="$cf_search /usr/local/include/utf8"
+- test -d /usr/local/include/utf8/include && cf_search="$cf_search /usr/local/include/utf8/include"
+- test -d /usr/local/utf8/include && cf_search="$cf_search /usr/local/utf8/include"
+- test -d /usr/local/utf8/include/utf8 && cf_search="$cf_search /usr/local/utf8/include/utf8"
+-}
++ test -n "$NCURSES_CONFIG" && break
++ done
++fi
++if test -z "$NCURSES_CONFIG"; then
++ ac_ct_NCURSES_CONFIG=$NCURSES_CONFIG
++ for ac_prog in ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++echo "$as_me:7460: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_ac_ct_NCURSES_CONFIG+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_NCURSES_CONFIG"; then
++ ac_cv_prog_ac_ct_NCURSES_CONFIG="$ac_ct_NCURSES_CONFIG" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_ac_ct_NCURSES_CONFIG="$ac_prog"
++echo "$as_me:7475: found $ac_dir/$ac_word" >&5
++break
++done
+
+-test "/opt" != "$prefix" && \
+-test -d "/opt" && \
+-(test $prefix = NONE || test "/opt" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for include-directories under /opt"
+- test -d /opt/include && cf_search="$cf_search /opt/include"
+- test -d /opt/include/utf8 && cf_search="$cf_search /opt/include/utf8"
+- test -d /opt/include/utf8/include && cf_search="$cf_search /opt/include/utf8/include"
+- test -d /opt/utf8/include && cf_search="$cf_search /opt/utf8/include"
+- test -d /opt/utf8/include/utf8 && cf_search="$cf_search /opt/utf8/include/utf8"
+-}
++fi
++fi
++ac_ct_NCURSES_CONFIG=$ac_cv_prog_ac_ct_NCURSES_CONFIG
++if test -n "$ac_ct_NCURSES_CONFIG"; then
++ echo "$as_me:7483: result: $ac_ct_NCURSES_CONFIG" >&5
++echo "${ECHO_T}$ac_ct_NCURSES_CONFIG" >&6
++else
++ echo "$as_me:7486: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
+
+-test "$HOME" != "$prefix" && \
+-test -d "$HOME" && \
+-(test $prefix = NONE || test "$HOME" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for include-directories under $HOME"
+- test -d $HOME/include && cf_search="$cf_search $HOME/include"
+- test -d $HOME/include/utf8 && cf_search="$cf_search $HOME/include/utf8"
+- test -d $HOME/include/utf8/include && cf_search="$cf_search $HOME/include/utf8/include"
+- test -d $HOME/utf8/include && cf_search="$cf_search $HOME/utf8/include"
+- test -d $HOME/utf8/include/utf8 && cf_search="$cf_search $HOME/utf8/include/utf8"
+-}
++ test -n "$ac_ct_NCURSES_CONFIG" && break
++done
++test -n "$ac_ct_NCURSES_CONFIG" || ac_ct_NCURSES_CONFIG="none"
+
+-test "$includedir" != NONE && \
+-test "$includedir" != "/usr/include" && \
+-test -d "$includedir" && {
+- test -d $includedir && cf_search="$cf_search $includedir"
+- test -d $includedir/utf8 && cf_search="$cf_search $includedir/utf8"
+-}
++ NCURSES_CONFIG=$ac_ct_NCURSES_CONFIG
++fi
+
+-test "$oldincludedir" != NONE && \
+-test "$oldincludedir" != "/usr/include" && \
+-test -d "$oldincludedir" && {
+- test -d $oldincludedir && cf_search="$cf_search $oldincludedir"
+- test -d $oldincludedir/utf8 && cf_search="$cf_search $oldincludedir/utf8"
+-}
++if test "$NCURSES_CONFIG" != none ; then
+
+-cf_search="$cf_search $cf_header_path_list"
++CPPFLAGS="$CPPFLAGS `$NCURSES_CONFIG --cflags`"
++LIBS="`$NCURSES_CONFIG --libs` $LIBS"
+
+- for cf_cv_header_path_utf8 in $cf_search
+- do
+- if test -d $cf_cv_header_path_utf8 ; then
+- test -n "$verbose" && echo " ... testing $cf_cv_header_path_utf8" 1>&6
++# even with config script, some packages use no-override for curses.h
+
+-echo "${as_me:-configure}:7475: testing ... testing $cf_cv_header_path_utf8 ..." 1>&5
++echo "$as_me:7504: checking if we have identified curses headers" >&5
++echo $ECHO_N "checking if we have identified curses headers... $ECHO_C" >&6
++if test "${cf_cv_ncurses_header+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
+
+- CPPFLAGS="$cf_save_CPPFLAGS -I$cf_cv_header_path_utf8"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 7479 "configure"
++cf_cv_ncurses_header=none
++for cf_header in \
++ ncursesw/ncurses.h \
++ ncursesw/curses.h \
++ ncurses.h \
++ curses.h
++do
++cat >conftest.$ac_ext <<_ACEOF
++#line 7518 "configure"
+ #include "confdefs.h"
+-
+-#include <libutf8.h>
++#include <${cf_header}>
+ int
+ main ()
+ {
+-putwc(0,0);
++initscr(); tgoto("?", 0,0)
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7492: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7530: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7495: \$? = $ac_status" >&5
++ echo "$as_me:7533: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7498: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7536: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7501: \$? = $ac_status" >&5
++ echo "$as_me:7539: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+-
+- test -n "$verbose" && echo " ... found utf8 headers in $cf_cv_header_path_utf8" 1>&6
+-
+-echo "${as_me:-configure}:7506: testing ... found utf8 headers in $cf_cv_header_path_utf8 ..." 1>&5
+-
+- cf_cv_find_linkage_utf8=maybe
+- cf_test_CPPFLAGS="$CPPFLAGS"
+- break
++ cf_cv_ncurses_header=$cf_header; break
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-
+- CPPFLAGS="$cf_save_CPPFLAGS"
+-
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+- fi
+- done
+-
+- if test "$cf_cv_find_linkage_utf8" = maybe ; then
+-
+-echo "${as_me:-configure}:7524: testing Searching for utf8 library in FIND_LINKAGE(utf8,) ..." 1>&5
+-
+- cf_save_LIBS="$LIBS"
+- cf_save_LDFLAGS="$LDFLAGS"
+-
+- if test "$cf_cv_find_linkage_utf8" != yes ; then
+-
+-cf_search=
+-cf_library_path_list=""
+-if test -n "${LDFLAGS}${LIBS}" ; then
+- for cf_library_path in $LDFLAGS $LIBS
+- do
+- case $cf_library_path in #(vi
+- -L*)
+- cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'`
+-
+-test "$cf_library_path" != "NONE" && \
+-test -d "$cf_library_path" && \
+- {
+- test -n "$verbose" && echo " ... testing for lib-directories under $cf_library_path"
+- test -d $cf_library_path/lib && cf_search="$cf_search $cf_library_path/lib"
+- test -d $cf_library_path/lib/utf8 && cf_search="$cf_search $cf_library_path/lib/utf8"
+- test -d $cf_library_path/lib/utf8/lib && cf_search="$cf_search $cf_library_path/lib/utf8/lib"
+- test -d $cf_library_path/utf8/lib && cf_search="$cf_search $cf_library_path/utf8/lib"
+- test -d $cf_library_path/utf8/lib/utf8 && cf_search="$cf_search $cf_library_path/utf8/lib/utf8"
+-}
++done
+
+- cf_library_path_list="$cf_library_path_list $cf_search"
+- ;;
+- esac
+- done
+ fi
++echo "$as_me:7550: result: $cf_cv_ncurses_header" >&5
++echo "${ECHO_T}$cf_cv_ncurses_header" >&6
+
+-cf_search=
+-
+-test "/usr" != "$prefix" && \
+-test -d "/usr" && \
+-(test $prefix = NONE || test "/usr" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for lib-directories under /usr"
+- test -d /usr/lib && cf_search="$cf_search /usr/lib"
+- test -d /usr/lib/utf8 && cf_search="$cf_search /usr/lib/utf8"
+- test -d /usr/lib/utf8/lib && cf_search="$cf_search /usr/lib/utf8/lib"
+- test -d /usr/utf8/lib && cf_search="$cf_search /usr/utf8/lib"
+- test -d /usr/utf8/lib/utf8 && cf_search="$cf_search /usr/utf8/lib/utf8"
+-}
+-
+-test "$prefix" != "NONE" && \
+-test -d "$prefix" && \
+- {
+- test -n "$verbose" && echo " ... testing for lib-directories under $prefix"
+- test -d $prefix/lib && cf_search="$cf_search $prefix/lib"
+- test -d $prefix/lib/utf8 && cf_search="$cf_search $prefix/lib/utf8"
+- test -d $prefix/lib/utf8/lib && cf_search="$cf_search $prefix/lib/utf8/lib"
+- test -d $prefix/utf8/lib && cf_search="$cf_search $prefix/utf8/lib"
+- test -d $prefix/utf8/lib/utf8 && cf_search="$cf_search $prefix/utf8/lib/utf8"
+-}
+-
+-test "/usr/local" != "$prefix" && \
+-test -d "/usr/local" && \
+-(test $prefix = NONE || test "/usr/local" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for lib-directories under /usr/local"
+- test -d /usr/local/lib && cf_search="$cf_search /usr/local/lib"
+- test -d /usr/local/lib/utf8 && cf_search="$cf_search /usr/local/lib/utf8"
+- test -d /usr/local/lib/utf8/lib && cf_search="$cf_search /usr/local/lib/utf8/lib"
+- test -d /usr/local/utf8/lib && cf_search="$cf_search /usr/local/utf8/lib"
+- test -d /usr/local/utf8/lib/utf8 && cf_search="$cf_search /usr/local/utf8/lib/utf8"
+-}
+-
+-test "/opt" != "$prefix" && \
+-test -d "/opt" && \
+-(test $prefix = NONE || test "/opt" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for lib-directories under /opt"
+- test -d /opt/lib && cf_search="$cf_search /opt/lib"
+- test -d /opt/lib/utf8 && cf_search="$cf_search /opt/lib/utf8"
+- test -d /opt/lib/utf8/lib && cf_search="$cf_search /opt/lib/utf8/lib"
+- test -d /opt/utf8/lib && cf_search="$cf_search /opt/utf8/lib"
+- test -d /opt/utf8/lib/utf8 && cf_search="$cf_search /opt/utf8/lib/utf8"
+-}
+-
+-test "$HOME" != "$prefix" && \
+-test -d "$HOME" && \
+-(test $prefix = NONE || test "$HOME" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for lib-directories under $HOME"
+- test -d $HOME/lib && cf_search="$cf_search $HOME/lib"
+- test -d $HOME/lib/utf8 && cf_search="$cf_search $HOME/lib/utf8"
+- test -d $HOME/lib/utf8/lib && cf_search="$cf_search $HOME/lib/utf8/lib"
+- test -d $HOME/utf8/lib && cf_search="$cf_search $HOME/utf8/lib"
+- test -d $HOME/utf8/lib/utf8 && cf_search="$cf_search $HOME/utf8/lib/utf8"
+-}
+-
+-cf_search="$cf_library_path_list $cf_search"
+-
+- for cf_cv_library_path_utf8 in $cf_search
+- do
+- if test -d $cf_cv_library_path_utf8 ; then
+- test -n "$verbose" && echo " ... testing $cf_cv_library_path_utf8" 1>&6
++if test "$cf_cv_ncurses_header" = none ; then
++ { { echo "$as_me:7554: error: No curses header-files found" >&5
++echo "$as_me: error: No curses header-files found" >&2;}
++ { (exit 1); exit 1; }; }
++fi
+
+-echo "${as_me:-configure}:7621: testing ... testing $cf_cv_library_path_utf8 ..." 1>&5
++# cheat, to get the right #define's for HAVE_NCURSES_H, etc.
+
+- CPPFLAGS="$cf_test_CPPFLAGS"
+- LIBS="-lutf8 $cf_save_LIBS"
+- LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_utf8"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 7627 "configure"
++for ac_header in $cf_cv_ncurses_header
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++echo "$as_me:7564: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 7570 "configure"
+ #include "confdefs.h"
+-
+-#include <libutf8.h>
+-int
+-main ()
+-{
+-putwc(0,0);
+- ;
+- return 0;
+-}
++#include <$ac_header>
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:7640: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:7643: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:7646: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
++if { (eval echo "$as_me:7574: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+- echo "$as_me:7649: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+-
+- test -n "$verbose" && echo " ... found utf8 library in $cf_cv_library_path_utf8" 1>&6
+-
+-echo "${as_me:-configure}:7654: testing ... found utf8 library in $cf_cv_library_path_utf8 ..." 1>&5
+-
+- cf_cv_find_linkage_utf8=yes
+- cf_cv_library_file_utf8="-lutf8"
+- break
++ egrep -v '^ *\+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:7580: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++ eval "$as_ac_Header=yes"
+ else
+ echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-
+- CPPFLAGS="$cf_save_CPPFLAGS"
+- LIBS="$cf_save_LIBS"
+- LDFLAGS="$cf_save_LDFLAGS"
++ cat conftest.$ac_ext >&5
++ eval "$as_ac_Header=no"
++fi
++rm -f conftest.err conftest.$ac_ext
++fi
++echo "$as_me:7599: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<EOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++EOF
+
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+- fi
+- done
+- CPPFLAGS="$cf_save_CPPFLAGS"
+- LDFLAGS="$cf_save_LDFLAGS"
+- fi
++done
+
+- else
+- cf_cv_find_linkage_utf8=no
+- fi
++cat >>confdefs.h <<\EOF
++#define NCURSES 1
++EOF
+
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++cf_nculib_ROOT=`echo "HAVE_LIB$cf_ncuconfig_root" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++cat >>confdefs.h <<EOF
++#define $cf_nculib_ROOT 1
++EOF
+
+-LIBS="$cf_save_LIBS"
++cf_cv_ncurses_version=`$NCURSES_CONFIG --version`
+
+-if test "$cf_cv_find_linkage_utf8" = yes ; then
+-cf_cv_utf8_lib=add-on
+ else
+-cf_cv_utf8_lib=no
+-fi
+
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-fi
+-echo "$as_me:7696: result: $cf_cv_utf8_lib" >&5
+-echo "${ECHO_T}$cf_cv_utf8_lib" >&6
++cf_ncuhdr_root=ncursesw
+
+-# HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
+-# ncurses/ncursesw:
+-if test "$cf_cv_utf8_lib" = "add-on" ; then
+- cat >>confdefs.h <<\EOF
+-#define HAVE_LIBUTF8_H 1
+-EOF
++test -n "$cf_cv_curses_dir" && \
++test "$cf_cv_curses_dir" != "no" && { \
+
+-if test -n "$cf_cv_header_path_utf8" ; then
+- for cf_add_incdir in $cf_cv_header_path_utf8
++if test -n "$cf_cv_curses_dir/include/$cf_ncuhdr_root" ; then
++ for cf_add_incdir in $cf_cv_curses_dir/include/$cf_ncuhdr_root
+ do
+ while test $cf_add_incdir != /usr/include
+ do
+@@ -7727,7 +7649,7 @@
+ cf_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7730 "configure"
++#line 7652 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -7739,16 +7661,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7742: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7664: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7745: \$? = $ac_status" >&5
++ echo "$as_me:7667: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7748: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7670: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7751: \$? = $ac_status" >&5
++ echo "$as_me:7673: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -7765,7 +7687,7 @@
+ if test "$cf_have_incdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-echo "${as_me:-configure}:7768: testing adding $cf_add_incdir to include-path ..." 1>&5
++echo "${as_me:-configure}:7690: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+@@ -7780,305 +7702,21 @@
+ done
+ fi
+
+-if test -n "$cf_cv_library_path_utf8" ; then
+- for cf_add_libdir in $cf_cv_library_path_utf8
+- do
+- if test $cf_add_libdir = /usr/lib ; then
+- :
+- elif test -d $cf_add_libdir
+- then
+- cf_have_libdir=no
+- if test -n "$LDFLAGS$LIBS" ; then
+- # a loop is needed to ensure we can add subdirs of existing dirs
+- for cf_test_libdir in $LDFLAGS $LIBS ; do
+- if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
+- cf_have_libdir=yes; break
+- fi
+- done
+- fi
+- if test "$cf_have_libdir" = no ; then
+- test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
++}
+
+-echo "${as_me:-configure}:7802: testing adding $cf_add_libdir to library-path ..." 1>&5
++echo "$as_me:7707: checking for $cf_ncuhdr_root header in include-path" >&5
++echo $ECHO_N "checking for $cf_ncuhdr_root header in include-path... $ECHO_C" >&6
++if test "${cf_cv_ncurses_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
+
+- LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+- fi
+- fi
+- done
+-fi
+-
+- LIBS="$cf_cv_library_file_utf8 $LIBS"
+-fi
+-
+-cf_ncuconfig_root=ncursesw
+-
+-echo "Looking for ${cf_ncuconfig_root}-config"
+-for ac_prog in ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config
+-do
+- # Extract the first word of "$ac_prog", so it can be a program name with args.
+-set dummy $ac_prog; ac_word=$2
+-echo "$as_me:7820: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_path_NCURSES_CONFIG+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- case $NCURSES_CONFIG in
+- [\\/]* | ?:[\\/]*)
+- ac_cv_path_NCURSES_CONFIG="$NCURSES_CONFIG" # Let the user override the test with a path.
+- ;;
+- *)
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- if $as_executable_p "$ac_dir/$ac_word"; then
+- ac_cv_path_NCURSES_CONFIG="$ac_dir/$ac_word"
+- echo "$as_me:7837: found $ac_dir/$ac_word" >&5
+- break
+-fi
+-done
+-
+- ;;
+-esac
+-fi
+-NCURSES_CONFIG=$ac_cv_path_NCURSES_CONFIG
+-
+-if test -n "$NCURSES_CONFIG"; then
+- echo "$as_me:7848: result: $NCURSES_CONFIG" >&5
+-echo "${ECHO_T}$NCURSES_CONFIG" >&6
+-else
+- echo "$as_me:7851: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+- test -n "$NCURSES_CONFIG" && break
+-done
+-test -n "$NCURSES_CONFIG" || NCURSES_CONFIG="none"
+-
+-if test "$NCURSES_CONFIG" != none ; then
+-
+-CPPFLAGS="$CPPFLAGS `$NCURSES_CONFIG --cflags`"
+-LIBS="`$NCURSES_CONFIG --libs` $LIBS"
+-
+-# even with config script, some packages use no-override for curses.h
+-
+-echo "$as_me:7866: checking if we have identified curses headers" >&5
+-echo $ECHO_N "checking if we have identified curses headers... $ECHO_C" >&6
+-if test "${cf_cv_ncurses_header+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+-
+-cf_cv_ncurses_header=none
+-for cf_header in \
+- ncursesw/curses.h \
+- ncursesw/ncurses.h \
+- curses.h \
+- ncurses.h
+-do
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 7880 "configure"
+-#include "confdefs.h"
+-#include <${cf_header}>
+-int
+-main ()
+-{
+-initscr(); tgoto("?", 0,0)
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7892: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:7895: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7898: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:7901: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- cf_cv_ncurses_header=$cf_header; break
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-done
+-
+-fi
+-echo "$as_me:7912: result: $cf_cv_ncurses_header" >&5
+-echo "${ECHO_T}$cf_cv_ncurses_header" >&6
+-
+-if test "$cf_cv_ncurses_header" = none ; then
+- { { echo "$as_me:7916: error: No curses header-files found" >&5
+-echo "$as_me: error: No curses header-files found" >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+-
+-# cheat, to get the right #define's for HAVE_NCURSES_H, etc.
+-
+-for ac_header in $cf_cv_ncurses_header
+-do
+-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:7926: checking for $ac_header" >&5
+-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 7932 "configure"
+-#include "confdefs.h"
+-#include <$ac_header>
+-_ACEOF
+-if { (eval echo "$as_me:7936: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+- ac_status=$?
+- egrep -v '^ *\+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:7942: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- eval "$as_ac_Header=yes"
+-else
+- echo "$as_me: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- eval "$as_ac_Header=no"
+-fi
+-rm -f conftest.err conftest.$ac_ext
+-fi
+-echo "$as_me:7961: result: `eval echo '${'$as_ac_Header'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+- cat >>confdefs.h <<EOF
+-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+-EOF
+-
+-fi
+-done
+-
+-cat >>confdefs.h <<\EOF
+-#define NCURSES 1
+-EOF
+-
+-cf_nculib_ROOT=`echo "HAVE_LIB$cf_ncuconfig_root" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+-
+-cat >>confdefs.h <<EOF
+-#define $cf_nculib_ROOT 1
+-EOF
+-
+-cf_cv_ncurses_version=`$NCURSES_CONFIG --version`
+-
+-else
+-
+-cf_ncuhdr_root=ncursesw
+-
+-test -n "$cf_cv_curses_dir" && \
+-test "$cf_cv_curses_dir" != "no" && { \
+-
+-if test -n "$cf_cv_curses_dir/include/$cf_ncuhdr_root" ; then
+- for cf_add_incdir in $cf_cv_curses_dir/include/$cf_ncuhdr_root
+- do
+- while test $cf_add_incdir != /usr/include
+- do
+- if test -d $cf_add_incdir
+- then
+- cf_have_incdir=no
+- if test -n "$CFLAGS$CPPFLAGS" ; then
+- # a loop is needed to ensure we can add subdirs of existing dirs
+- for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
+- if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
+- cf_have_incdir=yes; break
+- fi
+- done
+- fi
+-
+- if test "$cf_have_incdir" = no ; then
+- if test "$cf_add_incdir" = /usr/local/include ; then
+- if test "$GCC" = yes
+- then
+- cf_save_CPPFLAGS=$CPPFLAGS
+- CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 8014 "configure"
+-#include "confdefs.h"
+-#include <stdio.h>
+-int
+-main ()
+-{
+-printf("Hello")
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8026: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:8029: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8032: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:8035: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- :
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-cf_have_incdir=yes
+-fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+- CPPFLAGS=$cf_save_CPPFLAGS
+- fi
+- fi
+- fi
+-
+- if test "$cf_have_incdir" = no ; then
+- test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+-
+-echo "${as_me:-configure}:8052: testing adding $cf_add_incdir to include-path ..." 1>&5
+-
+- CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+-
+- cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
+- test "$cf_top_incdir" = "$cf_add_incdir" && break
+- cf_add_incdir="$cf_top_incdir"
+- else
+- break
+- fi
+- fi
+- done
+- done
+-fi
+-
+-}
+-
+-echo "$as_me:8069: checking for $cf_ncuhdr_root header in include-path" >&5
+-echo $ECHO_N "checking for $cf_ncuhdr_root header in include-path... $ECHO_C" >&6
+-if test "${cf_cv_ncurses_h+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+-
+- cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h"
+- ( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h"
+- for cf_header in $cf_header_list
+- do
++ cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h"
++ ( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h"
++ for cf_header in $cf_header_list
++ do
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8081 "configure"
++#line 7719 "configure"
+ #include "confdefs.h"
+
+ #define _XOPEN_SOURCE_EXTENDED
+@@ -8110,16 +7748,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8113: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7751: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8116: \$? = $ac_status" >&5
++ echo "$as_me:7754: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8119: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7757: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8122: \$? = $ac_status" >&5
++ echo "$as_me:7760: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_ncurses_h=$cf_header
+
+@@ -8134,14 +7772,14 @@
+ done
+
+ fi
+-echo "$as_me:8137: result: $cf_cv_ncurses_h" >&5
++echo "$as_me:7775: result: $cf_cv_ncurses_h" >&5
+ echo "${ECHO_T}$cf_cv_ncurses_h" >&6
+
+ if test "$cf_cv_ncurses_h" != no ; then
+ cf_cv_ncurses_header=$cf_cv_ncurses_h
+ else
+
+-echo "$as_me:8144: checking for $cf_ncuhdr_root include-path" >&5
++echo "$as_me:7782: checking for $cf_ncuhdr_root include-path" >&5
+ echo $ECHO_N "checking for $cf_ncuhdr_root include-path... $ECHO_C" >&6
+ if test "${cf_cv_ncurses_h2+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -8281,7 +7919,7 @@
+ cf_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8284 "configure"
++#line 7922 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -8293,16 +7931,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8296: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7934: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8299: \$? = $ac_status" >&5
++ echo "$as_me:7937: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8302: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7940: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8305: \$? = $ac_status" >&5
++ echo "$as_me:7943: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -8319,7 +7957,7 @@
+ if test "$cf_have_incdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-echo "${as_me:-configure}:8322: testing adding $cf_add_incdir to include-path ..." 1>&5
++echo "${as_me:-configure}:7960: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+@@ -8340,7 +7978,7 @@
+ do
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8343 "configure"
++#line 7981 "configure"
+ #include "confdefs.h"
+
+ #include <$cf_header>
+@@ -8364,16 +8002,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8367: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8005: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8370: \$? = $ac_status" >&5
++ echo "$as_me:8008: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8373: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8011: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8376: \$? = $ac_status" >&5
++ echo "$as_me:8014: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_ncurses_h2=$cf_header
+
+@@ -8394,12 +8032,12 @@
+ CPPFLAGS="$cf_save2_CPPFLAGS"
+ test "$cf_cv_ncurses_h2" != no && break
+ done
+- test "$cf_cv_ncurses_h2" = no && { { echo "$as_me:8397: error: not found" >&5
++ test "$cf_cv_ncurses_h2" = no && { { echo "$as_me:8035: error: not found" >&5
+ echo "$as_me: error: not found" >&2;}
+ { (exit 1); exit 1; }; }
+
+ fi
+-echo "$as_me:8402: result: $cf_cv_ncurses_h2" >&5
++echo "$as_me:8040: result: $cf_cv_ncurses_h2" >&5
+ echo "${ECHO_T}$cf_cv_ncurses_h2" >&6
+
+ cf_1st_incdir=`echo $cf_cv_ncurses_h2 | sed -e 's%/[^/]*$%%'`
+@@ -8432,7 +8070,7 @@
+ cf_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8435 "configure"
++#line 8073 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -8444,16 +8082,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8447: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8085: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8450: \$? = $ac_status" >&5
++ echo "$as_me:8088: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8453: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8091: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8456: \$? = $ac_status" >&5
++ echo "$as_me:8094: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -8470,7 +8108,7 @@
+ if test "$cf_have_incdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-echo "${as_me:-configure}:8473: testing adding $cf_add_incdir to include-path ..." 1>&5
++echo "${as_me:-configure}:8111: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+@@ -8491,7 +8129,8 @@
+
+ case $cf_cv_ncurses_header in # (vi
+ *ncurses.h)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_NCURSES_H 1
+ EOF
+
+@@ -8500,20 +8139,22 @@
+
+ case $cf_cv_ncurses_header in # (vi
+ ncurses/curses.h|ncurses/ncurses.h)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_NCURSES_NCURSES_H 1
+ EOF
+
+ ;;
+ ncursesw/curses.h|ncursesw/ncurses.h)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_NCURSESW_NCURSES_H 1
+ EOF
+
+ ;;
+ esac
+
+-echo "$as_me:8516: checking for terminfo header" >&5
++echo "$as_me:8157: checking for terminfo header" >&5
+ echo $ECHO_N "checking for terminfo header... $ECHO_C" >&6
+ if test "${cf_cv_term_header+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -8531,7 +8172,7 @@
+ for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h"
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8534 "configure"
++#line 8175 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ #include <${cf_cv_ncurses_header:-curses.h}>
+@@ -8546,16 +8187,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8549: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8190: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8552: \$? = $ac_status" >&5
++ echo "$as_me:8193: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8555: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8196: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8558: \$? = $ac_status" >&5
++ echo "$as_me:8199: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_term_header="$cf_test"
+@@ -8571,14 +8212,15 @@
+ done
+
+ fi
+-echo "$as_me:8574: result: $cf_cv_term_header" >&5
++echo "$as_me:8215: result: $cf_cv_term_header" >&5
+ echo "${ECHO_T}$cf_cv_term_header" >&6
+
+ # Set definitions to allow ifdef'ing to accommodate subdirectories
+
+ case $cf_cv_term_header in # (vi
+ *term.h)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_TERM_H 1
+ EOF
+
+@@ -8587,13 +8229,15 @@
+
+ case $cf_cv_term_header in # (vi
+ ncurses/term.h) #(vi
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_NCURSES_TERM_H 1
+ EOF
+
+ ;;
+ ncursesw/term.h)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_NCURSESW_TERM_H 1
+ EOF
+
+@@ -8601,11 +8245,12 @@
+ esac
+
+ # some applications need this, but should check for NCURSES_VERSION
++
+ cat >>confdefs.h <<\EOF
+ #define NCURSES 1
+ EOF
+
+-echo "$as_me:8608: checking for ncurses version" >&5
++echo "$as_me:8253: checking for ncurses version" >&5
+ echo $ECHO_N "checking for ncurses version... $ECHO_C" >&6
+ if test "${cf_cv_ncurses_version+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -8631,10 +8276,10 @@
+ #endif
+ EOF
+ cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
+- { (eval echo "$as_me:8634: \"$cf_try\"") >&5
++ { (eval echo "$as_me:8279: \"$cf_try\"") >&5
+ (eval $cf_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8637: \$? = $ac_status" >&5
++ echo "$as_me:8282: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ if test -f conftest.out ; then
+ cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'`
+@@ -8644,7 +8289,7 @@
+
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8647 "configure"
++#line 8292 "configure"
+ #include "confdefs.h"
+
+ #include <${cf_cv_ncurses_header:-curses.h}>
+@@ -8669,15 +8314,15 @@
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:8672: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8317: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8675: \$? = $ac_status" >&5
++ echo "$as_me:8320: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:8677: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8322: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8680: \$? = $ac_status" >&5
++ echo "$as_me:8325: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_ncurses_version=`cat $cf_tempfile`
+@@ -8691,9 +8336,10 @@
+ rm -f $cf_tempfile
+
+ fi
+-echo "$as_me:8694: result: $cf_cv_ncurses_version" >&5
++echo "$as_me:8339: result: $cf_cv_ncurses_version" >&5
+ echo "${ECHO_T}$cf_cv_ncurses_version" >&6
+-test "$cf_cv_ncurses_version" = no || cat >>confdefs.h <<\EOF
++test "$cf_cv_ncurses_version" = no ||
++cat >>confdefs.h <<\EOF
+ #define NCURSES 1
+ EOF
+
+@@ -8703,7 +8349,7 @@
+ # to link gpm.
+ cf_ncurses_LIBS=""
+ cf_ncurses_SAVE="$LIBS"
+-echo "$as_me:8706: checking for Gpm_Open in -lgpm" >&5
++echo "$as_me:8352: checking for Gpm_Open in -lgpm" >&5
+ echo $ECHO_N "checking for Gpm_Open in -lgpm... $ECHO_C" >&6
+ if test "${ac_cv_lib_gpm_Gpm_Open+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -8711,7 +8357,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lgpm $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8714 "configure"
++#line 8360 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -8730,16 +8376,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:8733: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8379: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8736: \$? = $ac_status" >&5
++ echo "$as_me:8382: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:8739: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8385: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8742: \$? = $ac_status" >&5
++ echo "$as_me:8388: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_gpm_Gpm_Open=yes
+ else
+@@ -8750,10 +8396,10 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:8753: result: $ac_cv_lib_gpm_Gpm_Open" >&5
++echo "$as_me:8399: result: $ac_cv_lib_gpm_Gpm_Open" >&5
+ echo "${ECHO_T}$ac_cv_lib_gpm_Gpm_Open" >&6
+ if test $ac_cv_lib_gpm_Gpm_Open = yes; then
+- echo "$as_me:8756: checking for initscr in -lgpm" >&5
++ echo "$as_me:8402: checking for initscr in -lgpm" >&5
+ echo $ECHO_N "checking for initscr in -lgpm... $ECHO_C" >&6
+ if test "${ac_cv_lib_gpm_initscr+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -8761,7 +8407,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lgpm $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8764 "configure"
++#line 8410 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -8780,16 +8426,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:8783: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8429: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8786: \$? = $ac_status" >&5
++ echo "$as_me:8432: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:8789: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8435: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8792: \$? = $ac_status" >&5
++ echo "$as_me:8438: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_gpm_initscr=yes
+ else
+@@ -8800,7 +8446,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:8803: result: $ac_cv_lib_gpm_initscr" >&5
++echo "$as_me:8449: result: $ac_cv_lib_gpm_initscr" >&5
+ echo "${ECHO_T}$ac_cv_lib_gpm_initscr" >&6
+ if test $ac_cv_lib_gpm_initscr = yes; then
+ LIBS="$cf_ncurses_SAVE"
+@@ -8815,7 +8461,7 @@
+ # This is only necessary if you are linking against an obsolete
+ # version of ncurses (but it should do no harm, since it's static).
+ if test "$cf_nculib_root" = ncurses ; then
+- echo "$as_me:8818: checking for tgoto in -lmytinfo" >&5
++ echo "$as_me:8464: checking for tgoto in -lmytinfo" >&5
+ echo $ECHO_N "checking for tgoto in -lmytinfo... $ECHO_C" >&6
+ if test "${ac_cv_lib_mytinfo_tgoto+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -8823,7 +8469,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lmytinfo $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8826 "configure"
++#line 8472 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -8842,16 +8488,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:8845: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8491: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8848: \$? = $ac_status" >&5
++ echo "$as_me:8494: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:8851: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8497: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8854: \$? = $ac_status" >&5
++ echo "$as_me:8500: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_mytinfo_tgoto=yes
+ else
+@@ -8862,7 +8508,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:8865: result: $ac_cv_lib_mytinfo_tgoto" >&5
++echo "$as_me:8511: result: $ac_cv_lib_mytinfo_tgoto" >&5
+ echo "${ECHO_T}$ac_cv_lib_mytinfo_tgoto" >&6
+ if test $ac_cv_lib_mytinfo_tgoto = yes; then
+ cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"
+@@ -8881,13 +8527,13 @@
+
+ eval 'cf_cv_have_lib_'$cf_nculib_root'=no'
+ cf_libdir=""
+- echo "$as_me:8884: checking for initscr" >&5
++ echo "$as_me:8530: checking for initscr" >&5
+ echo $ECHO_N "checking for initscr... $ECHO_C" >&6
+ if test "${ac_cv_func_initscr+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8890 "configure"
++#line 8536 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char initscr (); below. */
+@@ -8910,7 +8556,7 @@
+ #if defined (__stub_initscr) || defined (__stub___initscr)
+ choke me
+ #else
+-f = initscr;
++f = initscr; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -8918,16 +8564,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:8921: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8567: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8924: \$? = $ac_status" >&5
++ echo "$as_me:8570: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:8927: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8573: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8930: \$? = $ac_status" >&5
++ echo "$as_me:8576: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_initscr=yes
+ else
+@@ -8937,18 +8583,18 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:8940: result: $ac_cv_func_initscr" >&5
++echo "$as_me:8586: result: $ac_cv_func_initscr" >&5
+ echo "${ECHO_T}$ac_cv_func_initscr" >&6
+ if test $ac_cv_func_initscr = yes; then
+ eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
+ else
+
+ cf_save_LIBS="$LIBS"
+- echo "$as_me:8947: checking for initscr in -l$cf_nculib_root" >&5
++ echo "$as_me:8593: checking for initscr in -l$cf_nculib_root" >&5
+ echo $ECHO_N "checking for initscr in -l$cf_nculib_root... $ECHO_C" >&6
+ LIBS="-l$cf_nculib_root $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8951 "configure"
++#line 8597 "configure"
+ #include "confdefs.h"
+ #include <${cf_cv_ncurses_header:-curses.h}>
+ int
+@@ -8960,25 +8606,25 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:8963: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8609: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8966: \$? = $ac_status" >&5
++ echo "$as_me:8612: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:8969: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8615: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8972: \$? = $ac_status" >&5
++ echo "$as_me:8618: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- echo "$as_me:8974: result: yes" >&5
++ echo "$as_me:8620: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
+
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-echo "$as_me:8981: result: no" >&5
++echo "$as_me:8627: result: no" >&5
+ echo "${ECHO_T}no" >&6
+
+ cf_search=
+@@ -9068,11 +8714,11 @@
+
+ for cf_libdir in $cf_search
+ do
+- echo "$as_me:9071: checking for -l$cf_nculib_root in $cf_libdir" >&5
++ echo "$as_me:8717: checking for -l$cf_nculib_root in $cf_libdir" >&5
+ echo $ECHO_N "checking for -l$cf_nculib_root in $cf_libdir... $ECHO_C" >&6
+ LIBS="-L$cf_libdir -l$cf_nculib_root $cf_save_LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9075 "configure"
++#line 8721 "configure"
+ #include "confdefs.h"
+ #include <${cf_cv_ncurses_header:-curses.h}>
+ int
+@@ -9084,25 +8730,25 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9087: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8733: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9090: \$? = $ac_status" >&5
++ echo "$as_me:8736: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9093: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8739: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9096: \$? = $ac_status" >&5
++ echo "$as_me:8742: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- echo "$as_me:9098: result: yes" >&5
++ echo "$as_me:8744: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
+ break
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-echo "$as_me:9105: result: no" >&5
++echo "$as_me:8751: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ LIBS="$cf_save_LIBS"
+ fi
+@@ -9117,7 +8763,7 @@
+ eval 'cf_found_library=$cf_cv_have_lib_'$cf_nculib_root
+
+ if test $cf_found_library = no ; then
+- { { echo "$as_me:9120: error: Cannot link $cf_nculib_root library" >&5
++ { { echo "$as_me:8766: error: Cannot link $cf_nculib_root library" >&5
+ echo "$as_me: error: Cannot link $cf_nculib_root library" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -9125,7 +8771,7 @@
+ fi
+
+ if test -n "$cf_ncurses_LIBS" ; then
+- echo "$as_me:9128: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5
++ echo "$as_me:8774: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5
+ echo $ECHO_N "checking if we can link $cf_nculib_root without $cf_ncurses_LIBS... $ECHO_C" >&6
+ cf_ncurses_SAVE="$LIBS"
+ for p in $cf_ncurses_LIBS ; do
+@@ -9135,7 +8781,7 @@
+ fi
+ done
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9138 "configure"
++#line 8784 "configure"
+ #include "confdefs.h"
+ #include <${cf_cv_ncurses_header:-curses.h}>
+ int
+@@ -9147,23 +8793,23 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9150: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8796: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9153: \$? = $ac_status" >&5
++ echo "$as_me:8799: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9156: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8802: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9159: \$? = $ac_status" >&5
++ echo "$as_me:8805: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- echo "$as_me:9161: result: yes" >&5
++ echo "$as_me:8807: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-echo "$as_me:9166: result: no" >&5
++echo "$as_me:8812: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ LIBS="$cf_ncurses_SAVE"
+ fi
+@@ -9179,153 +8825,8 @@
+ fi
+
+ ;;
+-pdcurses) #(vi
+-
+-echo "$as_me:9184: checking if you want to use pkg-config" >&5
+-echo $ECHO_N "checking if you want to use pkg-config... $ECHO_C" >&6
+-
+-# Check whether --with-pkg-config or --without-pkg-config was given.
+-if test "${with_pkg_config+set}" = set; then
+- withval="$with_pkg_config"
+- cf_pkg_config=$withval
+-else
+- cf_pkg_config=yes
+-fi;
+-echo "$as_me:9194: result: $cf_pkg_config" >&5
+-echo "${ECHO_T}$cf_pkg_config" >&6
+-
+-case $cf_pkg_config in #(vi
+-no) #(vi
+- PKG_CONFIG=none
+- ;;
+-yes) #(vi
+- if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+-echo "$as_me:9205: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- case $PKG_CONFIG in
+- [\\/]* | ?:[\\/]*)
+- ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+- ;;
+- *)
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- if $as_executable_p "$ac_dir/$ac_word"; then
+- ac_cv_path_PKG_CONFIG="$ac_dir/$ac_word"
+- echo "$as_me:9222: found $ac_dir/$ac_word" >&5
+- break
+-fi
+-done
+-
+- ;;
+-esac
+-fi
+-PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+-
+-if test -n "$PKG_CONFIG"; then
+- echo "$as_me:9233: result: $PKG_CONFIG" >&5
+-echo "${ECHO_T}$PKG_CONFIG" >&6
+-else
+- echo "$as_me:9236: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+-fi
+-if test -z "$ac_cv_path_PKG_CONFIG"; then
+- ac_pt_PKG_CONFIG=$PKG_CONFIG
+- # Extract the first word of "pkg-config", so it can be a program name with args.
+-set dummy pkg-config; ac_word=$2
+-echo "$as_me:9245: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- case $ac_pt_PKG_CONFIG in
+- [\\/]* | ?:[\\/]*)
+- ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
+- ;;
+- *)
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- if $as_executable_p "$ac_dir/$ac_word"; then
+- ac_cv_path_ac_pt_PKG_CONFIG="$ac_dir/$ac_word"
+- echo "$as_me:9262: found $ac_dir/$ac_word" >&5
+- break
+-fi
+-done
+-
+- test -z "$ac_cv_path_ac_pt_PKG_CONFIG" && ac_cv_path_ac_pt_PKG_CONFIG="none"
+- ;;
+-esac
+-fi
+-ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+-
+-if test -n "$ac_pt_PKG_CONFIG"; then
+- echo "$as_me:9274: result: $ac_pt_PKG_CONFIG" >&5
+-echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6
+-else
+- echo "$as_me:9277: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+- PKG_CONFIG=$ac_pt_PKG_CONFIG
+-else
+- PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+-fi
+-
+- ;;
+-*)
+- PKG_CONFIG=$withval
+- ;;
+-esac
+-
+-test -z "$PKG_CONFIG" && PKG_CONFIG=none
+-if test "$PKG_CONFIG" != none ; then
+-
+-if test "x$prefix" != xNONE; then
+- cf_path_syntax="$prefix"
+-else
+- cf_path_syntax="$ac_default_prefix"
+-fi
+-
+-case ".$PKG_CONFIG" in #(vi
+-.\$\(*\)*|.\'*\'*) #(vi
+- ;;
+-..|./*|.\\*) #(vi
+- ;;
+-.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
+- ;;
+-.\${*prefix}*) #(vi
+- eval PKG_CONFIG="$PKG_CONFIG"
+- case ".$PKG_CONFIG" in #(vi
+- .NONE/*)
+- PKG_CONFIG=`echo $PKG_CONFIG | sed -e s%NONE%$cf_path_syntax%`
+- ;;
+- esac
+- ;; #(vi
+-.no|.NONE/*)
+- PKG_CONFIG=`echo $PKG_CONFIG | sed -e s%NONE%$cf_path_syntax%`
+- ;;
+-*)
+- { { echo "$as_me:9320: error: expected a pathname, not \"$PKG_CONFIG\"" >&5
+-echo "$as_me: error: expected a pathname, not \"$PKG_CONFIG\"" >&2;}
+- { (exit 1); exit 1; }; }
+- ;;
+-esac
+-
+-fi
+-
+-echo "$as_me:9328: checking for X" >&5
++pdcurses)
++ echo "$as_me:8829: checking for X" >&5
+ echo $ECHO_N "checking for X... $ECHO_C" >&6
+
+ # Check whether --with-x or --without-x was given.
+@@ -9422,17 +8923,17 @@
+ # Guess where to find include files, by looking for Intrinsic.h.
+ # First, try using that file with no special directory specified.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9425 "configure"
++#line 8926 "configure"
+ #include "confdefs.h"
+ #include <X11/Intrinsic.h>
+ _ACEOF
+-if { (eval echo "$as_me:9429: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:8930: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:9435: \$? = $ac_status" >&5
++ echo "$as_me:8936: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -9465,238 +8966,711 @@
+ ac_save_LIBS=$LIBS
+ LIBS="-lXt $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9468 "configure"
++#line 8969 "configure"
++#include "confdefs.h"
++#include <X11/Intrinsic.h>
++int
++main ()
++{
++XtMalloc (0)
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:8981: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:8984: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:8987: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:8990: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ LIBS=$ac_save_LIBS
++# We can link X programs with no special library path.
++ac_x_libraries=
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++LIBS=$ac_save_LIBS
++for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g`
++do
++ # Don't even attempt the hair of trying to link an X program!
++ for ac_extension in a so sl dylib dll; do
++ if test -r $ac_dir/libXt.$ac_extension; then
++ ac_x_libraries=$ac_dir
++ break 2
++ fi
++ done
++done
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++fi # $ac_x_libraries = no
++
++if test "$ac_x_includes" = no || test "$ac_x_libraries" = no; then
++ # Didn't find X anywhere. Cache the known absence of X.
++ ac_cv_have_x="have_x=no"
++else
++ # Record where we found X for the cache.
++ ac_cv_have_x="have_x=yes \
++ ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries"
++fi
++fi
++
++ fi
++ eval "$ac_cv_have_x"
++fi # $with_x != no
++
++if test "$have_x" != yes; then
++ echo "$as_me:9028: result: $have_x" >&5
++echo "${ECHO_T}$have_x" >&6
++ no_x=yes
++else
++ # If each of the values was on the command line, it overrides each guess.
++ test "x$x_includes" = xNONE && x_includes=$ac_x_includes
++ test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries
++ # Update the cache value to reflect the command line values.
++ ac_cv_have_x="have_x=yes \
++ ac_x_includes=$x_includes ac_x_libraries=$x_libraries"
++ echo "$as_me:9038: result: libraries $x_libraries, headers $x_includes" >&5
++echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6
++fi
++
++if test "$no_x" = yes; then
++ # Not all programs may use this symbol, but it does not hurt to define it.
++
++cat >>confdefs.h <<\EOF
++#define X_DISPLAY_MISSING 1
++EOF
++
++ X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS=
++else
++ if test -n "$x_includes"; then
++ X_CFLAGS="$X_CFLAGS -I$x_includes"
++ fi
++
++ # It would also be nice to do this for all -L options, not just this one.
++ if test -n "$x_libraries"; then
++ X_LIBS="$X_LIBS -L$x_libraries"
++ # For Solaris; some versions of Sun CC require a space after -R and
++ # others require no space. Words are not sufficient . . . .
++ case `(uname -sr) 2>/dev/null` in
++ "SunOS 5"*)
++ echo "$as_me:9062: checking whether -R must be followed by a space" >&5
++echo $ECHO_N "checking whether -R must be followed by a space... $ECHO_C" >&6
++ ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 9066 "configure"
++#include "confdefs.h"
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:9078: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:9081: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:9084: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:9087: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_R_nospace=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++ac_R_nospace=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++ if test $ac_R_nospace = yes; then
++ echo "$as_me:9097: result: no" >&5
++echo "${ECHO_T}no" >&6
++ X_LIBS="$X_LIBS -R$x_libraries"
++ else
++ LIBS="$ac_xsave_LIBS -R $x_libraries"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 9103 "configure"
++#include "confdefs.h"
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:9115: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:9118: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:9121: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:9124: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_R_space=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++ac_R_space=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++ if test $ac_R_space = yes; then
++ echo "$as_me:9134: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++ X_LIBS="$X_LIBS -R $x_libraries"
++ else
++ echo "$as_me:9138: result: neither works" >&5
++echo "${ECHO_T}neither works" >&6
++ fi
++ fi
++ LIBS=$ac_xsave_LIBS
++ esac
++ fi
++
++ # Check for system-dependent libraries X programs must link with.
++ # Do this before checking for the system-independent R6 libraries
++ # (-lICE), since we may need -lsocket or whatever for X linking.
++
++ if test "$ISC" = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet"
++ else
++ # Martyn Johnson says this is needed for Ultrix, if the X
++ # libraries were built with DECnet support. And Karl Berry says
++ # the Alpha needs dnet_stub (dnet does not exist).
++ ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 9158 "configure"
++#include "confdefs.h"
++
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char XOpenDisplay ();
++int
++main ()
++{
++XOpenDisplay ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:9177: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:9180: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:9183: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:9186: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++echo "$as_me:9192: checking for dnet_ntoa in -ldnet" >&5
++echo $ECHO_N "checking for dnet_ntoa in -ldnet... $ECHO_C" >&6
++if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldnet $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 9200 "configure"
++#include "confdefs.h"
++
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char dnet_ntoa ();
++int
++main ()
++{
++dnet_ntoa ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:9219: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:9222: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:9225: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:9228: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_lib_dnet_dnet_ntoa=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++ac_cv_lib_dnet_dnet_ntoa=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:9239: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
++echo "${ECHO_T}$ac_cv_lib_dnet_dnet_ntoa" >&6
++if test $ac_cv_lib_dnet_dnet_ntoa = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
++fi
++
++ if test $ac_cv_lib_dnet_dnet_ntoa = no; then
++ echo "$as_me:9246: checking for dnet_ntoa in -ldnet_stub" >&5
++echo $ECHO_N "checking for dnet_ntoa in -ldnet_stub... $ECHO_C" >&6
++if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldnet_stub $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 9254 "configure"
++#include "confdefs.h"
++
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char dnet_ntoa ();
++int
++main ()
++{
++dnet_ntoa ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:9273: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:9276: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:9279: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:9282: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_lib_dnet_stub_dnet_ntoa=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++ac_cv_lib_dnet_stub_dnet_ntoa=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:9293: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
++echo "${ECHO_T}$ac_cv_lib_dnet_stub_dnet_ntoa" >&6
++if test $ac_cv_lib_dnet_stub_dnet_ntoa = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
++fi
++
++ fi
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++ LIBS="$ac_xsave_LIBS"
++
++ # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT,
++ # to get the SysV transport functions.
++ # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4)
++ # needs -lnsl.
++ # The nsl library prevents programs from opening the X display
++ # on Irix 5.2, according to T.E. Dickey.
++ # The functions gethostbyname, getservbyname, and inet_addr are
++ # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking.
++ echo "$as_me:9312: checking for gethostbyname" >&5
++echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6
++if test "${ac_cv_func_gethostbyname+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 9318 "configure"
++#include "confdefs.h"
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char gethostbyname (); below. */
++#include <assert.h>
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char gethostbyname ();
++char (*f) ();
++
++int
++main ()
++{
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined (__stub_gethostbyname) || defined (__stub___gethostbyname)
++choke me
++#else
++f = gethostbyname; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
++#endif
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:9349: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:9352: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:9355: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:9358: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_func_gethostbyname=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++ac_cv_func_gethostbyname=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++fi
++echo "$as_me:9368: result: $ac_cv_func_gethostbyname" >&5
++echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6
++
++ if test $ac_cv_func_gethostbyname = no; then
++ echo "$as_me:9372: checking for gethostbyname in -lnsl" >&5
++echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6
++if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lnsl $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 9380 "configure"
++#include "confdefs.h"
++
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char gethostbyname ();
++int
++main ()
++{
++gethostbyname ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:9399: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:9402: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:9405: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:9408: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_lib_nsl_gethostbyname=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++ac_cv_lib_nsl_gethostbyname=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:9419: result: $ac_cv_lib_nsl_gethostbyname" >&5
++echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6
++if test $ac_cv_lib_nsl_gethostbyname = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
++fi
++
++ if test $ac_cv_lib_nsl_gethostbyname = no; then
++ echo "$as_me:9426: checking for gethostbyname in -lbsd" >&5
++echo $ECHO_N "checking for gethostbyname in -lbsd... $ECHO_C" >&6
++if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lbsd $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 9434 "configure"
+ #include "confdefs.h"
+-#include <X11/Intrinsic.h>
++
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char gethostbyname ();
+ int
+ main ()
+ {
+-XtMalloc (0)
++gethostbyname ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9480: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9453: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9483: \$? = $ac_status" >&5
++ echo "$as_me:9456: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9486: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9459: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9489: \$? = $ac_status" >&5
++ echo "$as_me:9462: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- LIBS=$ac_save_LIBS
+-# We can link X programs with no special library path.
+-ac_x_libraries=
++ ac_cv_lib_bsd_gethostbyname=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-LIBS=$ac_save_LIBS
+-for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g`
+-do
+- # Don't even attempt the hair of trying to link an X program!
+- for ac_extension in a so sl dylib dll; do
+- if test -r $ac_dir/libXt.$ac_extension; then
+- ac_x_libraries=$ac_dir
+- break 2
+- fi
+- done
+-done
++ac_cv_lib_bsd_gethostbyname=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-fi # $ac_x_libraries = no
+-
+-if test "$ac_x_includes" = no || test "$ac_x_libraries" = no; then
+- # Didn't find X anywhere. Cache the known absence of X.
+- ac_cv_have_x="have_x=no"
+-else
+- # Record where we found X for the cache.
+- ac_cv_have_x="have_x=yes \
+- ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries"
+-fi
++LIBS=$ac_check_lib_save_LIBS
+ fi
+-
+- fi
+- eval "$ac_cv_have_x"
+-fi # $with_x != no
+-
+-if test "$have_x" != yes; then
+- echo "$as_me:9527: result: $have_x" >&5
+-echo "${ECHO_T}$have_x" >&6
+- no_x=yes
+-else
+- # If each of the values was on the command line, it overrides each guess.
+- test "x$x_includes" = xNONE && x_includes=$ac_x_includes
+- test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries
+- # Update the cache value to reflect the command line values.
+- ac_cv_have_x="have_x=yes \
+- ac_x_includes=$x_includes ac_x_libraries=$x_libraries"
+- echo "$as_me:9537: result: libraries $x_libraries, headers $x_includes" >&5
+-echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6
++echo "$as_me:9473: result: $ac_cv_lib_bsd_gethostbyname" >&5
++echo "${ECHO_T}$ac_cv_lib_bsd_gethostbyname" >&6
++if test $ac_cv_lib_bsd_gethostbyname = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"
+ fi
+
+-if test "$no_x" = yes; then
+- # Not all programs may use this symbol, but it does not hurt to define it.
+-
+-cat >>confdefs.h <<\EOF
+-#define X_DISPLAY_MISSING 1
+-EOF
++ fi
++ fi
+
+- X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS=
++ # lieder@skyler.mavd.honeywell.com says without -lsocket,
++ # socket/setsockopt and other routines are undefined under SCO ODT
++ # 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary
++ # on later versions), says Simon Leinen: it contains gethostby*
++ # variants that don't use the nameserver (or something). -lsocket
++ # must be given before -lnsl if both are needed. We assume that
++ # if connect needs -lnsl, so does gethostbyname.
++ echo "$as_me:9489: checking for connect" >&5
++echo $ECHO_N "checking for connect... $ECHO_C" >&6
++if test "${ac_cv_func_connect+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- if test -n "$x_includes"; then
+- X_CFLAGS="$X_CFLAGS -I$x_includes"
+- fi
+-
+- # It would also be nice to do this for all -L options, not just this one.
+- if test -n "$x_libraries"; then
+- X_LIBS="$X_LIBS -L$x_libraries"
+- # For Solaris; some versions of Sun CC require a space after -R and
+- # others require no space. Words are not sufficient . . . .
+- case `(uname -sr) 2>/dev/null` in
+- "SunOS 5"*)
+- echo "$as_me:9561: checking whether -R must be followed by a space" >&5
+-echo $ECHO_N "checking whether -R must be followed by a space... $ECHO_C" >&6
+- ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 9565 "configure"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 9495 "configure"
+ #include "confdefs.h"
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char connect (); below. */
++#include <assert.h>
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char connect ();
++char (*f) ();
+
+ int
+ main ()
+ {
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined (__stub_connect) || defined (__stub___connect)
++choke me
++#else
++f = connect; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
++#endif
+
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9577: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9526: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9580: \$? = $ac_status" >&5
++ echo "$as_me:9529: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9583: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9532: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9586: \$? = $ac_status" >&5
++ echo "$as_me:9535: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_R_nospace=yes
++ ac_cv_func_connect=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_R_nospace=no
++ac_cv_func_connect=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+- if test $ac_R_nospace = yes; then
+- echo "$as_me:9596: result: no" >&5
+-echo "${ECHO_T}no" >&6
+- X_LIBS="$X_LIBS -R$x_libraries"
+- else
+- LIBS="$ac_xsave_LIBS -R $x_libraries"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 9602 "configure"
++fi
++echo "$as_me:9545: result: $ac_cv_func_connect" >&5
++echo "${ECHO_T}$ac_cv_func_connect" >&6
++
++ if test $ac_cv_func_connect = no; then
++ echo "$as_me:9549: checking for connect in -lsocket" >&5
++echo $ECHO_N "checking for connect in -lsocket... $ECHO_C" >&6
++if test "${ac_cv_lib_socket_connect+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 9557 "configure"
+ #include "confdefs.h"
+
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char connect ();
+ int
+ main ()
+ {
+-
++connect ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9614: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9576: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9617: \$? = $ac_status" >&5
++ echo "$as_me:9579: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9620: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9582: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9623: \$? = $ac_status" >&5
++ echo "$as_me:9585: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_R_space=yes
++ ac_cv_lib_socket_connect=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_R_space=no
++ac_cv_lib_socket_connect=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+- if test $ac_R_space = yes; then
+- echo "$as_me:9633: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
+- X_LIBS="$X_LIBS -R $x_libraries"
+- else
+- echo "$as_me:9637: result: neither works" >&5
+-echo "${ECHO_T}neither works" >&6
+- fi
+- fi
+- LIBS=$ac_xsave_LIBS
+- esac
+- fi
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:9596: result: $ac_cv_lib_socket_connect" >&5
++echo "${ECHO_T}$ac_cv_lib_socket_connect" >&6
++if test $ac_cv_lib_socket_connect = yes; then
++ X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
++fi
+
+- # Check for system-dependent libraries X programs must link with.
+- # Do this before checking for the system-independent R6 libraries
+- # (-lICE), since we may need -lsocket or whatever for X linking.
++ fi
+
+- if test "$ISC" = yes; then
+- X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet"
+- else
+- # Martyn Johnson says this is needed for Ultrix, if the X
+- # libraries were built with DECnet support. And Karl Berry says
+- # the Alpha needs dnet_stub (dnet does not exist).
+- ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 9657 "configure"
++ # Guillermo Gomez says -lposix is necessary on A/UX.
++ echo "$as_me:9605: checking for remove" >&5
++echo $ECHO_N "checking for remove... $ECHO_C" >&6
++if test "${ac_cv_func_remove+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 9611 "configure"
+ #include "confdefs.h"
+-
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char remove (); below. */
++#include <assert.h>
+ /* Override any gcc2 internal prototype to avoid an error. */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char XOpenDisplay ();
++char remove ();
++char (*f) ();
++
+ int
+ main ()
+ {
+-XOpenDisplay ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined (__stub_remove) || defined (__stub___remove)
++choke me
++#else
++f = remove; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
++#endif
++
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9676: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9642: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9679: \$? = $ac_status" >&5
++ echo "$as_me:9645: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9682: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9648: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9685: \$? = $ac_status" >&5
++ echo "$as_me:9651: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- :
++ ac_cv_func_remove=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-echo "$as_me:9691: checking for dnet_ntoa in -ldnet" >&5
+-echo $ECHO_N "checking for dnet_ntoa in -ldnet... $ECHO_C" >&6
+-if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then
++ac_cv_func_remove=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++fi
++echo "$as_me:9661: result: $ac_cv_func_remove" >&5
++echo "${ECHO_T}$ac_cv_func_remove" >&6
++
++ if test $ac_cv_func_remove = no; then
++ echo "$as_me:9665: checking for remove in -lposix" >&5
++echo $ECHO_N "checking for remove in -lposix... $ECHO_C" >&6
++if test "${ac_cv_lib_posix_remove+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-ldnet $LIBS"
++LIBS="-lposix $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9699 "configure"
++#line 9673 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -9705,178 +9679,179 @@
+ #endif
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char dnet_ntoa ();
++char remove ();
+ int
+ main ()
+ {
+-dnet_ntoa ();
++remove ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9718: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9692: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9721: \$? = $ac_status" >&5
++ echo "$as_me:9695: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9724: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9698: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9727: \$? = $ac_status" >&5
++ echo "$as_me:9701: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_dnet_dnet_ntoa=yes
++ ac_cv_lib_posix_remove=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_dnet_dnet_ntoa=no
++ac_cv_lib_posix_remove=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:9738: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
+-echo "${ECHO_T}$ac_cv_lib_dnet_dnet_ntoa" >&6
+-if test $ac_cv_lib_dnet_dnet_ntoa = yes; then
+- X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
++echo "$as_me:9712: result: $ac_cv_lib_posix_remove" >&5
++echo "${ECHO_T}$ac_cv_lib_posix_remove" >&6
++if test $ac_cv_lib_posix_remove = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
+ fi
+
+- if test $ac_cv_lib_dnet_dnet_ntoa = no; then
+- echo "$as_me:9745: checking for dnet_ntoa in -ldnet_stub" >&5
+-echo $ECHO_N "checking for dnet_ntoa in -ldnet_stub... $ECHO_C" >&6
+-if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then
++ fi
++
++ # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
++ echo "$as_me:9721: checking for shmat" >&5
++echo $ECHO_N "checking for shmat... $ECHO_C" >&6
++if test "${ac_cv_func_shmat+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-ldnet_stub $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 9753 "configure"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 9727 "configure"
+ #include "confdefs.h"
+-
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char shmat (); below. */
++#include <assert.h>
+ /* Override any gcc2 internal prototype to avoid an error. */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char dnet_ntoa ();
++char shmat ();
++char (*f) ();
++
+ int
+ main ()
+ {
+-dnet_ntoa ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined (__stub_shmat) || defined (__stub___shmat)
++choke me
++#else
++f = shmat; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
++#endif
++
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9772: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9758: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9775: \$? = $ac_status" >&5
++ echo "$as_me:9761: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9778: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9764: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9781: \$? = $ac_status" >&5
++ echo "$as_me:9767: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_dnet_stub_dnet_ntoa=yes
++ ac_cv_func_shmat=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_dnet_stub_dnet_ntoa=no
++ac_cv_func_shmat=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:9792: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
+-echo "${ECHO_T}$ac_cv_lib_dnet_stub_dnet_ntoa" >&6
+-if test $ac_cv_lib_dnet_stub_dnet_ntoa = yes; then
+- X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
+-fi
+-
+- fi
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+- LIBS="$ac_xsave_LIBS"
++echo "$as_me:9777: result: $ac_cv_func_shmat" >&5
++echo "${ECHO_T}$ac_cv_func_shmat" >&6
+
+- # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT,
+- # to get the SysV transport functions.
+- # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4)
+- # needs -lnsl.
+- # The nsl library prevents programs from opening the X display
+- # on Irix 5.2, according to T.E. Dickey.
+- # The functions gethostbyname, getservbyname, and inet_addr are
+- # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking.
+- echo "$as_me:9811: checking for gethostbyname" >&5
+-echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6
+-if test "${ac_cv_func_gethostbyname+set}" = set; then
++ if test $ac_cv_func_shmat = no; then
++ echo "$as_me:9781: checking for shmat in -lipc" >&5
++echo $ECHO_N "checking for shmat in -lipc... $ECHO_C" >&6
++if test "${ac_cv_lib_ipc_shmat+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 9817 "configure"
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lipc $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 9789 "configure"
+ #include "confdefs.h"
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char gethostbyname (); below. */
+-#include <assert.h>
++
+ /* Override any gcc2 internal prototype to avoid an error. */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char gethostbyname ();
+-char (*f) ();
+-
++char shmat ();
+ int
+ main ()
+ {
+-/* The GNU C library defines this for functions which it implements
+- to always fail with ENOSYS. Some functions are actually named
+- something starting with __ and the normal name is an alias. */
+-#if defined (__stub_gethostbyname) || defined (__stub___gethostbyname)
+-choke me
+-#else
+-f = gethostbyname;
+-#endif
+-
++shmat ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9848: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9808: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9851: \$? = $ac_status" >&5
++ echo "$as_me:9811: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9854: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9814: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9857: \$? = $ac_status" >&5
++ echo "$as_me:9817: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_func_gethostbyname=yes
++ ac_cv_lib_ipc_shmat=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_func_gethostbyname=no
++ac_cv_lib_ipc_shmat=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:9828: result: $ac_cv_lib_ipc_shmat" >&5
++echo "${ECHO_T}$ac_cv_lib_ipc_shmat" >&6
++if test $ac_cv_lib_ipc_shmat = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
+ fi
+-echo "$as_me:9867: result: $ac_cv_func_gethostbyname" >&5
+-echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6
+
+- if test $ac_cv_func_gethostbyname = no; then
+- echo "$as_me:9871: checking for gethostbyname in -lnsl" >&5
+-echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6
+-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then
++ fi
++ fi
++
++ # Check for libraries that X11R6 Xt/Xaw programs need.
++ ac_save_LDFLAGS=$LDFLAGS
++ test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries"
++ # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
++ # check for ICE first), but we must link in the order -lSM -lICE or
++ # we get undefined symbols. So assume we have SM if we have ICE.
++ # These have to be linked with before -lX11, unlike the other
++ # libraries we check for below, so use a different variable.
++ # John Interrante, Karl Berry
++ echo "$as_me:9846: checking for IceConnectionNumber in -lICE" >&5
++echo $ECHO_N "checking for IceConnectionNumber in -lICE... $ECHO_C" >&6
++if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lnsl $LIBS"
++LIBS="-lICE $X_EXTRA_LIBS $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9879 "configure"
++#line 9854 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -9885,291 +9860,502 @@
+ #endif
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char gethostbyname ();
++char IceConnectionNumber ();
+ int
+ main ()
+ {
+-gethostbyname ();
++IceConnectionNumber ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9898: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9873: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9901: \$? = $ac_status" >&5
++ echo "$as_me:9876: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9904: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9879: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9907: \$? = $ac_status" >&5
++ echo "$as_me:9882: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_nsl_gethostbyname=yes
++ ac_cv_lib_ICE_IceConnectionNumber=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_nsl_gethostbyname=no
++ac_cv_lib_ICE_IceConnectionNumber=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:9918: result: $ac_cv_lib_nsl_gethostbyname" >&5
+-echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6
+-if test $ac_cv_lib_nsl_gethostbyname = yes; then
+- X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
++echo "$as_me:9893: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
++echo "${ECHO_T}$ac_cv_lib_ICE_IceConnectionNumber" >&6
++if test $ac_cv_lib_ICE_IceConnectionNumber = yes; then
++ X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
++fi
++
++ LDFLAGS=$ac_save_LDFLAGS
++
++fi
++
++cf_x_athena=${cf_x_athena:-Xaw}
++
++echo "$as_me:9905: checking if you want to link with Xaw 3d library" >&5
++echo $ECHO_N "checking if you want to link with Xaw 3d library... $ECHO_C" >&6
++withval=
++
++# Check whether --with-Xaw3d or --without-Xaw3d was given.
++if test "${with_Xaw3d+set}" = set; then
++ withval="$with_Xaw3d"
++
++fi;
++if test "$withval" = yes ; then
++ cf_x_athena=Xaw3d
++ echo "$as_me:9916: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++else
++ echo "$as_me:9919: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++echo "$as_me:9923: checking if you want to link with neXT Athena library" >&5
++echo $ECHO_N "checking if you want to link with neXT Athena library... $ECHO_C" >&6
++withval=
++
++# Check whether --with-neXtaw or --without-neXtaw was given.
++if test "${with_neXtaw+set}" = set; then
++ withval="$with_neXtaw"
++
++fi;
++if test "$withval" = yes ; then
++ cf_x_athena=neXtaw
++ echo "$as_me:9934: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++else
++ echo "$as_me:9937: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++echo "$as_me:9941: checking if you want to link with Athena-Plus library" >&5
++echo $ECHO_N "checking if you want to link with Athena-Plus library... $ECHO_C" >&6
++withval=
++
++# Check whether --with-XawPlus or --without-XawPlus was given.
++if test "${with_XawPlus+set}" = set; then
++ withval="$with_XawPlus"
++
++fi;
++if test "$withval" = yes ; then
++ cf_x_athena=XawPlus
++ echo "$as_me:9952: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++else
++ echo "$as_me:9955: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++cf_x_athena_lib=""
++
++if test "$PKG_CONFIG" != none ; then
++ cf_athena_list=
++ test "$cf_x_athena" = Xaw && cf_athena_list="xaw8 xaw7 xaw6"
++ for cf_athena_pkg in \
++ $cf_athena_list \
++ ${cf_x_athena} \
++ ${cf_x_athena}-devel \
++ lib${cf_x_athena} \
++ lib${cf_x_athena}-devel
++ do
++
++if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists $cf_athena_pkg; then
++ test -n "$verbose" && echo " found package $cf_athena_pkg" 1>&6
++
++echo "${as_me:-configure}:9975: testing found package $cf_athena_pkg ..." 1>&5
++
++ cf_pkgconfig_incs="`$PKG_CONFIG --cflags $cf_athena_pkg 2>/dev/null`"
++ cf_pkgconfig_libs="`$PKG_CONFIG --libs $cf_athena_pkg 2>/dev/null`"
++ test -n "$verbose" && echo " package $cf_athena_pkg CFLAGS: $cf_pkgconfig_incs" 1>&6
++
++echo "${as_me:-configure}:9981: testing package $cf_athena_pkg CFLAGS: $cf_pkgconfig_incs ..." 1>&5
++
++ test -n "$verbose" && echo " package $cf_athena_pkg LIBS: $cf_pkgconfig_libs" 1>&6
++
++echo "${as_me:-configure}:9985: testing package $cf_athena_pkg LIBS: $cf_pkgconfig_libs ..." 1>&5
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in $cf_pkgconfig_incs
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
++fi
++
++if test -n "$cf_new_cppflags" ; then
++
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+ fi
+
+- if test $ac_cv_lib_nsl_gethostbyname = no; then
+- echo "$as_me:9925: checking for gethostbyname in -lbsd" >&5
+-echo $ECHO_N "checking for gethostbyname in -lbsd... $ECHO_C" >&6
+-if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then
++ LIBS="$cf_pkgconfig_libs $LIBS"
++
++ cf_x_athena_lib="$cf_pkgconfig_libs"
++
++cf_x_athena_LIBS=`echo "HAVE_LIB_$cf_x_athena" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++
++ cat >>confdefs.h <<EOF
++#define $cf_x_athena_LIBS 1
++EOF
++
++echo "$as_me:10075: checking for usable $cf_x_athena/Xmu package" >&5
++echo $ECHO_N "checking for usable $cf_x_athena/Xmu package... $ECHO_C" >&6
++if test "${cf_cv_xaw_compat+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lbsd $LIBS"
++
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9933 "configure"
++#line 10082 "configure"
+ #include "confdefs.h"
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char gethostbyname ();
++#include <X11/Xmu/CharSet.h>
++
+ int
+ main ()
+ {
+-gethostbyname ();
++
++int check = XmuCompareISOLatin1("big", "small")
++
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9952: \"$ac_link\"") >&5
++if { (eval echo "$as_me:10098: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9955: \$? = $ac_status" >&5
++ echo "$as_me:10101: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9958: \"$ac_try\"") >&5
++ { (eval echo "$as_me:10104: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9961: \$? = $ac_status" >&5
++ echo "$as_me:10107: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_bsd_gethostbyname=yes
++ cf_cv_xaw_compat=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_bsd_gethostbyname=no
++cf_cv_xaw_compat=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:9972: result: $ac_cv_lib_bsd_gethostbyname" >&5
+-echo "${ECHO_T}$ac_cv_lib_bsd_gethostbyname" >&6
+-if test $ac_cv_lib_bsd_gethostbyname = yes; then
+- X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"
++echo "$as_me:10117: result: $cf_cv_xaw_compat" >&5
++echo "${ECHO_T}$cf_cv_xaw_compat" >&6
++
++ if test "$cf_cv_xaw_compat" = no
++ then
++ # workaround for broken ".pc" files...
++ case "$cf_x_athena_lib" in #(vi
++ *-lXmu*) #(vi
++ ;;
++ *)
++ test -n "$verbose" && echo " work around broken package" 1>&6
++
++echo "${as_me:-configure}:10129: testing work around broken package ..." 1>&5
++
++if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists xmu; then
++ test -n "$verbose" && echo " found package xmu" 1>&6
++
++echo "${as_me:-configure}:10134: testing found package xmu ..." 1>&5
++
++ cf_pkgconfig_incs="`$PKG_CONFIG --cflags xmu 2>/dev/null`"
++ cf_pkgconfig_libs="`$PKG_CONFIG --libs xmu 2>/dev/null`"
++ test -n "$verbose" && echo " package xmu CFLAGS: $cf_pkgconfig_incs" 1>&6
++
++echo "${as_me:-configure}:10140: testing package xmu CFLAGS: $cf_pkgconfig_incs ..." 1>&5
++
++ test -n "$verbose" && echo " package xmu LIBS: $cf_pkgconfig_libs" 1>&6
++
++echo "${as_me:-configure}:10144: testing package xmu LIBS: $cf_pkgconfig_libs ..." 1>&5
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in $cf_pkgconfig_incs
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
+ fi
+
+- fi
+- fi
++if test -n "$cf_new_cppflags" ; then
+
+- # lieder@skyler.mavd.honeywell.com says without -lsocket,
+- # socket/setsockopt and other routines are undefined under SCO ODT
+- # 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary
+- # on later versions), says Simon Leinen: it contains gethostby*
+- # variants that don't use the nameserver (or something). -lsocket
+- # must be given before -lnsl if both are needed. We assume that
+- # if connect needs -lnsl, so does gethostbyname.
+- echo "$as_me:9988: checking for connect" >&5
+-echo $ECHO_N "checking for connect... $ECHO_C" >&6
+-if test "${ac_cv_func_connect+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
++
++ LIBS="$cf_pkgconfig_libs $LIBS"
++ :
+ else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 9994 "configure"
+-#include "confdefs.h"
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char connect (); below. */
+-#include <assert.h>
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char connect ();
+-char (*f) ();
+
+-int
+-main ()
+-{
+-/* The GNU C library defines this for functions which it implements
+- to always fail with ENOSYS. Some functions are actually named
+- something starting with __ and the normal name is an alias. */
+-#if defined (__stub_connect) || defined (__stub___connect)
+-choke me
+-#else
+-f = connect;
+-#endif
++test -n "$verbose" && echo " ...before $LIBS" 1>&6
++
++echo "${as_me:-configure}:10230: testing ...before $LIBS ..." 1>&5
++
++LIBS=`echo "$LIBS" | sed -e "s/[ ][ ]*/ /g" -e "s,-lXt ,-lXt -lXmu ," -e 's/ / /g'`
++test -n "$verbose" && echo " ...after $LIBS" 1>&6
++
++echo "${as_me:-configure}:10235: testing ...after $LIBS ..." 1>&5
++
++fi
++
++ ;;
++ esac
++ fi
++
++ break
++else
++ :
++fi
++
++ done
++fi
++
++if test -z "$cf_x_athena_lib" ; then
++
++if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists Xext; then
++ test -n "$verbose" && echo " found package Xext" 1>&6
++
++echo "${as_me:-configure}:10256: testing found package Xext ..." 1>&5
++
++ cf_pkgconfig_incs="`$PKG_CONFIG --cflags Xext 2>/dev/null`"
++ cf_pkgconfig_libs="`$PKG_CONFIG --libs Xext 2>/dev/null`"
++ test -n "$verbose" && echo " package Xext CFLAGS: $cf_pkgconfig_incs" 1>&6
++
++echo "${as_me:-configure}:10262: testing package Xext CFLAGS: $cf_pkgconfig_incs ..." 1>&5
++
++ test -n "$verbose" && echo " package Xext LIBS: $cf_pkgconfig_libs" 1>&6
++
++echo "${as_me:-configure}:10266: testing package Xext LIBS: $cf_pkgconfig_libs ..." 1>&5
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in $cf_pkgconfig_incs
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
+
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:10025: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:10028: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:10031: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:10034: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_func_connect=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-ac_cv_func_connect=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++ CFLAGS="$CFLAGS $cf_new_cflags"
+ fi
+-echo "$as_me:10044: result: $ac_cv_func_connect" >&5
+-echo "${ECHO_T}$ac_cv_func_connect" >&6
+
+- if test $ac_cv_func_connect = no; then
+- echo "$as_me:10048: checking for connect in -lsocket" >&5
+-echo $ECHO_N "checking for connect in -lsocket... $ECHO_C" >&6
+-if test "${ac_cv_lib_socket_connect+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 10056 "configure"
+-#include "confdefs.h"
++if test -n "$cf_new_cppflags" ; then
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char connect ();
+-int
+-main ()
+-{
+-connect ();
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:10075: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:10078: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:10081: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:10084: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_socket_connect=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-ac_cv_lib_socket_connect=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:10095: result: $ac_cv_lib_socket_connect" >&5
+-echo "${ECHO_T}$ac_cv_lib_socket_connect" >&6
+-if test $ac_cv_lib_socket_connect = yes; then
+- X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
+ fi
+
+- fi
+-
+- # Guillermo Gomez says -lposix is necessary on A/UX.
+- echo "$as_me:10104: checking for remove" >&5
+-echo $ECHO_N "checking for remove... $ECHO_C" >&6
+-if test "${ac_cv_func_remove+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 10110 "configure"
+-#include "confdefs.h"
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char remove (); below. */
+-#include <assert.h>
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char remove ();
+-char (*f) ();
++if test -n "$cf_new_extra_cppflags" ; then
+
+-int
+-main ()
+-{
+-/* The GNU C library defines this for functions which it implements
+- to always fail with ENOSYS. Some functions are actually named
+- something starting with __ and the normal name is an alias. */
+-#if defined (__stub_remove) || defined (__stub___remove)
+-choke me
+-#else
+-f = remove;
+-#endif
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
+
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:10141: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:10144: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:10147: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:10150: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_func_remove=yes
++ LIBS="$cf_pkgconfig_libs $LIBS"
++ :
+ else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-ac_cv_func_remove=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-fi
+-echo "$as_me:10160: result: $ac_cv_func_remove" >&5
+-echo "${ECHO_T}$ac_cv_func_remove" >&6
+
+- if test $ac_cv_func_remove = no; then
+- echo "$as_me:10164: checking for remove in -lposix" >&5
+-echo $ECHO_N "checking for remove in -lposix... $ECHO_C" >&6
+-if test "${ac_cv_lib_posix_remove+set}" = set; then
++ echo "$as_me:10350: checking for XextCreateExtension in -lXext" >&5
++echo $ECHO_N "checking for XextCreateExtension in -lXext... $ECHO_C" >&6
++if test "${ac_cv_lib_Xext_XextCreateExtension+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lposix $LIBS"
++LIBS="-lXext $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10172 "configure"
++#line 10358 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -10178,310 +10364,384 @@
+ #endif
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char remove ();
++char XextCreateExtension ();
+ int
+ main ()
+ {
+-remove ();
++XextCreateExtension ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:10191: \"$ac_link\"") >&5
++if { (eval echo "$as_me:10377: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:10194: \$? = $ac_status" >&5
++ echo "$as_me:10380: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:10197: \"$ac_try\"") >&5
++ { (eval echo "$as_me:10383: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10200: \$? = $ac_status" >&5
++ echo "$as_me:10386: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_posix_remove=yes
++ ac_cv_lib_Xext_XextCreateExtension=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_posix_remove=no
++ac_cv_lib_Xext_XextCreateExtension=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:10211: result: $ac_cv_lib_posix_remove" >&5
+-echo "${ECHO_T}$ac_cv_lib_posix_remove" >&6
+-if test $ac_cv_lib_posix_remove = yes; then
+- X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
++echo "$as_me:10397: result: $ac_cv_lib_Xext_XextCreateExtension" >&5
++echo "${ECHO_T}$ac_cv_lib_Xext_XextCreateExtension" >&6
++if test $ac_cv_lib_Xext_XextCreateExtension = yes; then
++ LIBS="-lXext $LIBS"
+ fi
+
+- fi
++fi
+
+- # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
+- echo "$as_me:10220: checking for shmat" >&5
+-echo $ECHO_N "checking for shmat... $ECHO_C" >&6
+-if test "${ac_cv_func_shmat+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 10226 "configure"
+-#include "confdefs.h"
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char shmat (); below. */
+-#include <assert.h>
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char shmat ();
+-char (*f) ();
++cf_have_X_LIBS=no
+
+-int
+-main ()
+-{
+-/* The GNU C library defines this for functions which it implements
+- to always fail with ENOSYS. Some functions are actually named
+- something starting with __ and the normal name is an alias. */
+-#if defined (__stub_shmat) || defined (__stub___shmat)
+-choke me
+-#else
+-f = shmat;
+-#endif
++if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists xt; then
++ test -n "$verbose" && echo " found package xt" 1>&6
++
++echo "${as_me:-configure}:10410: testing found package xt ..." 1>&5
++
++ cf_pkgconfig_incs="`$PKG_CONFIG --cflags xt 2>/dev/null`"
++ cf_pkgconfig_libs="`$PKG_CONFIG --libs xt 2>/dev/null`"
++ test -n "$verbose" && echo " package xt CFLAGS: $cf_pkgconfig_incs" 1>&6
++
++echo "${as_me:-configure}:10416: testing package xt CFLAGS: $cf_pkgconfig_incs ..." 1>&5
++
++ test -n "$verbose" && echo " package xt LIBS: $cf_pkgconfig_libs" 1>&6
++
++echo "${as_me:-configure}:10420: testing package xt LIBS: $cf_pkgconfig_libs ..." 1>&5
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in $cf_pkgconfig_incs
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
+
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:10257: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:10260: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:10263: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:10266: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_func_shmat=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-ac_cv_func_shmat=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
+ fi
+-echo "$as_me:10276: result: $ac_cv_func_shmat" >&5
+-echo "${ECHO_T}$ac_cv_func_shmat" >&6
+
+- if test $ac_cv_func_shmat = no; then
+- echo "$as_me:10280: checking for shmat in -lipc" >&5
+-echo $ECHO_N "checking for shmat in -lipc... $ECHO_C" >&6
+-if test "${ac_cv_lib_ipc_shmat+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lipc $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 10288 "configure"
+-#include "confdefs.h"
++if test -n "$cf_new_cppflags" ; then
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char shmat ();
+-int
+-main ()
+-{
+-shmat ();
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:10307: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:10310: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:10313: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:10316: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_ipc_shmat=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-ac_cv_lib_ipc_shmat=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
+ fi
+-echo "$as_me:10327: result: $ac_cv_lib_ipc_shmat" >&5
+-echo "${ECHO_T}$ac_cv_lib_ipc_shmat" >&6
+-if test $ac_cv_lib_ipc_shmat = yes; then
+- X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
++
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+ fi
+
+- fi
+- fi
++ LIBS="$cf_pkgconfig_libs $LIBS"
+
+- # Check for libraries that X11R6 Xt/Xaw programs need.
+- ac_save_LDFLAGS=$LDFLAGS
+- test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries"
+- # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
+- # check for ICE first), but we must link in the order -lSM -lICE or
+- # we get undefined symbols. So assume we have SM if we have ICE.
+- # These have to be linked with before -lX11, unlike the other
+- # libraries we check for below, so use a different variable.
+- # John Interrante, Karl Berry
+- echo "$as_me:10345: checking for IceConnectionNumber in -lICE" >&5
+-echo $ECHO_N "checking for IceConnectionNumber in -lICE... $ECHO_C" >&6
+-if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then
++ case "x$LIBS" in #(vi
++ *-lX11*) #(vi
++ ;;
++ *)
++# we have an "xt" package, but it may omit Xt's dependency on X11
++echo "$as_me:10507: checking for usable X dependency" >&5
++echo $ECHO_N "checking for usable X dependency... $ECHO_C" >&6
++if test "${cf_cv_xt_x11_compat+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lICE $X_EXTRA_LIBS $LIBS"
++
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10353 "configure"
++#line 10514 "configure"
+ #include "confdefs.h"
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char IceConnectionNumber ();
++#include <X11/Xlib.h>
++
+ int
+ main ()
+ {
+-IceConnectionNumber ();
++
++ int rc1 = XDrawLine((Display*) 0, (Drawable) 0, (GC) 0, 0, 0, 0, 0);
++ int rc2 = XClearWindow((Display*) 0, (Window) 0);
++ int rc3 = XMoveWindow((Display*) 0, (Window) 0, 0, 0);
++ int rc4 = XMoveResizeWindow((Display*)0, (Window)0, 0, 0, 0, 0);
++
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:10372: \"$ac_link\"") >&5
++if { (eval echo "$as_me:10533: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:10375: \$? = $ac_status" >&5
++ echo "$as_me:10536: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:10378: \"$ac_try\"") >&5
++ { (eval echo "$as_me:10539: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10381: \$? = $ac_status" >&5
++ echo "$as_me:10542: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_ICE_IceConnectionNumber=yes
++ cf_cv_xt_x11_compat=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_ICE_IceConnectionNumber=no
++cf_cv_xt_x11_compat=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:10392: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
+-echo "${ECHO_T}$ac_cv_lib_ICE_IceConnectionNumber" >&6
+-if test $ac_cv_lib_ICE_IceConnectionNumber = yes; then
+- X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
+ fi
++echo "$as_me:10552: result: $cf_cv_xt_x11_compat" >&5
++echo "${ECHO_T}$cf_cv_xt_x11_compat" >&6
++ if test "$cf_cv_xt_x11_compat" = no
++ then
++ test -n "$verbose" && echo " work around broken X11 dependency" 1>&6
+
+- LDFLAGS=$ac_save_LDFLAGS
++echo "${as_me:-configure}:10558: testing work around broken X11 dependency ..." 1>&5
+
+-fi
++ # 2010/11/19 - good enough until a working Xt on Xcb is delivered.
+
+-cf_x_athena=${cf_x_athena:-Xaw}
++if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists x11; then
++ test -n "$verbose" && echo " found package x11" 1>&6
+
+-echo "$as_me:10404: checking if you want to link with Xaw 3d library" >&5
+-echo $ECHO_N "checking if you want to link with Xaw 3d library... $ECHO_C" >&6
+-withval=
++echo "${as_me:-configure}:10565: testing found package x11 ..." 1>&5
+
+-# Check whether --with-Xaw3d or --without-Xaw3d was given.
+-if test "${with_Xaw3d+set}" = set; then
+- withval="$with_Xaw3d"
++ cf_pkgconfig_incs="`$PKG_CONFIG --cflags x11 2>/dev/null`"
++ cf_pkgconfig_libs="`$PKG_CONFIG --libs x11 2>/dev/null`"
++ test -n "$verbose" && echo " package x11 CFLAGS: $cf_pkgconfig_incs" 1>&6
+
+-fi;
+-if test "$withval" = yes ; then
+- cf_x_athena=Xaw3d
+- echo "$as_me:10415: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
+-else
+- echo "$as_me:10418: result: no" >&5
+-echo "${ECHO_T}no" >&6
++echo "${as_me:-configure}:10571: testing package x11 CFLAGS: $cf_pkgconfig_incs ..." 1>&5
++
++ test -n "$verbose" && echo " package x11 LIBS: $cf_pkgconfig_libs" 1>&6
++
++echo "${as_me:-configure}:10575: testing package x11 LIBS: $cf_pkgconfig_libs ..." 1>&5
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in $cf_pkgconfig_incs
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
+ fi
+
+-echo "$as_me:10422: checking if you want to link with neXT Athena library" >&5
+-echo $ECHO_N "checking if you want to link with neXT Athena library... $ECHO_C" >&6
+-withval=
++if test -n "$cf_new_cppflags" ; then
+
+-# Check whether --with-neXtaw or --without-neXtaw was given.
+-if test "${with_neXtaw+set}" = set; then
+- withval="$with_neXtaw"
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
+
+-fi;
+-if test "$withval" = yes ; then
+- cf_x_athena=neXtaw
+- echo "$as_me:10433: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
++
++ LIBS="$cf_pkgconfig_libs $LIBS"
++ :
+ else
+- echo "$as_me:10436: result: no" >&5
+-echo "${ECHO_T}no" >&6
++
++test -n "$verbose" && echo " ...before $LIBS" 1>&6
++
++echo "${as_me:-configure}:10661: testing ...before $LIBS ..." 1>&5
++
++LIBS=`echo "$LIBS" | sed -e "s/[ ][ ]*/ /g" -e "s,-lXt ,-lXt -lX11 ," -e 's/ / /g'`
++test -n "$verbose" && echo " ...after $LIBS" 1>&6
++
++echo "${as_me:-configure}:10666: testing ...after $LIBS ..." 1>&5
++
+ fi
+
+-echo "$as_me:10440: checking if you want to link with Athena-Plus library" >&5
+-echo $ECHO_N "checking if you want to link with Athena-Plus library... $ECHO_C" >&6
+-withval=
++ fi
++ ;;
++ esac
++
++echo "$as_me:10674: checking for usable X Toolkit package" >&5
++echo $ECHO_N "checking for usable X Toolkit package... $ECHO_C" >&6
++if test "${cf_cv_xt_ice_compat+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++cat >conftest.$ac_ext <<_ACEOF
++#line 10681 "configure"
++#include "confdefs.h"
+
+-# Check whether --with-XawPlus or --without-XawPlus was given.
+-if test "${with_XawPlus+set}" = set; then
+- withval="$with_XawPlus"
++#include <X11/Shell.h>
+
+-fi;
+-if test "$withval" = yes ; then
+- cf_x_athena=XawPlus
+- echo "$as_me:10451: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
++int
++main ()
++{
++int num = IceConnectionNumber(0)
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:10696: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:10699: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:10702: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:10705: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_xt_ice_compat=yes
+ else
+- echo "$as_me:10454: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_xt_ice_compat=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
++echo "$as_me:10715: result: $cf_cv_xt_ice_compat" >&5
++echo "${ECHO_T}$cf_cv_xt_ice_compat" >&6
+
+-cf_x_athena_lib=""
++ if test "$cf_cv_xt_ice_compat" = no
++ then
++ # workaround for broken ".pc" files used for X Toolkit.
++ case "x$X_PRE_LIBS" in #(vi
++ *-lICE*)
++ case "x$LIBS" in #(vi
++ *-lICE*) #(vi
++ ;;
++ *)
++ test -n "$verbose" && echo " work around broken ICE dependency" 1>&6
+
+-if test "$PKG_CONFIG" != none ; then
+- cf_athena_list=
+- test "$cf_x_athena" = Xaw && cf_athena_list="xaw8 xaw7 xaw6"
+- for cf_athena_pkg in \
+- $cf_athena_list \
+- ${cf_x_athena} \
+- ${cf_x_athena}-devel \
+- lib${cf_x_athena} \
+- lib${cf_x_athena}-devel
+- do
++echo "${as_me:-configure}:10729: testing work around broken ICE dependency ..." 1>&5
+
+-if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists $cf_athena_pkg; then
+- test -n "$verbose" && echo " found package $cf_athena_pkg" 1>&6
++if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists ice; then
++ test -n "$verbose" && echo " found package ice" 1>&6
+
+-echo "${as_me:-configure}:10474: testing found package $cf_athena_pkg ..." 1>&5
++echo "${as_me:-configure}:10734: testing found package ice ..." 1>&5
+
+- cf_pkgconfig_incs="`$PKG_CONFIG --cflags $cf_athena_pkg 2>/dev/null`"
+- cf_pkgconfig_libs="`$PKG_CONFIG --libs $cf_athena_pkg 2>/dev/null`"
+- test -n "$verbose" && echo " package $cf_athena_pkg CFLAGS: $cf_pkgconfig_incs" 1>&6
++ cf_pkgconfig_incs="`$PKG_CONFIG --cflags ice 2>/dev/null`"
++ cf_pkgconfig_libs="`$PKG_CONFIG --libs ice 2>/dev/null`"
++ test -n "$verbose" && echo " package ice CFLAGS: $cf_pkgconfig_incs" 1>&6
+
+-echo "${as_me:-configure}:10480: testing package $cf_athena_pkg CFLAGS: $cf_pkgconfig_incs ..." 1>&5
++echo "${as_me:-configure}:10740: testing package ice CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+
+- test -n "$verbose" && echo " package $cf_athena_pkg LIBS: $cf_pkgconfig_libs" 1>&6
++ test -n "$verbose" && echo " package ice LIBS: $cf_pkgconfig_libs" 1>&6
+
+-echo "${as_me:-configure}:10484: testing package $cf_athena_pkg LIBS: $cf_pkgconfig_libs ..." 1>&5
++echo "${as_me:-configure}:10744: testing package ice LIBS: $cf_pkgconfig_libs ..." 1>&5
+
+ cf_fix_cppflags=no
+ cf_new_cflags=
+@@ -10563,84 +10823,20 @@
+
+ LIBS="$cf_pkgconfig_libs $LIBS"
+
+- cf_x_athena_lib="$cf_pkgconfig_libs"
+-
+-cf_x_athena_LIBS=`echo "HAVE_LIB_$cf_x_athena" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+-
+- cat >>confdefs.h <<EOF
+-#define $cf_x_athena_LIBS 1
+-EOF
+-
+-echo "$as_me:10574: checking for usable $cf_x_athena/Xmu package" >&5
+-echo $ECHO_N "checking for usable $cf_x_athena/Xmu package... $ECHO_C" >&6
+-if test "${cf_cv_xaw_compat+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+-
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 10581 "configure"
+-#include "confdefs.h"
+-
+-#include <X11/Xmu/CharSet.h>
+-
+-int
+-main ()
+-{
+-
+-int check = XmuCompareISOLatin1("big", "small")
+-
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:10597: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:10600: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:10603: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:10606: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- cf_cv_xaw_compat=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-cf_cv_xaw_compat=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-fi
+-echo "$as_me:10616: result: $cf_cv_xaw_compat" >&5
+-echo "${ECHO_T}$cf_cv_xaw_compat" >&6
+-
+- if test "$cf_cv_xaw_compat" = no
+- then
+- # workaround for broken ".pc" files...
+- case "$cf_x_athena_lib" in #(vi
+- *-lXmu*) #(vi
+- ;;
+- *)
+- test -n "$verbose" && echo " work around broken package" 1>&6
+-
+-echo "${as_me:-configure}:10628: testing work around broken package ..." 1>&5
+-
+-if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists xmu; then
+- test -n "$verbose" && echo " found package xmu" 1>&6
++if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists sm; then
++ test -n "$verbose" && echo " found package sm" 1>&6
+
+-echo "${as_me:-configure}:10633: testing found package xmu ..." 1>&5
++echo "${as_me:-configure}:10829: testing found package sm ..." 1>&5
+
+- cf_pkgconfig_incs="`$PKG_CONFIG --cflags xmu 2>/dev/null`"
+- cf_pkgconfig_libs="`$PKG_CONFIG --libs xmu 2>/dev/null`"
+- test -n "$verbose" && echo " package xmu CFLAGS: $cf_pkgconfig_incs" 1>&6
++ cf_pkgconfig_incs="`$PKG_CONFIG --cflags sm 2>/dev/null`"
++ cf_pkgconfig_libs="`$PKG_CONFIG --libs sm 2>/dev/null`"
++ test -n "$verbose" && echo " package sm CFLAGS: $cf_pkgconfig_incs" 1>&6
+
+-echo "${as_me:-configure}:10639: testing package xmu CFLAGS: $cf_pkgconfig_incs ..." 1>&5
++echo "${as_me:-configure}:10835: testing package sm CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+
+- test -n "$verbose" && echo " package xmu LIBS: $cf_pkgconfig_libs" 1>&6
++ test -n "$verbose" && echo " package sm LIBS: $cf_pkgconfig_libs" 1>&6
+
+-echo "${as_me:-configure}:10643: testing package xmu LIBS: $cf_pkgconfig_libs ..." 1>&5
++echo "${as_me:-configure}:10839: testing package sm LIBS: $cf_pkgconfig_libs ..." 1>&5
+
+ cf_fix_cppflags=no
+ cf_new_cflags=
+@@ -10723,53 +10919,47 @@
+ LIBS="$cf_pkgconfig_libs $LIBS"
+ :
+ else
++ :
++fi
++
++else
+
+ test -n "$verbose" && echo " ...before $LIBS" 1>&6
+
+-echo "${as_me:-configure}:10729: testing ...before $LIBS ..." 1>&5
++echo "${as_me:-configure}:10929: testing ...before $LIBS ..." 1>&5
+
+-LIBS=`echo "$LIBS" | sed -e "s/[ ][ ]*/ /g" -e "s,-lXt ,-lXt -lXmu ," -e 's/ / /g'`
++LIBS=`echo "$LIBS" | sed -e "s/[ ][ ]*/ /g" -e "s,-lXt ,-lXt $X_PRE_LIBS ," -e 's/ / /g'`
+ test -n "$verbose" && echo " ...after $LIBS" 1>&6
+
+-echo "${as_me:-configure}:10734: testing ...after $LIBS ..." 1>&5
+-
+-fi
+-
+- ;;
+- esac
+- fi
+-
+- break
+-else
+- :
+-fi
++echo "${as_me:-configure}:10934: testing ...after $LIBS ..." 1>&5
+
+- done
+ fi
+
+-if test -z "$cf_x_athena_lib" ; then
++ ;;
++ esac
++ ;;
++ esac
++ fi
+
+-if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists Xext; then
+- test -n "$verbose" && echo " found package Xext" 1>&6
++ cf_have_X_LIBS=yes
+
+-echo "${as_me:-configure}:10755: testing found package Xext ..." 1>&5
++else
+
+- cf_pkgconfig_incs="`$PKG_CONFIG --cflags Xext 2>/dev/null`"
+- cf_pkgconfig_libs="`$PKG_CONFIG --libs Xext 2>/dev/null`"
+- test -n "$verbose" && echo " package Xext CFLAGS: $cf_pkgconfig_incs" 1>&6
++ LDFLAGS="$X_LIBS $LDFLAGS"
+
+-echo "${as_me:-configure}:10761: testing package Xext CFLAGS: $cf_pkgconfig_incs ..." 1>&5
++test -n "$verbose" && echo " checking additions to CFLAGS" 1>&6
+
+- test -n "$verbose" && echo " package Xext LIBS: $cf_pkgconfig_libs" 1>&6
++echo "${as_me:-configure}:10952: testing checking additions to CFLAGS ..." 1>&5
+
+-echo "${as_me:-configure}:10765: testing package Xext LIBS: $cf_pkgconfig_libs ..." 1>&5
++cf_check_cflags="$CFLAGS"
++cf_check_cppflags="$CPPFLAGS"
+
+ cf_fix_cppflags=no
+ cf_new_cflags=
+ cf_new_cppflags=
+ cf_new_extra_cppflags=
+
+-for cf_add_cflags in $cf_pkgconfig_incs
++for cf_add_cflags in $X_CFLAGS
+ do
+ case $cf_fix_cppflags in
+ no)
+@@ -10828,33 +11018,144 @@
+ done
+
+ if test -n "$cf_new_cflags" ; then
++ test -n "$verbose" && echo " add to \$CFLAGS $cf_new_cflags" 1>&6
++
++echo "${as_me:-configure}:11023: testing add to \$CFLAGS $cf_new_cflags ..." 1>&5
+
+ CFLAGS="$CFLAGS $cf_new_cflags"
+ fi
+
+ if test -n "$cf_new_cppflags" ; then
++ test -n "$verbose" && echo " add to \$CPPFLAGS $cf_new_cppflags" 1>&6
++
++echo "${as_me:-configure}:11031: testing add to \$CPPFLAGS $cf_new_cppflags ..." 1>&5
++
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++
++if test -n "$cf_new_extra_cppflags" ; then
++ test -n "$verbose" && echo " add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags" 1>&6
++
++echo "${as_me:-configure}:11039: testing add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags ..." 1>&5
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
++
++if test "$cf_check_cflags" != "$CFLAGS" ; then
++cat >conftest.$ac_ext <<_ACEOF
++#line 11046 "configure"
++#include "confdefs.h"
++#include <stdio.h>
++int
++main ()
++{
++printf("Hello world");
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:11058: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:11061: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:11064: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:11067: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++test -n "$verbose" && echo " test-compile failed. Undoing change to \$CFLAGS" 1>&6
++
++echo "${as_me:-configure}:11075: testing test-compile failed. Undoing change to \$CFLAGS ..." 1>&5
++
++ if test "$cf_check_cppflags" != "$CPPFLAGS" ; then
++ test -n "$verbose" && echo " but keeping change to \$CPPFLAGS" 1>&6
++
++echo "${as_me:-configure}:11080: testing but keeping change to \$CPPFLAGS ..." 1>&5
++
++ fi
++ CFLAGS="$cf_check_flags"
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++fi
++
++ echo "$as_me:11088: checking for XOpenDisplay" >&5
++echo $ECHO_N "checking for XOpenDisplay... $ECHO_C" >&6
++if test "${ac_cv_func_XOpenDisplay+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 11094 "configure"
++#include "confdefs.h"
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char XOpenDisplay (); below. */
++#include <assert.h>
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char XOpenDisplay ();
++char (*f) ();
++
++int
++main ()
++{
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined (__stub_XOpenDisplay) || defined (__stub___XOpenDisplay)
++choke me
++#else
++f = XOpenDisplay; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
++#endif
+
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:11125: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:11128: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:11131: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:11134: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_func_XOpenDisplay=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++ac_cv_func_XOpenDisplay=no
+ fi
+-
+-if test -n "$cf_new_extra_cppflags" ; then
+-
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-
+- LIBS="$cf_pkgconfig_libs $LIBS"
+- :
++echo "$as_me:11144: result: $ac_cv_func_XOpenDisplay" >&5
++echo "${ECHO_T}$ac_cv_func_XOpenDisplay" >&6
++if test $ac_cv_func_XOpenDisplay = yes; then
++ :
+ else
+
+- echo "$as_me:10849: checking for XextCreateExtension in -lXext" >&5
+-echo $ECHO_N "checking for XextCreateExtension in -lXext... $ECHO_C" >&6
+-if test "${ac_cv_lib_Xext_XextCreateExtension+set}" = set; then
++ echo "$as_me:11150: checking for XOpenDisplay in -lX11" >&5
++echo $ECHO_N "checking for XOpenDisplay in -lX11... $ECHO_C" >&6
++if test "${ac_cv_lib_X11_XOpenDisplay+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lXext $LIBS"
++LIBS="-lX11 $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10857 "configure"
++#line 11158 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -10863,486 +11164,447 @@
+ #endif
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char XextCreateExtension ();
++char XOpenDisplay ();
+ int
+ main ()
+ {
+-XextCreateExtension ();
++XOpenDisplay ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:10876: \"$ac_link\"") >&5
++if { (eval echo "$as_me:11177: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:10879: \$? = $ac_status" >&5
++ echo "$as_me:11180: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:10882: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11183: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10885: \$? = $ac_status" >&5
++ echo "$as_me:11186: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_Xext_XextCreateExtension=yes
++ ac_cv_lib_X11_XOpenDisplay=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_Xext_XextCreateExtension=no
++ac_cv_lib_X11_XOpenDisplay=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:10896: result: $ac_cv_lib_Xext_XextCreateExtension" >&5
+-echo "${ECHO_T}$ac_cv_lib_Xext_XextCreateExtension" >&6
+-if test $ac_cv_lib_Xext_XextCreateExtension = yes; then
+- LIBS="-lXext $LIBS"
++echo "$as_me:11197: result: $ac_cv_lib_X11_XOpenDisplay" >&5
++echo "${ECHO_T}$ac_cv_lib_X11_XOpenDisplay" >&6
++if test $ac_cv_lib_X11_XOpenDisplay = yes; then
++ LIBS="-lX11 $LIBS"
+ fi
+
+ fi
+
+-cf_have_X_LIBS=no
+-
+-if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists xt; then
+- test -n "$verbose" && echo " found package xt" 1>&6
+-
+-echo "${as_me:-configure}:10909: testing found package xt ..." 1>&5
+-
+- cf_pkgconfig_incs="`$PKG_CONFIG --cflags xt 2>/dev/null`"
+- cf_pkgconfig_libs="`$PKG_CONFIG --libs xt 2>/dev/null`"
+- test -n "$verbose" && echo " package xt CFLAGS: $cf_pkgconfig_incs" 1>&6
+-
+-echo "${as_me:-configure}:10915: testing package xt CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+-
+- test -n "$verbose" && echo " package xt LIBS: $cf_pkgconfig_libs" 1>&6
+-
+-echo "${as_me:-configure}:10919: testing package xt LIBS: $cf_pkgconfig_libs ..." 1>&5
+-
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
+-
+-for cf_add_cflags in $cf_pkgconfig_incs
+-do
+-case $cf_fix_cppflags in
+-no)
+- case $cf_add_cflags in #(vi
+- -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+- case $cf_add_cflags in
+- -D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
+-
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- *$cf_add_cflags) #(vi
+- ;;
+- *) #(vi
+- case $cf_add_cflags in #(vi
+- -D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+-
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+-
+- ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- *)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+-yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ echo "$as_me:11205: checking for XtAppInitialize" >&5
++echo $ECHO_N "checking for XtAppInitialize... $ECHO_C" >&6
++if test "${ac_cv_func_XtAppInitialize+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 11211 "configure"
++#include "confdefs.h"
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char XtAppInitialize (); below. */
++#include <assert.h>
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char XtAppInitialize ();
++char (*f) ();
+
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++int
++main ()
++{
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined (__stub_XtAppInitialize) || defined (__stub___XtAppInitialize)
++choke me
++#else
++f = XtAppInitialize; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
++#endif
+
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
+-done
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:11242: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:11245: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:11248: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:11251: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_func_XtAppInitialize=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++ac_cv_func_XtAppInitialize=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++fi
++echo "$as_me:11261: result: $ac_cv_func_XtAppInitialize" >&5
++echo "${ECHO_T}$ac_cv_func_XtAppInitialize" >&6
++if test $ac_cv_func_XtAppInitialize = yes; then
++ :
++else
+
+-if test -n "$cf_new_cflags" ; then
++ echo "$as_me:11267: checking for XtAppInitialize in -lXt" >&5
++echo $ECHO_N "checking for XtAppInitialize in -lXt... $ECHO_C" >&6
++if test "${ac_cv_lib_Xt_XtAppInitialize+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXt $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 11275 "configure"
++#include "confdefs.h"
+
+- CFLAGS="$CFLAGS $cf_new_cflags"
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char XtAppInitialize ();
++int
++main ()
++{
++XtAppInitialize ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:11294: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:11297: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:11300: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:11303: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_lib_Xt_XtAppInitialize=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++ac_cv_lib_Xt_XtAppInitialize=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
+ fi
++echo "$as_me:11314: result: $ac_cv_lib_Xt_XtAppInitialize" >&5
++echo "${ECHO_T}$ac_cv_lib_Xt_XtAppInitialize" >&6
++if test $ac_cv_lib_Xt_XtAppInitialize = yes; then
+
+-if test -n "$cf_new_cppflags" ; then
++cat >>confdefs.h <<\EOF
++#define HAVE_LIBXT 1
++EOF
+
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++ cf_have_X_LIBS=Xt
++ LIBS="-lXt $X_PRE_LIBS $LIBS $X_EXTRA_LIBS"
+ fi
+
+-if test -n "$cf_new_extra_cppflags" ; then
++fi
+
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+ fi
+
+- LIBS="$cf_pkgconfig_libs $LIBS"
++if test $cf_have_X_LIBS = no ; then
++ { echo "$as_me:11331: WARNING: Unable to successfully link X Toolkit library (-lXt) with
++test program. You will have to check and add the proper libraries by hand
++to makefile." >&5
++echo "$as_me: WARNING: Unable to successfully link X Toolkit library (-lXt) with
++test program. You will have to check and add the proper libraries by hand
++to makefile." >&2;}
++fi
+
+- case "x$LIBS" in #(vi
+- *-lX11*) #(vi
+- ;;
+- *)
+-# we have an "xt" package, but it may omit Xt's dependency on X11
+-echo "$as_me:11006: checking for usable X dependency" >&5
+-echo $ECHO_N "checking for usable X dependency... $ECHO_C" >&6
+-if test "${cf_cv_xt_x11_compat+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
++cf_x_athena_root=$cf_x_athena
++cf_x_athena_inc=""
+
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 11013 "configure"
++for cf_path in default \
++ /usr/contrib/X11R6 \
++ /usr/contrib/X11R5 \
++ /usr/lib/X11R5 \
++ /usr/local
++do
++ if test -z "$cf_x_athena_inc" ; then
++ cf_save="$CPPFLAGS"
++ cf_test=X11/$cf_x_athena_root/SimpleMenu.h
++ if test $cf_path != default ; then
++ CPPFLAGS="$cf_save -I$cf_path/include"
++ echo "$as_me:11353: checking for $cf_test in $cf_path" >&5
++echo $ECHO_N "checking for $cf_test in $cf_path... $ECHO_C" >&6
++ else
++ echo "$as_me:11356: checking for $cf_test" >&5
++echo $ECHO_N "checking for $cf_test... $ECHO_C" >&6
++ fi
++ cat >conftest.$ac_ext <<_ACEOF
++#line 11360 "configure"
+ #include "confdefs.h"
+
+-#include <X11/Xlib.h>
+-
++#include <X11/Intrinsic.h>
++#include <$cf_test>
+ int
+ main ()
+ {
+
+- int rc1 = XDrawLine((Display*) 0, (Drawable) 0, (GC) 0, 0, 0, 0, 0);
+- int rc2 = XClearWindow((Display*) 0, (Window) 0);
+- int rc3 = XMoveWindow((Display*) 0, (Window) 0, 0, 0);
+- int rc4 = XMoveResizeWindow((Display*)0, (Window)0, 0, 0, 0, 0);
+-
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:11032: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:11374: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:11035: \$? = $ac_status" >&5
++ echo "$as_me:11377: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:11038: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:11380: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:11041: \$? = $ac_status" >&5
++ echo "$as_me:11383: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_xt_x11_compat=yes
++ cf_result=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_xt_x11_compat=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++cf_result=no
+ fi
+-echo "$as_me:11051: result: $cf_cv_xt_x11_compat" >&5
+-echo "${ECHO_T}$cf_cv_xt_x11_compat" >&6
+- if test "$cf_cv_xt_x11_compat" = no
+- then
+- test -n "$verbose" && echo " work around broken X11 dependency" 1>&6
+-
+-echo "${as_me:-configure}:11057: testing work around broken X11 dependency ..." 1>&5
+-
+- # 2010/11/19 - good enough until a working Xt on Xcb is delivered.
+-
+-if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists x11; then
+- test -n "$verbose" && echo " found package x11" 1>&6
+-
+-echo "${as_me:-configure}:11064: testing found package x11 ..." 1>&5
+-
+- cf_pkgconfig_incs="`$PKG_CONFIG --cflags x11 2>/dev/null`"
+- cf_pkgconfig_libs="`$PKG_CONFIG --libs x11 2>/dev/null`"
+- test -n "$verbose" && echo " package x11 CFLAGS: $cf_pkgconfig_incs" 1>&6
+-
+-echo "${as_me:-configure}:11070: testing package x11 CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+-
+- test -n "$verbose" && echo " package x11 LIBS: $cf_pkgconfig_libs" 1>&6
+-
+-echo "${as_me:-configure}:11074: testing package x11 LIBS: $cf_pkgconfig_libs ..." 1>&5
+-
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
+-
+-for cf_add_cflags in $cf_pkgconfig_incs
+-do
+-case $cf_fix_cppflags in
+-no)
+- case $cf_add_cflags in #(vi
+- -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+- case $cf_add_cflags in
+- -D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
+-
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- *$cf_add_cflags) #(vi
+- ;;
+- *) #(vi
+- case $cf_add_cflags in #(vi
+- -D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+-
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+-
+- ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- *)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+-yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+-
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
++rm -f conftest.$ac_objext conftest.$ac_ext
++ echo "$as_me:11392: result: $cf_result" >&5
++echo "${ECHO_T}$cf_result" >&6
++ if test "$cf_result" = yes ; then
++ cf_x_athena_inc=$cf_path
++ break
++ else
++ CPPFLAGS="$cf_save"
++ fi
++ fi
+ done
+
+-if test -n "$cf_new_cflags" ; then
+-
+- CFLAGS="$CFLAGS $cf_new_cflags"
+-fi
+-
+-if test -n "$cf_new_cppflags" ; then
+-
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
+-fi
+-
+-if test -n "$cf_new_extra_cppflags" ; then
+-
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+-fi
+-
+- LIBS="$cf_pkgconfig_libs $LIBS"
+- :
+-else
+-
+-test -n "$verbose" && echo " ...before $LIBS" 1>&6
+-
+-echo "${as_me:-configure}:11160: testing ...before $LIBS ..." 1>&5
+-
+-LIBS=`echo "$LIBS" | sed -e "s/[ ][ ]*/ /g" -e "s,-lXt ,-lXt -lX11 ," -e 's/ / /g'`
+-test -n "$verbose" && echo " ...after $LIBS" 1>&6
+-
+-echo "${as_me:-configure}:11165: testing ...after $LIBS ..." 1>&5
+-
++if test -z "$cf_x_athena_inc" ; then
++ { echo "$as_me:11404: WARNING: Unable to successfully find Athena header files with test program" >&5
++echo "$as_me: WARNING: Unable to successfully find Athena header files with test program" >&2;}
++elif test "$cf_x_athena_inc" != default ; then
++ CPPFLAGS="$CPPFLAGS -I$cf_x_athena_inc"
+ fi
+
+- fi
+- ;;
+- esac
+-
+-echo "$as_me:11173: checking for usable X Toolkit package" >&5
+-echo $ECHO_N "checking for usable X Toolkit package... $ECHO_C" >&6
+-if test "${cf_cv_xt_ice_compat+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
++cf_x_athena_root=$cf_x_athena
++cf_x_athena_lib=""
+
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 11180 "configure"
++for cf_path in default \
++ /usr/contrib/X11R6 \
++ /usr/contrib/X11R5 \
++ /usr/lib/X11R5 \
++ /usr/local
++do
++ for cf_lib in \
++ ${cf_x_athena_root} \
++ ${cf_x_athena_root}7 \
++ ${cf_x_athena_root}6
++ do
++ for cf_libs in \
++ "-l$cf_lib -lXmu" \
++ "-l$cf_lib -lXpm -lXmu" \
++ "-l${cf_lib}_s -lXmu_s"
++ do
++ if test -z "$cf_x_athena_lib" ; then
++ cf_save="$LIBS"
++ cf_test=XawSimpleMenuAddGlobalActions
++ if test $cf_path != default ; then
++ LIBS="-L$cf_path/lib $cf_libs $LIBS"
++ echo "$as_me:11434: checking for $cf_libs in $cf_path" >&5
++echo $ECHO_N "checking for $cf_libs in $cf_path... $ECHO_C" >&6
++ else
++ LIBS="$cf_libs $LIBS"
++ echo "$as_me:11438: checking for $cf_test in $cf_libs" >&5
++echo $ECHO_N "checking for $cf_test in $cf_libs... $ECHO_C" >&6
++ fi
++ cat >conftest.$ac_ext <<_ACEOF
++#line 11442 "configure"
+ #include "confdefs.h"
+
+-#include <X11/Shell.h>
++#include <X11/Intrinsic.h>
++#include <X11/$cf_x_athena_root/SimpleMenu.h>
+
+ int
+ main ()
+ {
+-int num = IceConnectionNumber(0)
+
++$cf_test((XtAppContext) 0)
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:11195: \"$ac_link\"") >&5
++if { (eval echo "$as_me:11458: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:11198: \$? = $ac_status" >&5
++ echo "$as_me:11461: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:11201: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11464: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:11204: \$? = $ac_status" >&5
++ echo "$as_me:11467: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_xt_ice_compat=yes
++ cf_result=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_xt_ice_compat=no
++cf_result=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-fi
+-echo "$as_me:11214: result: $cf_cv_xt_ice_compat" >&5
+-echo "${ECHO_T}$cf_cv_xt_ice_compat" >&6
+-
+- if test "$cf_cv_xt_ice_compat" = no
+- then
+- # workaround for broken ".pc" files used for X Toolkit.
+- case "x$X_PRE_LIBS" in #(vi
+- *-lICE*)
+- case "x$LIBS" in #(vi
+- *-lICE*) #(vi
+- ;;
+- *)
+- test -n "$verbose" && echo " work around broken ICE dependency" 1>&6
+-
+-echo "${as_me:-configure}:11228: testing work around broken ICE dependency ..." 1>&5
+-
+-if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists ice; then
+- test -n "$verbose" && echo " found package ice" 1>&6
+-
+-echo "${as_me:-configure}:11233: testing found package ice ..." 1>&5
+-
+- cf_pkgconfig_incs="`$PKG_CONFIG --cflags ice 2>/dev/null`"
+- cf_pkgconfig_libs="`$PKG_CONFIG --libs ice 2>/dev/null`"
+- test -n "$verbose" && echo " package ice CFLAGS: $cf_pkgconfig_incs" 1>&6
+-
+-echo "${as_me:-configure}:11239: testing package ice CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+-
+- test -n "$verbose" && echo " package ice LIBS: $cf_pkgconfig_libs" 1>&6
+-
+-echo "${as_me:-configure}:11243: testing package ice LIBS: $cf_pkgconfig_libs ..." 1>&5
+-
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
+-
+-for cf_add_cflags in $cf_pkgconfig_incs
+-do
+-case $cf_fix_cppflags in
+-no)
+- case $cf_add_cflags in #(vi
+- -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+- case $cf_add_cflags in
+- -D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
+-
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
++ echo "$as_me:11476: result: $cf_result" >&5
++echo "${ECHO_T}$cf_result" >&6
++ if test "$cf_result" = yes ; then
++ cf_x_athena_lib="$cf_libs"
++ break
+ fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- *$cf_add_cflags) #(vi
+- ;;
+- *) #(vi
+- case $cf_add_cflags in #(vi
+- -D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++ LIBS="$cf_save"
++ fi
++ done # cf_libs
++ test -n "$cf_x_athena_lib" && break
++ done # cf_lib
++done
++
++if test -z "$cf_x_athena_lib" ; then
++ { { echo "$as_me:11490: error: Unable to successfully link Athena library (-l$cf_x_athena_root) with test program" >&5
++echo "$as_me: error: Unable to successfully link Athena library (-l$cf_x_athena_root) with test program" >&2;}
++ { (exit 1); exit 1; }; }
++fi
+
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++cf_x_athena_LIBS=`echo "HAVE_LIB_$cf_x_athena" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+
+- ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- *)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+-yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++cat >>confdefs.h <<EOF
++#define $cf_x_athena_LIBS 1
++EOF
+
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++fi
+
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
++if test -n "$ac_tool_prefix"; then
++ for ac_prog in xcurses-config
++ do
++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
++echo "$as_me:11508: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_XCURSES_CONFIG+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$XCURSES_CONFIG"; then
++ ac_cv_prog_XCURSES_CONFIG="$XCURSES_CONFIG" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_XCURSES_CONFIG="$ac_tool_prefix$ac_prog"
++echo "$as_me:11523: found $ac_dir/$ac_word" >&5
++break
+ done
+
+-if test -n "$cf_new_cflags" ; then
+-
+- CFLAGS="$CFLAGS $cf_new_cflags"
++fi
++fi
++XCURSES_CONFIG=$ac_cv_prog_XCURSES_CONFIG
++if test -n "$XCURSES_CONFIG"; then
++ echo "$as_me:11531: result: $XCURSES_CONFIG" >&5
++echo "${ECHO_T}$XCURSES_CONFIG" >&6
++else
++ echo "$as_me:11534: result: no" >&5
++echo "${ECHO_T}no" >&6
+ fi
+
+-if test -n "$cf_new_cppflags" ; then
++ test -n "$XCURSES_CONFIG" && break
++ done
++fi
++if test -z "$XCURSES_CONFIG"; then
++ ac_ct_XCURSES_CONFIG=$XCURSES_CONFIG
++ for ac_prog in xcurses-config
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++echo "$as_me:11547: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_ac_ct_XCURSES_CONFIG+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_XCURSES_CONFIG"; then
++ ac_cv_prog_ac_ct_XCURSES_CONFIG="$ac_ct_XCURSES_CONFIG" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_ac_ct_XCURSES_CONFIG="$ac_prog"
++echo "$as_me:11562: found $ac_dir/$ac_word" >&5
++break
++done
+
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++fi
++ac_ct_XCURSES_CONFIG=$ac_cv_prog_ac_ct_XCURSES_CONFIG
++if test -n "$ac_ct_XCURSES_CONFIG"; then
++ echo "$as_me:11570: result: $ac_ct_XCURSES_CONFIG" >&5
++echo "${ECHO_T}$ac_ct_XCURSES_CONFIG" >&6
++else
++ echo "$as_me:11573: result: no" >&5
++echo "${ECHO_T}no" >&6
+ fi
+
+-if test -n "$cf_new_extra_cppflags" ; then
++ test -n "$ac_ct_XCURSES_CONFIG" && break
++done
++test -n "$ac_ct_XCURSES_CONFIG" || ac_ct_XCURSES_CONFIG="none"
+
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++ XCURSES_CONFIG=$ac_ct_XCURSES_CONFIG
+ fi
+
+- LIBS="$cf_pkgconfig_libs $LIBS"
++if test "$XCURSES_CONFIG" != none ; then
+
+-if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists sm; then
+- test -n "$verbose" && echo " found package sm" 1>&6
++CPPFLAGS="$CPPFLAGS `$XCURSES_CONFIG --cflags`"
++LIBS="`$XCURSES_CONFIG --libs` $LIBS"
+
+-echo "${as_me:-configure}:11328: testing found package sm ..." 1>&5
++cf_cv_lib_XCurses=yes
+
+- cf_pkgconfig_incs="`$PKG_CONFIG --cflags sm 2>/dev/null`"
+- cf_pkgconfig_libs="`$PKG_CONFIG --libs sm 2>/dev/null`"
+- test -n "$verbose" && echo " package sm CFLAGS: $cf_pkgconfig_incs" 1>&6
++else
+
+-echo "${as_me:-configure}:11334: testing package sm CFLAGS: $cf_pkgconfig_incs ..." 1>&5
++LDFLAGS="$LDFLAGS $X_LIBS"
+
+- test -n "$verbose" && echo " package sm LIBS: $cf_pkgconfig_libs" 1>&6
++test -n "$verbose" && echo " checking additions to CFLAGS" 1>&6
+
+-echo "${as_me:-configure}:11338: testing package sm LIBS: $cf_pkgconfig_libs ..." 1>&5
++echo "${as_me:-configure}:11597: testing checking additions to CFLAGS ..." 1>&5
++
++cf_check_cflags="$CFLAGS"
++cf_check_cppflags="$CPPFLAGS"
+
+ cf_fix_cppflags=no
+ cf_new_cflags=
+ cf_new_cppflags=
+ cf_new_extra_cppflags=
+
+-for cf_add_cflags in $cf_pkgconfig_incs
++for cf_add_cflags in $X_CFLAGS
+ do
+ case $cf_fix_cppflags in
+ no)
+@@ -11401,260 +11663,375 @@
+ done
+
+ if test -n "$cf_new_cflags" ; then
++ test -n "$verbose" && echo " add to \$CFLAGS $cf_new_cflags" 1>&6
++
++echo "${as_me:-configure}:11668: testing add to \$CFLAGS $cf_new_cflags ..." 1>&5
+
+ CFLAGS="$CFLAGS $cf_new_cflags"
+ fi
+
+ if test -n "$cf_new_cppflags" ; then
++ test -n "$verbose" && echo " add to \$CPPFLAGS $cf_new_cppflags" 1>&6
++
++echo "${as_me:-configure}:11676: testing add to \$CPPFLAGS $cf_new_cppflags ..." 1>&5
+
+ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
+ fi
+
+ if test -n "$cf_new_extra_cppflags" ; then
++ test -n "$verbose" && echo " add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags" 1>&6
+
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+-fi
++echo "${as_me:-configure}:11684: testing add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags ..." 1>&5
+
+- LIBS="$cf_pkgconfig_libs $LIBS"
+- :
+-else
+- :
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+ fi
+
++if test "$cf_check_cflags" != "$CFLAGS" ; then
++cat >conftest.$ac_ext <<_ACEOF
++#line 11691 "configure"
++#include "confdefs.h"
++#include <stdio.h>
++int
++main ()
++{
++printf("Hello world");
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:11703: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:11706: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:11709: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:11712: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ :
+ else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++test -n "$verbose" && echo " test-compile failed. Undoing change to \$CFLAGS" 1>&6
+
+-test -n "$verbose" && echo " ...before $LIBS" 1>&6
+-
+-echo "${as_me:-configure}:11428: testing ...before $LIBS ..." 1>&5
++echo "${as_me:-configure}:11720: testing test-compile failed. Undoing change to \$CFLAGS ..." 1>&5
+
+-LIBS=`echo "$LIBS" | sed -e "s/[ ][ ]*/ /g" -e "s,-lXt ,-lXt $X_PRE_LIBS ," -e 's/ / /g'`
+-test -n "$verbose" && echo " ...after $LIBS" 1>&6
++ if test "$cf_check_cppflags" != "$CPPFLAGS" ; then
++ test -n "$verbose" && echo " but keeping change to \$CPPFLAGS" 1>&6
+
+-echo "${as_me:-configure}:11433: testing ...after $LIBS ..." 1>&5
++echo "${as_me:-configure}:11725: testing but keeping change to \$CPPFLAGS ..." 1>&5
+
++ fi
++ CFLAGS="$cf_check_flags"
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+
+- ;;
+- esac
+- ;;
+- esac
+- fi
+-
+- cf_have_X_LIBS=yes
+-
++echo "$as_me:11733: checking for XOpenDisplay in -lX11" >&5
++echo $ECHO_N "checking for XOpenDisplay in -lX11... $ECHO_C" >&6
++if test "${ac_cv_lib_X11_XOpenDisplay+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lX11 $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 11741 "configure"
++#include "confdefs.h"
+
+- LDFLAGS="$X_LIBS $LDFLAGS"
+-
+-test -n "$verbose" && echo " checking additions to CFLAGS" 1>&6
+-
+-echo "${as_me:-configure}:11451: testing checking additions to CFLAGS ..." 1>&5
+-
+-cf_check_cflags="$CFLAGS"
+-cf_check_cppflags="$CPPFLAGS"
+-
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char XOpenDisplay ();
++int
++main ()
++{
++XOpenDisplay ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:11760: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:11763: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:11766: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:11769: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_lib_X11_XOpenDisplay=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++ac_cv_lib_X11_XOpenDisplay=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:11780: result: $ac_cv_lib_X11_XOpenDisplay" >&5
++echo "${ECHO_T}$ac_cv_lib_X11_XOpenDisplay" >&6
++if test $ac_cv_lib_X11_XOpenDisplay = yes; then
++ LIBS="-lX11 $LIBS"
++fi
+
+-for cf_add_cflags in $X_CFLAGS
+-do
+-case $cf_fix_cppflags in
+-no)
+- case $cf_add_cflags in #(vi
+- -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+- case $cf_add_cflags in
+- -D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++echo "$as_me:11786: checking for XCurses library" >&5
++echo $ECHO_N "checking for XCurses library... $ECHO_C" >&6
++if test "${cf_cv_lib_XCurses+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
+
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
++LIBS="-lXCurses $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 11794 "configure"
++#include "confdefs.h"
+
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- *$cf_add_cflags) #(vi
+- ;;
+- *) #(vi
+- case $cf_add_cflags in #(vi
+- -D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++#include <xcurses.h>
++char *XCursesProgramName = "test";
+
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++int
++main ()
++{
++XCursesExit();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:11809: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:11812: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:11815: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:11818: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_lib_XCurses=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_lib_XCurses=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+- ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- *)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+-yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++fi
++echo "$as_me:11829: result: $cf_cv_lib_XCurses" >&5
++echo "${ECHO_T}$cf_cv_lib_XCurses" >&6
+
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++fi
+
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
+-done
++if test $cf_cv_lib_XCurses = yes ; then
+
+-if test -n "$cf_new_cflags" ; then
+- test -n "$verbose" && echo " add to \$CFLAGS $cf_new_cflags" 1>&6
++cat >>confdefs.h <<\EOF
++#define UNIX 1
++EOF
+
+-echo "${as_me:-configure}:11522: testing add to \$CFLAGS $cf_new_cflags ..." 1>&5
++cat >>confdefs.h <<\EOF
++#define XCURSES 1
++EOF
+
+- CFLAGS="$CFLAGS $cf_new_cflags"
++ echo "$as_me:11844: checking for xcurses.h" >&5
++echo $ECHO_N "checking for xcurses.h... $ECHO_C" >&6
++if test "${ac_cv_header_xcurses_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 11850 "configure"
++#include "confdefs.h"
++#include <xcurses.h>
++_ACEOF
++if { (eval echo "$as_me:11854: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ egrep -v '^ *\+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:11860: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++ ac_cv_header_xcurses_h=yes
++else
++ echo "$as_me: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ ac_cv_header_xcurses_h=no
++fi
++rm -f conftest.err conftest.$ac_ext
+ fi
++echo "$as_me:11879: result: $ac_cv_header_xcurses_h" >&5
++echo "${ECHO_T}$ac_cv_header_xcurses_h" >&6
++if test $ac_cv_header_xcurses_h = yes; then
+
+-if test -n "$cf_new_cppflags" ; then
+- test -n "$verbose" && echo " add to \$CPPFLAGS $cf_new_cppflags" 1>&6
++cat >>confdefs.h <<\EOF
++#define HAVE_XCURSES 1
++EOF
+
+-echo "${as_me:-configure}:11530: testing add to \$CPPFLAGS $cf_new_cppflags ..." 1>&5
++fi
+
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++else
++ { { echo "$as_me:11890: error: Cannot link with XCurses" >&5
++echo "$as_me: error: Cannot link with XCurses" >&2;}
++ { (exit 1); exit 1; }; }
+ fi
+
+-if test -n "$cf_new_extra_cppflags" ; then
+- test -n "$verbose" && echo " add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags" 1>&6
++ ;;
++esac
+
+-echo "${as_me:-configure}:11538: testing add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags ..." 1>&5
++case $cf_cv_screen in
++curses|curses_*)
+
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+-fi
++echo "$as_me:11901: checking for NetBSD form.h" >&5
++echo $ECHO_N "checking for NetBSD form.h... $ECHO_C" >&6
++if test "${cf_cv_netbsd_form_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
+
+-if test "$cf_check_cflags" != "$CFLAGS" ; then
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 11545 "configure"
++#line 11908 "configure"
+ #include "confdefs.h"
+-#include <stdio.h>
++
++#include <${cf_cv_ncurses_header:-curses.h}>
++#include <form.h>
++
+ int
+ main ()
+ {
+-printf("Hello world");
++
++ FORM *form;
++ int y = current_field(form)->cursor_ypos;
++ int x = current_field(form)->cursor_xpos;
++
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:11557: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:11927: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:11560: \$? = $ac_status" >&5
++ echo "$as_me:11930: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:11563: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:11933: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:11566: \$? = $ac_status" >&5
++ echo "$as_me:11936: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- :
++ cf_cv_netbsd_form_h=yes
++
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-test -n "$verbose" && echo " test-compile failed. Undoing change to \$CFLAGS" 1>&6
+-
+-echo "${as_me:-configure}:11574: testing test-compile failed. Undoing change to \$CFLAGS ..." 1>&5
+-
+- if test "$cf_check_cppflags" != "$CPPFLAGS" ; then
+- test -n "$verbose" && echo " but keeping change to \$CPPFLAGS" 1>&6
+-
+-echo "${as_me:-configure}:11579: testing but keeping change to \$CPPFLAGS ..." 1>&5
+-
+- fi
+- CFLAGS="$cf_check_flags"
++cf_cv_netbsd_form_h=no
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++rm -f conftest.$ac_objext conftest.$ac_ext
++
+ fi
++echo "$as_me:11948: result: $cf_cv_netbsd_form_h" >&5
++echo "${ECHO_T}$cf_cv_netbsd_form_h" >&6
+
+- echo "$as_me:11587: checking for XOpenDisplay" >&5
+-echo $ECHO_N "checking for XOpenDisplay... $ECHO_C" >&6
+-if test "${ac_cv_func_XOpenDisplay+set}" = set; then
++test "$cf_cv_netbsd_form_h" = yes &&
++cat >>confdefs.h <<\EOF
++#define HAVE_NETBSD_FORM_H 1
++EOF
++
++echo "$as_me:11956: checking for NetBSD menu.h" >&5
++echo $ECHO_N "checking for NetBSD menu.h... $ECHO_C" >&6
++if test "${cf_cv_netbsd_menu_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 11593 "configure"
++
++cat >conftest.$ac_ext <<_ACEOF
++#line 11963 "configure"
+ #include "confdefs.h"
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char XOpenDisplay (); below. */
+-#include <assert.h>
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char XOpenDisplay ();
+-char (*f) ();
++
++#include <${cf_cv_ncurses_header:-curses.h}>
++#include <menu.h>
+
+ int
+ main ()
+ {
+-/* The GNU C library defines this for functions which it implements
+- to always fail with ENOSYS. Some functions are actually named
+- something starting with __ and the normal name is an alias. */
+-#if defined (__stub_XOpenDisplay) || defined (__stub___XOpenDisplay)
+-choke me
+-#else
+-f = XOpenDisplay;
+-#endif
++
++ MENU *menu;
++ int y = menu->max_item_width;
+
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:11624: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:11981: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:11627: \$? = $ac_status" >&5
++ echo "$as_me:11984: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:11630: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:11987: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:11633: \$? = $ac_status" >&5
++ echo "$as_me:11990: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_func_XOpenDisplay=yes
++ cf_cv_netbsd_menu_h=yes
++
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_func_XOpenDisplay=no
++cf_cv_netbsd_menu_h=no
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++rm -f conftest.$ac_objext conftest.$ac_ext
++
+ fi
+-echo "$as_me:11643: result: $ac_cv_func_XOpenDisplay" >&5
+-echo "${ECHO_T}$ac_cv_func_XOpenDisplay" >&6
+-if test $ac_cv_func_XOpenDisplay = yes; then
+- :
+-else
++echo "$as_me:12002: result: $cf_cv_netbsd_menu_h" >&5
++echo "${ECHO_T}$cf_cv_netbsd_menu_h" >&6
+
+- echo "$as_me:11649: checking for XOpenDisplay in -lX11" >&5
+-echo $ECHO_N "checking for XOpenDisplay in -lX11... $ECHO_C" >&6
+-if test "${ac_cv_lib_X11_XOpenDisplay+set}" = set; then
++test "$cf_cv_netbsd_menu_h" = yes &&
++cat >>confdefs.h <<\EOF
++#define HAVE_NETBSD_MENU_H 1
++EOF
++
++ ;;
++ncursesw)
++ cf_cv_libtype=w
++ ;;
++esac
++
++case $cf_cv_screen in #(vi
++pdcurses) #(vi
++ ;;
++*)
++ # look for curses-related libraries
++ : ${cf_panel_lib:=panel}
++ : ${cf_menu_lib:=menu}
++ : ${cf_form_lib:=form}
++
++as_ac_Lib=`echo "ac_cv_lib_$cf_panel_lib$cf_cv_libtype''_new_panel" | $as_tr_sh`
++echo "$as_me:12026: checking for new_panel in -l$cf_panel_lib$cf_cv_libtype" >&5
++echo $ECHO_N "checking for new_panel in -l$cf_panel_lib$cf_cv_libtype... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Lib+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lX11 $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
++LIBS="-l$cf_panel_lib$cf_cv_libtype $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 11657 "configure"
++#line 12034 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -11663,115 +12040,116 @@
+ #endif
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char XOpenDisplay ();
++char new_panel ();
+ int
+ main ()
+ {
+-XOpenDisplay ();
++new_panel ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:11676: \"$ac_link\"") >&5
++if { (eval echo "$as_me:12053: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:11679: \$? = $ac_status" >&5
++ echo "$as_me:12056: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:11682: \"$ac_try\"") >&5
++ { (eval echo "$as_me:12059: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:11685: \$? = $ac_status" >&5
++ echo "$as_me:12062: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_X11_XOpenDisplay=yes
++ eval "$as_ac_Lib=yes"
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_X11_XOpenDisplay=no
++eval "$as_ac_Lib=no"
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:11696: result: $ac_cv_lib_X11_XOpenDisplay" >&5
+-echo "${ECHO_T}$ac_cv_lib_X11_XOpenDisplay" >&6
+-if test $ac_cv_lib_X11_XOpenDisplay = yes; then
+- LIBS="-lX11 $LIBS"
+-fi
++echo "$as_me:12073: result: `eval echo '${'$as_ac_Lib'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
++if test `eval echo '${'$as_ac_Lib'}'` = yes; then
++ cat >>confdefs.h <<EOF
++#define `echo "HAVE_LIB$cf_panel_lib$cf_cv_libtype" | $as_tr_cpp` 1
++EOF
++
++ LIBS="-l$cf_panel_lib$cf_cv_libtype $LIBS"
+
+ fi
+
+- echo "$as_me:11704: checking for XtAppInitialize" >&5
+-echo $ECHO_N "checking for XtAppInitialize... $ECHO_C" >&6
+-if test "${ac_cv_func_XtAppInitialize+set}" = set; then
++as_ac_Lib=`echo "ac_cv_lib_$cf_menu_lib$cf_cv_libtype''_menu_driver" | $as_tr_sh`
++echo "$as_me:12085: checking for menu_driver in -l$cf_menu_lib$cf_cv_libtype" >&5
++echo $ECHO_N "checking for menu_driver in -l$cf_menu_lib$cf_cv_libtype... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Lib+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 11710 "configure"
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-l$cf_menu_lib$cf_cv_libtype $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 12093 "configure"
+ #include "confdefs.h"
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char XtAppInitialize (); below. */
+-#include <assert.h>
++
+ /* Override any gcc2 internal prototype to avoid an error. */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char XtAppInitialize ();
+-char (*f) ();
+-
++char menu_driver ();
+ int
+ main ()
+ {
+-/* The GNU C library defines this for functions which it implements
+- to always fail with ENOSYS. Some functions are actually named
+- something starting with __ and the normal name is an alias. */
+-#if defined (__stub_XtAppInitialize) || defined (__stub___XtAppInitialize)
+-choke me
+-#else
+-f = XtAppInitialize;
+-#endif
+-
++menu_driver ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:11741: \"$ac_link\"") >&5
++if { (eval echo "$as_me:12112: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:11744: \$? = $ac_status" >&5
++ echo "$as_me:12115: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:11747: \"$ac_try\"") >&5
++ { (eval echo "$as_me:12118: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:11750: \$? = $ac_status" >&5
++ echo "$as_me:12121: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_func_XtAppInitialize=yes
++ eval "$as_ac_Lib=yes"
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_func_XtAppInitialize=no
++eval "$as_ac_Lib=no"
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:12132: result: `eval echo '${'$as_ac_Lib'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
++if test `eval echo '${'$as_ac_Lib'}'` = yes; then
++ cat >>confdefs.h <<EOF
++#define `echo "HAVE_LIB$cf_menu_lib$cf_cv_libtype" | $as_tr_cpp` 1
++EOF
++
++ LIBS="-l$cf_menu_lib$cf_cv_libtype $LIBS"
++
+ fi
+-echo "$as_me:11760: result: $ac_cv_func_XtAppInitialize" >&5
+-echo "${ECHO_T}$ac_cv_func_XtAppInitialize" >&6
+-if test $ac_cv_func_XtAppInitialize = yes; then
+- :
+-else
+
+- echo "$as_me:11766: checking for XtAppInitialize in -lXt" >&5
+-echo $ECHO_N "checking for XtAppInitialize in -lXt... $ECHO_C" >&6
+-if test "${ac_cv_lib_Xt_XtAppInitialize+set}" = set; then
++as_ac_Lib=`echo "ac_cv_lib_$cf_form_lib$cf_cv_libtype''_form_driver" | $as_tr_sh`
++echo "$as_me:12144: checking for form_driver in -l$cf_form_lib$cf_cv_libtype" >&5
++echo $ECHO_N "checking for form_driver in -l$cf_form_lib$cf_cv_libtype... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Lib+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lXt $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
++LIBS="-l$cf_form_lib$cf_cv_libtype $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 11774 "configure"
++#line 12152 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -11780,2296 +12158,2187 @@
+ #endif
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char XtAppInitialize ();
++char form_driver ();
+ int
+ main ()
+ {
+-XtAppInitialize ();
++form_driver ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:11793: \"$ac_link\"") >&5
++if { (eval echo "$as_me:12171: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:11796: \$? = $ac_status" >&5
++ echo "$as_me:12174: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:11799: \"$ac_try\"") >&5
++ { (eval echo "$as_me:12177: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:11802: \$? = $ac_status" >&5
++ echo "$as_me:12180: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_Xt_XtAppInitialize=yes
++ eval "$as_ac_Lib=yes"
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_Xt_XtAppInitialize=no
++eval "$as_ac_Lib=no"
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:11813: result: $ac_cv_lib_Xt_XtAppInitialize" >&5
+-echo "${ECHO_T}$ac_cv_lib_Xt_XtAppInitialize" >&6
+-if test $ac_cv_lib_Xt_XtAppInitialize = yes; then
+- cat >>confdefs.h <<\EOF
+-#define HAVE_LIBXT 1
++echo "$as_me:12191: result: `eval echo '${'$as_ac_Lib'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
++if test `eval echo '${'$as_ac_Lib'}'` = yes; then
++ cat >>confdefs.h <<EOF
++#define `echo "HAVE_LIB$cf_form_lib$cf_cv_libtype" | $as_tr_cpp` 1
+ EOF
+
+- cf_have_X_LIBS=Xt
+- LIBS="-lXt $X_PRE_LIBS $LIBS $X_EXTRA_LIBS"
++ LIBS="-l$cf_form_lib$cf_cv_libtype $LIBS"
++
+ fi
+
++ # look for curses-related headers
++
++for ac_header in \
++ nc_alloc.h \
++ nomacros.h \
++ form.h \
++ menu.h \
++ panel.h \
++ term_entry.h \
++
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++echo "$as_me:12214: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 12220 "configure"
++#include "confdefs.h"
++#include <$ac_header>
++_ACEOF
++if { (eval echo "$as_me:12224: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ egrep -v '^ *\+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:12230: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++ eval "$as_ac_Header=yes"
++else
++ echo "$as_me: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ eval "$as_ac_Header=no"
+ fi
++rm -f conftest.err conftest.$ac_ext
++fi
++echo "$as_me:12249: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<EOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++EOF
+
+ fi
++done
+
+-if test $cf_have_X_LIBS = no ; then
+- { echo "$as_me:11829: WARNING: Unable to successfully link X Toolkit library (-lXt) with
+-test program. You will have to check and add the proper libraries by hand
+-to makefile." >&5
+-echo "$as_me: WARNING: Unable to successfully link X Toolkit library (-lXt) with
+-test program. You will have to check and add the proper libraries by hand
+-to makefile." >&2;}
++ ;;
++esac
++
++echo "$as_me:12262: checking for ANSI C header files" >&5
++echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
++if test "${ac_cv_header_stdc+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 12268 "configure"
++#include "confdefs.h"
++#include <stdlib.h>
++#include <stdarg.h>
++#include <string.h>
++#include <float.h>
++
++_ACEOF
++if { (eval echo "$as_me:12276: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ egrep -v '^ *\+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:12282: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++ ac_cv_header_stdc=yes
++else
++ echo "$as_me: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ ac_cv_header_stdc=no
+ fi
++rm -f conftest.err conftest.$ac_ext
+
+-cf_x_athena_root=$cf_x_athena
+-cf_x_athena_inc=""
++if test $ac_cv_header_stdc = yes; then
++ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
++ cat >conftest.$ac_ext <<_ACEOF
++#line 12304 "configure"
++#include "confdefs.h"
++#include <string.h>
+
+-for cf_path in default \
+- /usr/contrib/X11R6 \
+- /usr/contrib/X11R5 \
+- /usr/lib/X11R5 \
+- /usr/local
+-do
+- if test -z "$cf_x_athena_inc" ; then
+- cf_save="$CPPFLAGS"
+- cf_test=X11/$cf_x_athena_root/SimpleMenu.h
+- if test $cf_path != default ; then
+- CPPFLAGS="$cf_save -I$cf_path/include"
+- echo "$as_me:11851: checking for $cf_test in $cf_path" >&5
+-echo $ECHO_N "checking for $cf_test in $cf_path... $ECHO_C" >&6
+- else
+- echo "$as_me:11854: checking for $cf_test" >&5
+-echo $ECHO_N "checking for $cf_test... $ECHO_C" >&6
+- fi
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 11858 "configure"
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++ egrep "memchr" >/dev/null 2>&1; then
++ :
++else
++ ac_cv_header_stdc=no
++fi
++rm -rf conftest*
++
++fi
++
++if test $ac_cv_header_stdc = yes; then
++ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
++ cat >conftest.$ac_ext <<_ACEOF
++#line 12322 "configure"
+ #include "confdefs.h"
++#include <stdlib.h>
+
+-#include <X11/Intrinsic.h>
+-#include <$cf_test>
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++ egrep "free" >/dev/null 2>&1; then
++ :
++else
++ ac_cv_header_stdc=no
++fi
++rm -rf conftest*
++
++fi
++
++if test $ac_cv_header_stdc = yes; then
++ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
++ if test "$cross_compiling" = yes; then
++ :
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 12343 "configure"
++#include "confdefs.h"
++#include <ctype.h>
++#if ((' ' & 0x0FF) == 0x020)
++# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
++# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
++#else
++# define ISLOWER(c) (('a' <= (c) && (c) <= 'i') \
++ || ('j' <= (c) && (c) <= 'r') \
++ || ('s' <= (c) && (c) <= 'z'))
++# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
++#endif
++
++#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+ int
+ main ()
+ {
+-
+- ;
+- return 0;
++ int i;
++ for (i = 0; i < 256; i++)
++ if (XOR (islower (i), ISLOWER (i))
++ || toupper (i) != TOUPPER (i))
++ $ac_main_return(2);
++ $ac_main_return (0);
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:11872: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest$ac_exeext
++if { (eval echo "$as_me:12369: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:11875: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:11878: \"$ac_try\"") >&5
++ echo "$as_me:12372: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (eval echo "$as_me:12374: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:11881: \$? = $ac_status" >&5
++ echo "$as_me:12377: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_result=yes
++ :
+ else
+- echo "$as_me: failed program was:" >&5
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_result=no
++ac_cv_header_stdc=no
++fi
++rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+- echo "$as_me:11890: result: $cf_result" >&5
+-echo "${ECHO_T}$cf_result" >&6
+- if test "$cf_result" = yes ; then
+- cf_x_athena_inc=$cf_path
+- break
+- else
+- CPPFLAGS="$cf_save"
+- fi
+- fi
+-done
+-
+-if test -z "$cf_x_athena_inc" ; then
+- { echo "$as_me:11902: WARNING: Unable to successfully find Athena header files with test program" >&5
+-echo "$as_me: WARNING: Unable to successfully find Athena header files with test program" >&2;}
+-elif test "$cf_x_athena_inc" != default ; then
+- CPPFLAGS="$CPPFLAGS -I$cf_x_athena_inc"
+ fi
++fi
++echo "$as_me:12390: result: $ac_cv_header_stdc" >&5
++echo "${ECHO_T}$ac_cv_header_stdc" >&6
++if test $ac_cv_header_stdc = yes; then
+
+-cf_x_athena_root=$cf_x_athena
+-cf_x_athena_lib=""
++cat >>confdefs.h <<\EOF
++#define STDC_HEADERS 1
++EOF
+
+-for cf_path in default \
+- /usr/contrib/X11R6 \
+- /usr/contrib/X11R5 \
+- /usr/lib/X11R5 \
+- /usr/local
+-do
+- for cf_lib in \
+- "-l$cf_x_athena_root -lXmu" \
+- "-l$cf_x_athena_root -lXpm -lXmu" \
+- "-l${cf_x_athena_root}_s -lXmu_s"
+- do
+- if test -z "$cf_x_athena_lib" ; then
+- cf_save="$LIBS"
+- cf_test=XawSimpleMenuAddGlobalActions
+- if test $cf_path != default ; then
+- LIBS="-L$cf_path/lib $cf_lib $LIBS"
+- echo "$as_me:11927: checking for $cf_lib in $cf_path" >&5
+-echo $ECHO_N "checking for $cf_lib in $cf_path... $ECHO_C" >&6
+- else
+- LIBS="$cf_lib $LIBS"
+- echo "$as_me:11931: checking for $cf_test in $cf_lib" >&5
+-echo $ECHO_N "checking for $cf_test in $cf_lib... $ECHO_C" >&6
+- fi
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 11935 "configure"
++fi
++
++echo "$as_me:12400: checking whether time.h and sys/time.h may both be included" >&5
++echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6
++if test "${ac_cv_header_time+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 12406 "configure"
+ #include "confdefs.h"
+-
+-#include <X11/Intrinsic.h>
+-#include <X11/$cf_x_athena_root/SimpleMenu.h>
++#include <sys/types.h>
++#include <sys/time.h>
++#include <time.h>
+
+ int
+ main ()
+ {
+-
+-$cf_test((XtAppContext) 0)
++if ((struct tm *) 0)
++return 0;
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:11951: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:12422: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:11954: \$? = $ac_status" >&5
++ echo "$as_me:12425: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:11957: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:12428: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:11960: \$? = $ac_status" >&5
++ echo "$as_me:12431: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_result=yes
++ ac_cv_header_time=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_result=no
++ac_cv_header_time=no
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+- echo "$as_me:11969: result: $cf_result" >&5
+-echo "${ECHO_T}$cf_result" >&6
+- if test "$cf_result" = yes ; then
+- cf_x_athena_lib="$cf_lib"
+- break
+- fi
+- LIBS="$cf_save"
+- fi
+- done
+-done
+-
+-if test -z "$cf_x_athena_lib" ; then
+- { { echo "$as_me:11981: error: Unable to successfully link Athena library (-l$cf_x_athena_root) with test program" >&5
+-echo "$as_me: error: Unable to successfully link Athena library (-l$cf_x_athena_root) with test program" >&2;}
+- { (exit 1); exit 1; }; }
++rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
++echo "$as_me:12441: result: $ac_cv_header_time" >&5
++echo "${ECHO_T}$ac_cv_header_time" >&6
++if test $ac_cv_header_time = yes; then
+
+-cf_x_athena_LIBS=`echo "HAVE_LIB_$cf_x_athena" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+-
+-cat >>confdefs.h <<EOF
+-#define $cf_x_athena_LIBS 1
++cat >>confdefs.h <<\EOF
++#define TIME_WITH_SYS_TIME 1
+ EOF
+
+ fi
+
+-for ac_prog in xcurses-config
++for ac_header in \
++getopt.h \
++locale.h \
++math.h \
++stdarg.h \
++sys/ioctl.h \
++sys/select.h \
++sys/time.h \
++termios.h \
++unistd.h \
++
+ do
+- # Extract the first word of "$ac_prog", so it can be a program name with args.
+-set dummy $ac_prog; ac_word=$2
+-echo "$as_me:11998: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_path_XCURSES_CONFIG+set}" = set; then
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++echo "$as_me:12464: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- case $XCURSES_CONFIG in
+- [\\/]* | ?:[\\/]*)
+- ac_cv_path_XCURSES_CONFIG="$XCURSES_CONFIG" # Let the user override the test with a path.
+- ;;
+- *)
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- if $as_executable_p "$ac_dir/$ac_word"; then
+- ac_cv_path_XCURSES_CONFIG="$ac_dir/$ac_word"
+- echo "$as_me:12015: found $ac_dir/$ac_word" >&5
+- break
++ cat >conftest.$ac_ext <<_ACEOF
++#line 12470 "configure"
++#include "confdefs.h"
++#include <$ac_header>
++_ACEOF
++if { (eval echo "$as_me:12474: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ egrep -v '^ *\+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:12480: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
+ fi
+-done
++if test -z "$ac_cpp_err"; then
++ eval "$as_ac_Header=yes"
++else
++ echo "$as_me: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ eval "$as_ac_Header=no"
++fi
++rm -f conftest.err conftest.$ac_ext
++fi
++echo "$as_me:12499: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<EOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++EOF
+
+- ;;
+-esac
+ fi
+-XCURSES_CONFIG=$ac_cv_path_XCURSES_CONFIG
++done
+
+-if test -n "$XCURSES_CONFIG"; then
+- echo "$as_me:12026: result: $XCURSES_CONFIG" >&5
+-echo "${ECHO_T}$XCURSES_CONFIG" >&6
++for ac_header in unistd.h getopt.h
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++echo "$as_me:12512: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- echo "$as_me:12029: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ cat >conftest.$ac_ext <<_ACEOF
++#line 12518 "configure"
++#include "confdefs.h"
++#include <$ac_header>
++_ACEOF
++if { (eval echo "$as_me:12522: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ egrep -v '^ *\+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:12528: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++ eval "$as_ac_Header=yes"
++else
++ echo "$as_me: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ eval "$as_ac_Header=no"
++fi
++rm -f conftest.err conftest.$ac_ext
+ fi
++echo "$as_me:12547: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<EOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++EOF
+
+- test -n "$XCURSES_CONFIG" && break
++fi
+ done
+-test -n "$XCURSES_CONFIG" || XCURSES_CONFIG="none"
+-
+-if test "$XCURSES_CONFIG" != none ; then
+-
+-CPPFLAGS="$CPPFLAGS `$XCURSES_CONFIG --cflags`"
+-LIBS="`$XCURSES_CONFIG --libs` $LIBS"
+-
+-cf_cv_lib_XCurses=yes
+
++echo "$as_me:12557: checking for header declaring getopt variables" >&5
++echo $ECHO_N "checking for header declaring getopt variables... $ECHO_C" >&6
++if test "${cf_cv_getopt_header+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+-LDFLAGS="$LDFLAGS $X_LIBS"
+-
+-test -n "$verbose" && echo " checking additions to CFLAGS" 1>&6
+-
+-echo "${as_me:-configure}:12050: testing checking additions to CFLAGS ..." 1>&5
+-
+-cf_check_cflags="$CFLAGS"
+-cf_check_cppflags="$CPPFLAGS"
+-
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
+-
+-for cf_add_cflags in $X_CFLAGS
++cf_cv_getopt_header=none
++for cf_header in stdio.h stdlib.h unistd.h getopt.h
+ do
+-case $cf_fix_cppflags in
+-no)
+- case $cf_add_cflags in #(vi
+- -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+- case $cf_add_cflags in
+- -D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
+-
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- *$cf_add_cflags) #(vi
+- ;;
+- *) #(vi
+- case $cf_add_cflags in #(vi
+- -D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+-
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+-
+- ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- *)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+-yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+-
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
+-done
+-
+-if test -n "$cf_new_cflags" ; then
+- test -n "$verbose" && echo " add to \$CFLAGS $cf_new_cflags" 1>&6
+-
+-echo "${as_me:-configure}:12121: testing add to \$CFLAGS $cf_new_cflags ..." 1>&5
+-
+- CFLAGS="$CFLAGS $cf_new_cflags"
+-fi
+-
+-if test -n "$cf_new_cppflags" ; then
+- test -n "$verbose" && echo " add to \$CPPFLAGS $cf_new_cppflags" 1>&6
+-
+-echo "${as_me:-configure}:12129: testing add to \$CPPFLAGS $cf_new_cppflags ..." 1>&5
++cat >conftest.$ac_ext <<_ACEOF
++#line 12567 "configure"
++#include "confdefs.h"
+
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++#include <$cf_header>
++int
++main ()
++{
++int x = optind; char *y = optarg
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:12580: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:12583: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:12586: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:12589: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_getopt_header=$cf_header
++ break
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
+ fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++done
+
+-if test -n "$cf_new_extra_cppflags" ; then
+- test -n "$verbose" && echo " add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags" 1>&6
++fi
++echo "$as_me:12601: result: $cf_cv_getopt_header" >&5
++echo "${ECHO_T}$cf_cv_getopt_header" >&6
++if test $cf_cv_getopt_header != none ; then
+
+-echo "${as_me:-configure}:12137: testing add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags ..." 1>&5
++cat >>confdefs.h <<\EOF
++#define HAVE_GETOPT_HEADER 1
++EOF
+
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+ fi
+
+-if test "$cf_check_cflags" != "$CFLAGS" ; then
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 12144 "configure"
++for ac_func in \
++gettimeofday \
++
++do
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++echo "$as_me:12616: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
++if eval "test \"\${$as_ac_var+set}\" = set"; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 12622 "configure"
+ #include "confdefs.h"
+-#include <stdio.h>
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func (); below. */
++#include <assert.h>
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char $ac_func ();
++char (*f) ();
++
+ int
+ main ()
+ {
+-printf("Hello world");
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
++choke me
++#else
++f = $ac_func; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
++#endif
++
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:12156: \"$ac_link\"") >&5
++if { (eval echo "$as_me:12653: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:12159: \$? = $ac_status" >&5
++ echo "$as_me:12656: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:12162: \"$ac_try\"") >&5
++ { (eval echo "$as_me:12659: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12165: \$? = $ac_status" >&5
++ echo "$as_me:12662: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- :
++ eval "$as_ac_var=yes"
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-test -n "$verbose" && echo " test-compile failed. Undoing change to \$CFLAGS" 1>&6
+-
+-echo "${as_me:-configure}:12173: testing test-compile failed. Undoing change to \$CFLAGS ..." 1>&5
+-
+- if test "$cf_check_cppflags" != "$CPPFLAGS" ; then
+- test -n "$verbose" && echo " but keeping change to \$CPPFLAGS" 1>&6
+-
+-echo "${as_me:-configure}:12178: testing but keeping change to \$CPPFLAGS ..." 1>&5
+-
+- fi
+- CFLAGS="$cf_check_flags"
++eval "$as_ac_var=no"
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
++echo "$as_me:12672: result: `eval echo '${'$as_ac_var'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++ cat >>confdefs.h <<EOF
++#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
++EOF
++
++fi
++done
+
+-echo "$as_me:12186: checking for XOpenDisplay in -lX11" >&5
+-echo $ECHO_N "checking for XOpenDisplay in -lX11... $ECHO_C" >&6
+-if test "${ac_cv_lib_X11_XOpenDisplay+set}" = set; then
++if test "$cf_enable_widec" = yes; then
++
++for ac_func in \
++mblen \
++mbrlen \
++mbrtowc \
++mbsrtowcs \
++mbstowcs \
++mbtowc \
++wcsrtombs \
++wcstombs \
++
++do
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++echo "$as_me:12696: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
++if eval "test \"\${$as_ac_var+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lX11 $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 12194 "configure"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 12702 "configure"
+ #include "confdefs.h"
+-
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func (); below. */
++#include <assert.h>
+ /* Override any gcc2 internal prototype to avoid an error. */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char XOpenDisplay ();
++char $ac_func ();
++char (*f) ();
++
+ int
+ main ()
+ {
+-XOpenDisplay ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
++choke me
++#else
++f = $ac_func; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
++#endif
++
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:12213: \"$ac_link\"") >&5
++if { (eval echo "$as_me:12733: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:12216: \$? = $ac_status" >&5
++ echo "$as_me:12736: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:12219: \"$ac_try\"") >&5
++ { (eval echo "$as_me:12739: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12222: \$? = $ac_status" >&5
++ echo "$as_me:12742: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_X11_XOpenDisplay=yes
++ eval "$as_ac_var=yes"
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_X11_XOpenDisplay=no
++eval "$as_ac_var=no"
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:12233: result: $ac_cv_lib_X11_XOpenDisplay" >&5
+-echo "${ECHO_T}$ac_cv_lib_X11_XOpenDisplay" >&6
+-if test $ac_cv_lib_X11_XOpenDisplay = yes; then
+- LIBS="-lX11 $LIBS"
++echo "$as_me:12752: result: `eval echo '${'$as_ac_var'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++ cat >>confdefs.h <<EOF
++#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
++EOF
++
+ fi
++done
+
+-echo "$as_me:12239: checking for XCurses library" >&5
+-echo $ECHO_N "checking for XCurses library... $ECHO_C" >&6
+-if test "${cf_cv_lib_XCurses+set}" = set; then
++fi
++
++echo "$as_me:12764: checking if we must define _XOPEN_SOURCE_EXTENDED" >&5
++echo $ECHO_N "checking if we must define _XOPEN_SOURCE_EXTENDED... $ECHO_C" >&6
++if test "${cf_cv_need_xopen_extension+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+-LIBS="-lXCurses $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 12247 "configure"
++#line 12771 "configure"
+ #include "confdefs.h"
+
+-#include <xcurses.h>
+-char *XCursesProgramName = "test";
++#include <stdlib.h>
++#include <${cf_cv_ncurses_header:-curses.h}>
++int
++main ()
++{
++
++#if defined(NCURSES_VERSION_PATCH)
++#if (NCURSES_VERSION_PATCH < 20100501) && (NCURSES_VERSION_PATCH >= 20100403)
++ make an error
++#endif
++#endif
++ long x = winnstr(stdscr, "", 0);
++ int x1, y1;
++ getbegyx(stdscr, y1, x1)
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:12793: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:12796: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:12799: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:12802: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_need_xopen_extension=no
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cat >conftest.$ac_ext <<_ACEOF
++#line 12809 "configure"
++#include "confdefs.h"
+
++#define _XOPEN_SOURCE_EXTENDED
++#include <stdlib.h>
++#include <${cf_cv_ncurses_header:-curses.h}>
+ int
+ main ()
+ {
+-XCursesExit();
++
++#ifdef NCURSES_VERSION
++ cchar_t check;
++ int check2 = curs_set((int)sizeof(check));
++#endif
++ long x = winnstr(stdscr, "", 0);
++ int x1, y1;
++ getbegyx(stdscr, y1, x1)
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:12262: \"$ac_link\"") >&5
++if { (eval echo "$as_me:12831: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:12265: \$? = $ac_status" >&5
++ echo "$as_me:12834: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:12837: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:12840: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_need_xopen_extension=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_need_xopen_extension=unknown
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++fi
++echo "$as_me:12852: result: $cf_cv_need_xopen_extension" >&5
++echo "${ECHO_T}$cf_cv_need_xopen_extension" >&6
++test $cf_cv_need_xopen_extension = yes && CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
++
++echo "$as_me:12856: checking for term.h" >&5
++echo $ECHO_N "checking for term.h... $ECHO_C" >&6
++if test "${cf_cv_term_header+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++# If we found <ncurses/curses.h>, look for <ncurses/term.h>, but always look
++# for <term.h> if we do not find the variant.
++
++cf_header_list="term.h ncurses/term.h ncursesw/term.h"
++
++case ${cf_cv_ncurses_header:-curses.h} in #(vi
++*/*)
++ cf_header_item=`echo ${cf_cv_ncurses_header:-curses.h} | sed -e 's%\..*%%' -e 's%/.*%/%'`term.h
++ cf_header_list="$cf_header_item $cf_header_list"
++ ;;
++esac
++
++for cf_header in $cf_header_list
++do
++ cat >conftest.$ac_ext <<_ACEOF
++#line 12877 "configure"
++#include "confdefs.h"
++
++#include <${cf_cv_ncurses_header:-curses.h}>
++#include <${cf_header}>
++int
++main ()
++{
++WINDOW *x
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:12891: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:12894: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:12897: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:12900: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_term_header=$cf_header
++ break
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_term_header=no
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++done
++
++case $cf_cv_term_header in #(vi
++no)
++ # If curses is ncurses, some packagers still mess it up by trying to make
++ # us use GNU termcap. This handles the most common case.
++ for cf_header in ncurses/term.h ncursesw/term.h
++ do
++ cat >conftest.$ac_ext <<_ACEOF
++#line 12919 "configure"
++#include "confdefs.h"
++
++#include <${cf_cv_ncurses_header:-curses.h}>
++#ifdef NCURSES_VERSION
++#include <${cf_header}>
++#else
++make an error
++#endif
++int
++main ()
++{
++WINDOW *x
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:12937: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:12940: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:12268: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:12943: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12271: \$? = $ac_status" >&5
++ echo "$as_me:12946: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_lib_XCurses=yes
++ cf_cv_term_header=$cf_header
++ break
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_lib_XCurses=no
++cf_cv_term_header=no
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++rm -f conftest.$ac_objext conftest.$ac_ext
++ done
++ ;;
++esac
+
+ fi
+-echo "$as_me:12282: result: $cf_cv_lib_XCurses" >&5
+-echo "${ECHO_T}$cf_cv_lib_XCurses" >&6
++echo "$as_me:12961: result: $cf_cv_term_header" >&5
++echo "${ECHO_T}$cf_cv_term_header" >&6
+
+-fi
++case $cf_cv_term_header in #(vi
++term.h) #(vi
+
+-if test $cf_cv_lib_XCurses = yes ; then
+- cat >>confdefs.h <<\EOF
+-#define UNIX 1
++cat >>confdefs.h <<\EOF
++#define HAVE_TERM_H 1
+ EOF
+
+- cat >>confdefs.h <<\EOF
+-#define XCURSES 1
+-EOF
++ ;;
++ncurses/term.h) #(vi
+
+- echo "$as_me:12296: checking for xcurses.h" >&5
+-echo $ECHO_N "checking for xcurses.h... $ECHO_C" >&6
+-if test "${ac_cv_header_xcurses_h+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 12302 "configure"
+-#include "confdefs.h"
+-#include <xcurses.h>
+-_ACEOF
+-if { (eval echo "$as_me:12306: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+- ac_status=$?
+- egrep -v '^ *\+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:12312: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- ac_cv_header_xcurses_h=yes
+-else
+- echo "$as_me: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- ac_cv_header_xcurses_h=no
+-fi
+-rm -f conftest.err conftest.$ac_ext
+-fi
+-echo "$as_me:12331: result: $ac_cv_header_xcurses_h" >&5
+-echo "${ECHO_T}$ac_cv_header_xcurses_h" >&6
+-if test $ac_cv_header_xcurses_h = yes; then
+- cat >>confdefs.h <<\EOF
+-#define HAVE_XCURSES 1
++cat >>confdefs.h <<\EOF
++#define HAVE_NCURSES_TERM_H 1
+ EOF
+
+-fi
++ ;;
++ncursesw/term.h)
+
+-else
+- { { echo "$as_me:12341: error: Cannot link with XCurses" >&5
+-echo "$as_me: error: Cannot link with XCurses" >&2;}
+- { (exit 1); exit 1; }; }
+-fi
++cat >>confdefs.h <<\EOF
++#define HAVE_NCURSESW_TERM_H 1
++EOF
+
+ ;;
+ esac
+
+-case $cf_cv_screen in #(vi
+-pdcurses) #(vi
+- ;;
+-*)
+- # look for curses-related libraries
+-
+-as_ac_Lib=`echo "ac_cv_lib_panel$cf_cv_libtype''_new_panel" | $as_tr_sh`
+-echo "$as_me:12356: checking for new_panel in -lpanel$cf_cv_libtype" >&5
+-echo $ECHO_N "checking for new_panel in -lpanel$cf_cv_libtype... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Lib+set}\" = set"; then
++echo "$as_me:12988: checking for unctrl.h" >&5
++echo $ECHO_N "checking for unctrl.h... $ECHO_C" >&6
++if test "${cf_cv_unctrl_header+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lpanel$cf_cv_libtype $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 12364 "configure"
++
++# If we found <ncurses/curses.h>, look for <ncurses/unctrl.h>, but always look
++# for <unctrl.h> if we do not find the variant.
++
++cf_header_list="unctrl.h ncurses/unctrl.h ncursesw/unctrl.h"
++
++case ${cf_cv_ncurses_header:-curses.h} in #(vi
++*/*)
++ cf_header_item=`echo ${cf_cv_ncurses_header:-curses.h} | sed -e 's%\..*%%' -e 's%/.*%/%'`unctrl.h
++ cf_header_list="$cf_header_item $cf_header_list"
++ ;;
++esac
++
++for cf_header in $cf_header_list
++do
++ cat >conftest.$ac_ext <<_ACEOF
++#line 13009 "configure"
+ #include "confdefs.h"
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char new_panel ();
++#include <${cf_cv_ncurses_header:-curses.h}>
++#include <${cf_header}>
+ int
+ main ()
+ {
+-new_panel ();
++WINDOW *x
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:12383: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:13023: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:12386: \$? = $ac_status" >&5
++ echo "$as_me:13026: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:12389: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:13029: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12392: \$? = $ac_status" >&5
++ echo "$as_me:13032: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- eval "$as_ac_Lib=yes"
++ cf_cv_unctrl_header=$cf_header
++ break
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-eval "$as_ac_Lib=no"
++cf_cv_unctrl_header=no
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
++rm -f conftest.$ac_objext conftest.$ac_ext
++done
++
++case $cf_cv_unctrl_header in #(vi
++no)
++ { echo "$as_me:13046: WARNING: unctrl.h header not found" >&5
++echo "$as_me: WARNING: unctrl.h header not found" >&2;}
++ ;;
++esac
++
+ fi
+-echo "$as_me:12403: result: `eval echo '${'$as_ac_Lib'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
+-if test `eval echo '${'$as_ac_Lib'}'` = yes; then
+- cat >>confdefs.h <<EOF
+-#define `echo "HAVE_LIBpanel$cf_cv_libtype" | $as_tr_cpp` 1
++echo "$as_me:13052: result: $cf_cv_unctrl_header" >&5
++echo "${ECHO_T}$cf_cv_unctrl_header" >&6
++
++case $cf_cv_unctrl_header in #(vi
++unctrl.h) #(vi
++
++cat >>confdefs.h <<\EOF
++#define HAVE_UNCTRL_H 1
+ EOF
+
+- LIBS="-lpanel$cf_cv_libtype $LIBS"
++ ;;
++ncurses/unctrl.h) #(vi
+
+-fi
++cat >>confdefs.h <<\EOF
++#define HAVE_NCURSES_UNCTRL_H 1
++EOF
+
+-as_ac_Lib=`echo "ac_cv_lib_menu$cf_cv_libtype''_menu_driver" | $as_tr_sh`
+-echo "$as_me:12415: checking for menu_driver in -lmenu$cf_cv_libtype" >&5
+-echo $ECHO_N "checking for menu_driver in -lmenu$cf_cv_libtype... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Lib+set}\" = set"; then
++ ;;
++ncursesw/unctrl.h)
++
++cat >>confdefs.h <<\EOF
++#define HAVE_NCURSESW_UNCTRL_H 1
++EOF
++
++ ;;
++esac
++
++for cf_func in \
++assume_default_colors \
++chgat \
++color_set \
++filter \
++getbegx \
++getcurx \
++getmaxx \
++getnstr \
++getparx \
++getwin \
++mvvline \
++mvwvline \
++napms \
++putwin \
++resize_term \
++resizeterm \
++ripoffline \
++scr_dump \
++setupterm \
++slk_color \
++slk_init \
++termattrs \
++tgetent \
++tigetnum \
++tigetstr \
++typeahead \
++use_default_colors \
++use_screen \
++use_window \
++vsscanf \
++vw_printw \
++wchgat \
++winsstr \
++wresize \
++wsyncdown \
++
++do
++
++cf_tr_func=`echo "$cf_func" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++
++ echo "$as_me:13120: checking for ${cf_func}" >&5
++echo $ECHO_N "checking for ${cf_func}... $ECHO_C" >&6
++
++echo "${as_me:-configure}:13123: testing ${cf_func} ..." 1>&5
++
++ if eval "test \"\${cf_cv_func_$cf_func+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lmenu$cf_cv_libtype $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 12423 "configure"
++
++ eval cf_result='$ac_cv_func_'$cf_func
++ if test ".$cf_result" != ".no"; then
++ cat >conftest.$ac_ext <<_ACEOF
++#line 13132 "configure"
+ #include "confdefs.h"
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
++#ifdef HAVE_XCURSES
++#include <xcurses.h>
++char * XCursesProgramName = "test";
++#else
++#include <${cf_cv_ncurses_header:-curses.h}>
++#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
++#include <ncursesw/term.h>
++#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
++#include <ncurses/term.h>
++#elif defined(HAVE_TERM_H)
++#include <term.h>
+ #endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char menu_driver ();
++#endif
++
+ int
+ main ()
+ {
+-menu_driver ();
++
++#ifndef ${cf_func}
++long foo = (long)(&${cf_func});
++if (foo + 1234 > 5678)
++ ${cf_cv_main_return:-return}(foo);
++#endif
++
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:12442: \"$ac_link\"") >&5
++if { (eval echo "$as_me:13164: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:12445: \$? = $ac_status" >&5
++ echo "$as_me:13167: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:12448: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13170: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12451: \$? = $ac_status" >&5
++ echo "$as_me:13173: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- eval "$as_ac_Lib=yes"
++ cf_result=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-eval "$as_ac_Lib=no"
++cf_result=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
++ fi
++ eval 'cf_cv_func_'$cf_func'=$cf_result'
++
+ fi
+-echo "$as_me:12462: result: `eval echo '${'$as_ac_Lib'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
+-if test `eval echo '${'$as_ac_Lib'}'` = yes; then
+- cat >>confdefs.h <<EOF
+-#define `echo "HAVE_LIBmenu$cf_cv_libtype" | $as_tr_cpp` 1
++
++ # use the computed/retrieved cache-value:
++ eval 'cf_result=$cf_cv_func_'$cf_func
++ echo "$as_me:13189: result: $cf_result" >&5
++echo "${ECHO_T}$cf_result" >&6
++ if test $cf_result != no; then
++ cat >>confdefs.h <<EOF
++#define HAVE_${cf_tr_func} 1
+ EOF
+
+- LIBS="-lmenu$cf_cv_libtype $LIBS"
++ fi
++done
+
+-fi
++for cf_func in tputs
++do
+
+-as_ac_Lib=`echo "ac_cv_lib_form$cf_cv_libtype''_form_driver" | $as_tr_sh`
+-echo "$as_me:12474: checking for form_driver in -lform$cf_cv_libtype" >&5
+-echo $ECHO_N "checking for form_driver in -lform$cf_cv_libtype... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Lib+set}\" = set"; then
++cf_tr_func=`echo "$cf_func" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++
++ echo "$as_me:13204: checking for ${cf_func}" >&5
++echo $ECHO_N "checking for ${cf_func}... $ECHO_C" >&6
++
++echo "${as_me:-configure}:13207: testing ${cf_func} ..." 1>&5
++
++ if eval "test \"\${cf_cv_func_$cf_func+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lform$cf_cv_libtype $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 12482 "configure"
++
++ eval cf_result='$ac_cv_func_'$cf_func
++ if test ".$cf_result" != ".no"; then
++ cat >conftest.$ac_ext <<_ACEOF
++#line 13216 "configure"
+ #include "confdefs.h"
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
++#ifdef HAVE_XCURSES
++#include <xcurses.h>
++char * XCursesProgramName = "test";
++#else
++#include <${cf_cv_ncurses_header:-curses.h}>
++#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
++#include <ncursesw/term.h>
++#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
++#include <ncurses/term.h>
++#elif defined(HAVE_TERM_H)
++#include <term.h>
+ #endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char form_driver ();
++#endif
++
+ int
+ main ()
+ {
+-form_driver ();
++
++#ifndef ${cf_func}
++long foo = (long)(&${cf_func});
++if (foo + 1234 > 5678)
++ ${cf_cv_main_return:-return}(foo);
++#endif
++
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:12501: \"$ac_link\"") >&5
++if { (eval echo "$as_me:13248: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:12504: \$? = $ac_status" >&5
++ echo "$as_me:13251: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:12507: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13254: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12510: \$? = $ac_status" >&5
++ echo "$as_me:13257: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- eval "$as_ac_Lib=yes"
++ cf_result=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-eval "$as_ac_Lib=no"
++cf_result=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:12521: result: `eval echo '${'$as_ac_Lib'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
+-if test `eval echo '${'$as_ac_Lib'}'` = yes; then
+- cat >>confdefs.h <<EOF
+-#define `echo "HAVE_LIBform$cf_cv_libtype" | $as_tr_cpp` 1
+-EOF
+-
+- LIBS="-lform$cf_cv_libtype $LIBS"
++ fi
++ eval 'cf_cv_func_'$cf_func'=$cf_result'
+
+ fi
+
+- # look for curses-related headers
+-
+-for ac_header in \
+- nc_alloc.h \
+- nomacros.h \
+- form.h \
+- menu.h \
+- panel.h \
+- term_entry.h \
+-
+-do
+-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:12544: checking for $ac_header" >&5
+-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 12550 "configure"
+-#include "confdefs.h"
+-#include <$ac_header>
+-_ACEOF
+-if { (eval echo "$as_me:12554: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+- ac_status=$?
+- egrep -v '^ *\+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:12560: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- eval "$as_ac_Header=yes"
+-else
+- echo "$as_me: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- eval "$as_ac_Header=no"
+-fi
+-rm -f conftest.err conftest.$ac_ext
+-fi
+-echo "$as_me:12579: result: `eval echo '${'$as_ac_Header'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+- cat >>confdefs.h <<EOF
+-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++ # use the computed/retrieved cache-value:
++ eval 'cf_result=$cf_cv_func_'$cf_func
++ echo "$as_me:13273: result: $cf_result" >&5
++echo "${ECHO_T}$cf_result" >&6
++ if test $cf_result != no; then
++ cat >>confdefs.h <<EOF
++#define HAVE_${cf_tr_func} 1
+ EOF
+
+-fi
++ fi
+ done
+
+- ;;
+-esac
+-
+-echo "$as_me:12592: checking return type of signal handlers" >&5
+-echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6
+-if test "${ac_cv_type_signal+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 12598 "configure"
++if test x$cf_cv_func_tputs = xyes
++then
++ cf_done=no
++ for cf_arg in int char
++ do
++ for cf_ret in int void
++ do
++ if test $cf_ret = void
++ then
++ cf_return="/* nothing */"
++ else
++ cf_return="return value"
++ fi
++ cat >conftest.$ac_ext <<_ACEOF
++#line 13297 "configure"
+ #include "confdefs.h"
+-#include <sys/types.h>
+-#include <signal.h>
+-#ifdef signal
+-# undef signal
+-#endif
+-#ifdef __cplusplus
+-extern "C" void (*signal (int, void (*)(int)))(int);
+-#else
+-void (*signal ()) ();
+-#endif
++
++#include <${cf_cv_ncurses_header:-curses.h}>
++#include <$cf_cv_term_header>
++
++static $cf_ret outc($cf_arg value) { $cf_return; }
+
+ int
+ main ()
+ {
+-int i;
++
++ tputs("hello", 0, outc);
++ ${cf_cv_main_return:-return}(0);
++
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:12620: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:13317: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:12623: \$? = $ac_status" >&5
++ echo "$as_me:13320: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:12626: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13323: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12629: \$? = $ac_status" >&5
++ echo "$as_me:13326: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_type_signal=void
++
++ test -n "$verbose" && echo " prototype $cf_ret func($cf_arg value)" 1>&6
++
++echo "${as_me:-configure}:13331: testing prototype $cf_ret func($cf_arg value) ..." 1>&5
++
++ cat >>confdefs.h <<EOF
++#define TPUTS_ARG $cf_arg
++#define TPUTS_PROTO(func,value) $cf_ret func(TPUTS_ARG value)
++#define TPUTS_RETURN(value) $cf_return
++EOF
++ cf_done=yes
++ break
++
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_type_signal=int
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
++ done
++ test $cf_done = yes && break
++ done
+ fi
+-echo "$as_me:12639: result: $ac_cv_type_signal" >&5
+-echo "${ECHO_T}$ac_cv_type_signal" >&6
+
+-cat >>confdefs.h <<EOF
+-#define RETSIGTYPE $ac_cv_type_signal
+-EOF
+-
+-echo "$as_me:12646: checking for ANSI C header files" >&5
+-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+-if test "${ac_cv_header_stdc+set}" = set; then
++echo "$as_me:13351: checking for ncurses extended functions" >&5
++echo $ECHO_N "checking for ncurses extended functions... $ECHO_C" >&6
++if test "${cf_cv_ncurses_ext_funcs+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 12652 "configure"
+-#include "confdefs.h"
+-#include <stdlib.h>
+-#include <stdarg.h>
+-#include <string.h>
+-#include <float.h>
+-
+-_ACEOF
+-if { (eval echo "$as_me:12660: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+- ac_status=$?
+- egrep -v '^ *\+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:12666: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- ac_cv_header_stdc=yes
+-else
+- echo "$as_me: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- ac_cv_header_stdc=no
+-fi
+-rm -f conftest.err conftest.$ac_ext
+
+-if test $ac_cv_header_stdc = yes; then
+- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 12688 "configure"
++cat >conftest.$ac_ext <<_ACEOF
++#line 13358 "configure"
+ #include "confdefs.h"
+-#include <string.h>
+-
+-_ACEOF
+-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+- egrep "memchr" >/dev/null 2>&1; then
+- :
+-else
+- ac_cv_header_stdc=no
+-fi
+-rm -rf conftest*
+
+-fi
++#include <${cf_cv_ncurses_header:-curses.h}>
++int
++main ()
++{
+
+-if test $ac_cv_header_stdc = yes; then
+- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 12706 "configure"
+-#include "confdefs.h"
+-#include <stdlib.h>
++int x = NCURSES_EXT_FUNCS
+
++ ;
++ return 0;
++}
+ _ACEOF
+-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+- egrep "free" >/dev/null 2>&1; then
+- :
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:13373: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:13376: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:13379: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:13382: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_ncurses_ext_funcs=defined
+ else
+- ac_cv_header_stdc=no
+-fi
+-rm -rf conftest*
+-
+-fi
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
+
+-if test $ac_cv_header_stdc = yes; then
+- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+- if test "$cross_compiling" = yes; then
+- :
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 12727 "configure"
++cat >conftest.$ac_ext <<_ACEOF
++#line 13390 "configure"
+ #include "confdefs.h"
+-#include <ctype.h>
+-#if ((' ' & 0x0FF) == 0x020)
+-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+-#else
+-# define ISLOWER(c) (('a' <= (c) && (c) <= 'i') \
+- || ('j' <= (c) && (c) <= 'r') \
+- || ('s' <= (c) && (c) <= 'z'))
+-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+-#endif
+
+-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
++#include <${cf_cv_ncurses_header:-curses.h}>
+ int
+ main ()
+ {
+- int i;
+- for (i = 0; i < 256; i++)
+- if (XOR (islower (i), ISLOWER (i))
+- || toupper (i) != TOUPPER (i))
+- $ac_main_return(2);
+- $ac_main_return (0);
++
++ (void) assume_default_colors (0, 0);
++ (void) curses_version ();
++ (void) define_key (0, 0);
++ (void) is_term_resized (0, 0);
++ (void) key_defined (0);
++ (void) keybound (0, 0);
++ (void) keyok (0, 0);
++ (void) resize_term (0, 0);
++ (void) resizeterm (0, 0);
++ (void) use_default_colors ();
++ (void) use_extended_names (0);
++ (void) wresize (0, 0, 0);
++ ;
++ return 0;
+ }
+ _ACEOF
+-rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:12753: \"$ac_link\"") >&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:13415: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:12756: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:12758: \"$ac_try\"") >&5
++ echo "$as_me:13418: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:13421: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12761: \$? = $ac_status" >&5
++ echo "$as_me:13424: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- :
++ cf_cv_ncurses_ext_funcs=yes
+ else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
++ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_header_stdc=no
+-fi
+-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+-fi
++cf_cv_ncurses_ext_funcs=no
+ fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++
+ fi
+-echo "$as_me:12774: result: $ac_cv_header_stdc" >&5
+-echo "${ECHO_T}$ac_cv_header_stdc" >&6
+-if test $ac_cv_header_stdc = yes; then
++rm -f conftest.$ac_objext conftest.$ac_ext
+
++fi
++echo "$as_me:13438: result: $cf_cv_ncurses_ext_funcs" >&5
++echo "${ECHO_T}$cf_cv_ncurses_ext_funcs" >&6
++test "$cf_cv_ncurses_ext_funcs" = yes &&
+ cat >>confdefs.h <<\EOF
+-#define STDC_HEADERS 1
++#define NCURSES_EXT_FUNCS 1
+ EOF
+
+-fi
++if test "$cf_enable_widec" = yes
++then
++ # workaround for systems with ncurses before 20111029, due to change of
++ # feature test macro from _XPG5 to _XOPEN_SOURCE
++ if test -n "$cf_cv_ncurses_version" && test "x$cf_cv_ncurses_version" != xno
++ then
++ cf_define_xpg5=no
++ echo "$as_me:13452: checking if _XPG5 should be defined to enable wide-characters" >&5
++echo $ECHO_N "checking if _XPG5 should be defined to enable wide-characters... $ECHO_C" >&6
+
+-echo "$as_me:12784: checking whether time.h and sys/time.h may both be included" >&5
+-echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6
+-if test "${ac_cv_header_time+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 12790 "configure"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 13456 "configure"
+ #include "confdefs.h"
+-#include <sys/types.h>
+-#include <sys/time.h>
+-#include <time.h>
+
++#include <${cf_cv_ncurses_header:-curses.h}>
+ int
+ main ()
+ {
+-if ((struct tm *) 0)
+-return 0;
++int x = _XPG5
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:12806: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:13469: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:12809: \$? = $ac_status" >&5
++ echo "$as_me:13472: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:12812: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13475: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12815: \$? = $ac_status" >&5
++ echo "$as_me:13478: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_header_time=yes
++ :
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_header_time=no
+-fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-fi
+-echo "$as_me:12825: result: $ac_cv_header_time" >&5
+-echo "${ECHO_T}$ac_cv_header_time" >&6
+-if test $ac_cv_header_time = yes; then
+-
+-cat >>confdefs.h <<\EOF
+-#define TIME_WITH_SYS_TIME 1
+-EOF
+-
+-fi
+-
+-for ac_header in \
+-getopt.h \
+-locale.h \
+-math.h \
+-stdarg.h \
+-sys/ioctl.h \
+-sys/select.h \
+-sys/time.h \
+-termios.h \
+-unistd.h \
+-
+-do
+-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:12848: checking for $ac_header" >&5
+-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 12854 "configure"
+-#include "confdefs.h"
+-#include <$ac_header>
+-_ACEOF
+-if { (eval echo "$as_me:12858: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+- ac_status=$?
+- egrep -v '^ *\+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:12864: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- eval "$as_ac_Header=yes"
+-else
+- echo "$as_me: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- eval "$as_ac_Header=no"
+-fi
+-rm -f conftest.err conftest.$ac_ext
+-fi
+-echo "$as_me:12883: result: `eval echo '${'$as_ac_Header'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+- cat >>confdefs.h <<EOF
+-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+-EOF
+-
+-fi
+-done
+-
+-for ac_func in \
+-gettimeofday \
+-mblen \
+-mbrlen \
+-mbrtowc \
+-mbsrtowcs \
+-mbstowcs \
+-mbtowc \
+-strdup \
+-wcsrtombs \
+-wcstombs \
+-
+-do
+-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+-echo "$as_me:12907: checking for $ac_func" >&5
+-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_var+set}\" = set"; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 12913 "configure"
++cf_save_cppflags="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -D_XPG5"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 13487 "configure"
+ #include "confdefs.h"
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char $ac_func (); below. */
+-#include <assert.h>
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char $ac_func ();
+-char (*f) ();
+
++#include <${cf_cv_ncurses_header:-curses.h}>
+ int
+ main ()
+ {
+-/* The GNU C library defines this for functions which it implements
+- to always fail with ENOSYS. Some functions are actually named
+- something starting with __ and the normal name is an alias. */
+-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+-choke me
+-#else
+-f = $ac_func;
+-#endif
+-
++int x = _XPG5
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:12944: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:13500: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:12947: \$? = $ac_status" >&5
++ echo "$as_me:13503: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:12950: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:13506: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12953: \$? = $ac_status" >&5
++ echo "$as_me:13509: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- eval "$as_ac_var=yes"
++ cf_define_xpg5=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-eval "$as_ac_var=no"
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CPPFLAGS="$cf_save_cppflags"
+ fi
+-echo "$as_me:12963: result: `eval echo '${'$as_ac_var'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+-if test `eval echo '${'$as_ac_var'}'` = yes; then
+- cat >>confdefs.h <<EOF
+-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+-EOF
++rm -f conftest.$ac_objext conftest.$ac_ext
++ echo "$as_me:13520: result: $cf_define_xpg5" >&5
++echo "${ECHO_T}$cf_define_xpg5" >&6
+
+-fi
+-done
++ if test "$cf_define_xpg5" = yes
++ then
++ CPPFLAGS="$CPPFLAGS -D_XPG5"
++ fi
++ fi
+
+-echo "$as_me:12973: checking if we must define _XOPEN_SOURCE_EXTENDED" >&5
+-echo $ECHO_N "checking if we must define _XOPEN_SOURCE_EXTENDED... $ECHO_C" >&6
+-if test "${cf_cv_need_xopen_extension+set}" = set; then
++ echo "$as_me:13529: checking for wide-character functions" >&5
++echo $ECHO_N "checking for wide-character functions... $ECHO_C" >&6
++if test "${cf_cv_widechar_funcs+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 12980 "configure"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 13536 "configure"
+ #include "confdefs.h"
+
+-#include <stdlib.h>
+ #include <${cf_cv_ncurses_header:-curses.h}>
+ int
+ main ()
+ {
+
+-#if defined(NCURSES_VERSION_PATCH)
+-#if (NCURSES_VERSION_PATCH < 20100501) && (NCURSES_VERSION_PATCH >= 20100403)
+- make an error
+-#endif
+-#endif
+- long x = winnstr(stdscr, "", 0);
+- int x1, y1;
+- getbegyx(stdscr, y1, x1)
++ static wchar_t src_wchar[2];
++ static cchar_t dst_cchar;
++ setcchar(&dst_cchar, src_wchar, A_NORMAL, 0, (void *) 0);
++
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:13002: \"$ac_link\"") >&5
++if { (eval echo "$as_me:13553: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:13005: \$? = $ac_status" >&5
++ echo "$as_me:13556: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:13008: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13559: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13011: \$? = $ac_status" >&5
++ echo "$as_me:13562: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_need_xopen_extension=no
++ cf_cv_widechar_funcs=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
++cf_cv_widechar_funcs=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++
++fi
++echo "$as_me:13573: result: $cf_cv_widechar_funcs" >&5
++echo "${ECHO_T}$cf_cv_widechar_funcs" >&6
++ if test "$cf_cv_widechar_funcs" != no ; then
++
++cat >>confdefs.h <<\EOF
++#define USE_WIDEC_SUPPORT 1
++EOF
++
++ else
++ cat >>confdefs.h <<\EOF
++#define USE_WIDEC_SUPPORT 0
++EOF
++
++ fi
++else
++ cat >>confdefs.h <<\EOF
++#define USE_WIDEC_SUPPORT 0
++EOF
++
++fi
++
++echo "$as_me:13594: checking if sys/time.h works with sys/select.h" >&5
++echo $ECHO_N "checking if sys/time.h works with sys/select.h... $ECHO_C" >&6
++if test "${cf_cv_sys_time_select+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13018 "configure"
++#line 13601 "configure"
+ #include "confdefs.h"
+
+-#define _XOPEN_SOURCE_EXTENDED
+-#include <stdlib.h>
+-#include <${cf_cv_ncurses_header:-curses.h}>
++#include <sys/types.h>
++#ifdef HAVE_SYS_TIME_H
++#include <sys/time.h>
++#endif
++#ifdef HAVE_SYS_SELECT_H
++#include <sys/select.h>
++#endif
++
+ int
+ main ()
+ {
+
+-#ifdef NCURSES_VERSION
+- cchar_t check;
+- int check2 = curs_set((int)sizeof(check));
+-#endif
+- long x = winnstr(stdscr, "", 0);
+- int x1, y1;
+- getbegyx(stdscr, y1, x1)
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:13040: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:13621: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:13043: \$? = $ac_status" >&5
++ echo "$as_me:13624: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:13046: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:13627: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13049: \$? = $ac_status" >&5
++ echo "$as_me:13630: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_need_xopen_extension=yes
++ cf_cv_sys_time_select=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_need_xopen_extension=unknown
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++cf_cv_sys_time_select=no
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++rm -f conftest.$ac_objext conftest.$ac_ext
++
+ fi
+-echo "$as_me:13061: result: $cf_cv_need_xopen_extension" >&5
+-echo "${ECHO_T}$cf_cv_need_xopen_extension" >&6
+-test $cf_cv_need_xopen_extension = yes && CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
+
+-echo "$as_me:13065: checking for term.h" >&5
+-echo $ECHO_N "checking for term.h... $ECHO_C" >&6
+-if test "${cf_cv_term_header+set}" = set; then
++echo "$as_me:13642: result: $cf_cv_sys_time_select" >&5
++echo "${ECHO_T}$cf_cv_sys_time_select" >&6
++test "$cf_cv_sys_time_select" = yes &&
++cat >>confdefs.h <<\EOF
++#define HAVE_SYS_TIME_SELECT 1
++EOF
++
++echo "$as_me:13649: checking for function curses_version" >&5
++echo $ECHO_N "checking for function curses_version... $ECHO_C" >&6
++if test "${cf_cv_func_curses_version+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+-# If we found <ncurses/curses.h>, look for <ncurses/term.h>, but always look
+-# for <term.h> if we do not find the variant.
+-for cf_header in \
+- `echo ${cf_cv_ncurses_header:-curses.h} | sed -e 's%/.*%/%'`term.h \
+- term.h
+-do
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 13078 "configure"
++if test "$cross_compiling" = yes; then
++ cf_cv_func_curses_version=unknown
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 13659 "configure"
+ #include "confdefs.h"
+
+ #include <${cf_cv_ncurses_header:-curses.h}>
+-#include <${cf_header}>
+-int
+-main ()
++int main()
+ {
+-WINDOW *x
+- ;
+- return 0;
++ char temp[1024];
++ sprintf(temp, "%s\n", curses_version());
++ ${cf_cv_main_return:-return}(0);
+ }
++
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:13092: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest$ac_exeext
++if { (eval echo "$as_me:13672: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:13095: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:13098: \"$ac_try\"") >&5
++ echo "$as_me:13675: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (eval echo "$as_me:13677: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13101: \$? = $ac_status" >&5
++ echo "$as_me:13680: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_term_header=$cf_header
+- break
++ cf_cv_func_curses_version=yes
++
+ else
+- echo "$as_me: failed program was:" >&5
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_term_header=no
++cf_cv_func_curses_version=no
++
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-done
++rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++rm -f core
++fi
++echo "$as_me:13695: result: $cf_cv_func_curses_version" >&5
++echo "${ECHO_T}$cf_cv_func_curses_version" >&6
++test "$cf_cv_func_curses_version" = yes &&
++cat >>confdefs.h <<\EOF
++#define HAVE_CURSES_VERSION 1
++EOF
+
+-case $cf_cv_term_header in #(vi
+-no)
+- # If curses is ncurses, some packagers still mess it up by trying to make
+- # us use GNU termcap. This handles the most common case.
+- for cf_header in ncurses/term.h ncursesw/term.h
+- do
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 13120 "configure"
++echo "$as_me:13702: checking for alternate character set array" >&5
++echo $ECHO_N "checking for alternate character set array... $ECHO_C" >&6
++if test "${cf_cv_curses_acs_map+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++cf_cv_curses_acs_map=unknown
++for name in acs_map _acs_map __acs_map ${NCURSES_WRAP_PREFIX}acs_map
++do
++cat >conftest.$ac_ext <<_ACEOF
++#line 13712 "configure"
+ #include "confdefs.h"
+
+ #include <${cf_cv_ncurses_header:-curses.h}>
+-#ifdef NCURSES_VERSION
+-#include <${cf_header}>
+-#else
+-make an error
+-#endif
++
+ int
+ main ()
+ {
+-WINDOW *x
++
++$name['k'] = ACS_PLUS
++
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:13138: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:13728: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:13141: \$? = $ac_status" >&5
++ echo "$as_me:13731: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:13144: \"$ac_try\"") >&5
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:13734: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13147: \$? = $ac_status" >&5
++ echo "$as_me:13737: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_term_header=$cf_header
+- break
++ cf_cv_curses_acs_map=$name; break
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_term_header=no
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+- done
+- ;;
+-esac
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++done
+
+ fi
+-echo "$as_me:13162: result: $cf_cv_term_header" >&5
+-echo "${ECHO_T}$cf_cv_term_header" >&6
+-
+-case $cf_cv_term_header in #(vi
+-term.h) #(vi
+- cat >>confdefs.h <<\EOF
+-#define HAVE_TERM_H 1
+-EOF
+-
+- ;;
+-ncurses/term.h) #(vi
+- cat >>confdefs.h <<\EOF
+-#define HAVE_NCURSES_TERM_H 1
+-EOF
++echo "$as_me:13748: result: $cf_cv_curses_acs_map" >&5
++echo "${ECHO_T}$cf_cv_curses_acs_map" >&6
+
+- ;;
+-ncursesw/term.h)
+- cat >>confdefs.h <<\EOF
+-#define HAVE_NCURSESW_TERM_H 1
++test "$cf_cv_curses_acs_map" != unknown &&
++cat >>confdefs.h <<EOF
++#define CURSES_ACS_ARRAY $cf_cv_curses_acs_map
+ EOF
+
+- ;;
+-esac
+-
+-for cf_func in \
+-chgat \
+-color_set \
+-filter \
+-getbegx \
+-getcurx \
+-getmaxx \
+-getnstr \
+-getparx \
+-getwin \
+-mvvline \
+-mvwvline \
+-napms \
+-putwin \
+-resize_term \
+-resizeterm \
+-ripoffline \
+-scr_dump \
+-setupterm \
+-slk_color \
+-slk_init \
+-termattrs \
+-tgetent \
+-tigetnum \
+-tigetstr \
+-typeahead \
+-use_default_colors \
+-vw_printw \
+-vsscanf \
+-wchgat \
+-winsstr \
+-wresize \
+-wsyncdown \
+-
+-do
+-
+-cf_tr_func=`echo "$cf_func" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+-
+- echo "$as_me:13224: checking for ${cf_func}" >&5
+-echo $ECHO_N "checking for ${cf_func}... $ECHO_C" >&6
+-
+-echo "${as_me:-configure}:13227: testing ${cf_func} ..." 1>&5
++if test "$cf_enable_widec" = yes; then
+
+- if eval "test \"\${cf_cv_func_$cf_func+set}\" = set"; then
++echo "$as_me:13758: checking for wide alternate character set array" >&5
++echo $ECHO_N "checking for wide alternate character set array... $ECHO_C" >&6
++if test "${cf_cv_curses_wacs_map+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+- eval cf_result='$ac_cv_func_'$cf_func
+- if test ".$cf_result" != ".no"; then
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 13236 "configure"
++ cf_cv_curses_wacs_map=unknown
++ for name in wacs_map _wacs_map __wacs_map _nc_wacs _wacs_char
++ do
++ cat >conftest.$ac_ext <<_ACEOF
++#line 13768 "configure"
+ #include "confdefs.h"
+
+-#ifdef HAVE_XCURSES
+-#include <xcurses.h>
+-char * XCursesProgramName = "test";
+-#else
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
+-#include <ncursesw/term.h>
+-#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
+-#include <ncurses/term.h>
+-#elif defined(HAVE_TERM_H)
+-#include <term.h>
+-#endif
++#ifndef _XOPEN_SOURCE_EXTENDED
++#define _XOPEN_SOURCE_EXTENDED
+ #endif
+-
++#include <${cf_cv_ncurses_header:-curses.h}>
+ int
+ main ()
+ {
+-
+-#ifndef ${cf_func}
+-long foo = (long)(&${cf_func});
+-${cf_cv_main_return:-return}(foo == 0);
+-#endif
+-
++void *foo = &($name['k'])
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:13267: \"$ac_link\"") >&5
++if { (eval echo "$as_me:13784: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:13270: \$? = $ac_status" >&5
++ echo "$as_me:13787: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:13273: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13790: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13276: \$? = $ac_status" >&5
++ echo "$as_me:13793: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_result=yes
++ cf_cv_curses_wacs_map=$name
++ break
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_result=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+- fi
+- eval 'cf_cv_func_'$cf_func'=$cf_result'
+-
++ done
+ fi
++echo "$as_me:13804: result: $cf_cv_curses_wacs_map" >&5
++echo "${ECHO_T}$cf_cv_curses_wacs_map" >&6
+
+- # use the computed/retrieved cache-value:
+- eval 'cf_result=$cf_cv_func_'$cf_func
+- echo "$as_me:13292: result: $cf_result" >&5
+-echo "${ECHO_T}$cf_result" >&6
+- if test $cf_result != no; then
+- cat >>confdefs.h <<EOF
+-#define HAVE_${cf_tr_func} 1
++test "$cf_cv_curses_wacs_map" != unknown &&
++cat >>confdefs.h <<EOF
++#define CURSES_WACS_ARRAY $cf_cv_curses_wacs_map
+ EOF
+
+- fi
+-done
+-
+-echo "$as_me:13302: checking for ncurses extended functions" >&5
+-echo $ECHO_N "checking for ncurses extended functions... $ECHO_C" >&6
+-if test "${cf_cv_ncurses_ext_funcs+set}" = set; then
++echo "$as_me:13812: checking for wide alternate character constants" >&5
++echo $ECHO_N "checking for wide alternate character constants... $ECHO_C" >&6
++if test "${cf_cv_curses_wacs_symbols+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 13309 "configure"
++cf_cv_curses_wacs_symbols=no
++if test "$cf_cv_curses_wacs_map" != unknown
++then
++ cat >conftest.$ac_ext <<_ACEOF
++#line 13822 "configure"
+ #include "confdefs.h"
+
++#ifndef _XOPEN_SOURCE_EXTENDED
++#define _XOPEN_SOURCE_EXTENDED
++#endif
+ #include <${cf_cv_ncurses_header:-curses.h}>
+ int
+ main ()
+ {
+-
+-int x = NCURSES_EXT_FUNCS
+-
++cchar_t *foo = WACS_PLUS;
++ $cf_cv_curses_wacs_map['k'] = *WACS_PLUS
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:13324: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:13839: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:13327: \$? = $ac_status" >&5
++ echo "$as_me:13842: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:13330: \"$ac_try\"") >&5
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:13845: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13333: \$? = $ac_status" >&5
++ echo "$as_me:13848: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_ncurses_ext_funcs=defined
++ cf_cv_curses_wacs_symbols=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 13341 "configure"
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 13858 "configure"
+ #include "confdefs.h"
+
++#ifndef _XOPEN_SOURCE_EXTENDED
++#define _XOPEN_SOURCE_EXTENDED
++#endif
+ #include <${cf_cv_ncurses_header:-curses.h}>
+ int
+ main ()
+ {
+-
+- (void) assume_default_colors (0, 0);
+- (void) curses_version ();
+- (void) define_key (0, 0);
+- (void) is_term_resized (0, 0);
+- (void) key_defined (0);
+- (void) keybound (0, 0);
+- (void) keyok (0, 0);
+- (void) resize_term (0, 0);
+- (void) resizeterm (0, 0);
+- (void) use_default_colors ();
+- (void) use_extended_names (0);
+- (void) wresize (0, 0, 0);
++cchar_t *foo = WACS_PLUS
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:13366: \"$ac_link\"") >&5
++if { (eval echo "$as_me:13874: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:13369: \$? = $ac_status" >&5
++ echo "$as_me:13877: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:13372: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13880: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13375: \$? = $ac_status" >&5
++ echo "$as_me:13883: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_ncurses_ext_funcs=yes
++ cf_cv_curses_wacs_symbols=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_ncurses_ext_funcs=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+-echo "$as_me:13389: result: $cf_cv_ncurses_ext_funcs" >&5
+-echo "${ECHO_T}$cf_cv_ncurses_ext_funcs" >&6
+-test "$cf_cv_ncurses_ext_funcs" = yes && cat >>confdefs.h <<\EOF
+-#define NCURSES_EXT_FUNCS 1
++echo "$as_me:13894: result: $cf_cv_curses_wacs_symbols" >&5
++echo "${ECHO_T}$cf_cv_curses_wacs_symbols" >&6
++
++test "$cf_cv_curses_wacs_symbols" != no &&
++cat >>confdefs.h <<\EOF
++#define CURSES_WACS_SYMBOLS 1
+ EOF
+
+-echo "$as_me:13395: checking for wide-character functions" >&5
+-echo $ECHO_N "checking for wide-character functions... $ECHO_C" >&6
+-if test "${cf_cv_widechar_funcs+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
++fi
+
++echo "$as_me:13904: checking for type attr_t in ${cf_cv_ncurses_header:-curses.h}" >&5
++echo $ECHO_N "checking for type attr_t in ${cf_cv_ncurses_header:-curses.h}... $ECHO_C" >&6
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13402 "configure"
++#line 13907 "configure"
+ #include "confdefs.h"
+
++#ifndef _XOPEN_SOURCE_EXTENDED
++#define _XOPEN_SOURCE_EXTENDED
++#endif
+ #include <${cf_cv_ncurses_header:-curses.h}>
+ int
+ main ()
+ {
+
+- static wchar_t src_wchar[2];
+- static cchar_t dst_cchar;
+- setcchar(&dst_cchar, src_wchar, A_NORMAL, 0, (void *) 0);
++attr_t foo
+
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:13419: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:13925: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:13422: \$? = $ac_status" >&5
++ echo "$as_me:13928: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:13425: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:13931: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13428: \$? = $ac_status" >&5
++ echo "$as_me:13934: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_widechar_funcs=yes
++ cf_result=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_widechar_funcs=no
++cf_result=no
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++rm -f conftest.$ac_objext conftest.$ac_ext
++echo "$as_me:13943: result: $cf_result" >&5
++echo "${ECHO_T}$cf_result" >&6
++if test $cf_result = yes ; then
+
+-fi
+-echo "$as_me:13439: result: $cf_cv_widechar_funcs" >&5
+-echo "${ECHO_T}$cf_cv_widechar_funcs" >&6
+-if test "$cf_cv_widechar_funcs" != no ; then
+- cat >>confdefs.h <<\EOF
+-#define USE_WIDEC_SUPPORT 1
++cf_result=`echo "have_type_attr_t" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++
++cat >>confdefs.h <<EOF
++#define $cf_result 1
+ EOF
+
+ else
+- cat >>confdefs.h <<\EOF
+-#define USE_WIDEC_SUPPORT 0
++
++cat >>confdefs.h <<EOF
++#define attr_t long
+ EOF
+
+ fi
+
+-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
++if test "$cf_enable_widec" = yes; then
+
+-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+- inttypes.h stdint.h unistd.h
+-do
+-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:13459: checking for $ac_header" >&5
+-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Header+set}\" = set"; then
++# This is needed on Tru64 5.0 to declare mbstate_t
++echo "$as_me:13964: checking if we must include wchar.h to declare mbstate_t" >&5
++echo $ECHO_N "checking if we must include wchar.h to declare mbstate_t... $ECHO_C" >&6
++if test "${cf_cv_mbstate_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 13465 "configure"
++
++cat >conftest.$ac_ext <<_ACEOF
++#line 13971 "configure"
+ #include "confdefs.h"
+-$ac_includes_default
+-#include <$ac_header>
++
++#include <stdlib.h>
++#include <stdarg.h>
++#include <stdio.h>
++#ifdef HAVE_LIBUTF8_H
++#include <libutf8.h>
++#endif
++int
++main ()
++{
++mbstate_t state
++ ;
++ return 0;
++}
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:13471: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:13989: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:13474: \$? = $ac_status" >&5
++ echo "$as_me:13992: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:13477: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13995: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13480: \$? = $ac_status" >&5
++ echo "$as_me:13998: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- eval "$as_ac_Header=yes"
++ cf_cv_mbstate_t=no
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-eval "$as_ac_Header=no"
+-fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-fi
+-echo "$as_me:13490: result: `eval echo '${'$as_ac_Header'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+- cat >>confdefs.h <<EOF
+-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+-EOF
+-
+-fi
+-done
+-
+-echo "$as_me:13500: checking for pid_t" >&5
+-echo $ECHO_N "checking for pid_t... $ECHO_C" >&6
+-if test "${ac_cv_type_pid_t+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 13506 "configure"
++cat >conftest.$ac_ext <<_ACEOF
++#line 14005 "configure"
+ #include "confdefs.h"
+-$ac_includes_default
++
++#include <stdlib.h>
++#include <stdarg.h>
++#include <stdio.h>
++#include <wchar.h>
++#ifdef HAVE_LIBUTF8_H
++#include <libutf8.h>
++#endif
+ int
+ main ()
+ {
+-if ((pid_t *) 0)
+- return 0;
+-if (sizeof (pid_t))
+- return 0;
++mbstate_t value
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:13521: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:14024: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:13524: \$? = $ac_status" >&5
++ echo "$as_me:14027: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:13527: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14030: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13530: \$? = $ac_status" >&5
++ echo "$as_me:14033: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_type_pid_t=yes
++ cf_cv_mbstate_t=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_type_pid_t=no
++cf_cv_mbstate_t=unknown
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:13540: result: $ac_cv_type_pid_t" >&5
+-echo "${ECHO_T}$ac_cv_type_pid_t" >&6
+-if test $ac_cv_type_pid_t = yes; then
+- :
+-else
++rm -f conftest.$ac_objext conftest.$ac_ext
++fi
++echo "$as_me:14045: result: $cf_cv_mbstate_t" >&5
++echo "${ECHO_T}$cf_cv_mbstate_t" >&6
+
+-cat >>confdefs.h <<EOF
+-#define pid_t int
++if test "$cf_cv_mbstate_t" = yes ; then
++
++cat >>confdefs.h <<\EOF
++#define NEED_WCHAR_H 1
+ EOF
+
++ NEED_WCHAR_H=1
+ fi
+
+-for ac_header in unistd.h vfork.h
+-do
+-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:13555: checking for $ac_header" >&5
+-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 13561 "configure"
+-#include "confdefs.h"
+-#include <$ac_header>
+-_ACEOF
+-if { (eval echo "$as_me:13565: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+- ac_status=$?
+- egrep -v '^ *\+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:13571: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- eval "$as_ac_Header=yes"
+-else
+- echo "$as_me: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- eval "$as_ac_Header=no"
+-fi
+-rm -f conftest.err conftest.$ac_ext
++# if we do not find mbstate_t in either place, use substitution to provide a fallback.
++if test "$cf_cv_mbstate_t" = unknown ; then
++ NCURSES_MBSTATE_T=1
+ fi
+-echo "$as_me:13590: result: `eval echo '${'$as_ac_Header'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+- cat >>confdefs.h <<EOF
+-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+-EOF
+
++# if we find mbstate_t in either place, use substitution to provide a fallback.
++if test "$cf_cv_mbstate_t" != unknown ; then
++ NCURSES_OK_MBSTATE_T=1
+ fi
+-done
+
+-for ac_func in fork vfork
+-do
+-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+-echo "$as_me:13603: checking for $ac_func" >&5
+-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_var+set}\" = set"; then
++# This is needed on Tru64 5.0 to declare wchar_t
++echo "$as_me:14068: checking if we must include wchar.h to declare wchar_t" >&5
++echo $ECHO_N "checking if we must include wchar.h to declare wchar_t... $ECHO_C" >&6
++if test "${cf_cv_wchar_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 13609 "configure"
++
++cat >conftest.$ac_ext <<_ACEOF
++#line 14075 "configure"
+ #include "confdefs.h"
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char $ac_func (); below. */
+-#include <assert.h>
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char $ac_func ();
+-char (*f) ();
+
++#include <stdlib.h>
++#include <stdarg.h>
++#include <stdio.h>
++#ifdef HAVE_LIBUTF8_H
++#include <libutf8.h>
++#endif
+ int
+ main ()
+ {
+-/* The GNU C library defines this for functions which it implements
+- to always fail with ENOSYS. Some functions are actually named
+- something starting with __ and the normal name is an alias. */
+-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+-choke me
+-#else
+-f = $ac_func;
+-#endif
+-
++wchar_t state
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:13640: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:14093: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:13643: \$? = $ac_status" >&5
++ echo "$as_me:14096: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:13646: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:14099: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13649: \$? = $ac_status" >&5
++ echo "$as_me:14102: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- eval "$as_ac_var=yes"
++ cf_cv_wchar_t=no
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-eval "$as_ac_var=no"
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-fi
+-echo "$as_me:13659: result: `eval echo '${'$as_ac_var'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+-if test `eval echo '${'$as_ac_var'}'` = yes; then
+- cat >>confdefs.h <<EOF
+-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+-EOF
+-
+-fi
+-done
+-
+-ac_cv_func_fork_works=$ac_cv_func_fork
+-if test "x$ac_cv_func_fork" = xyes; then
+- echo "$as_me:13671: checking for working fork" >&5
+-echo $ECHO_N "checking for working fork... $ECHO_C" >&6
+-if test "${ac_cv_func_fork_works+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- if test "$cross_compiling" = yes; then
+- ac_cv_func_fork_works=cross
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* By Rüdiger Kuhlmann. */
+- #include <sys/types.h>
+- #if HAVE_UNISTD_H
+- # include <unistd.h>
+- #endif
+- /* Some systems only have a dummy stub for fork() */
+- int main ()
+- {
+- if (fork() < 0)
+- $ac_main_return (1);
+- $ac_main_return (0);
+- }
+-_ACEOF
+-rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:13694: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:13697: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:13699: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:13702: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_func_fork_works=yes
+-else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-ac_cv_func_fork_works=no
+-fi
+-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+-fi
+-fi
+-echo "$as_me:13714: result: $ac_cv_func_fork_works" >&5
+-echo "${ECHO_T}$ac_cv_func_fork_works" >&6
+-
+-fi
+-if test "x$ac_cv_func_fork_works" = xcross; then
+- case $host in
+- *-*-amigaos* | *-*-msdosdjgpp*)
+- # Override, as these systems have only a dummy fork() stub
+- ac_cv_func_fork_works=no
+- ;;
+- *)
+- ac_cv_func_fork_works=yes
+- ;;
+- esac
+- { echo "$as_me:13728: WARNING: CROSS: Result $ac_cv_func_fork_works guessed due to cross-compiling." >&5
+-echo "$as_me: WARNING: CROSS: Result $ac_cv_func_fork_works guessed due to cross-compiling." >&2;}
+-fi
+-ac_cv_func_vfork_works=$ac_cv_func_vfork
+-if test "x$ac_cv_func_vfork" = xyes; then
+- echo "$as_me:13733: checking for working vfork" >&5
+-echo $ECHO_N "checking for working vfork... $ECHO_C" >&6
+-if test "${ac_cv_func_vfork_works+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- if test "$cross_compiling" = yes; then
+- ac_cv_func_vfork_works=cross
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 13742 "configure"
++cat >conftest.$ac_ext <<_ACEOF
++#line 14109 "configure"
+ #include "confdefs.h"
+-/* Thanks to Paul Eggert for this test. */
++
++#include <stdlib.h>
++#include <stdarg.h>
+ #include <stdio.h>
+-#include <sys/types.h>
+-#include <sys/stat.h>
+-#if HAVE_UNISTD_H
+-# include <unistd.h>
+-#endif
+-#if HAVE_VFORK_H
+-# include <vfork.h>
+-#endif
+-/* On some sparc systems, changes by the child to local and incoming
+- argument registers are propagated back to the parent. The compiler
+- is told about this with #include <vfork.h>, but some compilers
+- (e.g. gcc -O) don't grok <vfork.h>. Test for this by using a
+- static variable whose address is put into a register that is
+- clobbered by the vfork. */
+-static
+-#ifdef __cplusplus
+-sparc_address_test (int arg)
+-# else
+-sparc_address_test (arg) int arg;
++#include <wchar.h>
++#ifdef HAVE_LIBUTF8_H
++#include <libutf8.h>
+ #endif
+-{
+- static pid_t child;
+- if (!child) {
+- child = vfork ();
+- if (child < 0) {
+- perror ("vfork");
+- _exit(2);
+- }
+- if (!child) {
+- arg = getpid();
+- write(-1, "", 0);
+- _exit (arg);
+- }
+- }
+-}
+-
+ int
+ main ()
+ {
+- pid_t parent = getpid ();
+- pid_t child;
+-
+- sparc_address_test ();
+-
+- child = vfork ();
+-
+- if (child == 0) {
+- /* Here is another test for sparc vfork register problems. This
+- test uses lots of local variables, at least as many local
+- variables as main has allocated so far including compiler
+- temporaries. 4 locals are enough for gcc 1.40.3 on a Solaris
+- 4.1.3 sparc, but we use 8 to be safe. A buggy compiler should
+- reuse the register of parent for one of the local variables,
+- since it will think that parent can't possibly be used any more
+- in this routine. Assigning to the local variable will thus
+- munge parent in the parent process. */
+- pid_t
+- p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(),
+- p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid();
+- /* Convince the compiler that p..p7 are live; otherwise, it might
+- use the same hardware register for all 8 local variables. */
+- if (p != p1 || p != p2 || p != p3 || p != p4
+- || p != p5 || p != p6 || p != p7)
+- _exit(1);
+-
+- /* On some systems (e.g. IRIX 3.3), vfork doesn't separate parent
+- from child file descriptors. If the child closes a descriptor
+- before it execs or exits, this munges the parent's descriptor
+- as well. Test for this by closing stdout in the child. */
+- _exit(close(fileno(stdout)) != 0);
+- } else {
+- int status;
+- struct stat st;
+-
+- while (wait(&status) != child)
+- ;
+- $ac_main_return(
+- /* Was there some problem with vforking? */
+- child < 0
+-
+- /* Did the child fail? (This shouldn't happen.) */
+- || status
+-
+- /* Did the vfork/compiler bug occur? */
+- || parent != getpid()
+-
+- /* Did the file descriptor bug occur? */
+- || fstat(fileno(stdout), &st) != 0
+- );
+- }
++wchar_t value
++ ;
++ return 0;
+ }
+ _ACEOF
+-rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:13839: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:14128: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:13842: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:13844: \"$ac_try\"") >&5
++ echo "$as_me:14131: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:14134: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13847: \$? = $ac_status" >&5
++ echo "$as_me:14137: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_func_vfork_works=yes
++ cf_cv_wchar_t=yes
+ else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
++ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_func_vfork_works=no
+-fi
+-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++cf_cv_wchar_t=unknown
+ fi
++rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:13859: result: $ac_cv_func_vfork_works" >&5
+-echo "${ECHO_T}$ac_cv_func_vfork_works" >&6
+-
+-fi;
+-if test "x$ac_cv_func_fork_works" = xcross; then
+- ac_cv_func_vfork_works=ac_cv_func_vfork
+- { echo "$as_me:13865: WARNING: CROSS: Result $ac_cv_func_vfork_works guessed due to cross-compiling." >&5
+-echo "$as_me: WARNING: CROSS: Result $ac_cv_func_vfork_works guessed due to cross-compiling." >&2;}
++rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
++echo "$as_me:14149: result: $cf_cv_wchar_t" >&5
++echo "${ECHO_T}$cf_cv_wchar_t" >&6
+
+-if test "x$ac_cv_func_vfork_works" = xyes; then
+-
+-cat >>confdefs.h <<\EOF
+-#define HAVE_WORKING_VFORK 1
+-EOF
+-
+-else
++if test "$cf_cv_wchar_t" = yes ; then
+
+ cat >>confdefs.h <<\EOF
+-#define vfork fork
++#define NEED_WCHAR_H 1
+ EOF
+
++ NEED_WCHAR_H=1
+ fi
+-if test "x$ac_cv_func_fork_works" = xyes; then
+
+-cat >>confdefs.h <<\EOF
+-#define HAVE_WORKING_FORK 1
+-EOF
++# if we do not find wchar_t in either place, use substitution to provide a fallback.
++if test "$cf_cv_wchar_t" = unknown ; then
++ NCURSES_WCHAR_T=1
++fi
+
++# if we find wchar_t in either place, use substitution to provide a fallback.
++if test "$cf_cv_wchar_t" != unknown ; then
++ NCURSES_OK_WCHAR_T=1
+ fi
+
+-echo "$as_me:13890: checking if sys/time.h works with sys/select.h" >&5
+-echo $ECHO_N "checking if sys/time.h works with sys/select.h... $ECHO_C" >&6
+-if test "${cf_cv_sys_time_select+set}" = set; then
++# This is needed on Tru64 5.0 to declare wint_t
++echo "$as_me:14172: checking if we must include wchar.h to declare wint_t" >&5
++echo $ECHO_N "checking if we must include wchar.h to declare wint_t... $ECHO_C" >&6
++if test "${cf_cv_wint_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13897 "configure"
++#line 14179 "configure"
+ #include "confdefs.h"
+
+-#include <sys/types.h>
+-#ifdef HAVE_SYS_TIME_H
+-#include <sys/time.h>
+-#endif
+-#ifdef HAVE_SYS_SELECT_H
+-#include <sys/select.h>
++#include <stdlib.h>
++#include <stdarg.h>
++#include <stdio.h>
++#ifdef HAVE_LIBUTF8_H
++#include <libutf8.h>
+ #endif
+-
+ int
+ main ()
+ {
+-
++wint_t state
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:13917: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:14197: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:13920: \$? = $ac_status" >&5
++ echo "$as_me:14200: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:13923: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14203: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13926: \$? = $ac_status" >&5
++ echo "$as_me:14206: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_sys_time_select=yes
++ cf_cv_wint_t=no
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_sys_time_select=no
+-fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-
+-fi
+-
+-echo "$as_me:13938: result: $cf_cv_sys_time_select" >&5
+-echo "${ECHO_T}$cf_cv_sys_time_select" >&6
+-test "$cf_cv_sys_time_select" = yes && cat >>confdefs.h <<\EOF
+-#define HAVE_SYS_TIME_SELECT 1
+-EOF
+-
+-echo "$as_me:13944: checking for function curses_version" >&5
+-echo $ECHO_N "checking for function curses_version... $ECHO_C" >&6
+-if test "${cf_cv_func_curses_version+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+-
+-if test "$cross_compiling" = yes; then
+- cf_cv_func_curses_version=unknown
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 13954 "configure"
++cat >conftest.$ac_ext <<_ACEOF
++#line 14213 "configure"
+ #include "confdefs.h"
+
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-int main()
++#include <stdlib.h>
++#include <stdarg.h>
++#include <stdio.h>
++#include <wchar.h>
++#ifdef HAVE_LIBUTF8_H
++#include <libutf8.h>
++#endif
++int
++main ()
+ {
+- char temp[1024];
+- sprintf(temp, "%s\n", curses_version());
+- ${cf_cv_main_return:-return}(0);
++wint_t value
++ ;
++ return 0;
+ }
+-
+ _ACEOF
+-rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:13967: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:14232: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:13970: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:13972: \"$ac_try\"") >&5
++ echo "$as_me:14235: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:14238: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13975: \$? = $ac_status" >&5
++ echo "$as_me:14241: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_func_curses_version=yes
+-
++ cf_cv_wint_t=yes
+ else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
++ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_func_curses_version=no
+-
++cf_cv_wint_t=unknown
+ fi
+-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-rm -f core
++rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:13990: result: $cf_cv_func_curses_version" >&5
+-echo "${ECHO_T}$cf_cv_func_curses_version" >&6
+-test "$cf_cv_func_curses_version" = yes && cat >>confdefs.h <<\EOF
+-#define HAVE_CURSES_VERSION 1
++echo "$as_me:14253: result: $cf_cv_wint_t" >&5
++echo "${ECHO_T}$cf_cv_wint_t" >&6
++
++if test "$cf_cv_wint_t" = yes ; then
++
++cat >>confdefs.h <<\EOF
++#define NEED_WCHAR_H 1
+ EOF
+
+-echo "$as_me:13996: checking for ncurses wrap-prefix" >&5
+-echo $ECHO_N "checking for ncurses wrap-prefix... $ECHO_C" >&6
++ NEED_WCHAR_H=1
++fi
+
+-# Check whether --with-ncurses-wrap-prefix or --without-ncurses-wrap-prefix was given.
+-if test "${with_ncurses_wrap_prefix+set}" = set; then
+- withval="$with_ncurses_wrap_prefix"
+- NCURSES_WRAP_PREFIX=$withval
+-else
+- NCURSES_WRAP_PREFIX=_nc_
+-fi;
+-echo "$as_me:14006: result: $NCURSES_WRAP_PREFIX" >&5
+-echo "${ECHO_T}$NCURSES_WRAP_PREFIX" >&6
++# if we do not find wint_t in either place, use substitution to provide a fallback.
++if test "$cf_cv_wint_t" = unknown ; then
++ NCURSES_WINT_T=1
++fi
+
+-echo "$as_me:14009: checking for alternate character set array" >&5
+-echo $ECHO_N "checking for alternate character set array... $ECHO_C" >&6
+-if test "${cf_cv_curses_acs_map+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
++# if we find wint_t in either place, use substitution to provide a fallback.
++if test "$cf_cv_wint_t" != unknown ; then
++ NCURSES_OK_WINT_T=1
++fi
+
+-cf_cv_curses_acs_map=unknown
+-for name in acs_map _acs_map __acs_map ${NCURSES_WRAP_PREFIX}acs_map
+-do
++ if test "$NCURSES_OK_MBSTATE_T" = 0 ; then
++
++echo "$as_me:14277: checking for type mbstate_t in ${cf_cv_ncurses_header:-curses.h}" >&5
++echo $ECHO_N "checking for type mbstate_t in ${cf_cv_ncurses_header:-curses.h}... $ECHO_C" >&6
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14019 "configure"
++#line 14280 "configure"
+ #include "confdefs.h"
+
++#ifndef _XOPEN_SOURCE_EXTENDED
++#define _XOPEN_SOURCE_EXTENDED
++#endif
+ #include <${cf_cv_ncurses_header:-curses.h}>
+-
+ int
+ main ()
+ {
+
+-$name['k'] = ACS_PLUS
++mbstate_t foo
+
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:14035: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:14298: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14038: \$? = $ac_status" >&5
++ echo "$as_me:14301: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:14041: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:14304: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14044: \$? = $ac_status" >&5
++ echo "$as_me:14307: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_curses_acs_map=$name; break
++ cf_result=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
++cf_result=no
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-done
++rm -f conftest.$ac_objext conftest.$ac_ext
++echo "$as_me:14316: result: $cf_result" >&5
++echo "${ECHO_T}$cf_result" >&6
++if test $cf_result = yes ; then
+
+-fi
+-echo "$as_me:14055: result: $cf_cv_curses_acs_map" >&5
+-echo "${ECHO_T}$cf_cv_curses_acs_map" >&6
++cf_result=`echo "have_type_mbstate_t" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+
+-test "$cf_cv_curses_acs_map" != unknown && cat >>confdefs.h <<EOF
+-#define CURSES_ACS_ARRAY $cf_cv_curses_acs_map
++cat >>confdefs.h <<EOF
++#define $cf_result 1
+ EOF
+
+-echo "$as_me:14062: checking for wide alternate character set array" >&5
+-echo $ECHO_N "checking for wide alternate character set array... $ECHO_C" >&6
+-if test "${cf_cv_curses_wacs_map+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+- cf_cv_curses_wacs_map=unknown
+- for name in wacs_map _wacs_map __wacs_map _nc_wacs _wacs_char
+- do
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 14072 "configure"
++cat >>confdefs.h <<EOF
++#define mbstate_t long
++EOF
++
++fi
++
++ fi
++
++ if test "$NCURSES_OK_WCHAR_T" = 0 ; then
++
++echo "$as_me:14338: checking for type wchar_t in ${cf_cv_ncurses_header:-curses.h}" >&5
++echo $ECHO_N "checking for type wchar_t in ${cf_cv_ncurses_header:-curses.h}... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++#line 14341 "configure"
+ #include "confdefs.h"
+
+ #ifndef _XOPEN_SOURCE_EXTENDED
+@@ -14079,86 +14348,58 @@
+ int
+ main ()
+ {
+-void *foo = &($name['k'])
++
++wchar_t foo
++
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:14088: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:14359: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14091: \$? = $ac_status" >&5
++ echo "$as_me:14362: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:14094: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:14365: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14097: \$? = $ac_status" >&5
++ echo "$as_me:14368: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_curses_wacs_map=$name
+- break
++ cf_result=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
++cf_result=no
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+- done
+-fi
+-echo "$as_me:14108: result: $cf_cv_curses_wacs_map" >&5
+-echo "${ECHO_T}$cf_cv_curses_wacs_map" >&6
++rm -f conftest.$ac_objext conftest.$ac_ext
++echo "$as_me:14377: result: $cf_result" >&5
++echo "${ECHO_T}$cf_result" >&6
++if test $cf_result = yes ; then
+
+-test "$cf_cv_curses_wacs_map" != unknown && cat >>confdefs.h <<EOF
+-#define CURSES_WACS_ARRAY $cf_cv_curses_wacs_map
++cf_result=`echo "have_type_wchar_t" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++
++cat >>confdefs.h <<EOF
++#define $cf_result 1
+ EOF
+
+-echo "$as_me:14115: checking for wide alternate character constants" >&5
+-echo $ECHO_N "checking for wide alternate character constants... $ECHO_C" >&6
+-if test "${cf_cv_curses_wacs_symbols+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+-cf_cv_curses_wacs_symbols=no
+-if test "$cf_cv_curses_wacs_map" != unknown
+-then
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 14125 "configure"
+-#include "confdefs.h"
++cat >>confdefs.h <<EOF
++#define wchar_t long
++EOF
+
+-#ifndef _XOPEN_SOURCE_EXTENDED
+-#define _XOPEN_SOURCE_EXTENDED
+-#endif
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-int
+-main ()
+-{
+-cchar_t *foo = WACS_PLUS;
+- $cf_cv_curses_wacs_map['k'] = *WACS_PLUS
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:14142: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:14145: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:14148: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:14151: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- cf_cv_curses_wacs_symbols=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 14161 "configure"
++
++ fi
++
++ if test "$NCURSES_OK_WINT_T" = 0 ; then
++
++echo "$as_me:14399: checking for type wint_t in ${cf_cv_ncurses_header:-curses.h}" >&5
++echo $ECHO_N "checking for type wint_t in ${cf_cv_ncurses_header:-curses.h}... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++#line 14402 "configure"
+ #include "confdefs.h"
+
+ #ifndef _XOPEN_SOURCE_EXTENDED
+@@ -14168,70 +14409,95 @@
+ int
+ main ()
+ {
+-cchar_t *foo = WACS_PLUS
++
++wint_t foo
++
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:14177: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:14420: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14180: \$? = $ac_status" >&5
++ echo "$as_me:14423: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:14183: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:14426: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14186: \$? = $ac_status" >&5
++ echo "$as_me:14429: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_curses_wacs_symbols=yes
++ cf_result=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
++cf_result=no
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++rm -f conftest.$ac_objext conftest.$ac_ext
++echo "$as_me:14438: result: $cf_result" >&5
++echo "${ECHO_T}$cf_result" >&6
++if test $cf_result = yes ; then
++
++cf_result=`echo "have_type_wint_t" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++
++cat >>confdefs.h <<EOF
++#define $cf_result 1
++EOF
++
++else
++
++cat >>confdefs.h <<EOF
++#define wint_t long
++EOF
++
+ fi
+
++ fi
+ fi
+-echo "$as_me:14197: result: $cf_cv_curses_wacs_symbols" >&5
+-echo "${ECHO_T}$cf_cv_curses_wacs_symbols" >&6
+
+-test "$cf_cv_curses_wacs_symbols" != no && cat >>confdefs.h <<\EOF
+-#define CURSES_WACS_SYMBOLS 1
+-EOF
++echo "$as_me:14459: checking for data boolnames declaration in ${cf_cv_ncurses_header:-curses.h}" >&5
++echo $ECHO_N "checking for data boolnames declaration in ${cf_cv_ncurses_header:-curses.h}... $ECHO_C" >&6
+
+-echo "$as_me:14204: checking for type attr_t in ${cf_cv_ncurses_header:-curses.h}" >&5
+-echo $ECHO_N "checking for type attr_t in ${cf_cv_ncurses_header:-curses.h}... $ECHO_C" >&6
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14207 "configure"
++#line 14463 "configure"
+ #include "confdefs.h"
+
+-#ifndef _XOPEN_SOURCE_EXTENDED
+-#define _XOPEN_SOURCE_EXTENDED
+-#endif
++#ifdef HAVE_XCURSES
++#include <xcurses.h>
++char * XCursesProgramName = "test";
++#else
+ #include <${cf_cv_ncurses_header:-curses.h}>
++#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
++#include <ncursesw/term.h>
++#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
++#include <ncurses/term.h>
++#elif defined(HAVE_TERM_H)
++#include <term.h>
++#endif
++#endif
++
+ int
+ main ()
+ {
+
+-attr_t foo
++void *foo = &(boolnames)
+
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14225: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:14491: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14228: \$? = $ac_status" >&5
++ echo "$as_me:14494: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14231: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14497: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14234: \$? = $ac_status" >&5
++ echo "$as_me:14500: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_result=yes
+ else
+@@ -14240,868 +14506,1570 @@
+ cf_result=no
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+-echo "$as_me:14243: result: $cf_result" >&5
++echo "$as_me:14509: result: $cf_result" >&5
+ echo "${ECHO_T}$cf_result" >&6
++
+ if test $cf_result = yes ; then
+
+-cf_result=`echo "have_type_attr_t" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++cf_result=`echo "have_curses_data_boolnames" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+
+ cat >>confdefs.h <<EOF
+ #define $cf_result 1
+ EOF
+
+ else
+- cat >>confdefs.h <<EOF
+-#define attr_t long
+-EOF
+-
+-fi
+-
+-# This is needed on Tru64 5.0 to declare mbstate_t
+-echo "$as_me:14261: checking if we must include wchar.h to declare mbstate_t" >&5
+-echo $ECHO_N "checking if we must include wchar.h to declare mbstate_t... $ECHO_C" >&6
+-if test "${cf_cv_mbstate_t+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
++ echo "$as_me:14521: checking for data boolnames in library" >&5
++echo $ECHO_N "checking for data boolnames in library... $ECHO_C" >&6
++ # BSD linkers insist on making weak linkage, but resolve at runtime.
++ if test "$cross_compiling" = yes; then
+
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 14268 "configure"
++ # cross-compiling
++ cat >conftest.$ac_ext <<_ACEOF
++#line 14528 "configure"
+ #include "confdefs.h"
+
+-#include <stdlib.h>
+-#include <stdarg.h>
+-#include <stdio.h>
+-#ifdef HAVE_LIBUTF8_H
+-#include <libutf8.h>
++#ifdef HAVE_XCURSES
++#include <xcurses.h>
++char * XCursesProgramName = "test";
++#else
++#include <${cf_cv_ncurses_header:-curses.h}>
++#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
++#include <ncursesw/term.h>
++#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
++#include <ncurses/term.h>
++#elif defined(HAVE_TERM_H)
++#include <term.h>
++#endif
+ #endif
++
++extern char boolnames;
+ int
+ main ()
+ {
+-mbstate_t state
++
++ do {
++ void *foo = &(boolnames);
++ ${cf_cv_main_return:-return}(foo == 0);
++ } while (0)
++
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14286: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:14560: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:14289: \$? = $ac_status" >&5
++ echo "$as_me:14563: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14292: \"$ac_try\"") >&5
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:14566: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14295: \$? = $ac_status" >&5
++ echo "$as_me:14569: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_mbstate_t=no
++ cf_result=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
++cf_result=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 14581 "configure"
++#include "confdefs.h"
++
++#ifdef HAVE_XCURSES
++#include <xcurses.h>
++char * XCursesProgramName = "test";
++#else
++#include <${cf_cv_ncurses_header:-curses.h}>
++#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
++#include <ncursesw/term.h>
++#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
++#include <ncurses/term.h>
++#elif defined(HAVE_TERM_H)
++#include <term.h>
++#endif
++#endif
++
++extern char boolnames;
++int main(void)
++{
++ void *foo = &(boolnames);
++ ${cf_cv_main_return:-return}(foo == 0);
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (eval echo "$as_me:14606: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:14609: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (eval echo "$as_me:14611: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:14614: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_result=yes
++else
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_result=no
++fi
++rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++ echo "$as_me:14625: result: $cf_result" >&5
++echo "${ECHO_T}$cf_result" >&6
++ if test $cf_result = yes ; then
++
++cf_result=`echo "decl_curses_data_boolnames" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++
++ cat >>confdefs.h <<EOF
++#define $cf_result 1
++EOF
++
++ fi
++fi
++
++echo "$as_me:14638: checking for data boolfnames declaration in ${cf_cv_ncurses_header:-curses.h}" >&5
++echo $ECHO_N "checking for data boolfnames declaration in ${cf_cv_ncurses_header:-curses.h}... $ECHO_C" >&6
++
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14302 "configure"
++#line 14642 "configure"
+ #include "confdefs.h"
+
+-#include <stdlib.h>
+-#include <stdarg.h>
+-#include <stdio.h>
+-#include <wchar.h>
+-#ifdef HAVE_LIBUTF8_H
+-#include <libutf8.h>
++#ifdef HAVE_XCURSES
++#include <xcurses.h>
++char * XCursesProgramName = "test";
++#else
++#include <${cf_cv_ncurses_header:-curses.h}>
++#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
++#include <ncursesw/term.h>
++#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
++#include <ncurses/term.h>
++#elif defined(HAVE_TERM_H)
++#include <term.h>
++#endif
+ #endif
++
+ int
+ main ()
+ {
+-mbstate_t value
++
++void *foo = &(boolfnames)
++
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14321: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:14670: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14324: \$? = $ac_status" >&5
++ echo "$as_me:14673: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14327: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14676: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14330: \$? = $ac_status" >&5
++ echo "$as_me:14679: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_mbstate_t=yes
++ cf_result=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_mbstate_t=unknown
+-fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
++cf_result=no
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+-fi
+-echo "$as_me:14342: result: $cf_cv_mbstate_t" >&5
+-echo "${ECHO_T}$cf_cv_mbstate_t" >&6
+-
+-if test "$cf_cv_mbstate_t" = yes ; then
+- cat >>confdefs.h <<\EOF
+-#define NEED_WCHAR_H 1
+-EOF
++echo "$as_me:14688: result: $cf_result" >&5
++echo "${ECHO_T}$cf_result" >&6
+
+- NEED_WCHAR_H=1
+-fi
++if test $cf_result = yes ; then
+
+-# if we do not find mbstate_t in either place, use substitution to provide a fallback.
+-if test "$cf_cv_mbstate_t" = unknown ; then
+- NCURSES_MBSTATE_T=1
+-fi
++cf_result=`echo "have_curses_data_boolfnames" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+
+-# if we find mbstate_t in either place, use substitution to provide a fallback.
+-if test "$cf_cv_mbstate_t" != unknown ; then
+- NCURSES_OK_MBSTATE_T=1
+-fi
++ cat >>confdefs.h <<EOF
++#define $cf_result 1
++EOF
+
+-# This is needed on Tru64 5.0 to declare wchar_t
+-echo "$as_me:14364: checking if we must include wchar.h to declare wchar_t" >&5
+-echo $ECHO_N "checking if we must include wchar.h to declare wchar_t... $ECHO_C" >&6
+-if test "${cf_cv_wchar_t+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
++ echo "$as_me:14700: checking for data boolfnames in library" >&5
++echo $ECHO_N "checking for data boolfnames in library... $ECHO_C" >&6
++ # BSD linkers insist on making weak linkage, but resolve at runtime.
++ if test "$cross_compiling" = yes; then
+
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 14371 "configure"
++ # cross-compiling
++ cat >conftest.$ac_ext <<_ACEOF
++#line 14707 "configure"
+ #include "confdefs.h"
+
+-#include <stdlib.h>
+-#include <stdarg.h>
+-#include <stdio.h>
+-#ifdef HAVE_LIBUTF8_H
+-#include <libutf8.h>
++#ifdef HAVE_XCURSES
++#include <xcurses.h>
++char * XCursesProgramName = "test";
++#else
++#include <${cf_cv_ncurses_header:-curses.h}>
++#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
++#include <ncursesw/term.h>
++#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
++#include <ncurses/term.h>
++#elif defined(HAVE_TERM_H)
++#include <term.h>
+ #endif
++#endif
++
++extern char boolfnames;
+ int
+ main ()
+ {
+-wchar_t state
++
++ do {
++ void *foo = &(boolfnames);
++ ${cf_cv_main_return:-return}(foo == 0);
++ } while (0)
++
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14389: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:14739: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:14392: \$? = $ac_status" >&5
++ echo "$as_me:14742: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14395: \"$ac_try\"") >&5
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:14745: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14398: \$? = $ac_status" >&5
++ echo "$as_me:14748: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_wchar_t=no
++ cf_result=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 14405 "configure"
++cf_result=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 14760 "configure"
+ #include "confdefs.h"
+
+-#include <stdlib.h>
+-#include <stdarg.h>
+-#include <stdio.h>
+-#include <wchar.h>
+-#ifdef HAVE_LIBUTF8_H
+-#include <libutf8.h>
++#ifdef HAVE_XCURSES
++#include <xcurses.h>
++char * XCursesProgramName = "test";
++#else
++#include <${cf_cv_ncurses_header:-curses.h}>
++#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
++#include <ncursesw/term.h>
++#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
++#include <ncurses/term.h>
++#elif defined(HAVE_TERM_H)
++#include <term.h>
+ #endif
+-int
+-main ()
++#endif
++
++extern char boolfnames;
++int main(void)
+ {
+-wchar_t value
+- ;
+- return 0;
++ void *foo = &(boolfnames);
++ ${cf_cv_main_return:-return}(foo == 0);
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14424: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest$ac_exeext
++if { (eval echo "$as_me:14785: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:14427: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14430: \"$ac_try\"") >&5
++ echo "$as_me:14788: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (eval echo "$as_me:14790: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14433: \$? = $ac_status" >&5
++ echo "$as_me:14793: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_wchar_t=yes
++ cf_result=yes
+ else
+- echo "$as_me: failed program was:" >&5
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_wchar_t=unknown
+-fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
++cf_result=no
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
++rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:14445: result: $cf_cv_wchar_t" >&5
+-echo "${ECHO_T}$cf_cv_wchar_t" >&6
++ echo "$as_me:14804: result: $cf_result" >&5
++echo "${ECHO_T}$cf_result" >&6
++ if test $cf_result = yes ; then
+
+-if test "$cf_cv_wchar_t" = yes ; then
+- cat >>confdefs.h <<\EOF
+-#define NEED_WCHAR_H 1
++cf_result=`echo "decl_curses_data_boolfnames" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++
++ cat >>confdefs.h <<EOF
++#define $cf_result 1
+ EOF
+
+- NEED_WCHAR_H=1
++ fi
+ fi
+
+-# if we do not find wchar_t in either place, use substitution to provide a fallback.
+-if test "$cf_cv_wchar_t" = unknown ; then
+- NCURSES_WCHAR_T=1
+-fi
++if ( test "$GCC" = yes || test "$GXX" = yes )
++then
++echo "$as_me:14819: checking if you want to turn on gcc warnings" >&5
++echo $ECHO_N "checking if you want to turn on gcc warnings... $ECHO_C" >&6
+
+-# if we find wchar_t in either place, use substitution to provide a fallback.
+-if test "$cf_cv_wchar_t" != unknown ; then
+- NCURSES_OK_WCHAR_T=1
+-fi
++# Check whether --enable-warnings or --disable-warnings was given.
++if test "${enable_warnings+set}" = set; then
++ enableval="$enable_warnings"
++ test "$enableval" != yes && enableval=no
++ if test "$enableval" != "no" ; then
++ with_warnings=yes
++ else
++ with_warnings=no
++ fi
++else
++ enableval=no
++ with_warnings=no
+
+-# This is needed on Tru64 5.0 to declare wint_t
+-echo "$as_me:14467: checking if we must include wchar.h to declare wint_t" >&5
+-echo $ECHO_N "checking if we must include wchar.h to declare wint_t... $ECHO_C" >&6
+-if test "${cf_cv_wint_t+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
++fi;
++echo "$as_me:14836: result: $with_warnings" >&5
++echo "${ECHO_T}$with_warnings" >&6
++if test "$with_warnings" = "yes"
++then
++
++if test "$GCC" = yes
++then
++cat > conftest.i <<EOF
++#ifndef GCC_PRINTF
++#define GCC_PRINTF 0
++#endif
++#ifndef GCC_SCANF
++#define GCC_SCANF 0
++#endif
++#ifndef GCC_NORETURN
++#define GCC_NORETURN /* nothing */
++#endif
++#ifndef GCC_UNUSED
++#define GCC_UNUSED /* nothing */
++#endif
++EOF
++if test "$GCC" = yes
++then
++ { echo "$as_me:14859: checking for $CC __attribute__ directives..." >&5
++echo "$as_me: checking for $CC __attribute__ directives..." >&6;}
++cat > conftest.$ac_ext <<EOF
++#line 14862 "${as_me:-configure}"
++#include "confdefs.h"
++#include "conftest.h"
++#include "conftest.i"
++#if GCC_PRINTF
++#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
++#else
++#define GCC_PRINTFLIKE(fmt,var) /*nothing*/
++#endif
++#if GCC_SCANF
++#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
++#else
++#define GCC_SCANFLIKE(fmt,var) /*nothing*/
++#endif
++extern void wow(char *,...) GCC_SCANFLIKE(1,2);
++extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
++extern void foo(void) GCC_NORETURN;
++int main(int argc GCC_UNUSED, char *argv[] GCC_UNUSED) { return 0; }
++EOF
++ cf_printf_attribute=no
++ cf_scanf_attribute=no
++ for cf_attribute in scanf printf unused noreturn
++ do
++
++cf_ATTRIBUTE=`echo "$cf_attribute" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++
++ cf_directive="__attribute__(($cf_attribute))"
++ echo "checking for $CC $cf_directive" 1>&5
++
++ case $cf_attribute in #(vi
++ printf) #(vi
++ cf_printf_attribute=yes
++ cat >conftest.h <<EOF
++#define GCC_$cf_ATTRIBUTE 1
++EOF
++ ;;
++ scanf) #(vi
++ cf_scanf_attribute=yes
++ cat >conftest.h <<EOF
++#define GCC_$cf_ATTRIBUTE 1
++EOF
++ ;;
++ *) #(vi
++ cat >conftest.h <<EOF
++#define GCC_$cf_ATTRIBUTE $cf_directive
++EOF
++ ;;
++ esac
++
++ if { (eval echo "$as_me:14911: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:14914: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ test -n "$verbose" && echo "$as_me:14916: result: ... $cf_attribute" >&5
++echo "${ECHO_T}... $cf_attribute" >&6
++ cat conftest.h >>confdefs.h
++ case $cf_attribute in #(vi
++ noreturn) #(vi
++
++cat >>confdefs.h <<EOF
++#define GCC_NORETURN $cf_directive
++EOF
++
++ ;;
++ printf) #(vi
++ cf_value='/* nothing */'
++ if test "$cf_printf_attribute" != no ; then
++ cf_value='__attribute__((format(printf,fmt,var)))'
++
++cat >>confdefs.h <<\EOF
++#define GCC_PRINTF 1
++EOF
++
++ fi
++
++cat >>confdefs.h <<EOF
++#define GCC_PRINTFLIKE(fmt,var) $cf_value
++EOF
++
++ ;;
++ scanf) #(vi
++ cf_value='/* nothing */'
++ if test "$cf_scanf_attribute" != no ; then
++ cf_value='__attribute__((format(scanf,fmt,var)))'
++
++cat >>confdefs.h <<\EOF
++#define GCC_SCANF 1
++EOF
++
++ fi
++
++cat >>confdefs.h <<EOF
++#define GCC_SCANFLIKE(fmt,var) $cf_value
++EOF
++
++ ;;
++ unused) #(vi
++
++cat >>confdefs.h <<EOF
++#define GCC_UNUSED $cf_directive
++EOF
++
++ ;;
++ esac
++ fi
++ done
+ else
++ fgrep define conftest.i >>confdefs.h
++fi
++rm -rf conftest*
++fi
+
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 14474 "configure"
++INTEL_COMPILER=no
++
++if test "$GCC" = yes ; then
++ case $host_os in
++ linux*|gnu*)
++ echo "$as_me:14980: checking if this is really Intel C compiler" >&5
++echo $ECHO_N "checking if this is really Intel C compiler... $ECHO_C" >&6
++ cf_save_CFLAGS="$CFLAGS"
++ CFLAGS="$CFLAGS -no-gcc"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 14985 "configure"
+ #include "confdefs.h"
+
+-#include <stdlib.h>
+-#include <stdarg.h>
+-#include <stdio.h>
+-#ifdef HAVE_LIBUTF8_H
+-#include <libutf8.h>
+-#endif
+ int
+ main ()
+ {
+-wint_t state
++
++#ifdef __INTEL_COMPILER
++#else
++make an error
++#endif
++
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14492: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:15002: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14495: \$? = $ac_status" >&5
++ echo "$as_me:15005: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14498: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15008: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14501: \$? = $ac_status" >&5
++ echo "$as_me:15011: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_wint_t=no
++ INTEL_COMPILER=yes
++cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc"
++
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 14508 "configure"
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CFLAGS="$cf_save_CFLAGS"
++ echo "$as_me:15022: result: $INTEL_COMPILER" >&5
++echo "${ECHO_T}$INTEL_COMPILER" >&6
++ ;;
++ esac
++fi
++
++CLANG_COMPILER=no
++
++if test "$GCC" = yes ; then
++ echo "$as_me:15031: checking if this is really Clang C compiler" >&5
++echo $ECHO_N "checking if this is really Clang C compiler... $ECHO_C" >&6
++ cf_save_CFLAGS="$CFLAGS"
++ CFLAGS="$CFLAGS -Qunused-arguments"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 15036 "configure"
+ #include "confdefs.h"
+
+-#include <stdlib.h>
+-#include <stdarg.h>
+-#include <stdio.h>
+-#include <wchar.h>
+-#ifdef HAVE_LIBUTF8_H
+-#include <libutf8.h>
+-#endif
+ int
+ main ()
+ {
+-wint_t value
++
++#ifdef __clang__
++#else
++make an error
++#endif
++
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14527: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:15053: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14530: \$? = $ac_status" >&5
++ echo "$as_me:15056: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14533: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15059: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14536: \$? = $ac_status" >&5
++ echo "$as_me:15062: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_wint_t=yes
++ CLANG_COMPILER=yes
++cf_save_CFLAGS="$cf_save_CFLAGS -Qunused-arguments"
++
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_wint_t=unknown
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
++ CFLAGS="$cf_save_CFLAGS"
++ echo "$as_me:15073: result: $CLANG_COMPILER" >&5
++echo "${ECHO_T}$CLANG_COMPILER" >&6
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
++
++cat > conftest.$ac_ext <<EOF
++#line 15078 "${as_me:-configure}"
++int main(int argc, char *argv[]) { return (argv[argc-1] == 0) ; }
++EOF
++
++if test "$INTEL_COMPILER" = yes
++then
++# The "-wdXXX" options suppress warnings:
++# remark #1419: external declaration in primary source file
++# remark #1683: explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
++# remark #1684: conversion from pointer to same-sized integral type (potential portability problem)
++# remark #193: zero used for undefined preprocessing identifier
++# remark #593: variable "curs_sb_left_arrow" was set but never used
++# remark #810: conversion from "int" to "Dimension={unsigned short}" may lose significant bits
++# remark #869: parameter "tw" was never referenced
++# remark #981: operands are evaluated in unspecified order
++# warning #279: controlling expression is constant
++
++ { echo "$as_me:15095: checking for $CC warning options..." >&5
++echo "$as_me: checking for $CC warning options..." >&6;}
++ cf_save_CFLAGS="$CFLAGS"
++ EXTRA_CFLAGS="-Wall"
++ for cf_opt in \
++ wd1419 \
++ wd1683 \
++ wd1684 \
++ wd193 \
++ wd593 \
++ wd279 \
++ wd810 \
++ wd869 \
++ wd981
++ do
++ CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
++ if { (eval echo "$as_me:15111: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:15114: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ test -n "$verbose" && echo "$as_me:15116: result: ... -$cf_opt" >&5
++echo "${ECHO_T}... -$cf_opt" >&6
++ EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
++ fi
++ done
++ CFLAGS="$cf_save_CFLAGS"
++
++elif test "$GCC" = yes
++then
++ { echo "$as_me:15125: checking for $CC warning options..." >&5
++echo "$as_me: checking for $CC warning options..." >&6;}
++ cf_save_CFLAGS="$CFLAGS"
++ EXTRA_CFLAGS=
++ cf_warn_CONST=""
++ test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings"
++ for cf_opt in W Wall \
++ Wbad-function-cast \
++ Wcast-align \
++ Wcast-qual \
++ Winline \
++ Wmissing-declarations \
++ Wmissing-prototypes \
++ Wnested-externs \
++ Wpointer-arith \
++ Wshadow \
++ Wstrict-prototypes \
++ Wundef $cf_warn_CONST
++ do
++ CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
++ if { (eval echo "$as_me:15145: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:15148: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ test -n "$verbose" && echo "$as_me:15150: result: ... -$cf_opt" >&5
++echo "${ECHO_T}... -$cf_opt" >&6
++ case $cf_opt in #(vi
++ Wcast-qual) #(vi
++ CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES"
++ ;;
++ Winline) #(vi
++ case $GCC_VERSION in
++ [34].*)
++ test -n "$verbose" && echo " feature is broken in gcc $GCC_VERSION" 1>&6
++
++echo "${as_me:-configure}:15161: testing feature is broken in gcc $GCC_VERSION ..." 1>&5
++
++ continue;;
++ esac
++ ;;
++ Wpointer-arith) #(vi
++ case $GCC_VERSION in
++ [12].*)
++ test -n "$verbose" && echo " feature is broken in gcc $GCC_VERSION" 1>&6
++
++echo "${as_me:-configure}:15171: testing feature is broken in gcc $GCC_VERSION ..." 1>&5
++
++ continue;;
++ esac
++ ;;
++ esac
++ EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
++ fi
++ done
++ CFLAGS="$cf_save_CFLAGS"
+ fi
+-echo "$as_me:14548: result: $cf_cv_wint_t" >&5
+-echo "${ECHO_T}$cf_cv_wint_t" >&6
++rm -rf conftest*
+
+-if test "$cf_cv_wint_t" = yes ; then
+- cat >>confdefs.h <<\EOF
+-#define NEED_WCHAR_H 1
++fi
++fi
++
++echo "$as_me:15187: checking if you want to use dmalloc for testing" >&5
++echo $ECHO_N "checking if you want to use dmalloc for testing... $ECHO_C" >&6
++
++# Check whether --with-dmalloc or --without-dmalloc was given.
++if test "${with_dmalloc+set}" = set; then
++ withval="$with_dmalloc"
++
++cat >>confdefs.h <<EOF
++#define USE_DMALLOC 1
+ EOF
+
+- NEED_WCHAR_H=1
++ : ${with_cflags:=-g}
++ : ${with_no_leaks:=yes}
++ with_dmalloc=yes
++else
++ with_dmalloc=
++fi;
++echo "$as_me:15204: result: ${with_dmalloc:-no}" >&5
++echo "${ECHO_T}${with_dmalloc:-no}" >&6
++
++case .$with_cflags in #(vi
++.*-g*)
++ case .$CFLAGS in #(vi
++ .*-g*) #(vi
++ ;;
++ *)
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in -g
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
+ fi
+
+-# if we do not find wint_t in either place, use substitution to provide a fallback.
+-if test "$cf_cv_wint_t" = unknown ; then
+- NCURSES_WINT_T=1
++if test -n "$cf_new_cppflags" ; then
++
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
++
++ ;;
++ esac
++ ;;
++esac
++
++if test "$with_dmalloc" = yes ; then
++ echo "$as_me:15298: checking for dmalloc.h" >&5
++echo $ECHO_N "checking for dmalloc.h... $ECHO_C" >&6
++if test "${ac_cv_header_dmalloc_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 15304 "configure"
++#include "confdefs.h"
++#include <dmalloc.h>
++_ACEOF
++if { (eval echo "$as_me:15308: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ egrep -v '^ *\+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:15314: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++ ac_cv_header_dmalloc_h=yes
++else
++ echo "$as_me: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ ac_cv_header_dmalloc_h=no
+ fi
+-
+-# if we find wint_t in either place, use substitution to provide a fallback.
+-if test "$cf_cv_wint_t" != unknown ; then
+- NCURSES_OK_WINT_T=1
++rm -f conftest.err conftest.$ac_ext
+ fi
++echo "$as_me:15333: result: $ac_cv_header_dmalloc_h" >&5
++echo "${ECHO_T}$ac_cv_header_dmalloc_h" >&6
++if test $ac_cv_header_dmalloc_h = yes; then
+
+-if test "$NCURSES_OK_MBSTATE_T" = 0 ; then
+-
+-echo "$as_me:14571: checking for type mbstate_t in ${cf_cv_ncurses_header:-curses.h}" >&5
+-echo $ECHO_N "checking for type mbstate_t in ${cf_cv_ncurses_header:-curses.h}... $ECHO_C" >&6
++echo "$as_me:15337: checking for dmalloc_debug in -ldmalloc" >&5
++echo $ECHO_N "checking for dmalloc_debug in -ldmalloc... $ECHO_C" >&6
++if test "${ac_cv_lib_dmalloc_dmalloc_debug+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldmalloc $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14574 "configure"
++#line 15345 "configure"
+ #include "confdefs.h"
+
+-#ifndef _XOPEN_SOURCE_EXTENDED
+-#define _XOPEN_SOURCE_EXTENDED
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
+ #endif
+-#include <${cf_cv_ncurses_header:-curses.h}>
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char dmalloc_debug ();
+ int
+ main ()
+ {
+-
+-mbstate_t foo
+-
++dmalloc_debug ();
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14592: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:15364: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:14595: \$? = $ac_status" >&5
++ echo "$as_me:15367: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14598: \"$ac_try\"") >&5
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:15370: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14601: \$? = $ac_status" >&5
++ echo "$as_me:15373: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_result=yes
++ ac_cv_lib_dmalloc_dmalloc_debug=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_result=no
++ac_cv_lib_dmalloc_dmalloc_debug=no
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-echo "$as_me:14610: result: $cf_result" >&5
+-echo "${ECHO_T}$cf_result" >&6
+-if test $cf_result = yes ; then
+-
+-cf_result=`echo "have_type_mbstate_t" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+-
+- cat >>confdefs.h <<EOF
+-#define $cf_result 1
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:15384: result: $ac_cv_lib_dmalloc_dmalloc_debug" >&5
++echo "${ECHO_T}$ac_cv_lib_dmalloc_dmalloc_debug" >&6
++if test $ac_cv_lib_dmalloc_dmalloc_debug = yes; then
++ cat >>confdefs.h <<EOF
++#define HAVE_LIBDMALLOC 1
+ EOF
+
+-else
+- cat >>confdefs.h <<EOF
+-#define mbstate_t long
+-EOF
++ LIBS="-ldmalloc $LIBS"
+
+ fi
+
+ fi
+
+-if test "$NCURSES_OK_WCHAR_T" = 0 ; then
++fi
+
+-echo "$as_me:14631: checking for type wchar_t in ${cf_cv_ncurses_header:-curses.h}" >&5
+-echo $ECHO_N "checking for type wchar_t in ${cf_cv_ncurses_header:-curses.h}... $ECHO_C" >&6
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 14634 "configure"
+-#include "confdefs.h"
++echo "$as_me:15399: checking if you want to use dbmalloc for testing" >&5
++echo $ECHO_N "checking if you want to use dbmalloc for testing... $ECHO_C" >&6
+
+-#ifndef _XOPEN_SOURCE_EXTENDED
+-#define _XOPEN_SOURCE_EXTENDED
+-#endif
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-int
+-main ()
+-{
++# Check whether --with-dbmalloc or --without-dbmalloc was given.
++if test "${with_dbmalloc+set}" = set; then
++ withval="$with_dbmalloc"
+
+-wchar_t foo
++cat >>confdefs.h <<EOF
++#define USE_DBMALLOC 1
++EOF
+
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14652: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:14655: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14658: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:14661: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- cf_result=yes
++ : ${with_cflags:=-g}
++ : ${with_no_leaks:=yes}
++ with_dbmalloc=yes
+ else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-cf_result=no
+-fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-echo "$as_me:14670: result: $cf_result" >&5
+-echo "${ECHO_T}$cf_result" >&6
+-if test $cf_result = yes ; then
++ with_dbmalloc=
++fi;
++echo "$as_me:15416: result: ${with_dbmalloc:-no}" >&5
++echo "${ECHO_T}${with_dbmalloc:-no}" >&6
+
+-cf_result=`echo "have_type_wchar_t" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++case .$with_cflags in #(vi
++.*-g*)
++ case .$CFLAGS in #(vi
++ .*-g*) #(vi
++ ;;
++ *)
+
+- cat >>confdefs.h <<EOF
+-#define $cf_result 1
+-EOF
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
+
+-else
+- cat >>confdefs.h <<EOF
+-#define wchar_t long
+-EOF
++for cf_add_cflags in -g
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+
+-fi
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
+
+-fi
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+
+-if test "$NCURSES_OK_WINT_T" = 0 ; then
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+
+-echo "$as_me:14691: checking for type wint_t in ${cf_cv_ncurses_header:-curses.h}" >&5
+-echo $ECHO_N "checking for type wint_t in ${cf_cv_ncurses_header:-curses.h}... $ECHO_C" >&6
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 14694 "configure"
+-#include "confdefs.h"
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+
+-#ifndef _XOPEN_SOURCE_EXTENDED
+-#define _XOPEN_SOURCE_EXTENDED
+-#endif
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-int
+-main ()
+-{
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+
+-wint_t foo
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
+
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14712: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:14715: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14718: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:14721: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- cf_result=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-cf_result=no
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-echo "$as_me:14730: result: $cf_result" >&5
+-echo "${ECHO_T}$cf_result" >&6
+-if test $cf_result = yes ; then
+
+-cf_result=`echo "have_type_wint_t" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++if test -n "$cf_new_cppflags" ; then
+
+- cat >>confdefs.h <<EOF
+-#define $cf_result 1
+-EOF
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
+
+-else
+- cat >>confdefs.h <<EOF
+-#define wint_t long
+-EOF
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
++
++ ;;
++ esac
++ ;;
++esac
+
++if test "$with_dbmalloc" = yes ; then
++ echo "$as_me:15510: checking for dbmalloc.h" >&5
++echo $ECHO_N "checking for dbmalloc.h... $ECHO_C" >&6
++if test "${ac_cv_header_dbmalloc_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 15516 "configure"
++#include "confdefs.h"
++#include <dbmalloc.h>
++_ACEOF
++if { (eval echo "$as_me:15520: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ egrep -v '^ *\+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:15526: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++ ac_cv_header_dbmalloc_h=yes
++else
++ echo "$as_me: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ ac_cv_header_dbmalloc_h=no
+ fi
+-
++rm -f conftest.err conftest.$ac_ext
+ fi
++echo "$as_me:15545: result: $ac_cv_header_dbmalloc_h" >&5
++echo "${ECHO_T}$ac_cv_header_dbmalloc_h" >&6
++if test $ac_cv_header_dbmalloc_h = yes; then
+
+-echo "$as_me:14749: checking for data boolnames declaration in ${cf_cv_ncurses_header:-curses.h}" >&5
+-echo $ECHO_N "checking for data boolnames declaration in ${cf_cv_ncurses_header:-curses.h}... $ECHO_C" >&6
+-
++echo "$as_me:15549: checking for debug_malloc in -ldbmalloc" >&5
++echo $ECHO_N "checking for debug_malloc in -ldbmalloc... $ECHO_C" >&6
++if test "${ac_cv_lib_dbmalloc_debug_malloc+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldbmalloc $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14753 "configure"
++#line 15557 "configure"
+ #include "confdefs.h"
+
+-#ifdef HAVE_XCURSES
+-#include <xcurses.h>
+-char * XCursesProgramName = "test";
+-#else
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
+-#include <ncursesw/term.h>
+-#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
+-#include <ncurses/term.h>
+-#elif defined(HAVE_TERM_H)
+-#include <term.h>
+-#endif
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
+ #endif
+-
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char debug_malloc ();
+ int
+ main ()
+ {
+-
+-void *foo = &(boolnames)
+-
++debug_malloc ();
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14781: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:15576: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:14784: \$? = $ac_status" >&5
++ echo "$as_me:15579: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14787: \"$ac_try\"") >&5
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:15582: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14790: \$? = $ac_status" >&5
++ echo "$as_me:15585: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_result=yes
++ ac_cv_lib_dbmalloc_debug_malloc=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_result=no
++ac_cv_lib_dbmalloc_debug_malloc=no
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-echo "$as_me:14799: result: $cf_result" >&5
+-echo "${ECHO_T}$cf_result" >&6
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:15596: result: $ac_cv_lib_dbmalloc_debug_malloc" >&5
++echo "${ECHO_T}$ac_cv_lib_dbmalloc_debug_malloc" >&6
++if test $ac_cv_lib_dbmalloc_debug_malloc = yes; then
++ cat >>confdefs.h <<EOF
++#define HAVE_LIBDBMALLOC 1
++EOF
+
+-if test $cf_result = yes ; then
++ LIBS="-ldbmalloc $LIBS"
+
+-cf_result=`echo "have_curses_data_boolnames" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++fi
+
+- cat >>confdefs.h <<EOF
+-#define $cf_result 1
++fi
++
++fi
++
++echo "$as_me:15611: checking if you want to use valgrind for testing" >&5
++echo $ECHO_N "checking if you want to use valgrind for testing... $ECHO_C" >&6
++
++# Check whether --with-valgrind or --without-valgrind was given.
++if test "${with_valgrind+set}" = set; then
++ withval="$with_valgrind"
++
++cat >>confdefs.h <<EOF
++#define USE_VALGRIND 1
+ EOF
+
++ : ${with_cflags:=-g}
++ : ${with_no_leaks:=yes}
++ with_valgrind=yes
+ else
+- echo "$as_me:14811: checking for data boolnames in library" >&5
+-echo $ECHO_N "checking for data boolnames in library... $ECHO_C" >&6
+- # BSD linkers insist on making weak linkage, but resolve at runtime.
+- if test "$cross_compiling" = yes; then
++ with_valgrind=
++fi;
++echo "$as_me:15628: result: ${with_valgrind:-no}" >&5
++echo "${ECHO_T}${with_valgrind:-no}" >&6
+
+- # cross-compiling
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 14818 "configure"
+-#include "confdefs.h"
++case .$with_cflags in #(vi
++.*-g*)
++ case .$CFLAGS in #(vi
++ .*-g*) #(vi
++ ;;
++ *)
+
+-#ifdef HAVE_XCURSES
+-#include <xcurses.h>
+-char * XCursesProgramName = "test";
+-#else
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
+-#include <ncursesw/term.h>
+-#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
+-#include <ncurses/term.h>
+-#elif defined(HAVE_TERM_H)
+-#include <term.h>
+-#endif
+-#endif
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
+
+-extern char boolnames;
+-int
+-main ()
+-{
++for cf_add_cflags in -g
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+
+- do {
+- void *foo = &(boolnames);
+- ${cf_cv_main_return:-return}(foo == 0);
+- } while (0)
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
+
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:14850: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:14853: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:14856: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:14859: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- cf_result=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-cf_result=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 14871 "configure"
+-#include "confdefs.h"
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+
+-#ifdef HAVE_XCURSES
+-#include <xcurses.h>
+-char * XCursesProgramName = "test";
+-#else
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
+-#include <ncursesw/term.h>
+-#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
+-#include <ncurses/term.h>
+-#elif defined(HAVE_TERM_H)
+-#include <term.h>
+-#endif
+-#endif
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+
+-extern char boolnames;
+-int main(void)
+-{
+- void *foo = &(boolnames);
+- ${cf_cv_main_return:-return}(foo == 0);
+-}
+-_ACEOF
+-rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:14896: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:14899: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:14901: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:14904: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- cf_result=yes
+-else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-cf_result=no
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
+ fi
+-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++
++if test -n "$cf_new_cppflags" ; then
++
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
+ fi
+- echo "$as_me:14915: result: $cf_result" >&5
+-echo "${ECHO_T}$cf_result" >&6
+- if test $cf_result = yes ; then
+
+-cf_result=`echo "decl_curses_data_boolnames" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
++
++ ;;
++ esac
++ ;;
++esac
++
++echo "$as_me:15721: checking if you want to perform memory-leak testing" >&5
++echo $ECHO_N "checking if you want to perform memory-leak testing... $ECHO_C" >&6
++
++# Check whether --enable-leaks or --disable-leaks was given.
++if test "${enable_leaks+set}" = set; then
++ enableval="$enable_leaks"
++ if test "x$enableval" = xno; then with_no_leaks=yes; else with_no_leaks=no; fi
++else
++ : ${with_no_leaks:=no}
++fi;
++echo "$as_me:15731: result: $with_no_leaks" >&5
++echo "${ECHO_T}$with_no_leaks" >&6
++
++if test "$with_no_leaks" = yes ; then
+
+- cat >>confdefs.h <<EOF
+-#define $cf_result 1
++cat >>confdefs.h <<\EOF
++#define NO_LEAKS 1
++EOF
++
++cat >>confdefs.h <<\EOF
++#define YY_NO_LEAKS 1
+ EOF
+
+- fi
+ fi
+
+-echo "$as_me:14928: checking for data boolfnames declaration in ${cf_cv_ncurses_header:-curses.h}" >&5
+-echo $ECHO_N "checking for data boolfnames declaration in ${cf_cv_ncurses_header:-curses.h}... $ECHO_C" >&6
++LD_RPATH_OPT=
++echo "$as_me:15747: checking for an rpath option" >&5
++echo $ECHO_N "checking for an rpath option... $ECHO_C" >&6
++case $cf_cv_system_name in #(vi
++irix*) #(vi
++ if test "$GCC" = yes; then
++ LD_RPATH_OPT="-Wl,-rpath,"
++ else
++ LD_RPATH_OPT="-rpath "
++ fi
++ ;;
++linux*|gnu*|k*bsd*-gnu) #(vi
++ LD_RPATH_OPT="-Wl,-rpath,"
++ ;;
++openbsd[2-9].*|mirbsd*) #(vi
++ LD_RPATH_OPT="-Wl,-rpath,"
++ ;;
++dragonfly*|freebsd*) #(vi
++ LD_RPATH_OPT="-rpath "
++ ;;
++netbsd*) #(vi
++ LD_RPATH_OPT="-Wl,-rpath,"
++ ;;
++osf*|mls+*) #(vi
++ LD_RPATH_OPT="-rpath "
++ ;;
++solaris2*) #(vi
++ LD_RPATH_OPT="-R"
++ ;;
++*)
++ ;;
++esac
++echo "$as_me:15778: result: $LD_RPATH_OPT" >&5
++echo "${ECHO_T}$LD_RPATH_OPT" >&6
+
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 14932 "configure"
++case "x$LD_RPATH_OPT" in #(vi
++x-R*)
++ echo "$as_me:15783: checking if we need a space after rpath option" >&5
++echo $ECHO_N "checking if we need a space after rpath option... $ECHO_C" >&6
++ cf_save_LIBS="$LIBS"
++ LIBS="${LD_RPATH_OPT}$libdir $LIBS"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 15788 "configure"
+ #include "confdefs.h"
+
+-#ifdef HAVE_XCURSES
+-#include <xcurses.h>
+-char * XCursesProgramName = "test";
+-#else
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
+-#include <ncursesw/term.h>
+-#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
+-#include <ncurses/term.h>
+-#elif defined(HAVE_TERM_H)
+-#include <term.h>
+-#endif
+-#endif
+-
+ int
+ main ()
+ {
+
+-void *foo = &(boolfnames)
+-
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14960: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:15800: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:14963: \$? = $ac_status" >&5
++ echo "$as_me:15803: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14966: \"$ac_try\"") >&5
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:15806: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14969: \$? = $ac_status" >&5
++ echo "$as_me:15809: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_result=yes
++ cf_rpath_space=no
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_result=no
++cf_rpath_space=yes
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-echo "$as_me:14978: result: $cf_result" >&5
+-echo "${ECHO_T}$cf_result" >&6
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++ LIBS="$cf_save_LIBS"
++ echo "$as_me:15819: result: $cf_rpath_space" >&5
++echo "${ECHO_T}$cf_rpath_space" >&6
++ test "$cf_rpath_space" = yes && LD_RPATH_OPT="$LD_RPATH_OPT "
++ ;;
++esac
+
+-if test $cf_result = yes ; then
++echo "$as_me:15825: checking if rpath-hack should be disabled" >&5
++echo $ECHO_N "checking if rpath-hack should be disabled... $ECHO_C" >&6
+
+-cf_result=`echo "have_curses_data_boolfnames" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++# Check whether --enable-rpath-hack or --disable-rpath-hack was given.
++if test "${enable_rpath_hack+set}" = set; then
++ enableval="$enable_rpath_hack"
++ test "$enableval" != no && enableval=yes
++ if test "$enableval" != "yes" ; then
++ cf_disable_rpath_hack=yes
++ else
++ cf_disable_rpath_hack=no
++ fi
++else
++ enableval=yes
++ cf_disable_rpath_hack=no
+
+- cat >>confdefs.h <<EOF
+-#define $cf_result 1
+-EOF
++fi;
++echo "$as_me:15842: result: $cf_disable_rpath_hack" >&5
++echo "${ECHO_T}$cf_disable_rpath_hack" >&6
++if test "$cf_disable_rpath_hack" = no ; then
++
++echo "$as_me:15846: checking for updated LDFLAGS" >&5
++echo $ECHO_N "checking for updated LDFLAGS... $ECHO_C" >&6
++if test -n "$LD_RPATH_OPT" ; then
++ echo "$as_me:15849: result: maybe" >&5
++echo "${ECHO_T}maybe" >&6
+
++ for ac_prog in ldd
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++echo "$as_me:15856: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_cf_ldd_prog+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- echo "$as_me:14990: checking for data boolfnames in library" >&5
+-echo $ECHO_N "checking for data boolfnames in library... $ECHO_C" >&6
+- # BSD linkers insist on making weak linkage, but resolve at runtime.
+- if test "$cross_compiling" = yes; then
++ if test -n "$cf_ldd_prog"; then
++ ac_cv_prog_cf_ldd_prog="$cf_ldd_prog" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_cf_ldd_prog="$ac_prog"
++echo "$as_me:15871: found $ac_dir/$ac_word" >&5
++break
++done
+
+- # cross-compiling
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 14997 "configure"
+-#include "confdefs.h"
++fi
++fi
++cf_ldd_prog=$ac_cv_prog_cf_ldd_prog
++if test -n "$cf_ldd_prog"; then
++ echo "$as_me:15879: result: $cf_ldd_prog" >&5
++echo "${ECHO_T}$cf_ldd_prog" >&6
++else
++ echo "$as_me:15882: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
+
+-#ifdef HAVE_XCURSES
+-#include <xcurses.h>
+-char * XCursesProgramName = "test";
+-#else
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
+-#include <ncursesw/term.h>
+-#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
+-#include <ncurses/term.h>
+-#elif defined(HAVE_TERM_H)
+-#include <term.h>
+-#endif
+-#endif
++ test -n "$cf_ldd_prog" && break
++done
++test -n "$cf_ldd_prog" || cf_ldd_prog="no"
+
+-extern char boolfnames;
++ cf_rpath_list="/usr/lib /lib"
++ if test "$cf_ldd_prog" != no
++ then
++ cf_rpath_oops=
++
++cat >conftest.$ac_ext <<_ACEOF
++#line 15896 "configure"
++#include "confdefs.h"
++#include <stdio.h>
+ int
+ main ()
+ {
+-
+- do {
+- void *foo = &(boolfnames);
+- ${cf_cv_main_return:-return}(foo == 0);
+- } while (0)
+-
++printf("Hello");
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:15029: \"$ac_link\"") >&5
++if { (eval echo "$as_me:15908: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:15032: \$? = $ac_status" >&5
++ echo "$as_me:15911: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:15035: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15914: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15038: \$? = $ac_status" >&5
++ echo "$as_me:15917: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_result=yes
++ cf_rpath_oops=`$cf_ldd_prog conftest$ac_exeext | fgrep ' not found' | sed -e 's% =>.*$%%' |sort -u`
++ cf_rpath_list=`$cf_ldd_prog conftest$ac_exeext | fgrep / | sed -e 's%^.*[ ]/%/%' -e 's%/[^/][^/]*$%%' |sort -u`
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_result=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 15050 "configure"
+-#include "confdefs.h"
++ # If we passed the link-test, but get a "not found" on a given library,
++ # this could be due to inept reconfiguration of gcc to make it only
++ # partly honor /usr/local/lib (or whatever). Sometimes this behavior
++ # is intentional, e.g., installing gcc in /usr/bin and suppressing the
++ # /usr/local libraries.
++ if test -n "$cf_rpath_oops"
++ then
++ for cf_rpath_src in $cf_rpath_oops
++ do
++ for cf_rpath_dir in \
++ /usr/local \
++ /usr/pkg \
++ /opt/sfw
++ do
++ if test -f $cf_rpath_dir/lib/$cf_rpath_src
++ then
++ test -n "$verbose" && echo " ...adding -L$cf_rpath_dir/lib to LDFLAGS for $cf_rpath_src" 1>&6
++
++echo "${as_me:-configure}:15945: testing ...adding -L$cf_rpath_dir/lib to LDFLAGS for $cf_rpath_src ..." 1>&5
++
++ LDFLAGS="$LDFLAGS -L$cf_rpath_dir/lib"
++ break
++ fi
++ done
++ done
++ fi
++ fi
+
+-#ifdef HAVE_XCURSES
+-#include <xcurses.h>
+-char * XCursesProgramName = "test";
+-#else
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
+-#include <ncursesw/term.h>
+-#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
+-#include <ncurses/term.h>
+-#elif defined(HAVE_TERM_H)
+-#include <term.h>
+-#endif
+-#endif
++ test -n "$verbose" && echo " ...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS" 1>&6
+
+-extern char boolfnames;
+-int main(void)
+-{
+- void *foo = &(boolfnames);
+- ${cf_cv_main_return:-return}(foo == 0);
+-}
+-_ACEOF
+-rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:15075: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:15078: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:15080: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:15083: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- cf_result=yes
+-else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-cf_result=no
+-fi
+-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+-fi
+- echo "$as_me:15094: result: $cf_result" >&5
+-echo "${ECHO_T}$cf_result" >&6
+- if test $cf_result = yes ; then
++echo "${as_me:-configure}:15957: testing ...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS ..." 1>&5
+
+-cf_result=`echo "decl_curses_data_boolfnames" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++test -n "$verbose" && echo " ...checking LDFLAGS $LDFLAGS" 1>&6
+
+- cat >>confdefs.h <<EOF
+-#define $cf_result 1
+-EOF
++echo "${as_me:-configure}:15961: testing ...checking LDFLAGS $LDFLAGS ..." 1>&5
++
++cf_rpath_dst=
++for cf_rpath_src in $LDFLAGS
++do
++ case $cf_rpath_src in #(vi
++ -L*) #(vi
++
++ # check if this refers to a directory which we will ignore
++ cf_rpath_skip=no
++ if test -n "$cf_rpath_list"
++ then
++ for cf_rpath_item in $cf_rpath_list
++ do
++ if test "x$cf_rpath_src" = "x-L$cf_rpath_item"
++ then
++ cf_rpath_skip=yes
++ break
++ fi
++ done
++ fi
++
++ if test "$cf_rpath_skip" = no
++ then
++ # transform the option
++ if test "$LD_RPATH_OPT" = "-R " ; then
++ cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%-R %"`
++ else
++ cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%$LD_RPATH_OPT%"`
++ fi
++
++ # if we have not already added this, add it now
++ cf_rpath_tst=`echo "$EXTRA_LDFLAGS" | sed -e "s%$cf_rpath_tmp %%"`
++ if test "x$cf_rpath_tst" = "x$EXTRA_LDFLAGS"
++ then
++ test -n "$verbose" && echo " ...Filter $cf_rpath_src ->$cf_rpath_tmp" 1>&6
++
++echo "${as_me:-configure}:15998: testing ...Filter $cf_rpath_src ->$cf_rpath_tmp ..." 1>&5
++
++ EXTRA_LDFLAGS="$cf_rpath_tmp $EXTRA_LDFLAGS"
++ fi
++ fi
++ ;;
++ esac
++ cf_rpath_dst="$cf_rpath_dst $cf_rpath_src"
++done
++LDFLAGS=$cf_rpath_dst
++
++test -n "$verbose" && echo " ...checked LDFLAGS $LDFLAGS" 1>&6
++
++echo "${as_me:-configure}:16011: testing ...checked LDFLAGS $LDFLAGS ..." 1>&5
++
++test -n "$verbose" && echo " ...checking LIBS $LIBS" 1>&6
++
++echo "${as_me:-configure}:16015: testing ...checking LIBS $LIBS ..." 1>&5
++
++cf_rpath_dst=
++for cf_rpath_src in $LIBS
++do
++ case $cf_rpath_src in #(vi
++ -L*) #(vi
++
++ # check if this refers to a directory which we will ignore
++ cf_rpath_skip=no
++ if test -n "$cf_rpath_list"
++ then
++ for cf_rpath_item in $cf_rpath_list
++ do
++ if test "x$cf_rpath_src" = "x-L$cf_rpath_item"
++ then
++ cf_rpath_skip=yes
++ break
++ fi
++ done
++ fi
++
++ if test "$cf_rpath_skip" = no
++ then
++ # transform the option
++ if test "$LD_RPATH_OPT" = "-R " ; then
++ cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%-R %"`
++ else
++ cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%$LD_RPATH_OPT%"`
++ fi
++
++ # if we have not already added this, add it now
++ cf_rpath_tst=`echo "$EXTRA_LDFLAGS" | sed -e "s%$cf_rpath_tmp %%"`
++ if test "x$cf_rpath_tst" = "x$EXTRA_LDFLAGS"
++ then
++ test -n "$verbose" && echo " ...Filter $cf_rpath_src ->$cf_rpath_tmp" 1>&6
++
++echo "${as_me:-configure}:16052: testing ...Filter $cf_rpath_src ->$cf_rpath_tmp ..." 1>&5
++
++ EXTRA_LDFLAGS="$cf_rpath_tmp $EXTRA_LDFLAGS"
++ fi
++ fi
++ ;;
++ esac
++ cf_rpath_dst="$cf_rpath_dst $cf_rpath_src"
++done
++LIBS=$cf_rpath_dst
++
++test -n "$verbose" && echo " ...checked LIBS $LIBS" 1>&6
++
++echo "${as_me:-configure}:16065: testing ...checked LIBS $LIBS ..." 1>&5
++
++ test -n "$verbose" && echo " ...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS" 1>&6
++
++echo "${as_me:-configure}:16069: testing ...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS ..." 1>&5
++
++fi
+
+- fi
+ fi
+
+ TEST_ARGS="$LIBS"
+@@ -15188,7 +16156,7 @@
+ : ${CONFIG_STATUS=./config.status}
+ ac_clean_files_save=$ac_clean_files
+ ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+-{ echo "$as_me:15191: creating $CONFIG_STATUS" >&5
++{ echo "$as_me:16159: creating $CONFIG_STATUS" >&5
+ echo "$as_me: creating $CONFIG_STATUS" >&6;}
+ cat >$CONFIG_STATUS <<_ACEOF
+ #! $SHELL
+@@ -15320,7 +16288,7 @@
+ cat >>$CONFIG_STATUS <<EOF
+ ac_cs_version="\\
+ config.status
+-configured by $0, generated by GNU Autoconf 2.52.20101002,
++configured by $0, generated by GNU Autoconf 2.52.20121002,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+ Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+@@ -15364,7 +16332,7 @@
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+- { { echo "$as_me:15367: error: ambiguous option: $1
++ { { echo "$as_me:16335: error: ambiguous option: $1
+ Try \`$0 --help' for more information." >&5
+ echo "$as_me: error: ambiguous option: $1
+ Try \`$0 --help' for more information." >&2;}
+@@ -15383,7 +16351,7 @@
+ ac_need_defaults=false;;
+
+ # This is an error.
+- -*) { { echo "$as_me:15386: error: unrecognized option: $1
++ -*) { { echo "$as_me:16354: error: unrecognized option: $1
+ Try \`$0 --help' for more information." >&5
+ echo "$as_me: error: unrecognized option: $1
+ Try \`$0 --help' for more information." >&2;}
+@@ -15402,7 +16370,7 @@
+ ## Running config.status. ##
+ ## ----------------------- ##
+
+-This file was extended by $as_me 2.52.20101002, executed with
++This file was extended by $as_me 2.52.20121002, executed with
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+@@ -15419,7 +16387,9 @@
+ #
+
+ AWK="$AWK"
++ECHO_CC="$ECHO_CC"
+ ECHO_LD="$ECHO_LD"
++SHOW_CC="$SHOW_LD"
+
+ EOF
+
+@@ -15431,7 +16401,7 @@
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
+ "ncurses_cfg.h" ) CONFIG_HEADERS="$CONFIG_HEADERS ncurses_cfg.h:ncurses_tst.hin" ;;
+- *) { { echo "$as_me:15434: error: invalid argument: $ac_config_target" >&5
++ *) { { echo "$as_me:16404: error: invalid argument: $ac_config_target" >&5
+ echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+@@ -15490,6 +16460,7 @@
+ s,@bindir@,$bindir,;t t
+ s,@sbindir@,$sbindir,;t t
+ s,@libexecdir@,$libexecdir,;t t
++s,@datarootdir@,$datarootdir,;t t
+ s,@datadir@,$datadir,;t t
+ s,@sysconfdir@,$sysconfdir,;t t
+ s,@sharedstatedir@,$sharedstatedir,;t t
+@@ -15529,6 +16500,7 @@
+ s,@ac_ct_CC@,$ac_ct_CC,;t t
+ s,@EXEEXT@,$EXEEXT,;t t
+ s,@OBJEXT@,$OBJEXT,;t t
++s,@EXTRA_CPPFLAGS@,$EXTRA_CPPFLAGS,;t t
+ s,@CPP@,$CPP,;t t
+ s,@AWK@,$AWK,;t t
+ s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+@@ -15541,6 +16513,7 @@
+ s,@MAKE_LOWER_TAGS@,$MAKE_LOWER_TAGS,;t t
+ s,@MAKE_UPPER_TAGS@,$MAKE_UPPER_TAGS,;t t
+ s,@MATH_LIB@,$MATH_LIB,;t t
++s,@top_builddir@,$top_builddir,;t t
+ s,@CC_G_OPT@,$CC_G_OPT,;t t
+ s,@CC_SHARED_OPTS@,$CC_SHARED_OPTS,;t t
+ s,@DFT_DEP_SUFFIX@,$DFT_DEP_SUFFIX,;t t
+@@ -15561,25 +16534,29 @@
+ s,@TEST_ARGS@,$TEST_ARGS,;t t
+ s,@TEST_DEPS@,$TEST_DEPS,;t t
+ s,@TEST_LIBS@,$TEST_LIBS,;t t
+-s,@TINFO_ARGS@,$TINFO_ARGS,;t t
++s,@TINFO_LDFLAGS@,$TINFO_LDFLAGS,;t t
++s,@TINFO_LIBS@,$TINFO_LIBS,;t t
+ s,@cf_cv_abi_version@,$cf_cv_abi_version,;t t
+ s,@cf_cv_rel_version@,$cf_cv_rel_version,;t t
+-s,@EXTRA_CPPFLAGS@,$EXTRA_CPPFLAGS,;t t
++s,@PKG_CONFIG@,$PKG_CONFIG,;t t
++s,@ac_pt_PKG_CONFIG@,$ac_pt_PKG_CONFIG,;t t
+ s,@ECHO_LT@,$ECHO_LT,;t t
+ s,@ECHO_LD@,$ECHO_LD,;t t
+ s,@RULE_CC@,$RULE_CC,;t t
+ s,@SHOW_CC@,$SHOW_CC,;t t
+ s,@ECHO_CC@,$ECHO_CC,;t t
+-s,@EXTRA_CFLAGS@,$EXTRA_CFLAGS,;t t
++s,@NCURSES_WRAP_PREFIX@,$NCURSES_WRAP_PREFIX,;t t
+ s,@NCURSES_CONFIG@,$NCURSES_CONFIG,;t t
+-s,@PKG_CONFIG@,$PKG_CONFIG,;t t
+-s,@ac_pt_PKG_CONFIG@,$ac_pt_PKG_CONFIG,;t t
++s,@ac_ct_NCURSES_CONFIG@,$ac_ct_NCURSES_CONFIG,;t t
+ s,@X_CFLAGS@,$X_CFLAGS,;t t
+ s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t
+ s,@X_LIBS@,$X_LIBS,;t t
+ s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t
+ s,@XCURSES_CONFIG@,$XCURSES_CONFIG,;t t
+-s,@NCURSES_WRAP_PREFIX@,$NCURSES_WRAP_PREFIX,;t t
++s,@ac_ct_XCURSES_CONFIG@,$ac_ct_XCURSES_CONFIG,;t t
++s,@EXTRA_CFLAGS@,$EXTRA_CFLAGS,;t t
++s,@cf_ldd_prog@,$cf_ldd_prog,;t t
++s,@EXTRA_LDFLAGS@,$EXTRA_LDFLAGS,;t t
+ CEOF
+
+ EOF
+@@ -15694,7 +16671,7 @@
+ esac
+
+ if test x"$ac_file" != x-; then
+- { echo "$as_me:15697: creating $ac_file" >&5
++ { echo "$as_me:16674: creating $ac_file" >&5
+ echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+@@ -15712,7 +16689,7 @@
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+- test -f "$f" || { { echo "$as_me:15715: error: cannot find input file: $f" >&5
++ test -f "$f" || { { echo "$as_me:16692: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+@@ -15725,13 +16702,45 @@
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+- { { echo "$as_me:15728: error: cannot find input file: $f" >&5
++ { { echo "$as_me:16705: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+ EOF
++cat >>$CONFIG_STATUS <<\EOF
++ ac_warn_datarootdir=no
++ if test x"$ac_file" != x-; then
++ for ac_item in $ac_file_inputs
++ do
++ ac_seen=`grep '@\(datadir\|mandir\|infodir\)@' $ac_item`
++ if test -n "$ac_seen"; then
++ ac_used=`grep '@datarootdir@' $ac_item`
++ if test -z "$ac_used"; then
++ { echo "$as_me:16721: WARNING: datarootdir was used implicitly but not set:
++$ac_seen" >&5
++echo "$as_me: WARNING: datarootdir was used implicitly but not set:
++$ac_seen" >&2;}
++ ac_warn_datarootdir=yes
++ fi
++ fi
++ ac_seen=`grep '${datarootdir}' $ac_item`
++ if test -n "$ac_seen"; then
++ { echo "$as_me:16730: WARNING: datarootdir was used explicitly but not set:
++$ac_seen" >&5
++echo "$as_me: WARNING: datarootdir was used explicitly but not set:
++$ac_seen" >&2;}
++ ac_warn_datarootdir=yes
++ fi
++ done
++ fi
++
++if test "x$ac_warn_datarootdir" = xyes; then
++ ac_sed_cmds="$ac_sed_cmds | sed -e 's,@datarootdir@,\${prefix}/share,g' -e 's,\${datarootdir},\${prefix}/share,g'"
++fi
++
++EOF
+ cat >>$CONFIG_STATUS <<EOF
+ sed "$ac_vpsub
+ $extrasub
+@@ -15746,11 +16755,35 @@
+ " $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+- mv $tmp/out $ac_file
++ cp $tmp/out $ac_file
++
++ for ac_name in prefix exec_prefix datarootdir
++ do
++ ac_seen=`fgrep -n '${'$ac_name'[:=].*}' $ac_file`
++ if test -n "$ac_seen"; then
++ ac_init=`egrep '[ ]*'$ac_name'[ ]*=' $ac_file`
++ if test -z "$ac_init"; then
++ ac_seen=`echo "$ac_seen" |sed -e 's,^,'$ac_file':,'`
++ { echo "$as_me:16767: WARNING: Variable $ac_name is used but was not set:
++$ac_seen" >&5
++echo "$as_me: WARNING: Variable $ac_name is used but was not set:
++$ac_seen" >&2;}
++ fi
++ fi
++ done
++ egrep -n '@[a-z_][a-z_0-9]+@' $ac_file >$tmp/out
++ egrep -n '@[A-Z_][A-Z_0-9]+@' $ac_file >>$tmp/out
++ if test -s $tmp/out; then
++ ac_seen=`sed -e 's,^,'$ac_file':,' < $tmp/out`
++ { echo "$as_me:16778: WARNING: Some variables may not be substituted:
++$ac_seen" >&5
++echo "$as_me: WARNING: Some variables may not be substituted:
++$ac_seen" >&2;}
++ fi
+ else
+ cat $tmp/out
+- rm -f $tmp/out
+ fi
++ rm -f $tmp/out
+
+ done
+ EOF
+@@ -15791,7 +16824,7 @@
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+- test x"$ac_file" != x- && { echo "$as_me:15794: creating $ac_file" >&5
++ test x"$ac_file" != x- && { echo "$as_me:16827: creating $ac_file" >&5
+ echo "$as_me: creating $ac_file" >&6;}
+
+ # First look for the input files in the build tree, otherwise in the
+@@ -15802,7 +16835,7 @@
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+- test -f "$f" || { { echo "$as_me:15805: error: cannot find input file: $f" >&5
++ test -f "$f" || { { echo "$as_me:16838: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+@@ -15815,7 +16848,7 @@
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+- { { echo "$as_me:15818: error: cannot find input file: $f" >&5
++ { { echo "$as_me:16851: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+@@ -15873,7 +16906,7 @@
+ rm -f $tmp/in
+ if test x"$ac_file" != x-; then
+ if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
+- { echo "$as_me:15876: $ac_file is unchanged" >&5
++ { echo "$as_me:16909: $ac_file is unchanged" >&5
+ echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+@@ -15949,7 +16982,8 @@
+ \$(MODEL)/$N.o : \$(srcdir)/$N.c \\
+ \$(srcdir)/test.priv.h \\
+ ncurses_cfg.h
+- @echo compiling $N; \$(CC) -c \$(CFLAGS_DEFAULT) \$(srcdir)/$N.c
++ $SHOW_CC
++ $ECHO_CC\$(CC) -c \$(CFLAGS_DEFAULT) \$(srcdir)/$N.c
+ TEST_EOF
+ done
+
+Index: test/configure.in
+Prereq: 1.90
+--- ncurses-5.9/test/configure.in 2011-03-22 09:15:08.000000000 +0000
++++ ncurses-5.9-20130504/test/configure.in 2013-04-27 19:45:29.000000000 +0000
+@@ -1,5 +1,5 @@
+ dnl***************************************************************************
+-dnl Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++dnl Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ dnl *
+ dnl Permission is hereby granted, free of charge, to any person obtaining a *
+ dnl copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ dnl
+ dnl Author: Thomas E. Dickey 1996, etc.
+ dnl
+-dnl $Id: configure.in,v 1.90 2011/03/22 09:15:08 tom Exp $
++dnl $Id: configure.in,v 1.111 2013/04/27 19:45:29 tom Exp $
+ dnl This is a simple configuration-script for the ncurses test programs that
+ dnl allows the test-directory to be separately configured against a reference
+ dnl system (i.e., sysvr4 curses)
+@@ -38,7 +38,7 @@
+ dnl
+ dnl See http://invisible-island.net/autoconf/ for additional information.
+ dnl ---------------------------------------------------------------------------
+-AC_PREREQ(2.13.20020210)
++AC_PREREQ(2.52.20030208)
+ AC_INIT(ncurses.c)
+ AC_CONFIG_HEADER(ncurses_cfg.h:ncurses_tst.hin)
+
+@@ -49,7 +49,7 @@
+ AC_ARG_PROGRAM
+
+ AC_PROG_MAKE_SET
+-AC_PROG_CC
++CF_PROG_CC
+ AC_PROG_CPP
+ AC_PROG_AWK
+ CF_PROG_INSTALL
+@@ -60,6 +60,7 @@
+ AC_SUBST(MATH_LIB)
+
+ dnl Things that we don't need (or must override) if we're not building ncurses
++CF_TOP_BUILDDIR
+ CC_G_OPT="-g" AC_SUBST(CC_G_OPT)
+ CC_SHARED_OPTS=unknown AC_SUBST(CC_SHARED_OPTS)
+ CPPFLAGS="$CPPFLAGS" AC_SUBST(CPPFLAGS)
+@@ -81,7 +82,8 @@
+ TEST_ARGS="" AC_SUBST(TEST_ARGS)
+ TEST_DEPS="" AC_SUBST(TEST_DEPS)
+ TEST_LIBS="" AC_SUBST(TEST_LIBS)
+-TINFO_ARGS='$(LIBS_CURSES)' AC_SUBST(TINFO_ARGS)
++TINFO_LDFLAGS='' AC_SUBST(TINFO_LDFLAGS)
++TINFO_LIBS='$(LIBS_CURSES)' AC_SUBST(TINFO_LIBS)
+ cf_cv_abi_version="" AC_SUBST(cf_cv_abi_version)
+ cf_cv_rel_version="" AC_SUBST(cf_cv_rel_version)
+
+@@ -91,55 +93,38 @@
+ AC_EXEEXT
+ AC_OBJEXT
+
+-CF_ANSI_CC_REQD
+ CF_GCC_ATTRIBUTES
+ CF_XOPEN_SOURCE
+-AC_C_CONST
+ CF_SIG_ATOMIC_T
+
++dnl ---------------------------------------------------------------------------
++CF_HELP_MESSAGE(General Options:)
++CF_PKG_CONFIG
+ CF_DISABLE_ECHO
+-CF_ENABLE_WARNINGS
+
+-CF_DISABLE_LEAKS
+-CF_WITH_CURSES_DIR
++dnl ---------------------------------------------------------------------------
++CF_HELP_MESSAGE(Curses Version-dependent Options:)
++CF_NCURSES_WRAP_PREFIX
+
+-dnl SunOS 4.x
+-AC_ARG_WITH(5lib,
+- [ --with-5lib use SunOS sysv-libraries],
+- [LIBS="-L/usr/5lib $LIBS"
+- CPPFLAGS="$CPPFLAGS -I/usr/5include"])
++AC_MSG_CHECKING(if you want to check for wide-character functions)
++CF_ARG_DISABLE(widec,
++ [ --disable-widec disable checks for wide-character functions],
++ cf_enable_widec=no,
++ cf_enable_widec=yes,
++ yes)
++AC_MSG_RESULT($cf_enable_widec)
+
+ dnl ---------------------------------------------------------------------------
+-dnl NcursesW, installed in conventional location
+-AC_ARG_WITH(ncursesw,
+- [ --with-ncursesw use wide ncurses-libraries (installed)],
+- [cf_cv_screen=ncursesw],[
+-
+-dnl Ncurses, installed in conventional location
+-AC_ARG_WITH(ncurses,
+- [ --with-ncurses use ncurses-libraries (installed)],
+- [cf_cv_screen=ncurses],[
+-
+-AC_ARG_WITH(pdcurses,
+- [ --with-pdcurses compile/link with pdcurses X11 library],
+- [cf_cv_screen=pdcurses])])])
++CF_HELP_MESSAGE(Curses Version-dependent Options:)
++CF_WITH_NCURSES_ETC
+
+ case $cf_cv_screen in
+-curses)
+- CF_CURSES_CONFIG
++curses|curses_*)
+ CF_NETBSD_FORM_H
+ CF_NETBSD_MENU_H
+ ;;
+-ncurses)
+- CF_NCURSES_CONFIG
+- ;;
+ ncursesw)
+ cf_cv_libtype=w
+- CF_UTF8_LIB
+- CF_NCURSES_CONFIG(ncursesw)
+- ;;
+-pdcurses) #(vi
+- CF_PDCURSES_X11
+ ;;
+ esac
+
+@@ -153,9 +138,12 @@
+ ;;
+ *)
+ # look for curses-related libraries
+- AC_CHECK_LIB(panel$cf_cv_libtype,new_panel)
+- AC_CHECK_LIB(menu$cf_cv_libtype,menu_driver)
+- AC_CHECK_LIB(form$cf_cv_libtype,form_driver)
++ : ${cf_panel_lib:=panel}
++ : ${cf_menu_lib:=menu}
++ : ${cf_form_lib:=form}
++ AC_CHECK_LIB($cf_panel_lib$cf_cv_libtype,new_panel)
++ AC_CHECK_LIB($cf_menu_lib$cf_cv_libtype,menu_driver)
++ AC_CHECK_LIB($cf_form_lib$cf_cv_libtype,form_driver)
+
+ # look for curses-related headers
+ AC_CHECK_HEADERS( \
+@@ -169,8 +157,6 @@
+ ;;
+ esac
+
+-AC_TYPE_SIGNAL
+-
+ AC_STDC_HEADERS
+ AC_HEADER_TIME
+ AC_CHECK_HEADERS( \
+@@ -185,20 +171,27 @@
+ unistd.h \
+ )
+
++CF_GETOPT_HEADER
++
+ AC_CHECK_FUNCS( \
+ gettimeofday \
++)
++
++if test "$cf_enable_widec" = yes; then
++AC_CHECK_FUNCS( \
+ mblen \
+ mbrlen \
+ mbrtowc \
+ mbsrtowcs \
+ mbstowcs \
+ mbtowc \
+-strdup \
+ wcsrtombs \
+ wcstombs \
+ )
++fi
+
+ CF_CURSES_FUNCS( \
++assume_default_colors \
+ chgat \
+ color_set \
+ filter \
+@@ -225,61 +218,104 @@
+ tigetstr \
+ typeahead \
+ use_default_colors \
+-vw_printw \
++use_screen \
++use_window \
+ vsscanf \
++vw_printw \
+ wchgat \
+ winsstr \
+ wresize \
+ wsyncdown \
+ )
+
++CF_TPUTS_PROTO
+ CF_NCURSES_EXT_FUNCS
+
+-AC_CACHE_CHECK(for wide-character functions,cf_cv_widechar_funcs,[
+-AC_TRY_LINK([
++if test "$cf_enable_widec" = yes
++then
++ # workaround for systems with ncurses before 20111029, due to change of
++ # feature test macro from _XPG5 to _XOPEN_SOURCE
++ if test -n "$cf_cv_ncurses_version" && test "x$cf_cv_ncurses_version" != xno
++ then
++ cf_define_xpg5=no
++ AC_MSG_CHECKING(if _XPG5 should be defined to enable wide-characters)
++
++ AC_TRY_COMPILE([
++#include <${cf_cv_ncurses_header:-curses.h}>],
++ [int x = _XPG5],,
++ [cf_save_cppflags="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -D_XPG5"
++ AC_TRY_COMPILE([
++#include <${cf_cv_ncurses_header:-curses.h}>],
++ [int x = _XPG5],
++ [cf_define_xpg5=yes])
++ CPPFLAGS="$cf_save_cppflags"])
++ AC_MSG_RESULT($cf_define_xpg5)
++
++ if test "$cf_define_xpg5" = yes
++ then
++ CPPFLAGS="$CPPFLAGS -D_XPG5"
++ fi
++ fi
++
++ AC_CACHE_CHECK(for wide-character functions,cf_cv_widechar_funcs,[
++ AC_TRY_LINK([
+ #include <${cf_cv_ncurses_header:-curses.h}>],
+-[
+- static wchar_t src_wchar[2];
+- static cchar_t dst_cchar;
+- setcchar(&dst_cchar, src_wchar, A_NORMAL, 0, (void *) 0);
+- ],
+- [cf_cv_widechar_funcs=yes],
+- [cf_cv_widechar_funcs=no])
+-])
+-if test "$cf_cv_widechar_funcs" != no ; then
+- AC_DEFINE(USE_WIDEC_SUPPORT,1)
++ [
++ static wchar_t src_wchar[2];
++ static cchar_t dst_cchar;
++ setcchar(&dst_cchar, src_wchar, A_NORMAL, 0, (void *) 0);
++ ],
++ [cf_cv_widechar_funcs=yes],
++ [cf_cv_widechar_funcs=no])
++ ])
++ if test "$cf_cv_widechar_funcs" != no ; then
++ AC_DEFINE(USE_WIDEC_SUPPORT,1,[Define to 1 to enable wide-character support in (n)curses])
++ else
++ AC_DEFINE(USE_WIDEC_SUPPORT,0)
++ fi
+ else
+ AC_DEFINE(USE_WIDEC_SUPPORT,0)
+ fi
+
+-AC_FUNC_VFORK
+ CF_SYS_TIME_SELECT
+ CF_FUNC_CURSES_VERSION
+-CF_CURSES_ACS_MAP
+-CF_CURSES_WACS_MAP
+-CF_CURSES_WACS_SYMBOLS
+-
+-CF_CURSES_CHECK_TYPE(attr_t,long)
+-
+-CF_WCHAR_TYPE(mbstate_t, NCURSES_MBSTATE_T, NCURSES_OK_MBSTATE_T)
+-CF_WCHAR_TYPE(wchar_t, NCURSES_WCHAR_T, NCURSES_OK_WCHAR_T)
+-CF_WCHAR_TYPE(wint_t, NCURSES_WINT_T, NCURSES_OK_WINT_T)
+
+-if test "$NCURSES_OK_MBSTATE_T" = 0 ; then
+- CF_CURSES_CHECK_TYPE(mbstate_t,long)
++CF_CURSES_ACS_MAP
++if test "$cf_enable_widec" = yes; then
++ CF_CURSES_WACS_MAP
++ CF_CURSES_WACS_SYMBOLS
+ fi
+
+-if test "$NCURSES_OK_WCHAR_T" = 0 ; then
+- CF_CURSES_CHECK_TYPE(wchar_t,long)
+-fi
++CF_CURSES_CHECK_TYPE(attr_t,long)
+
+-if test "$NCURSES_OK_WINT_T" = 0 ; then
+- CF_CURSES_CHECK_TYPE(wint_t,long)
++if test "$cf_enable_widec" = yes; then
++ CF_WCHAR_TYPE(mbstate_t, NCURSES_MBSTATE_T, NCURSES_OK_MBSTATE_T)
++ CF_WCHAR_TYPE(wchar_t, NCURSES_WCHAR_T, NCURSES_OK_WCHAR_T)
++ CF_WCHAR_TYPE(wint_t, NCURSES_WINT_T, NCURSES_OK_WINT_T)
++
++ if test "$NCURSES_OK_MBSTATE_T" = 0 ; then
++ CF_CURSES_CHECK_TYPE(mbstate_t,long)
++ fi
++
++ if test "$NCURSES_OK_WCHAR_T" = 0 ; then
++ CF_CURSES_CHECK_TYPE(wchar_t,long)
++ fi
++
++ if test "$NCURSES_OK_WINT_T" = 0 ; then
++ CF_CURSES_CHECK_TYPE(wint_t,long)
++ fi
+ fi
+
+ CF_CURSES_CHECK_DATA(boolnames)
+ CF_CURSES_CHECK_DATA(boolfnames)
+
++dnl ---------------------------------------------------------------------------
++CF_HELP_MESSAGE(Testing/development Options:)
++CF_ENABLE_WARNINGS
++CF_DISABLE_LEAKS
++CF_DISABLE_RPATH_HACK
++
+ TEST_ARGS="$LIBS"
+ LIBS=
+
+@@ -302,7 +338,8 @@
+ \$(MODEL)/$N.o : \$(srcdir)/$N.c \\
+ \$(srcdir)/test.priv.h \\
+ ncurses_cfg.h
+- @echo compiling $N; \$(CC) -c \$(CFLAGS_DEFAULT) \$(srcdir)/$N.c
++ $SHOW_CC
++ $ECHO_CC\$(CC) -c \$(CFLAGS_DEFAULT) \$(srcdir)/$N.c
+ TEST_EOF
+ done
+
+@@ -317,5 +354,7 @@
+ fi
+ ],[
+ AWK="$AWK"
++ECHO_CC="$ECHO_CC"
+ ECHO_LD="$ECHO_LD"
++SHOW_CC="$SHOW_LD"
+ ],cat)
+Index: test/demo_defkey.c
+Prereq: 1.20
+--- ncurses-5.9/test/demo_defkey.c 2010-11-14 00:59:35.000000000 +0000
++++ ncurses-5.9-20130504/test/demo_defkey.c 2012-12-29 22:55:39.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2002-2007,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2008,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: demo_defkey.c,v 1.20 2010/11/14 00:59:35 tom Exp $
++ * $Id: demo_defkey.c,v 1.21 2012/12/29 22:55:39 tom Exp $
+ *
+ * Demonstrate the define_key() function.
+ * Thomas Dickey - 2002/11/23
+@@ -106,7 +106,7 @@
+ for (pass = 0; pass < 2; ++pass) {
+ for (n = 0; string[n] != '\0'; ++n) {
+ char temp[80];
+- strcpy(temp, visichar(string[n]));
++ strncpy(temp, visichar(string[n]), sizeof(temp) - 2);
+ if (pass)
+ strcat(result, temp);
+ else
+Index: test/demo_forms.c
+Prereq: 1.38
+--- ncurses-5.9/test/demo_forms.c 2011-01-15 18:15:11.000000000 +0000
++++ ncurses-5.9-20130504/test/demo_forms.c 2012-11-18 01:22:44.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2003-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 2003-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: demo_forms.c,v 1.38 2011/01/15 18:15:11 tom Exp $
++ * $Id: demo_forms.c,v 1.40 2012/11/18 01:22:44 tom Exp $
+ *
+ * Demonstrate a variety of functions from the form library.
+ * Thomas Dickey - 2003/4/26
+@@ -108,7 +108,7 @@
+ set_field_just(f, j_value);
+ if (d_option) {
+ if (has_colors()) {
+- set_field_fore(f, COLOR_PAIR(2));
++ set_field_fore(f, (chtype) COLOR_PAIR(2));
+ set_field_back(f, A_UNDERLINE | COLOR_PAIR(3));
+ } else {
+ set_field_fore(f, A_BOLD);
+@@ -153,10 +153,10 @@
+ set_form_sub(f, derwin(w, rows, cols, 1, 2));
+ box(w, 0, 0);
+ keypad(w, TRUE);
+- }
+
+- if (post_form(f) != E_OK)
+- wrefresh(w);
++ if (post_form(f) != E_OK)
++ wrefresh(w);
++ }
+ }
+
+ static void
+@@ -257,7 +257,7 @@
+ int currow, curcol;
+
+ if (has_colors()) {
+- wbkgd(win, COLOR_PAIR(1));
++ wbkgd(win, (chtype) COLOR_PAIR(1));
+ }
+ werase(win);
+ form_getyx(form, currow, curcol);
+@@ -309,15 +309,15 @@
+ }
+
+ waddch(win, ' ');
+- (void) wattrset(win, field_fore(field));
++ (void) wattrset(win, (int) field_fore(field));
+ waddstr(win, "fore");
+- wattroff(win, field_fore(field));
++ wattroff(win, (int) field_fore(field));
+
+ waddch(win, '/');
+
+- (void) wattrset(win, field_back(field));
++ (void) wattrset(win, (int) field_back(field));
+ waddstr(win, "back");
+- wattroff(win, field_back(field));
++ wattroff(win, (int) field_back(field));
+
+ wprintw(win, ", pad '%c'",
+ field_pad(field));
+@@ -531,7 +531,7 @@
+ init_pair(1, COLOR_WHITE, COLOR_BLUE);
+ init_pair(2, COLOR_GREEN, COLOR_BLACK);
+ init_pair(3, COLOR_CYAN, COLOR_BLACK);
+- bkgd(COLOR_PAIR(1));
++ bkgd((chtype) COLOR_PAIR(1));
+ refresh();
+ }
+
+@@ -540,6 +540,7 @@
+ endwin();
+ ExitProgram(EXIT_SUCCESS);
+ }
++
+ #else
+ int
+ main(void)
+Index: test/demo_menus.c
+Prereq: 1.32
+--- ncurses-5.9/test/demo_menus.c 2011-01-15 20:02:47.000000000 +0000
++++ ncurses-5.9-20130504/test/demo_menus.c 2012-11-18 00:18:54.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2005-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 2005-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: demo_menus.c,v 1.32 2011/01/15 20:02:47 tom Exp $
++ * $Id: demo_menus.c,v 1.37 2012/11/18 00:18:54 tom Exp $
+ *
+ * Demonstrate a variety of functions from the menu library.
+ * Thomas Dickey - 2005/4/9
+@@ -109,18 +109,6 @@
+
+ static bool loaded_file = FALSE;
+
+-#if !HAVE_STRDUP
+-#define strdup my_strdup
+-static char *
+-strdup(char *s)
+-{
+- char *p = typeMalloc(char, strlen(s) + 1);
+- if (p)
+- strcpy(p, s);
+- return (p);
+-}
+-#endif /* not HAVE_STRDUP */
+-
+ /* Common function to allow ^T to toggle trace-mode in the middle of a test
+ * so that trace-files can be made smaller.
+ */
+@@ -225,8 +213,8 @@
+ result = new_menu(items);
+
+ if (has_colors()) {
+- set_menu_fore(result, COLOR_PAIR(1));
+- set_menu_back(result, COLOR_PAIR(2));
++ set_menu_fore(result, (chtype) COLOR_PAIR(1));
++ set_menu_back(result, (chtype) COLOR_PAIR(2));
+ }
+
+ set_menu_format(result, maxrow, maxcol);
+@@ -281,12 +269,15 @@
+ free((char *) blob);
+ }
+ free(items);
++ items = 0;
+ }
+ #ifdef TRACE
+ if ((count > 0) && (m == mpTrace)) {
+ ITEM **ip = items;
+- while (*ip)
+- free(*ip++);
++ if (ip != 0) {
++ while (*ip)
++ free(*ip++);
++ }
+ }
+ #endif
+ }
+@@ -398,6 +389,8 @@
+ }
+ loaded_file = TRUE;
+ }
++ if (ap == 0)
++ free(items);
+ }
+ }
+ if (ap == 0) {
+@@ -831,7 +824,7 @@
+ {
+ static const char *const tbl[] =
+ {
+- "Usage: demo_menus [options]"
++ "Usage: demo_menus [options] [menu-file]"
+ ,""
+ ,"Options:"
+ #if HAVE_RIPOFFLINE
+@@ -867,7 +860,7 @@
+ #endif /* HAVE_RIPOFFLINE */
+ #ifdef TRACE
+ case 't':
+- trace(strtoul(optarg, 0, 0));
++ trace((unsigned) strtoul(optarg, 0, 0));
+ break;
+ #endif
+ default:
+Index: test/demo_termcap.c
+Prereq: 1.14
+--- ncurses-5.9/test/demo_termcap.c 2011-01-15 21:41:27.000000000 +0000
++++ ncurses-5.9-20130504/test/demo_termcap.c 2013-01-19 19:30:52.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2005-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 2005-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -29,7 +29,7 @@
+ /*
+ * Author: Thomas E. Dickey
+ *
+- * $Id: demo_termcap.c,v 1.14 2011/01/15 21:41:27 tom Exp $
++ * $Id: demo_termcap.c,v 1.23 2013/01/19 19:30:52 tom Exp $
+ *
+ * A simple demo of the termcap interface.
+ */
+@@ -50,11 +50,112 @@
+ #if USE_CODE_LISTS
+ static bool b_opt = FALSE;
+ static bool n_opt = FALSE;
++static bool q_opt = FALSE;
+ static bool s_opt = FALSE;
+ #endif
+
++static char *d_opt;
++static char *e_opt;
++static char **db_list;
++static int db_item;
++
++static long total_values;
++
+ #define isCapName(c) (isgraph(c) && strchr("^#=:\\", c) == 0)
+
++#if NO_LEAKS && USE_CODE_LISTS
++
++#define MYSCR struct _myscr
++MYSCR {
++ MYSCR *next;
++ TERMINAL *term;
++};
++
++static MYSCR *my_screens;
++
++static void
++save_screen(void)
++{
++ MYSCR *obj = malloc(sizeof(MYSCR));
++ obj->next = my_screens;
++ obj->term = cur_term;
++ my_screens = obj;
++}
++#else
++#define save_screen() /* nothing */
++#endif
++
++static char *
++make_dbitem(char *p, char *q)
++{
++ char *result = malloc(strlen(e_opt) + 2 + (size_t) (p - q));
++ sprintf(result, "%s=%.*s", e_opt, (int) (p - q), q);
++ return result;
++}
++
++static void
++make_dblist(void)
++{
++ if (d_opt && e_opt) {
++ int pass;
++
++ for (pass = 0; pass < 2; ++pass) {
++ char *p, *q;
++ size_t count = 0;
++
++ for (p = q = d_opt; *p != '\0'; ++p) {
++ if (*p == ':') {
++ if (p != q + 1) {
++ if (pass) {
++ db_list[count] = make_dbitem(p, q);
++ }
++ count++;
++ }
++ q = p + 1;
++ }
++ }
++ if (p != q + 1) {
++ if (pass) {
++ db_list[count] = make_dbitem(p, q);
++ }
++ count++;
++ }
++ if (!pass) {
++ db_list = typeCalloc(char *, count + 1);
++ }
++ }
++ }
++}
++
++static char *
++next_dbitem(void)
++{
++ char *result = 0;
++
++ if (db_list) {
++ if ((result = db_list[db_item]) == 0) {
++ db_item = 0;
++ result = db_list[0];
++ } else {
++ db_item++;
++ }
++ }
++ printf("** %s\n", result);
++ return result;
++}
++
++static void
++free_dblist(void)
++{
++ if (db_list) {
++ int n;
++ for (n = 0; db_list[n]; ++n)
++ free(db_list[n]);
++ free(db_list);
++ db_list = 0;
++ }
++}
++
+ static void
+ dumpit(NCURSES_CONST char *cap)
+ {
+@@ -70,66 +171,77 @@
+ int num;
+
+ if ((str = tgetstr(cap, &ap)) != 0) {
+- /*
+- * Note that the strings returned are mostly terminfo format, since
+- * ncurses does not convert except for a handful of special cases.
+- */
+- printf(FNAME(str), cap);
+- while (*str != 0) {
+- int ch = UChar(*str++);
+- switch (ch) {
+- case '\177':
+- fputs("^?", stdout);
+- break;
+- case '\033':
+- fputs("\\E", stdout);
+- break;
+- case '\b':
+- fputs("\\b", stdout);
+- break;
+- case '\f':
+- fputs("\\f", stdout);
+- break;
+- case '\n':
+- fputs("\\n", stdout);
+- break;
+- case '\r':
+- fputs("\\r", stdout);
+- break;
+- case ' ':
+- fputs("\\s", stdout);
+- break;
+- case '\t':
+- fputs("\\t", stdout);
+- break;
+- case '^':
+- fputs("\\^", stdout);
+- break;
+- case ':':
+- fputs("\\072", stdout);
+- break;
+- case '\\':
+- fputs("\\\\", stdout);
+- break;
+- default:
+- if (isgraph(ch))
+- fputc(ch, stdout);
+- else if (ch < 32)
+- printf("^%c", ch + '@');
+- else
+- printf("\\%03o", ch);
+- break;
++ total_values++;
++ if (!q_opt) {
++ /*
++ * Note that the strings returned are mostly terminfo format, since
++ * ncurses does not convert except for a handful of special cases.
++ */
++ printf(FNAME(str), cap);
++ while (*str != 0) {
++ int ch = UChar(*str++);
++ switch (ch) {
++ case '\177':
++ fputs("^?", stdout);
++ break;
++ case '\033':
++ fputs("\\E", stdout);
++ break;
++ case '\b':
++ fputs("\\b", stdout);
++ break;
++ case '\f':
++ fputs("\\f", stdout);
++ break;
++ case '\n':
++ fputs("\\n", stdout);
++ break;
++ case '\r':
++ fputs("\\r", stdout);
++ break;
++ case ' ':
++ fputs("\\s", stdout);
++ break;
++ case '\t':
++ fputs("\\t", stdout);
++ break;
++ case '^':
++ fputs("\\^", stdout);
++ break;
++ case ':':
++ fputs("\\072", stdout);
++ break;
++ case '\\':
++ fputs("\\\\", stdout);
++ break;
++ default:
++ if (isgraph(ch))
++ fputc(ch, stdout);
++ else if (ch < 32)
++ printf("^%c", ch + '@');
++ else
++ printf("\\%03o", ch);
++ break;
++ }
+ }
++ printf("\n");
+ }
+- printf("\n");
+ } else if ((num = tgetnum(cap)) >= 0) {
+- printf(FNAME(num), cap);
+- printf(" %d\n", num);
++ total_values++;
++ if (!q_opt) {
++ printf(FNAME(num), cap);
++ printf(" %d\n", num);
++ }
+ } else if (tgetflag(cap) > 0) {
+- printf(FNAME(flg), cap);
+- printf("%s\n", "true");
++ ++total_values;
++ if (!q_opt) {
++ printf(FNAME(flg), cap);
++ printf("%s\n", "true");
++ }
+ }
+- fflush(stdout);
++
++ if (!q_opt)
++ fflush(stdout);
+ }
+
+ static void
+@@ -137,6 +249,9 @@
+ {
+ char buffer[1024];
+
++ if (db_list) {
++ putenv(next_dbitem());
++ }
+ printf("Terminal type %s\n", name);
+ if (tgetent(buffer, name) >= 0) {
+ char cap[3];
+@@ -159,17 +274,21 @@
+
+ #if USE_CODE_LISTS
+ static void
+-demo_terminfo(NCURSES_CONST char *name)
++demo_termcap(NCURSES_CONST char *name)
+ {
+ unsigned n;
+ NCURSES_CONST char *cap;
+
++ if (db_list) {
++ putenv(next_dbitem());
++ }
+ printf("Terminal type \"%s\"\n", name);
+ #if HAVE_SETUPTERM
+ setupterm(name, 1, (int *) 0);
+ #else
+ setterm(name);
+ #endif
++ save_screen();
+
+ if (b_opt) {
+ for (n = 0;; ++n) {
+@@ -204,7 +323,7 @@
+ {
+ static const char *msg[] =
+ {
+- "Usage: demo_terminfo [options] [terminal]",
++ "Usage: demo_termcap [options] [terminal]",
+ "",
+ "If no options are given, print all (boolean, numeric, string)",
+ "capabilities for the given terminal, using short names.",
+@@ -212,9 +331,15 @@
+ "Options:",
+ " -a try all names, print capabilities found",
+ " -b print boolean-capabilities",
++ " -d LIST colon-separated list of databases to use",
++ " -e NAME environment variable to set with -d option",
+ " -n print numeric-capabilities",
++ " -q quiet (prints only counts)",
+ " -r COUNT repeat for given count",
+ " -s print string-capabilities",
++#ifdef NCURSES_VERSION
++ " -y disable extended capabilities",
++#endif
+ };
+ unsigned n;
+ for (n = 0; n < SIZEOF(msg); ++n) {
+@@ -235,7 +360,7 @@
+ int repeat;
+ int r_opt = 1;
+
+- while ((n = getopt(argc, argv, "abnr:s")) != -1) {
++ while ((n = getopt(argc, argv, "abd:e:nqr:sy")) != -1) {
+ switch (n) {
+ case 'a':
+ a_opt = TRUE;
+@@ -243,9 +368,18 @@
+ case 'b':
+ b_opt = TRUE;
+ break;
++ case 'd':
++ d_opt = optarg;
++ break;
++ case 'e':
++ e_opt = optarg;
++ break;
+ case 'n':
+ n_opt = TRUE;
+ break;
++ case 'q':
++ q_opt = TRUE;
++ break;
+ case 'r':
+ if ((r_opt = atoi(optarg)) <= 0)
+ usage();
+@@ -253,6 +387,11 @@
+ case 's':
+ s_opt = TRUE;
+ break;
++#ifdef NCURSES_VERSION
++ case 'y':
++ use_extended_names(FALSE);
++ break;
++#endif
+ default:
+ usage();
+ break;
+@@ -268,6 +407,8 @@
+ a_opt = TRUE;
+ #endif
+
++ make_dblist();
++
+ if (a_opt) {
+ if (optind < argc) {
+ for (n = optind; n < argc; ++n) {
+@@ -285,17 +426,35 @@
+ for (repeat = 0; repeat < r_opt; ++repeat) {
+ if (optind < argc) {
+ for (n = optind; n < argc; ++n) {
+- demo_terminfo(argv[n]);
++ demo_termcap(argv[n]);
+ }
+ } else if ((name = getenv("TERM")) != 0) {
+- demo_terminfo(name);
++ demo_termcap(name);
+ } else {
+ static char dumb[] = "dumb";
+- demo_terminfo(dumb);
++ demo_termcap(dumb);
+ }
+ }
+- }
++#if NO_LEAKS
++ /*
++ * ncurses' tgetent() interface caches some entries and its no-leaks
++ * code discards those. The calls to setupterm() on the other hand
++ * are not cached, and each call allocates a chunk of memory, even
++ * if the same terminal type is requested repeatedly.
++ */
++ while (my_screens != 0) {
++ MYSCR *next = my_screens->next;
++ del_curterm(my_screens->term);
++ free(my_screens);
++ my_screens = next;
++ }
+ #endif
++ }
++#endif /* USE_CODE_LISTS */
++
++ printf("%ld values\n", total_values);
++
++ free_dblist();
+
+ ExitProgram(EXIT_SUCCESS);
+ }
+@@ -306,6 +465,6 @@
+ char *argv[]GCC_UNUSED)
+ {
+ printf("This program requires termcap\n");
+- exit(EXIT_FAILURE);
++ ExitProgram(EXIT_FAILURE);
+ }
+ #endif
+Index: test/demo_terminfo.c
+Prereq: 1.9
+--- ncurses-5.9/test/demo_terminfo.c 2010-11-28 00:15:27.000000000 +0000
++++ ncurses-5.9-20130504/test/demo_terminfo.c 2013-01-19 19:30:58.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2009-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -29,7 +29,7 @@
+ /*
+ * Author: Thomas E. Dickey
+ *
+- * $Id: demo_terminfo.c,v 1.9 2010/11/28 00:15:27 tom Exp $
++ * $Id: demo_terminfo.c,v 1.16 2013/01/19 19:30:58 tom Exp $
+ *
+ * A simple demo of the terminfo interface.
+ */
+@@ -52,12 +52,90 @@
+ static bool b_opt = FALSE;
+ static bool f_opt = FALSE;
+ static bool n_opt = FALSE;
++static bool q_opt = FALSE;
+ static bool s_opt = FALSE;
+ static bool x_opt = FALSE;
+
++static char *d_opt;
++static char *e_opt;
++static char **db_list;
++static int db_item;
++
++static long total_values;
++
+ #define FCOLS 8
+ #define FNAME(type) "%s %-*s = ", #type, FCOLS
+
++static char *
++make_dbitem(char *p, char *q)
++{
++ char *result = malloc(strlen(e_opt) + 2 + (size_t) (p - q));
++ sprintf(result, "%s=%.*s", e_opt, (int) (p - q), q);
++ return result;
++}
++
++static void
++make_dblist(void)
++{
++ if (d_opt && e_opt) {
++ int pass;
++
++ for (pass = 0; pass < 2; ++pass) {
++ char *p, *q;
++ size_t count = 0;
++
++ for (p = q = d_opt; *p != '\0'; ++p) {
++ if (*p == ':') {
++ if (p != q + 1) {
++ if (pass) {
++ db_list[count] = make_dbitem(p, q);
++ }
++ count++;
++ }
++ q = p + 1;
++ }
++ }
++ if (p != q + 1) {
++ if (pass) {
++ db_list[count] = make_dbitem(p, q);
++ }
++ count++;
++ }
++ if (!pass) {
++ db_list = typeCalloc(char *, count + 1);
++ }
++ }
++ }
++}
++
++static char *
++next_dbitem(void)
++{
++ char *result = 0;
++
++ if (db_list) {
++ if ((result = db_list[db_item]) == 0) {
++ db_item = 0;
++ result = db_list[0];
++ } else {
++ db_item++;
++ }
++ }
++ printf("** %s\n", result);
++ return result;
++}
++
++static void
++free_dblist(void)
++{
++ if (db_list) {
++ int n;
++ for (n = 0; db_list[n]; ++n)
++ free(db_list[n]);
++ free(db_list);
++ db_list = 0;
++ }
++}
+ static void
+ dumpit(NCURSES_CONST char *cap)
+ {
+@@ -72,66 +150,77 @@
+ int num;
+
+ if ((str = tigetstr(cap)) != 0 && (str != (char *) -1)) {
+- /*
+- * Note that the strings returned are mostly terminfo format, since
+- * ncurses does not convert except for a handful of special cases.
+- */
+- printf(FNAME(str), cap);
+- while (*str != 0) {
+- int ch = UChar(*str++);
+- switch (ch) {
+- case '\177':
+- fputs("^?", stdout);
+- break;
+- case '\033':
+- fputs("\\E", stdout);
+- break;
+- case '\b':
+- fputs("\\b", stdout);
+- break;
+- case '\f':
+- fputs("\\f", stdout);
+- break;
+- case '\n':
+- fputs("\\n", stdout);
+- break;
+- case '\r':
+- fputs("\\r", stdout);
+- break;
+- case ' ':
+- fputs("\\s", stdout);
+- break;
+- case '\t':
+- fputs("\\t", stdout);
+- break;
+- case '^':
+- fputs("\\^", stdout);
+- break;
+- case ':':
+- fputs("\\072", stdout);
+- break;
+- case '\\':
+- fputs("\\\\", stdout);
+- break;
+- default:
+- if (isgraph(ch))
+- fputc(ch, stdout);
+- else if (ch < 32)
+- printf("^%c", ch + '@');
+- else
+- printf("\\%03o", ch);
+- break;
++ total_values++;
++ if (!q_opt) {
++ /*
++ * Note that the strings returned are mostly terminfo format, since
++ * ncurses does not convert except for a handful of special cases.
++ */
++ printf(FNAME(str), cap);
++ while (*str != 0) {
++ int ch = UChar(*str++);
++ switch (ch) {
++ case '\177':
++ fputs("^?", stdout);
++ break;
++ case '\033':
++ fputs("\\E", stdout);
++ break;
++ case '\b':
++ fputs("\\b", stdout);
++ break;
++ case '\f':
++ fputs("\\f", stdout);
++ break;
++ case '\n':
++ fputs("\\n", stdout);
++ break;
++ case '\r':
++ fputs("\\r", stdout);
++ break;
++ case ' ':
++ fputs("\\s", stdout);
++ break;
++ case '\t':
++ fputs("\\t", stdout);
++ break;
++ case '^':
++ fputs("\\^", stdout);
++ break;
++ case ':':
++ fputs("\\072", stdout);
++ break;
++ case '\\':
++ fputs("\\\\", stdout);
++ break;
++ default:
++ if (isgraph(ch))
++ fputc(ch, stdout);
++ else if (ch < 32)
++ printf("^%c", ch + '@');
++ else
++ printf("\\%03o", ch);
++ break;
++ }
+ }
++ printf("\n");
+ }
+- printf("\n");
+ } else if ((num = tigetnum(cap)) >= 0) {
+- printf(FNAME(num), cap);
+- printf(" %d\n", num);
++ total_values++;
++ if (!q_opt) {
++ printf(FNAME(num), cap);
++ printf(" %d\n", num);
++ }
+ } else if ((num = tigetflag(cap)) >= 0) {
+- printf(FNAME(flg), cap);
+- printf("%s\n", num ? "true" : "false");
++ total_values++;
++ if (!q_opt) {
++ printf(FNAME(flg), cap);
++ printf("%s\n", num ? "true" : "false");
++ }
+ }
+- fflush(stdout);
++
++ if (!q_opt)
++ fflush(stdout);
+ }
+
+ static void
+@@ -140,6 +229,9 @@
+ unsigned n;
+ NCURSES_CONST char *cap;
+
++ if (db_list) {
++ putenv(next_dbitem());
++ }
+ printf("Terminal type \"%s\"\n", name);
+ setupterm(name, 1, (int *) 0);
+
+@@ -191,7 +283,7 @@
+ }
+ #endif
+ } else {
+- char temp[10];
++ char temp[80];
+ static const char *xterm_keys[] =
+ {
+ "kDC", "kDN", "kEND", "kHOM", "kIC",
+@@ -200,9 +292,9 @@
+ for (n = 0; n < SIZEOF(xterm_keys); ++n) {
+ for (mod = 0; mod < 8; ++mod) {
+ if (mod == 0)
+- strcpy(temp, xterm_keys[n]);
++ sprintf(temp, "%.*s", 8, xterm_keys[n]);
+ else
+- sprintf(temp, "%s%d", xterm_keys[n], mod);
++ sprintf(temp, "%.*s%d", 8, xterm_keys[n], mod);
+ dumpit(temp);
+ }
+ }
+@@ -224,12 +316,16 @@
+ "",
+ "Options:",
+ " -b print boolean-capabilities",
++ " -d LIST colon-separated list of databases to use",
++ " -e NAME environment variable to set with -d option",
+ " -f print full names",
+ " -n print numeric-capabilities",
++ " -q quiet (prints only counts)",
+ " -r COUNT repeat for given count",
+ " -s print string-capabilities",
+ #ifdef NCURSES_VERSION
+ " -x print extended capabilities",
++ " -y disable extended capabilities",
+ #endif
+ };
+ unsigned n;
+@@ -246,18 +342,30 @@
+ int repeat;
+ char *name;
+ int r_opt = 1;
++#ifdef NCURSES_VERSION
++ bool xy_opt = TRUE; /* by default, use_extended_names is true */
++#endif
+
+- while ((n = getopt(argc, argv, "bfnr:sx")) != -1) {
++ while ((n = getopt(argc, argv, "bd:e:fnqr:sxy")) != -1) {
+ switch (n) {
+ case 'b':
+ b_opt = TRUE;
+ break;
++ case 'd':
++ d_opt = optarg;
++ break;
++ case 'e':
++ e_opt = optarg;
++ break;
+ case 'f':
+ f_opt = TRUE;
+ break;
+ case 'n':
+ n_opt = TRUE;
+ break;
++ case 'q':
++ q_opt = TRUE;
++ break;
+ case 'r':
+ if ((r_opt = atoi(optarg)) <= 0)
+ usage();
+@@ -268,7 +376,10 @@
+ #ifdef NCURSES_VERSION
+ case 'x':
+ x_opt = TRUE;
+- use_extended_names(TRUE);
++ xy_opt = TRUE;
++ break;
++ case 'y':
++ xy_opt = FALSE;
+ break;
+ #endif
+ default:
+@@ -277,12 +388,18 @@
+ }
+ }
+
++#ifdef NCURSES_VERSION
++ use_extended_names(xy_opt);
++#endif
++
+ if (!(b_opt || n_opt || s_opt || x_opt)) {
+ b_opt = TRUE;
+ n_opt = TRUE;
+ s_opt = TRUE;
+ }
+
++ make_dblist();
++
+ for (repeat = 0; repeat < r_opt; ++repeat) {
+ if (optind < argc) {
+ for (n = optind; n < argc; ++n) {
+@@ -296,6 +413,10 @@
+ }
+ }
+
++ printf("%ld values\n", total_values);
++
++ free_dblist();
++
+ ExitProgram(EXIT_SUCCESS);
+ }
+
+Index: test/ditto.c
+Prereq: 1.40
+--- ncurses-5.9/test/ditto.c 2010-11-14 01:06:47.000000000 +0000
++++ ncurses-5.9-20130504/test/ditto.c 2012-11-24 20:16:18.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -29,7 +29,7 @@
+ /*
+ * Author: Thomas E. Dickey (1998-on)
+ *
+- * $Id: ditto.c,v 1.40 2010/11/14 01:06:47 tom Exp $
++ * $Id: ditto.c,v 1.42 2012/11/24 20:16:18 tom Exp $
+ *
+ * The program illustrates how to set up multiple screens from a single
+ * program.
+@@ -80,6 +80,7 @@
+ int which1; /* this screen's index in DITTO[] array */
+ int length; /* length of windows[] and peeks[] */
+ char **titles; /* per-window titles */
++ WINDOW **parents; /* display boxes around each screen's data */
+ WINDOW **windows; /* display data from each screen */
+ PEEK *peeks; /* indices for each screen's fifo */
+ FIFO fifo; /* fifo for this screen */
+@@ -98,6 +99,9 @@
+ DITTO *ditto; /* data for all screens */
+ } DDATA;
+
++static void failed(const char *) GCC_NORETURN;
++static void usage(void) GCC_NORETURN;
++
+ static void
+ failed(const char *s)
+ {
+@@ -201,6 +205,7 @@
+ scrollok(stdscr, TRUE);
+ box(stdscr, 0, 0);
+
++ target->parents = typeCalloc(WINDOW *, (size_t) target->length);
+ target->windows = typeCalloc(WINDOW *, (size_t) target->length);
+ target->peeks = typeCalloc(PEEK, (size_t) target->length);
+
+@@ -220,6 +225,7 @@
+ nodelay(inner, TRUE);
+ #endif
+
++ target->parents[k] = outer;
+ target->windows[k] = inner;
+ }
+ doupdate();
+Index: test/dots.c
+Prereq: 1.22
+--- ncurses-5.9/test/dots.c 2010-11-14 01:00:02.000000000 +0000
++++ ncurses-5.9-20130504/test/dots.c 2011-04-23 19:15:04.000000000 +0000
+@@ -29,7 +29,7 @@
+ /*
+ * Author: Thomas E. Dickey <dickey@clark.net> 1999
+ *
+- * $Id: dots.c,v 1.22 2010/11/14 01:00:02 tom Exp $
++ * $Id: dots.c,v 1.23 2011/04/23 19:15:04 tom Exp $
+ *
+ * A simple demo of the terminfo interface.
+ */
+@@ -46,8 +46,8 @@
+ static long total_chars = 0;
+ static time_t started;
+
+-static int
+-outc(TPUTS_ARG c)
++static
++TPUTS_PROTO(outc, c)
+ {
+ int rc = c;
+
+@@ -58,7 +58,7 @@
+ } else {
+ rc = putc(c, stdout);
+ }
+- return rc;
++ TPUTS_RETURN(rc);
+ }
+
+ static bool
+Index: test/dots_mvcur.c
+Prereq: 1.6
+--- ncurses-5.9/test/dots_mvcur.c 2010-11-14 01:00:44.000000000 +0000
++++ ncurses-5.9-20130504/test/dots_mvcur.c 2011-04-23 19:17:20.000000000 +0000
+@@ -29,7 +29,7 @@
+ /*
+ * Author: Thomas E. Dickey - 2007
+ *
+- * $Id: dots_mvcur.c,v 1.6 2010/11/14 01:00:44 tom Exp $
++ * $Id: dots_mvcur.c,v 1.7 2011/04/23 19:17:20 tom Exp $
+ *
+ * A simple demo of the terminfo interface, and mvcur.
+ */
+@@ -46,8 +46,8 @@
+ static long total_chars = 0;
+ static time_t started;
+
+-static int
+-outc(TPUTS_ARG c)
++static
++TPUTS_PROTO(outc, c)
+ {
+ int rc = c;
+
+@@ -59,7 +59,7 @@
+ if (putc(c, stdout) == EOF)
+ rc = EOF;
+ }
+- return rc;
++ TPUTS_RETURN(rc);
+ }
+
+ static bool
+Index: test/echochar.c
+Prereq: 1.8
+--- ncurses-5.9/test/echochar.c 2010-11-14 01:00:44.000000000 +0000
++++ ncurses-5.9-20130504/test/echochar.c 2012-06-09 20:30:32.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2006-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2006-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: echochar.c,v 1.8 2010/11/14 01:00:44 tom Exp $
++ * $Id: echochar.c,v 1.9 2012/06/09 20:30:32 tom Exp $
+ *
+ * Demonstrate the echochar function (compare to dots.c).
+ * Thomas Dickey - 2006/11/4
+@@ -74,7 +74,7 @@
+ (short) fg,
+ (short) bg);
+ }
+- attron(COLOR_PAIR(pair));
++ attron((attr_t) COLOR_PAIR(pair));
+ }
+
+ int
+Index: test/filter.c
+Prereq: 1.13
+--- ncurses-5.9/test/filter.c 2010-11-13 20:55:54.000000000 +0000
++++ ncurses-5.9-20130504/test/filter.c 2012-06-09 20:30:32.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -29,7 +29,7 @@
+ /*
+ * Author: Thomas E. Dickey <dickey@clark.net> 1998
+ *
+- * $Id: filter.c,v 1.13 2010/11/13 20:55:54 tom Exp $
++ * $Id: filter.c,v 1.15 2012/06/09 20:30:32 tom Exp $
+ */
+ #include <test.priv.h>
+
+@@ -133,7 +133,7 @@
+ background = -1;
+ #endif
+ init_pair(1, COLOR_CYAN, (short) background);
+- underline = COLOR_PAIR(1);
++ underline = (attr_t) COLOR_PAIR(1);
+ } else {
+ underline = A_UNDERLINE;
+ }
+@@ -143,7 +143,7 @@
+ reset_shell_mode();
+ printf("\n");
+ fflush(stdout);
+- system(buffer);
++ IGNORE_RC(system(buffer));
+ reset_prog_mode();
+ touchwin(stdscr);
+ erase();
+Index: test/firework.c
+Prereq: 1.27
+--- ncurses-5.9/test/firework.c 2010-11-13 20:58:25.000000000 +0000
++++ ncurses-5.9-20130504/test/firework.c 2013-04-27 19:46:53.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: firework.c,v 1.27 2010/11/13 20:58:25 tom Exp $
++ * $Id: firework.c,v 1.29 2013/04/27 19:46:53 tom Exp $
+ */
+ #include <test.priv.h>
+
+@@ -41,7 +41,7 @@
+ endwin();
+ }
+
+-static RETSIGTYPE
++static void
+ onsig(int n GCC_UNUSED)
+ {
+ cleanup();
+@@ -94,14 +94,14 @@
+ showit();
+
+ init_pair(1, get_colour(&bold), my_bg);
+- (void) attrset(COLOR_PAIR(1) | bold);
++ (void) attrset((chtype) COLOR_PAIR(1) | bold);
+ MvPrintw(row - 1, col - 1, " - ");
+ MvPrintw(row + 0, col - 1, "-+-");
+ MvPrintw(row + 1, col - 1, " - ");
+ showit();
+
+ init_pair(1, get_colour(&bold), my_bg);
+- (void) attrset(COLOR_PAIR(1) | bold);
++ (void) attrset((chtype) COLOR_PAIR(1) | bold);
+ MvPrintw(row - 2, col - 2, " --- ");
+ MvPrintw(row - 1, col - 2, "-+++-");
+ MvPrintw(row + 0, col - 2, "-+#+-");
+@@ -110,7 +110,7 @@
+ showit();
+
+ init_pair(1, get_colour(&bold), my_bg);
+- (void) attrset(COLOR_PAIR(1) | bold);
++ (void) attrset((chtype) COLOR_PAIR(1) | bold);
+ MvPrintw(row - 2, col - 2, " +++ ");
+ MvPrintw(row - 1, col - 2, "++#++");
+ MvPrintw(row + 0, col - 2, "+# #+");
+@@ -119,7 +119,7 @@
+ showit();
+
+ init_pair(1, get_colour(&bold), my_bg);
+- (void) attrset(COLOR_PAIR(1) | bold);
++ (void) attrset((chtype) COLOR_PAIR(1) | bold);
+ MvPrintw(row - 2, col - 2, " # ");
+ MvPrintw(row - 1, col - 2, "## ##");
+ MvPrintw(row + 0, col - 2, "# #");
+@@ -128,7 +128,7 @@
+ showit();
+
+ init_pair(1, get_colour(&bold), my_bg);
+- (void) attrset(COLOR_PAIR(1) | bold);
++ (void) attrset((chtype) COLOR_PAIR(1) | bold);
+ MvPrintw(row - 2, col - 2, " # # ");
+ MvPrintw(row - 1, col - 2, "# #");
+ MvPrintw(row + 0, col - 2, " ");
+Index: test/gdc.c
+Prereq: 1.34
+--- ncurses-5.9/test/gdc.c 2010-11-13 21:01:23.000000000 +0000
++++ ncurses-5.9-20130504/test/gdc.c 2013-04-27 19:50:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -33,7 +33,7 @@
+ * modified 10-18-89 for curses (jrl)
+ * 10-18-89 added signal handling
+ *
+- * $Id: gdc.c,v 1.34 2010/11/13 21:01:23 tom Exp $
++ * $Id: gdc.c,v 1.37 2013/04/27 19:50:17 tom Exp $
+ */
+
+ #include <test.priv.h>
+@@ -60,7 +60,7 @@
+ static bool redirected = FALSE;
+ static bool hascolor = FALSE;
+
+-static RETSIGTYPE
++static void
+ sighndl(int signo)
+ {
+ signal(signo, sighndl);
+@@ -78,7 +78,7 @@
+ int n;
+
+ if (hascolor)
+- (void) attrset(COLOR_PAIR(PAIR_FRAMES));
++ (void) attrset((attr_t) COLOR_PAIR(PAIR_FRAMES));
+
+ MvAddCh(YBASE - 1, XBASE - 1, ACS_ULCORNER);
+ hline(ACS_HLINE, XLENGTH);
+@@ -102,7 +102,7 @@
+ vline(ACS_VLINE, YDEPTH);
+
+ if (hascolor)
+- (void) attrset(COLOR_PAIR(PAIR_OTHERS));
++ (void) attrset((attr_t) COLOR_PAIR(PAIR_OTHERS));
+ }
+
+ static void
+@@ -110,13 +110,13 @@
+ {
+ if (on) {
+ if (hascolor) {
+- attron(COLOR_PAIR(PAIR_DIGITS));
++ attron((attr_t) COLOR_PAIR(PAIR_DIGITS));
+ } else {
+ attron(A_STANDOUT);
+ }
+ } else {
+ if (hascolor) {
+- attron(COLOR_PAIR(PAIR_OTHERS));
++ attron((attr_t) COLOR_PAIR(PAIR_OTHERS));
+ } else {
+ attroff(A_STANDOUT);
+ }
+@@ -220,7 +220,7 @@
+ init_pair(PAIR_DIGITS, COLOR_BLACK, COLOR_RED);
+ init_pair(PAIR_OTHERS, COLOR_RED, bg);
+ init_pair(PAIR_FRAMES, COLOR_WHITE, bg);
+- (void) attrset(COLOR_PAIR(PAIR_OTHERS));
++ (void) attrset((attr_t) COLOR_PAIR(PAIR_OTHERS));
+ }
+
+ restart:
+@@ -231,7 +231,7 @@
+ drawbox(FALSE);
+
+ do {
+- char buf[30];
++ char buf[40];
+
+ time(&now);
+ tm = localtime(&now);
+@@ -293,7 +293,7 @@
+ }
+
+ /* this depends on the detailed format of ctime(3) */
+- (void) strcpy(buf, ctime(&now));
++ (void) strncpy(buf, ctime(&now), 30);
+ (void) strcpy(buf + 10, buf + 19);
+ MvAddStr(16, 30, buf);
+
+Index: test/hanoi.c
+Prereq: 1.31
+--- ncurses-5.9/test/hanoi.c 2010-11-14 01:01:07.000000000 +0000
++++ ncurses-5.9-20130504/test/hanoi.c 2012-12-08 16:41:56.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -41,10 +41,11 @@
+ *
+ * Date: 05.Nov.90
+ *
+- * $Id: hanoi.c,v 1.31 2010/11/14 01:01:07 tom Exp $
++ * $Id: hanoi.c,v 1.34 2012/12/08 16:41:56 tom Exp $
+ */
+
+ #include <test.priv.h>
++#include <math.h>
+
+ #define NPEGS 3 /* This is not configurable !! */
+ #define MINTILES 3
+@@ -57,7 +58,7 @@
+ #define MIDPEG 39
+ #define RIGHTPEG 59
+
+-#define LENTOIND(x) (((x)-1)/2)
++#define LENTOIND(x) (((int)(x)-1)/2)
+ #define OTHER(a,b) (3-((a)+(b)))
+
+ struct Peg {
+@@ -84,10 +85,11 @@
+ COLOR_MAGENTA, /* Length 17 */
+ COLOR_RED, /* Length 19 */
+ };
++static int NTiles = 0;
+ static int NMoves = 0;
+ static bool AutoFlag = FALSE;
+
+-static void InitTiles(int NTiles);
++static void InitTiles(void);
+ static void DisplayTiles(void);
+ static void MakeMove(int From, int To);
+ static void AutoMove(int From, int To, int Num);
+@@ -99,7 +101,7 @@
+ int
+ main(int argc, char **argv)
+ {
+- int NTiles, FromCol, ToCol;
++ int FromCol, ToCol;
+
+ setlocale(LC_ALL, "");
+
+@@ -130,9 +132,6 @@
+ Usage();
+ ExitProgram(EXIT_FAILURE);
+ }
+-#ifdef TRACE
+- trace(TRACE_MAXIMUM);
+-#endif
+ initscr();
+ if (has_colors()) {
+ int i;
+@@ -155,7 +154,7 @@
+ curs_set(0);
+ leaveok(stdscr, TRUE); /* Attempt to remove cursor */
+ }
+- InitTiles(NTiles);
++ InitTiles();
+ DisplayTiles();
+ if (AutoFlag) {
+ do {
+@@ -211,7 +210,7 @@
+ }
+
+ static void
+-InitTiles(int NTiles)
++InitTiles(void)
+ {
+ int Size, SlotNo;
+
+@@ -232,7 +231,7 @@
+ erase();
+ MvAddStr(1, 24, "T O W E R S O F H A N O I");
+ MvAddStr(3, 34, "SJR 1990");
+- MvPrintw(19, 5, "Moves : %d", NMoves);
++ MvPrintw(19, 5, "Moves : %d of %.0f", NMoves, pow(2.0, NTiles) - 1);
+ (void) attrset(A_REVERSE);
+ MvAddStr(BASELINE, 8,
+ " ");
+@@ -255,7 +254,7 @@
+ memset(TileBuf, ' ', len);
+ TileBuf[len] = '\0';
+ if (has_colors())
+- (void) attrset(COLOR_PAIR(LENTOIND(len)));
++ (void) attrset((attr_t) COLOR_PAIR(LENTOIND(len)));
+ else
+ (void) attrset(A_REVERSE);
+ MvAddStr(BASELINE - (SlotNo + 1),
+@@ -310,12 +309,12 @@
+ if (Num == 1) {
+ MakeMove(From, To);
+ napms(500);
+- return;
++ } else {
++ AutoMove(From, OTHER(From, To), Num - 1);
++ MakeMove(From, To);
++ napms(500);
++ AutoMove(OTHER(From, To), To, Num - 1);
+ }
+- AutoMove(From, OTHER(From, To), Num - 1);
+- MakeMove(From, To);
+- napms(500);
+- AutoMove(OTHER(From, To), To, Num - 1);
+ }
+
+ static int
+Index: test/hashtest.c
+Prereq: 1.31
+--- ncurses-5.9/test/hashtest.c 2010-11-13 23:43:15.000000000 +0000
++++ ncurses-5.9-20130504/test/hashtest.c 2013-04-27 19:50:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -30,7 +30,7 @@
+ *
+ * Generate timing statistics for vertical-motion optimization.
+ *
+- * $Id: hashtest.c,v 1.31 2010/11/13 23:43:15 tom Exp $
++ * $Id: hashtest.c,v 1.32 2013/04/27 19:50:17 tom Exp $
+ */
+
+ #include <test.priv.h>
+@@ -54,7 +54,7 @@
+ endwin();
+ }
+
+-static RETSIGTYPE
++static void
+ finish(int sig GCC_UNUSED)
+ {
+ cleanup();
+Index: test/inchs.c
+Prereq: 1.11
+--- ncurses-5.9/test/inchs.c 2010-11-13 23:41:23.000000000 +0000
++++ ncurses-5.9-20130504/test/inchs.c 2012-11-18 01:58:15.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2007,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2007-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: inchs.c,v 1.11 2010/11/13 23:41:23 tom Exp $
++ * $Id: inchs.c,v 1.12 2012/11/18 01:58:15 tom Exp $
+ *
+ * Author: Thomas E Dickey
+ */
+@@ -50,6 +50,16 @@
+ #define BASE_Y 7
+ #define MAX_COLS 1024
+
++static void
++failed(const char *s)
++{
++ int save = errno;
++ endwin();
++ errno = save;
++ perror(s);
++ ExitProgram(EXIT_FAILURE);
++}
++
+ static bool
+ Quit(int ch)
+ {
+@@ -87,6 +97,8 @@
+ txtwin = stdscr;
+ base_y = BASE_Y;
+ }
++ if (txtwin == 0)
++ failed("cannot create txtwin");
+
+ keypad(txtwin, TRUE); /* enable keyboard mapping */
+ (void) cbreak(); /* take input chars one at a time, no wait for \n */
+Index: test/ins_wide.c
+Prereq: 1.15
+--- ncurses-5.9/test/ins_wide.c 2010-12-12 00:20:14.000000000 +0000
++++ ncurses-5.9-20130504/test/ins_wide.c 2012-12-16 00:51:02.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2002-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: ins_wide.c,v 1.15 2010/12/12 00:20:14 tom Exp $
++ * $Id: ins_wide.c,v 1.20 2012/12/16 00:51:02 tom Exp $
+ *
+ * Demonstrate the wins_wstr() and wins_wch functions.
+ * Thomas Dickey - 2002/11/23
+@@ -228,8 +228,9 @@
+ WINDOW *work = 0;
+ WINDOW *show = 0;
+ int margin = (2 * MY_TABSIZE) - 1;
+- Options option = ((m_opt ? oMove : oDefault)
+- | ((w_opt || (level > 0)) ? oWindow : oDefault));
++ Options option = (Options) ((int) (m_opt ? oMove : oDefault)
++ | (int) ((w_opt || (level > 0))
++ ? oWindow : oDefault));
+
+ if (first) {
+ static char cmd[80];
+@@ -241,6 +242,15 @@
+ (void) cbreak(); /* take input chars one at a time, no wait for \n */
+ (void) noecho(); /* don't echo input */
+ keypad(stdscr, TRUE);
++
++ /*
++ * Show the characters inserted in color, to distinguish from those
++ * that are shifted.
++ */
++ if (has_colors()) {
++ start_color();
++ init_pair(1, COLOR_WHITE, COLOR_BLUE);
++ }
+ }
+
+ limit = LINES - 5;
+@@ -274,14 +284,8 @@
+
+ doupdate();
+
+- /*
+- * Show the characters inserted in color, to distinguish from those that
+- * are shifted.
+- */
+ if (has_colors()) {
+- start_color();
+- init_pair(1, COLOR_WHITE, COLOR_BLUE);
+- wbkgdset(work, COLOR_PAIR(1) | ' ');
++ wbkgdset(work, (chtype) (COLOR_PAIR(1) | ' '));
+ }
+
+ while ((ch = read_linedata(work)) != ERR && !isQUIT(ch)) {
+@@ -290,11 +294,13 @@
+ case key_RECUR:
+ test_inserts(level + 1);
+
+- touchwin(look);
++ if (look)
++ touchwin(look);
+ touchwin(work);
+ touchwin(show);
+
+- wnoutrefresh(look);
++ if (look)
++ wnoutrefresh(look);
+ wnoutrefresh(work);
+ wnoutrefresh(show);
+
+@@ -438,10 +444,10 @@
+ }
+ }
+ if (level > 0) {
+- delwin(show);
+ delwin(work);
+ delwin(look);
+ }
++ delwin(show);
+ }
+
+ static void
+Index: test/insdelln.c
+Prereq: 1.5
+--- ncurses-5.9/test/insdelln.c 2010-11-13 23:39:38.000000000 +0000
++++ ncurses-5.9-20130504/test/insdelln.c 2012-11-18 00:37:58.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2008-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2008-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: insdelln.c,v 1.5 2010/11/13 23:39:38 tom Exp $
++ * $Id: insdelln.c,v 1.7 2012/11/18 00:37:58 tom Exp $
+ *
+ * test-driver for deleteln, wdeleteln, insdelln, winsdelln, insertln, winsertln
+ */
+@@ -175,6 +175,8 @@
+ delwin(win1);
+ touchwin(win);
+ } else {
++ if (win1)
++ delwin(win1);
+ beep();
+ }
+ }
+@@ -300,7 +302,7 @@
+ init_status(win, &st);
+
+ do {
+- (void) wattrset(win, st.attr | (attr_t) COLOR_PAIR(st.pair));
++ (void) wattrset(win, (int) (st.attr | (attr_t) COLOR_PAIR(st.pair)));
+ switch (st.ch) {
+ case 'i':
+ for (n = 0; n < st.count; ++n)
+Index: test/inserts.c
+Prereq: 1.23
+--- ncurses-5.9/test/inserts.c 2010-12-12 00:19:55.000000000 +0000
++++ ncurses-5.9-20130504/test/inserts.c 2012-12-16 00:35:27.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2002-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: inserts.c,v 1.23 2010/12/12 00:19:55 tom Exp $
++ * $Id: inserts.c,v 1.27 2012/12/16 00:35:27 tom Exp $
+ *
+ * Demonstrate the winsstr() and winsch functions.
+ * Thomas Dickey - 2002/10/19
+@@ -167,6 +167,15 @@
+ (void) cbreak(); /* take input chars one at a time, no wait for \n */
+ (void) noecho(); /* don't echo input */
+ keypad(stdscr, TRUE);
++
++ /*
++ * Show the characters inserted in color, to distinguish from those
++ * that are shifted.
++ */
++ if (has_colors()) {
++ start_color();
++ init_pair(1, COLOR_WHITE, COLOR_BLUE);
++ }
+ }
+
+ limit = LINES - 5;
+@@ -200,14 +209,8 @@
+
+ doupdate();
+
+- /*
+- * Show the characters inserted in color, to distinguish from those that
+- * are shifted.
+- */
+ if (has_colors()) {
+- start_color();
+- init_pair(1, COLOR_WHITE, COLOR_BLUE);
+- wbkgdset(work, COLOR_PAIR(1) | ' ');
++ wbkgdset(work, (chtype) (COLOR_PAIR(1) | ' '));
+ }
+
+ while ((ch = read_linedata(work)) != ERR && !isQUIT(ch)) {
+@@ -216,11 +219,13 @@
+ case key_RECUR:
+ test_inserts(level + 1);
+
+- touchwin(look);
++ if (look)
++ touchwin(look);
+ touchwin(work);
+ touchwin(show);
+
+- wnoutrefresh(look);
++ if (look)
++ wnoutrefresh(look);
+ wnoutrefresh(work);
+ wnoutrefresh(show);
+
+@@ -368,10 +373,10 @@
+ }
+ }
+ if (level > 0) {
+- delwin(show);
+ delwin(work);
+ delwin(look);
+ }
++ delwin(show);
+ }
+
+ static void
+Index: test/knight.c
+Prereq: 1.31
+--- ncurses-5.9/test/knight.c 2010-11-13 20:44:21.000000000 +0000
++++ ncurses-5.9-20130504/test/knight.c 2013-02-16 19:53:08.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -33,7 +33,7 @@
+ * Eric S. Raymond <esr@snark.thyrsus.com> July 22 1995. Mouse support
+ * added September 20th 1995.
+ *
+- * $Id: knight.c,v 1.31 2010/11/13 20:44:21 tom Exp $
++ * $Id: knight.c,v 1.36 2013/02/16 19:53:08 tom Exp $
+ */
+
+ #include <test.priv.h>
+@@ -123,13 +123,16 @@
+ (void) init_pair(PLUS_COLOR, (short) COLOR_RED, (short) bg);
+ (void) init_pair(MINUS_COLOR, (short) COLOR_GREEN, (short) bg);
+
+- trail |= COLOR_PAIR(TRAIL_COLOR);
+- plus |= COLOR_PAIR(PLUS_COLOR);
+- minus |= COLOR_PAIR(MINUS_COLOR);
++ trail |= (chtype) COLOR_PAIR(TRAIL_COLOR);
++ plus |= (chtype) COLOR_PAIR(PLUS_COLOR);
++ minus |= (chtype) COLOR_PAIR(MINUS_COLOR);
+ }
+ #ifdef NCURSES_MOUSE_VERSION
+ (void) mousemask(BUTTON1_CLICKED, (mmask_t *) NULL);
+ #endif /* NCURSES_MOUSE_VERSION */
++#if defined(PDCURSES)
++ mouse_set(BUTTON1_RELEASED);
++#endif
+
+ oldch = minus;
+ }
+@@ -300,15 +303,16 @@
+ }
+ }
+
+-static void
++static bool
+ find_next_move(int *y, int *x)
+ {
+ unsigned j, k;
+ int found = -1;
+ int first = -1;
+- int next = 0;
++ int next = -1;
+ int oldy, oldx;
+ int newy, newx;
++ bool result = FALSE;
+
+ if (movecount > 1) {
+ oldy = history[movecount - 1].y;
+@@ -335,9 +339,27 @@
+ *y = oldy + offsets[next].y;
+ *x = oldx + offsets[next].x;
+ }
+- } else {
+- beep();
++ result = TRUE;
+ }
++ return result;
++}
++
++static void
++count_next_moves(int y, int x)
++{
++ int count = 0;
++ unsigned j;
++
++ wprintw(msgwin, "\nMove %d", movecount);
++ for (j = 0; j < SIZEOF(offsets); j++) {
++ int newy = y + offsets[j].y;
++ int newx = x + offsets[j].x;
++ if (chksqr(newy, newx)) {
++ ++count;
++ }
++ }
++ wprintw(msgwin, ", gives %d choices", count);
++ wclrtoeol(msgwin);
+ }
+
+ static void
+@@ -558,8 +580,9 @@
+ nx = col + 1;
+ break;
+
+-#ifdef NCURSES_MOUSE_VERSION
++#ifdef KEY_MOUSE
+ case KEY_MOUSE:
++#ifdef NCURSES_MOUSE_VERSION
+ {
+ MEVENT myevent;
+
+@@ -576,6 +599,24 @@
+ }
+ }
+ #endif /* NCURSES_MOUSE_VERSION */
++#ifdef PDCURSES
++ {
++ int test_y, test_x;
++ request_mouse_pos();
++ test_y = MOUSE_Y_POS + 0;
++ test_x = MOUSE_X_POS + 1;
++ if (test_y >= CY(0) && test_y <= CY(BDEPTH)
++ && test_x >= CX(0) && test_x <= CX(BWIDTH)) {
++ ny = CYINV(test_y);
++ nx = CXINV(test_x);
++ wmove(helpwin, 0, 0);
++ wrefresh(helpwin);
++ ungetch('\n');
++ }
++ break;
++ }
++#endif /* PDCURSES */
++#endif /* KEY_MOUSE */
+
+ case KEY_B2:
+ case '\n':
+@@ -614,8 +655,8 @@
+ ny = history[movecount].y;
+ nx = history[movecount].x;
+ if (nx < 0 || ny < 0) {
+- ny = lastrow;
+- nx = lastcol;
++ ny = (lastrow >= 0) ? lastrow : 0;
++ nx = (lastcol >= 0) ? lastcol : 0;
+ }
+ movecount = 0;
+ board[ny][nx] = FALSE;
+@@ -652,7 +693,10 @@
+ case 'a':
+ nx = col;
+ ny = rw;
+- find_next_move(&ny, &nx);
++ if (find_next_move(&ny, &nx))
++ count_next_moves(ny, nx);
++ else
++ beep();
+ break;
+
+ case 'F':
+Index: test/linedata.h
+--- ncurses-5.9/test/linedata.h 2010-11-13 21:12:31.000000000 +0000
++++ ncurses-5.9-20130504/test/linedata.h 2012-12-15 22:57:19.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2009-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -85,10 +85,8 @@
+ beep();
+ continue;
+ }
+- } else if (code != ERR) {
+- result = (int) ch;
+- break;
+ } else {
++ result = (int) ch;
+ break;
+ }
+ }
+Index: test/modules
+Prereq: 1.43
+--- ncurses-5.9/test/modules 2010-01-23 17:51:38.000000000 +0000
++++ ncurses-5.9-20130504/test/modules 2013-01-12 22:50:55.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: modules,v 1.43 2010/01/23 17:51:38 tom Exp $
++# $Id: modules,v 1.47 2013/01/12 22:50:55 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -86,10 +86,12 @@
+ test_instr progs $(srcdir) $(HEADER_DEPS)
+ test_inwstr progs $(srcdir) $(HEADER_DEPS)
+ test_opaque progs $(srcdir) $(HEADER_DEPS)
++test_vid_puts progs $(srcdir) $(HEADER_DEPS)
++test_vidputs progs $(srcdir) $(HEADER_DEPS)
+ testaddch progs $(srcdir) $(HEADER_DEPS)
+ testcurs progs $(srcdir) $(HEADER_DEPS)
+ testscanw progs $(srcdir) $(HEADER_DEPS)
+-view progs $(srcdir) $(HEADER_DEPS)
++view progs $(srcdir) $(HEADER_DEPS) $(srcdir)/widechars.h
+ worm progs $(srcdir) $(HEADER_DEPS)
+ xmas progs $(srcdir) $(HEADER_DEPS)
+
+Index: test/movewindow.c
+Prereq: 1.24
+--- ncurses-5.9/test/movewindow.c 2010-11-13 23:34:55.000000000 +0000
++++ ncurses-5.9-20130504/test/movewindow.c 2013-05-04 19:41:02.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2006-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2006-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,18 +26,22 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: movewindow.c,v 1.24 2010/11/13 23:34:55 tom Exp $
++ * $Id: movewindow.c,v 1.39 2013/05/04 19:41:02 tom Exp $
+ *
+ * Demonstrate move functions for windows and derived windows from the curses
+ * library.
+ *
+- * Thomas Dickey - 2006/2/11
++ * Author: Thomas E. Dickey
+ */
+ /*
+ derwin
+ mvderwin
+ subwin
+ mvwin
++
++TODO:
++ add command to reset subwindow's origin to coincide with parent.
++ add command to delete subwindow (check if it has subwindows though)
+ */
+
+ #include <test.priv.h>
+@@ -76,6 +80,14 @@
+ static FRAME *all_windows;
+
+ static void
++failed(const char *s)
++{
++ perror(s);
++ endwin();
++ ExitProgram(EXIT_FAILURE);
++}
++
++static void
+ message(int lineno, CONST_FMT char *fmt, va_list argp)
+ {
+ int y, x;
+@@ -122,7 +134,12 @@
+ * Arrow keys move cursor, return location at current on non-arrow key.
+ */
+ static PAIR *
+-selectcell(WINDOW *parent, int uli, int ulj, int lri, int lrj)
++selectcell(WINDOW *parent,
++ WINDOW *child,
++ int uli, int ulj,
++ int lri, int lrj,
++ bool relative,
++ bool * more)
+ {
+ static PAIR res; /* result cell */
+ int si = lri - uli + 1; /* depth of the select area */
+@@ -131,25 +148,46 @@
+
+ res.y = uli;
+ res.x = ulj;
++
++ if (child != 0) {
++ if (relative) {
++ getparyx(child, i, j);
++ } else {
++ getbegyx(child, i, j);
++ i -= uli + getbegy(parent);
++ j -= ulj + getbegx(parent);
++ }
++ }
++
++ if (more)
++ *more = FALSE;
++
+ for (;;) {
+- tail_line("Upper left [%2d,%2d] Lower right [%2d,%2d] -> %d,%d",
++ bool moved = FALSE;
++
++ tail_line("Upper left [%2d,%2d] Lower right [%2d,%2d] -> %d,%d -> %d,%d",
+ uli, ulj,
+ lri, lrj,
++ i, j,
+ uli + i, ulj + j);
+ wmove(parent, uli + i, ulj + j);
+
+ switch (wgetch(parent)) {
+ case KEY_UP:
+ i += si - 1;
++ moved = TRUE;
+ break;
+ case KEY_DOWN:
+ i++;
++ moved = TRUE;
+ break;
+ case KEY_LEFT:
+ j += sj - 1;
++ moved = TRUE;
+ break;
+ case KEY_RIGHT:
+ j++;
++ moved = TRUE;
+ break;
+ case QUIT:
+ case ESCAPE:
+@@ -161,8 +199,13 @@
+
+ getmouse(&event);
+ if (event.y > uli && event.x > ulj) {
+- i = event.y - uli;
+- j = event.x - ulj;
++ if (parent != stdscr) {
++ i = event.y - getbegy(parent) - uli;
++ j = event.x - getbegx(parent) - ulj;
++ } else {
++ i = event.y - uli;
++ j = event.x - ulj;
++ }
+ } else {
+ beep();
+ break;
+@@ -175,8 +218,26 @@
+ res.x = ulj + j;
+ return (&res);
+ }
+- i %= si;
+- j %= sj;
++
++ if (si <= 0)
++ i = 0;
++ else
++ i %= si;
++
++ if (sj <= 0)
++ j = 0;
++ else
++ j %= sj;
++
++ /*
++ * If the caller can handle continuous movement, return the result.
++ */
++ if (moved && more) {
++ *more = TRUE;
++ res.y = uli + i;
++ res.x = ulj + j;
++ return (&res);
++ }
+ }
+ }
+
+@@ -194,12 +255,20 @@
+ bool result = FALSE;
+
+ head_line("Use arrows to move cursor, anything else to mark corner 1");
+- if ((tmp = selectcell(parent, min_line, min_col, max_line, max_col)) != 0) {
++ if ((tmp = selectcell(parent, 0,
++ min_line, min_col,
++ max_line, max_col,
++ FALSE,
++ (bool *) 0)) != 0) {
+ *ul = *tmp;
+ MvWAddCh(parent, ul->y, ul->x, '*');
+
+ head_line("Use arrows to move cursor, anything else to mark corner 2");
+- if ((tmp = selectcell(parent, ul->y, ul->x, max_line, max_col)) != 0) {
++ if ((tmp = selectcell(parent, 0,
++ ul->y, ul->x,
++ max_line, max_col,
++ FALSE,
++ (bool *) 0)) != 0) {
+ *lr = *tmp;
+ MvWAddCh(parent, lr->y, lr->x, '*');
+ wmove(parent, lr->y, lr->x);
+@@ -252,6 +321,8 @@
+ keypad(child, TRUE);
+ if (need > have) {
+ all_windows = typeRealloc(FRAME, need, all_windows);
++ if (!all_windows)
++ failed("add_window");
+ }
+ all_windows[num_windows].parent = parent;
+ all_windows[num_windows].child = child;
+@@ -341,10 +412,7 @@
+
+ for (n = 0; n < num_windows; ++n) {
+ if (all_windows[n].parent == parent) {
+- int y0, x0;
+-
+- getbegyx(all_windows[n].child, y0, x0);
+- mvwin(all_windows[n].child, y0 + dy, x0 + dx);
++ mvwin(all_windows[n].child, dy, dx);
+ recur_move_window(all_windows[n].child, dy, dx);
+ }
+ }
+@@ -366,20 +434,24 @@
+ int min_line = top ? LINE_MIN : 0;
+ int max_line = top ? LINE_MAX : getmaxy(parent);
+ PAIR *tmp;
++ bool more;
+
+ head_line("Select new position for %swindow", top ? "" : "sub");
+
+- if ((tmp = selectcell(parent,
+- min_line, min_col,
+- max_line, max_col)) != 0) {
++ while ((tmp = selectcell(parent,
++ win,
++ min_line, min_col,
++ max_line, max_col,
++ FALSE,
++ &more)) != 0) {
+ int y0, x0;
+ getbegyx(parent, y0, x0);
+ /*
+- * Note: Moving a subwindow has the effect of moving a viewport
+- * around the screen. The parent window retains the contents of
+- * the subwindow in the original location, but the viewport will
+- * show the contents (again) at the new location. So it will look
+- * odd when testing.
++ * Moving a subwindow has the effect of moving a viewport around
++ * the screen. The parent window retains the contents of the
++ * subwindow in the original location, but the viewport will show
++ * the contents (again) at the new location. So it will look odd
++ * when testing.
+ */
+ if (mvwin(win, y0 + tmp->y, x0 + tmp->x) != ERR) {
+ if (recur) {
+@@ -388,45 +460,69 @@
+ refresh_all(win);
+ doupdate();
+ result = TRUE;
++ } else {
++ result = FALSE;
+ }
++ if (!more)
++ break;
+ }
+ }
++ head_line("done");
+ return result;
+ }
+
++static void
++show_derwin(WINDOW *win)
++{
++ int pary, parx, maxy, maxx;
++
++ getmaxyx(win, maxy, maxx);
++ getparyx(win, pary, parx);
++
++ head_line("Select new position for derived window at %d,%d (%d,%d)",
++ pary, parx, maxy, maxx);
++}
++
+ /*
+ * test mvderwin().
+ */
+ static bool
+-move_subwin(WINDOW *win)
++move_derwin(WINDOW *win)
+ {
+ WINDOW *parent = parent_of(win);
+ bool result = FALSE;
+
+ if (parent != 0) {
+ bool top = (parent == stdscr);
+- if (!top) {
+- int min_col = top ? COL_MIN : 0;
+- int max_col = top ? COL_MAX : getmaxx(parent);
+- int min_line = top ? LINE_MIN : 0;
+- int max_line = top ? LINE_MAX : getmaxy(parent);
+- PAIR *tmp;
+-
+- head_line("Select new position for subwindow");
+-
+- if ((tmp = selectcell(parent,
+- min_line, min_col,
+- max_line, max_col)) != 0) {
+- int y0, x0;
+- getbegyx(parent, y0, x0);
+- if (mvderwin(win, y0 + tmp->y, x0 + tmp->x) != ERR) {
+- refresh_all(win);
+- doupdate();
+- result = TRUE;
+- }
++ int min_col = top ? COL_MIN : 0;
++ int max_col = top ? COL_MAX : getmaxx(parent);
++ int min_line = top ? LINE_MIN : 0;
++ int max_line = top ? LINE_MAX : getmaxy(parent);
++ PAIR *tmp;
++ bool more;
++
++ show_derwin(win);
++ while ((tmp = selectcell(parent,
++ win,
++ min_line, min_col,
++ max_line, max_col,
++ TRUE,
++ &more)) != 0) {
++ if (mvderwin(win, tmp->y, tmp->x) != ERR) {
++ refresh_all(win);
++ doupdate();
++ repaint_one(win);
++ doupdate();
++ result = TRUE;
++ show_derwin(win);
++ } else {
++ flash();
+ }
++ if (!more)
++ break;
+ }
+ }
++ head_line("done");
+ return result;
+ }
+
+@@ -449,6 +545,28 @@
+ wrefresh(win);
+ }
+
++static void
++fill_with_pattern(WINDOW *win)
++{
++ int y, x;
++ int y0, x0;
++ int y1, x1;
++ int ch = 'a';
++
++ getyx(win, y0, x0);
++ getmaxyx(win, y1, x1);
++ for (y = 0; y < y1; ++y) {
++ for (x = 0; x < x1; ++x) {
++ MvWAddCh(win, y, x, (chtype) ch);
++ if (++ch > 'z')
++ ch = 'a';
++ }
++ }
++ wsyncdown(win);
++ wmove(win, y0, x0);
++ wrefresh(win);
++}
++
+ #define lines_of(ul,lr) (lr.y - ul.y + 1)
+ #define cols_of(ul,lr) (lr.x - ul.x + 1)
+ #define pair_of(ul) ul.y, ul.x
+@@ -523,12 +641,13 @@
+ { 'b', "Draw a box inside the current window" },
+ { 'c', "Create a new window" },
+ { 'd', "Create a new derived window" },
++ { 'D', "Move derived window (moves viewport)" },
+ { 'f', "Fill the current window with the next character" },
++ { 'F', "Fill the current window with a pattern" },
+ { 'm', "Move the current window" },
+ { 'M', "Move the current window (and its children)" },
+ { 'q', "Quit" },
+ { 's', "Create a new subwindow" },
+- { 't', "Move the current subwindow (moves content)" },
+ { CTRL('L'), "Repaint all windows, doing current one last" },
+ { CTRL('N'), "Cursor to next window" },
+ { CTRL('P'), "Cursor to previous window" },
+@@ -571,6 +690,10 @@
+ #endif /* NCURSES_MOUSE_VERSION */
+
+ while (!done && (ch = wgetch(current_win)) != ERR) {
++ int y, x;
++
++ getyx(current_win, y, x);
++
+ switch (ch) {
+ case '?':
+ show_help(current_win);
+@@ -584,9 +707,18 @@
+ case 'd':
+ current_win = create_my_derwin(current_win);
+ break;
++ case 'D':
++ if (!move_derwin(current_win)) {
++ tail_line("error");
++ continue;
++ }
++ break;
+ case 'f':
+ fill_window(current_win, (chtype) wgetch(current_win));
+ break;
++ case 'F':
++ fill_with_pattern(current_win);
++ break;
+ case 'm':
+ case 'M':
+ if (!move_window(current_win, (ch == 'M'))) {
+@@ -600,12 +732,6 @@
+ case 's':
+ current_win = create_my_subwin(current_win);
+ break;
+- case 't':
+- if (!move_subwin(current_win)) {
+- tail_line("error");
+- continue;
+- }
+- break;
+ case CTRL('L'):
+ refresh_all(current_win);
+ break;
+@@ -621,6 +747,7 @@
+ /* want to allow deleting a window also */
+ #endif
+ default:
++ wmove(current_win, y, x);
+ tail_line("unrecognized key (use '?' for help)");
+ beep();
+ continue;
+Index: test/ncurses.c
+Prereq: 1.365
+--- ncurses-5.9/test/ncurses.c 2011-01-22 19:48:33.000000000 +0000
++++ ncurses-5.9-20130504/test/ncurses.c 2013-04-27 19:46:53.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -40,7 +40,7 @@
+ Author: Eric S. Raymond <esr@snark.thyrsus.com> 1993
+ Thomas E. Dickey (beginning revision 1.27 in 1996).
+
+-$Id: ncurses.c,v 1.365 2011/01/22 19:48:33 tom Exp $
++$Id: ncurses.c,v 1.389 2013/04/27 19:46:53 tom Exp $
+
+ ***************************************************************************/
+
+@@ -166,6 +166,14 @@
+
+ static void main_menu(bool);
+
++static void
++failed(const char *s)
++{
++ perror(s);
++ endwin();
++ ExitProgram(EXIT_FAILURE);
++}
++
+ /* The behavior of mvhline, mvvline for negative/zero length is unspecified,
+ * though we can rely on negative x/y values to stop the macro.
+ */
+@@ -490,7 +498,7 @@
+ #ifdef __MINGW32__
+ system("cmd.exe");
+ #else
+- system("sh");
++ IGNORE_RC(system("sh"));
+ #endif
+ if (message)
+ addstr("returned from shellout.\n");
+@@ -723,6 +731,8 @@
+ len_winstack = need;
+ winstack = typeRealloc(WINSTACK, len_winstack, winstack);
+ }
++ if (!winstack)
++ failed("remember_boxes");
+ winstack[level].text = txt_win;
+ winstack[level].frame = box_win;
+ }
+@@ -777,12 +787,21 @@
+ }
+ doupdate();
+ }
+-#endif /* resize_boxes */
++#endif /* resize_boxes */
+ #else
+ #define forget_boxes() /* nothing */
+ #define remember_boxes(level,text,frame) /* nothing */
+ #endif
+
++/*
++ * Return-code is OK/ERR or a keyname.
++ */
++static const char *
++ok_keyname(int code)
++{
++ return ((code == OK) ? "OK" : ((code == ERR) ? "ERR" : keyname(code)));
++}
++
+ static void
+ wgetch_test(unsigned level, WINDOW *win, int delay)
+ {
+@@ -824,9 +843,11 @@
+ } else if (c == 'g') {
+ waddstr(win, "getstr test: ");
+ echo();
+- wgetnstr(win, buf, sizeof(buf) - 1);
++ c = wgetnstr(win, buf, sizeof(buf) - 1);
+ noecho();
+- wprintw(win, "I saw %d characters:\n\t`%s'.", (int) strlen(buf), buf);
++ wprintw(win, "I saw %d characters:\n\t`%s' (%s).",
++ (int) strlen(buf), buf,
++ ok_keyname(c));
+ wclrtoeol(win);
+ wgetch_wrap(win, first_y);
+ } else if (c == 'k') {
+@@ -1023,6 +1044,8 @@
+ free(result);
+ result = 0;
+ }
++ } else {
++ failed("wcstos");
+ }
+ }
+ return result;
+@@ -1072,7 +1095,7 @@
+ } else if (c == 'g') {
+ waddstr(win, "getstr test: ");
+ echo();
+- code = wgetn_wstr(win, wint_buf, sizeof(wint_buf) - 1);
++ code = wgetn_wstr(win, wint_buf, BUFSIZ - 1);
+ noecho();
+ if (code == ERR) {
+ wprintw(win, "wgetn_wstr returns an error.");
+@@ -1394,7 +1417,7 @@
+ if (!(termattrs() & test)) {
+ printw(" (N/A)");
+ } else {
+- if (ncv > 0 && (getbkgd(stdscr) & A_COLOR)) {
++ if (ncv > 0 && stdscr && (getbkgd(stdscr) & A_COLOR)) {
+ static const chtype table[] =
+ {
+ A_STANDOUT,
+@@ -1637,6 +1660,7 @@
+ short pair;
+ wchar_t wch[10];
+
++ memset(&ch, 0, sizeof(ch));
+ if (getbkgrnd(&ch) != ERR) {
+ if (getcchar(&ch, wch, &attr, &pair, 0) != ERR) {
+ result = attr;
+@@ -1675,8 +1699,8 @@
+ add_wch(&ch);
+ }
+ } else {
+- attr_t old_attr;
+- short old_pair;
++ attr_t old_attr = 0;
++ short old_pair = 0;
+
+ (void) attr_get(&old_attr, &old_pair, 0);
+ (void) attr_set(attr, pair, 0);
+@@ -1895,7 +1919,7 @@
+ } else if (color < 0) {
+ strcpy(temp, "default");
+ } else {
+- strcpy(temp, the_color_names[color]);
++ sprintf(temp, "%.*s", 16, the_color_names[color]);
+ }
+ printw("%-*.*s", width, width, temp);
+ }
+@@ -2159,7 +2183,7 @@
+ bool opt_wide = FALSE;
+ bool opt_nums = FALSE;
+ bool opt_xchr = FALSE;
+- wchar_t buffer[10];
++ wchar_t buffer[80];
+ WINDOW *helpwin;
+
+ if (COLORS * COLORS == COLOR_PAIRS) {
+@@ -2220,7 +2244,7 @@
+
+ if (row >= 0 && move(row, col) != ERR) {
+ init_pair(pair, InxToFG(i), InxToBG(i));
+- color_set(pair, NULL);
++ (void) color_set(pair, NULL);
+ if (opt_acsc)
+ attr_on((attr_t) A_ALTCHARSET, NULL);
+ if (opt_bold)
+@@ -2972,7 +2996,7 @@
+ #endif
+ default:
+ if (cycle_attr(c, &at_code, &attr)) {
+- slk_attr_set(attr, (fg || bg), NULL);
++ slk_attr_set(attr, (short) (fg || bg), NULL);
+ slk_touch();
+ slk_noutrefresh();
+ break;
+@@ -3000,15 +3024,46 @@
+ #endif
+ #endif /* SLK_INIT */
+
+-/* ISO 6429: codes 0x80 to 0x9f may be control characters that cause the
++static void
++show_256_chars(int repeat, attr_t attr, short pair)
++{
++ unsigned first = 0;
++ unsigned last = 255;
++ unsigned code;
++ int count;
++
++ erase();
++ attron(A_BOLD);
++ MvPrintw(0, 20, "Display of Character Codes %#0x to %#0x",
++ first, last);
++ attroff(A_BOLD);
++ refresh();
++
++ for (code = first; code <= last; ++code) {
++ int row = (int) (2 + (code / 16));
++ int col = (int) (5 * (code % 16));
++ mvaddch(row, col, colored_chtype(code, attr, pair));
++ for (count = 1; count < repeat; ++count) {
++ addch(colored_chtype(code, attr, pair));
++ }
++ }
++
++}
++
++/*
++ * Show a slice of 32 characters, allowing those to be repeated up to the
++ * screen's width.
++ *
++ * ISO 6429: codes 0x80 to 0x9f may be control characters that cause the
+ * terminal to perform functions. The remaining codes can be graphic.
+ */
+ static void
+-show_upper_chars(unsigned first, int repeat, attr_t attr, short pair)
++show_upper_chars(int base, int pagesize, int repeat, attr_t attr, short pair)
+ {
+- bool C1 = (first == 128);
+ unsigned code;
+- unsigned last = first + 31;
++ unsigned first = (unsigned) base;
++ unsigned last = first + (unsigned) pagesize - 2;
++ bool C1 = (first == 128);
+ int reply;
+
+ erase();
+@@ -3020,8 +3075,8 @@
+
+ for (code = first; code <= last; code++) {
+ int count = repeat;
+- int row = 2 + ((int) (code - first) % 16);
+- int col = ((int) (code - first) / 16) * COLS / 2;
++ int row = 2 + ((int) (code - first) % (pagesize / 2));
++ int col = ((int) (code - first) / (pagesize / 2)) * COLS / 2;
+ char tmp[80];
+ sprintf(tmp, "%3u (0x%x)", code, code);
+ MvPrintw(row, col, "%*s: ", COLS / 4, tmp);
+@@ -3195,6 +3250,7 @@
+ acs_display(void)
+ {
+ int c = 'a';
++ int pagesize = 32;
+ char *term = getenv("TERM");
+ const char *pch_kludge = ((term != 0 && strstr(term, "linux"))
+ ? "p=PC, "
+@@ -3222,6 +3278,13 @@
+ else
+ beep();
+ break;
++ case 'w':
++ if (pagesize == 32) {
++ pagesize = 256;
++ } else {
++ pagesize = 32;
++ }
++ break;
+ case 'x':
+ ToggleAcs(last_show_acs, show_box_chars);
+ break;
+@@ -3265,15 +3328,18 @@
+ }
+ break;
+ }
+- if (last_show_acs != 0)
++ if (pagesize != 32) {
++ show_256_chars(repeat, attr, pair);
++ } else if (last_show_acs != 0) {
+ last_show_acs(repeat, attr, pair);
+- else
+- show_upper_chars((unsigned) (digit * 32 + 128), repeat, attr, pair);
++ } else {
++ show_upper_chars(digit * pagesize + 128, pagesize, repeat, attr, pair);
++ }
+
+ MvPrintw(LINES - 3, 0,
+ "Note: ANSI terminals may not display C1 characters.");
+ MvPrintw(LINES - 2, 0,
+- "Select: a=ACS, x=box, %s0=C1, 1-3,+/- non-ASCII, </> repeat, ESC=quit",
++ "Select: a=ACS, w=all x=box, %s0=C1, 1-3,+/- non-ASCII, </> repeat, ESC=quit",
+ pch_kludge);
+ if (use_colors) {
+ MvPrintw(LINES - 1, 0,
+@@ -3312,6 +3378,53 @@
+ return dst;
+ }
+
++/*
++ * Header/legend take up no more than 8 lines, leaving 16 lines on a 24-line
++ * display. If there are no repeats, we could normally display 16 lines of 64
++ * characters (1024 total). However, taking repeats and double-width cells
++ * into account, use 256 characters for the page.
++ */
++static void
++show_paged_widechars(int base,
++ int pagesize,
++ int repeat,
++ int space,
++ attr_t attr,
++ short pair)
++{
++ int first = base * pagesize;
++ int last = first + pagesize - 1;
++ int per_line = 16;
++ cchar_t temp;
++ wchar_t code;
++ wchar_t codes[10];
++
++ erase();
++ attron(A_BOLD);
++ MvPrintw(0, 20, "Display of Character Codes %#x to %#x", first, last);
++ attroff(A_BOLD);
++
++ for (code = first; (int) code <= last; code++) {
++ int row = (2 + ((int) code - first) / per_line);
++ int col = 5 * ((int) code % per_line);
++ int count;
++
++ memset(&codes, 0, sizeof(codes));
++ codes[0] = code;
++ setcchar(&temp, codes, attr, pair, 0);
++ move(row, col);
++ if (wcwidth(code) == 0 && code != 0) {
++ addch((chtype) space |
++ (A_REVERSE ^ attr) |
++ (attr_t) COLOR_PAIR(pair));
++ }
++ add_wch(&temp);
++ for (count = 1; count < repeat; ++count) {
++ add_wch(&temp);
++ }
++ }
++}
++
+ static void
+ show_upper_widechars(int first, int repeat, int space, attr_t attr, short pair)
+ {
+@@ -3332,11 +3445,13 @@
+ int count = repeat;
+ int y, x;
+
+- memset(&codes, 0, sizeof(codes));
+- codes[0] = code;
+ sprintf(tmp, "%3ld (0x%lx)", (long) code, (long) code);
+ MvPrintw(row, col, "%*s: ", COLS / 4, tmp);
++
++ memset(&codes, 0, sizeof(codes));
++ codes[0] = code;
+ setcchar(&temp, codes, attr, pair, 0);
++
+ do {
+ /*
+ * Give non-spacing characters something to combine with. If we
+@@ -3350,16 +3465,17 @@
+ (attr_t) COLOR_PAIR(pair));
+ }
+ /*
+- * This could use add_wch(), but is done for comparison with the
+- * normal 'f' test (and to make a test-case for echo_wchar()).
+- * The screen will flicker because the erase() at the top of the
+- * function is met by the builtin refresh() in echo_wchar().
++ * This uses echo_wchar(), for comparison with the normal 'f'
++ * test (and to make a test-case for echo_wchar()). The screen
++ * may flicker because the erase() at the top of the function
++ * is met by the builtin refresh() in echo_wchar().
+ */
+ echo_wchar(&temp);
+ /*
+ * The repeat-count may make text wrap - avoid that.
+ */
+ getyx(stdscr, y, x);
++ (void) y;
+ if (x >= col + (COLS / 2) - 2)
+ break;
+ } while (--count > 0);
+@@ -3612,7 +3728,7 @@
+
+ MvPrintw(row, col, "%*s : ", COLS / 4, name);
+ (void) attr_set(attr, pair, 0);
+- addstr(strcpy(temp, code));
++ addstr(strncpy(temp, code, 20));
+ (void) attr_set(A_NORMAL, 0, 0);
+ return n + 1;
+ }
+@@ -3680,6 +3796,7 @@
+ int digit = 0;
+ int repeat = 1;
+ int space = ' ';
++ int pagesize = 32;
+ chtype attr = A_NORMAL;
+ int fg = COLOR_BLACK;
+ int bg = COLOR_BLACK;
+@@ -3705,6 +3822,13 @@
+ ToggleAcs(last_show_wacs, show_wacs_chars_thick);
+ break;
+ #endif
++ case 'w':
++ if (pagesize == 32) {
++ pagesize = 256;
++ } else {
++ pagesize = 32;
++ }
++ break;
+ case 'x':
+ ToggleAcs(last_show_wacs, show_wbox_chars);
+ break;
+@@ -3738,20 +3862,25 @@
+ }
+ break;
+ }
+- if (last_show_wacs != 0)
++ if (pagesize != 32) {
++ show_paged_widechars(digit, pagesize, repeat, space, attr, pair);
++ } else if (last_show_wacs != 0) {
+ last_show_wacs(repeat, attr, pair);
+- else
++ } else {
+ show_upper_widechars(digit * 32 + 128, repeat, space, attr, pair);
++ }
+
+- MvPrintw(LINES - 3, 0,
+- "Select: a/d/t WACS, x box, u UTF-8, 0-9,+/- non-ASCII, </> repeat, ESC=quit");
++ MvPrintw(LINES - 4, 0,
++ "Select: a/d/t WACS, w=all x=box, u UTF-8, ^L repaint");
++ MvPrintw(LINES - 3, 2,
++ "0-9,+/- non-ASCII, </> repeat, _ space, ESC=quit");
+ if (use_colors) {
+- MvPrintw(LINES - 2, 0,
++ MvPrintw(LINES - 2, 2,
+ "v/V, f/F, b/B cycle through video attributes (%s) and color %d/%d.",
+ attrs_to_cycle[at_code].name,
+ fg, bg);
+ } else {
+- MvPrintw(LINES - 2, 0,
++ MvPrintw(LINES - 2, 2,
+ "v/V cycles through video attributes (%s).",
+ attrs_to_cycle[at_code].name);
+ }
+@@ -3779,7 +3908,7 @@
+ /* Use non-default colors if possible to exercise bce a little */
+ if (use_colors) {
+ init_pair(1, COLOR_WHITE, COLOR_BLUE);
+- normal |= COLOR_PAIR(1);
++ normal |= (chtype) COLOR_PAIR(1);
+ }
+ bkgdset(normal);
+ erase();
+@@ -4115,7 +4244,8 @@
+ outerbox(ul, lr, TRUE);
+ refresh();
+
+- wrefresh(rwindow);
++ if (rwindow != 0)
++ wrefresh(rwindow);
+
+ move(0, 0);
+ clrtoeol();
+@@ -4186,9 +4316,11 @@
+ switch (c) {
+ case CTRL('C'):
+ if ((neww = typeCalloc(FRAME, 1)) == 0) {
++ failed("acs_and_scroll");
+ goto breakout;
+ }
+ if ((neww->wind = getwindow()) == (WINDOW *) 0) {
++ failed("acs_and_scroll");
+ free(neww);
+ goto breakout;
+ }
+@@ -4269,12 +4401,16 @@
+
+ neww->next = current ? current->next : 0;
+ neww->last = current;
+- neww->last->next = neww;
+- neww->next->last = neww;
++ if (neww->last != 0)
++ neww->last->next = neww;
++ if (neww->next != 0)
++ neww->next->last = neww;
+
+ neww->wind = getwin(fp);
+
+ wrefresh(neww->wind);
++ } else {
++ failed("acs_and_scroll");
+ }
+ (void) fclose(fp);
+ }
+@@ -5226,7 +5362,7 @@
+ #ifdef A_COLOR
+ if (use_colors) {
+ init_pair(2, COLOR_CYAN, COLOR_BLUE);
+- wbkgd(subWin, COLOR_PAIR(2) | ' ');
++ wbkgd(subWin, (chtype) (COLOR_PAIR(2) | ' '));
+ }
+ #endif
+ (void) wattrset(subWin, A_BOLD);
+@@ -5449,6 +5585,8 @@
+ for (n = 0; t_tbl[n].name != 0; n++)
+ need += strlen(t_tbl[n].name) + 2;
+ buf = typeMalloc(char, need);
++ if (!buf)
++ failed("tracetrace");
+ }
+ sprintf(buf, "0x%02x = {", tlevel);
+ if (tlevel == 0) {
+@@ -5622,10 +5760,9 @@
+ set_form_sub(f, derwin(w, rows, cols, 1, 2));
+ box(w, 0, 0);
+ keypad(w, TRUE);
++ if (post_form(f) != E_OK)
++ wrefresh(w);
+ }
+-
+- if (post_form(f) != E_OK)
+- wrefresh(w);
+ }
+
+ static void
+@@ -5649,55 +5786,60 @@
+ if (field_info(me, &rows, &cols, &frow, &fcol, &nrow, &nbuf) == E_OK
+ && nbuf > 0) {
+ char *source = field_buffer(me, 1);
+- char temp[80];
++ size_t have = (source ? strlen(source) : 0) + 1;
++ size_t need = 80 + have;
++ char *temp = malloc(need);
+ long len;
+
+- strcpy(temp, source ? source : "");
+- len = (long) (char *) field_userptr(me);
+- if (c <= KEY_MAX) {
+- if (isgraph(c) && (len + 1) < (int) sizeof(temp)) {
+- temp[len++] = (char) c;
+- temp[len] = 0;
+- set_field_buffer(me, 1, temp);
+- c = '*';
+- } else {
+- c = 0;
+- }
+- } else {
+- switch (c) {
+- case REQ_BEG_FIELD:
+- case REQ_CLR_EOF:
+- case REQ_CLR_EOL:
+- case REQ_DEL_LINE:
+- case REQ_DEL_WORD:
+- case REQ_DOWN_CHAR:
+- case REQ_END_FIELD:
+- case REQ_INS_CHAR:
+- case REQ_INS_LINE:
+- case REQ_LEFT_CHAR:
+- case REQ_NEW_LINE:
+- case REQ_NEXT_WORD:
+- case REQ_PREV_WORD:
+- case REQ_RIGHT_CHAR:
+- case REQ_UP_CHAR:
+- c = 0; /* we don't want to do inline editing */
+- break;
+- case REQ_CLR_FIELD:
+- if (len) {
+- temp[0] = 0;
++ if (temp != 0) {
++ strncpy(temp, source ? source : "", have + 1);
++ len = (long) (char *) field_userptr(me);
++ if (c <= KEY_MAX) {
++ if (isgraph(c) && (len + 1) < (int) sizeof(temp)) {
++ temp[len++] = (char) c;
++ temp[len] = 0;
+ set_field_buffer(me, 1, temp);
++ c = '*';
++ } else {
++ c = 0;
+ }
+- break;
+- case REQ_DEL_CHAR:
+- case REQ_DEL_PREV:
+- if (len) {
+- temp[--len] = 0;
+- set_field_buffer(me, 1, temp);
++ } else {
++ switch (c) {
++ case REQ_BEG_FIELD:
++ case REQ_CLR_EOF:
++ case REQ_CLR_EOL:
++ case REQ_DEL_LINE:
++ case REQ_DEL_WORD:
++ case REQ_DOWN_CHAR:
++ case REQ_END_FIELD:
++ case REQ_INS_CHAR:
++ case REQ_INS_LINE:
++ case REQ_LEFT_CHAR:
++ case REQ_NEW_LINE:
++ case REQ_NEXT_WORD:
++ case REQ_PREV_WORD:
++ case REQ_RIGHT_CHAR:
++ case REQ_UP_CHAR:
++ c = 0; /* we don't want to do inline editing */
++ break;
++ case REQ_CLR_FIELD:
++ if (len) {
++ temp[0] = 0;
++ set_field_buffer(me, 1, temp);
++ }
++ break;
++ case REQ_DEL_CHAR:
++ case REQ_DEL_PREV:
++ if (len) {
++ temp[--len] = 0;
++ set_field_buffer(me, 1, temp);
++ }
++ break;
+ }
+- break;
+ }
++ set_field_userptr(me, (void *) len);
++ free(temp);
+ }
+- set_field_userptr(me, (void *) len);
+ }
+ return c;
+ }
+@@ -6056,11 +6198,11 @@
+ break;
+ case 2:
+ init_pair(cpair, COLOR_BLUE, COLOR_WHITE);
+- (void) wattrset(win, (attr_t) COLOR_PAIR(cpair) | A_NORMAL);
++ (void) wattrset(win, (int) (COLOR_PAIR(cpair) | A_NORMAL));
+ break;
+ case 3:
+ init_pair(cpair, COLOR_WHITE, COLOR_BLUE);
+- (void) wattrset(win, (attr_t) COLOR_PAIR(cpair) | A_BOLD);
++ (void) wattrset(win, (int) (COLOR_PAIR(cpair) | A_BOLD));
+ break;
+ }
+ }
+@@ -6483,6 +6625,7 @@
+ ," -a f,b set default-colors (assumed white-on-black)"
+ ," -d use default-colors if terminal supports them"
+ #endif
++ ," -E call use_env(FALSE) to ignore $LINES and $COLUMNS"
+ #if USE_SOFTKEYS
+ ," -e fmt specify format for soft-keys test (e)"
+ #endif
+@@ -6495,6 +6638,9 @@
+ #if USE_LIBPANEL
+ ," -s msec specify nominal time for panel-demo (default: 1, to hold)"
+ #endif
++#if defined(NCURSES_VERSION_PATCH) && (NCURSES_VERSION_PATCH >= 20120714)
++ ," -T call use_tioctl(TRUE) to allow SIGWINCH to override environment"
++#endif
+ #ifdef TRACE
+ ," -t mask specify default trace-level (may toggle with ^T)"
+ #endif
+@@ -6517,7 +6663,7 @@
+ }
+
+ #ifdef SIGUSR1
+-static RETSIGTYPE
++static void
+ announce_sig(int sig)
+ {
+ (void) fprintf(stderr, "Handled signal %d\r\n", sig);
+@@ -6681,17 +6827,27 @@
+
+ setlocale(LC_ALL, "");
+
+- while ((c = getopt(argc, argv, "a:de:fhmp:s:t:")) != -1) {
++ while ((c = getopt(argc, argv, "a:dEe:fhmp:s:Tt:")) != -1) {
+ switch (c) {
+ #ifdef NCURSES_VERSION
+ case 'a':
+ assumed_colors = TRUE;
+- sscanf(optarg, "%d,%d", &default_fg, &default_bg);
++ switch (sscanf(optarg, "%d,%d", &default_fg, &default_bg)) {
++ case 0:
++ default_fg = COLOR_WHITE;
++ /* FALLTHRU */
++ case 1:
++ default_bg = COLOR_BLACK;
++ break;
++ }
+ break;
+ case 'd':
+ default_colors = TRUE;
+ break;
+ #endif
++ case 'E':
++ use_env(FALSE);
++ break;
+ case 'e':
+ my_e_param = atoi(optarg);
+ #ifdef NCURSES_VERSION
+@@ -6721,6 +6877,11 @@
+ nap_msec = (int) atol(optarg);
+ break;
+ #endif
++#if defined(NCURSES_VERSION_PATCH) && (NCURSES_VERSION_PATCH >= 20120714)
++ case 'T':
++ use_tioctl(TRUE);
++ break;
++#endif
+ #ifdef TRACE
+ case 't':
+ save_trace = (unsigned) strtol(optarg, 0, 0);
+@@ -6761,7 +6922,7 @@
+ bkgdset(BLANK);
+
+ /* tests, in general, will want these modes */
+- use_colors = monochrome ? FALSE : has_colors();
++ use_colors = (bool) (monochrome ? FALSE : has_colors());
+
+ if (use_colors) {
+ start_color();
+@@ -6772,7 +6933,7 @@
+ use_default_colors();
+ min_colors = -1;
+ }
+-#if NCURSES_VERSION_PATCH >= 20000708
++#if HAVE_ASSUME_DEFAULT_COLORS
+ if (assumed_colors)
+ assume_default_colors(default_fg, default_bg);
+ #endif
+@@ -6785,6 +6946,8 @@
+ if (can_change_color()) {
+ short cp;
+ all_colors = typeMalloc(RGB_DATA, (unsigned) max_colors);
++ if (!all_colors)
++ failed("all_colors");
+ for (cp = 0; cp < max_colors; ++cp) {
+ color_content(cp,
+ &all_colors[cp].red,
+Index: test/newdemo.c
+Prereq: 1.35
+--- ncurses-5.9/test/newdemo.c 2010-12-12 00:19:15.000000000 +0000
++++ ncurses-5.9-20130504/test/newdemo.c 2013-04-27 19:46:53.000000000 +0000
+@@ -2,7 +2,7 @@
+ * newdemo.c - A demo program using PDCurses. The program illustrate
+ * the use of colours for text output.
+ *
+- * $Id: newdemo.c,v 1.35 2010/12/12 00:19:15 tom Exp $
++ * $Id: newdemo.c,v 1.40 2013/04/27 19:46:53 tom Exp $
+ */
+
+ #include <test.priv.h>
+@@ -47,7 +47,7 @@
+ /*
+ * Trap interrupt
+ */
+-static RETSIGTYPE
++static void
+ trap(int sig GCC_UNUSED)
+ {
+ endwin();
+@@ -84,7 +84,7 @@
+ if (pair > COLOR_PAIRS)
+ pair = COLOR_PAIRS;
+ init_pair((short) pair, (short) foreground, (short) background);
+- (void) wattrset(win, (attr_t) COLOR_PAIR(pair));
++ (void) wattrset(win, (int) COLOR_PAIR(pair));
+ }
+ }
+
+@@ -96,7 +96,7 @@
+ pair = COLOR_PAIRS;
+ attrs |= (chtype) COLOR_PAIR(pair);
+ }
+- (void) wattrset(win, attrs);
++ (void) wattrset(win, (int) attrs);
+ return attrs;
+ }
+
+@@ -113,12 +113,19 @@
+ getbegyx(win, by, bx);
+ sw = w / 3;
+ sh = h / 3;
+- if ((swin1 = subwin(win, sh, sw, by + 3, bx + 5)) == NULL)
++
++ if ((swin1 = subwin(win, sh, sw, by + 3, bx + 5)) == NULL) {
+ return 1;
+- if ((swin2 = subwin(win, sh, sw, by + 4, bx + 8)) == NULL)
++ }
++ if ((swin2 = subwin(win, sh, sw, by + 4, bx + 8)) == NULL) {
++ delwin(swin1);
+ return 1;
+- if ((swin3 = subwin(win, sh, sw, by + 5, bx + 11)) == NULL)
++ }
++ if ((swin3 = subwin(win, sh, sw, by + 5, bx + 11)) == NULL) {
++ delwin(swin1);
++ delwin(swin2);
+ return 1;
++ }
+
+ set_colors(swin1, 8, COLOR_RED, COLOR_BLUE);
+ werase(swin1);
+@@ -215,7 +222,7 @@
+ {
+ WINDOW *win;
+ int w, x, y, i, j, k;
+- char buffer[200];
++ char buffer[SIZEOF(messages) * 80];
+ const char *message;
+ int width, height;
+ chtype save[80];
+Index: test/programs
+Prereq: 1.19
+--- ncurses-5.9/test/programs 2009-09-12 19:44:01.000000000 +0000
++++ ncurses-5.9-20130504/test/programs 2013-01-13 00:46:13.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: programs,v 1.19 2009/09/12 19:44:01 tom Exp $
++# $Id: programs,v 1.21 2013/01/13 00:46:13 tom Exp $
+ ##############################################################################
+-# Copyright (c) 2006-2008,2009 Free Software Foundation, Inc. #
++# Copyright (c) 2006-2009,2013 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -83,6 +83,8 @@
+ test_instr $(LDFLAGS_CURSES) $(LOCAL_LIBS) test_instr
+ test_inwstr $(LDFLAGS_CURSES) $(LOCAL_LIBS) test_inwstr
+ test_opaque $(LDFLAGS_CURSES) $(LOCAL_LIBS) test_opaque
++test_vid_puts $(LDFLAGS_CURSES) $(LOCAL_LIBS) test_vid_puts
++test_vidputs $(LDFLAGS_CURSES) $(LOCAL_LIBS) test_vidputs
+ testaddch $(LDFLAGS_CURSES) $(LOCAL_LIBS) testaddch
+ testcurs $(LDFLAGS_CURSES) $(LOCAL_LIBS) testcurs
+ testscanw $(LDFLAGS_CURSES) $(LOCAL_LIBS) testscanw
+Index: test/railroad.c
+Prereq: 1.19
+--- ncurses-5.9/test/railroad.c 2009-10-24 21:37:56.000000000 +0000
++++ ncurses-5.9-20130504/test/railroad.c 2011-04-23 19:15:04.000000000 +0000
+@@ -29,7 +29,7 @@
+ /*
+ * Author: Thomas E. Dickey - 2000
+ *
+- * $Id: railroad.c,v 1.19 2009/10/24 21:37:56 tom Exp $
++ * $Id: railroad.c,v 1.20 2011/04/23 19:15:04 tom Exp $
+ *
+ * A simple demo of the termcap interface.
+ */
+@@ -55,8 +55,8 @@
+
+ static bool interrupted = FALSE;
+
+-static int
+-outc(TPUTS_ARG c)
++static
++TPUTS_PROTO(outc, c)
+ {
+ int rc = OK;
+
+@@ -68,7 +68,7 @@
+ if (putc(c, stdout) == EOF)
+ rc = ERR;
+ }
+- return rc;
++ TPUTS_RETURN(rc);
+ }
+
+ static void
+Index: test/rain.c
+Prereq: 1.38
+--- ncurses-5.9/test/rain.c 2010-11-13 20:11:46.000000000 +0000
++++ ncurses-5.9-20130504/test/rain.c 2012-01-21 23:54:47.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: rain.c,v 1.38 2010/11/13 20:11:46 tom Exp $
++ * $Id: rain.c,v 1.40 2012/01/21 23:54:47 tom Exp $
+ */
+ #include <test.priv.h>
+
+@@ -222,7 +222,7 @@
+ * Find myself in the list of threads so we can count the number of loops.
+ */
+ for (mystats = 0; mystats < MAX_THREADS; ++mystats) {
+-#ifdef __MINGW32__
++#if defined(__MINGW32__) && !defined(__WINPTHREADS_VERSION)
+ if (drop_threads[mystats].myself.p == pthread_self().p)
+ #else
+ if (drop_threads[mystats].myself == pthread_self())
+@@ -256,7 +256,7 @@
+ /*
+ * The description of pthread_create() is misleading, since it implies that
+ * threads will exit cleanly after their function returns.
+- *
++ *
+ * Since they do not (and the number of threads is limited by system
+ * resources), make a limited number of threads, and signal any that are
+ * waiting when we want a thread past that limit.
+Index: test/redraw.c
+Prereq: 1.5
+--- ncurses-5.9/test/redraw.c 2010-05-01 22:04:08.000000000 +0000
++++ ncurses-5.9-20130504/test/redraw.c 2012-12-08 20:46:02.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2006-2007,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2006-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: redraw.c,v 1.5 2010/05/01 22:04:08 tom Exp $
++ * $Id: redraw.c,v 1.8 2012/12/08 20:46:02 tom Exp $
+ *
+ * Demonstrate the redrawwin() and wredrawln() functions.
+ * Thomas Dickey - 2006/11/4
+@@ -113,7 +113,7 @@
+ * using mvcur(). It is ifdef'd for NCURSES, since X/Open does
+ * not define the case where the old location is unknown.
+ */
+- system("date");
++ IGNORE_RC(system("date"));
+ mvcur(-1, -1, y, x);
+ break;
+ #endif
+Index: test/tclock.c
+Prereq: 1.30
+--- ncurses-5.9/test/tclock.c 2011-03-22 09:16:00.000000000 +0000
++++ ncurses-5.9-20130504/test/tclock.c 2012-06-09 19:17:02.000000000 +0000
+@@ -1,4 +1,4 @@
+-/* $Id: tclock.c,v 1.30 2011/03/22 09:16:00 tom Exp $ */
++/* $Id: tclock.c,v 1.31 2012/06/09 19:17:02 tom Exp $ */
+
+ #include <test.priv.h>
+
+@@ -216,12 +216,12 @@
+ attroff(A_REVERSE);
+
+ if (has_colors())
+- (void) attrset(COLOR_PAIR(1));
++ (void) attrset((attr_t) COLOR_PAIR(1));
+
+ dline(1, cx, cy, cx + sdx, cy - sdy, 'O');
+
+ if (has_colors())
+- (void) attrset(COLOR_PAIR(0));
++ (void) attrset((attr_t) COLOR_PAIR(0));
+
+ text = ctime(&tim);
+ MvPrintw(2, 0, "%.*s", (int) (strlen(text) - 1), text);
+Index: test/test.priv.h
+Prereq: 1.103
+--- ncurses-5.9/test/test.priv.h 2011-03-22 09:15:45.000000000 +0000
++++ ncurses-5.9-20130504/test/test.priv.h 2013-02-10 01:00:04.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -29,7 +29,7 @@
+ /****************************************************************************
+ * Author: Thomas E. Dickey 1996-on *
+ ****************************************************************************/
+-/* $Id: test.priv.h,v 1.103 2011/03/22 09:15:45 tom Exp $ */
++/* $Id: test.priv.h,v 1.117 2013/02/10 01:00:04 tom Exp $ */
+
+ #ifndef __TEST_PRIV_H
+ #define __TEST_PRIV_H 1
+@@ -58,6 +58,10 @@
+ /*
+ * Fallback definitions to accommodate broken compilers.
+ */
++#ifndef HAVE_ASSUME_DEFAULT_COLORS
++#define HAVE_ASSUME_DEFAULT_COLORS 0
++#endif
++
+ #ifndef HAVE_CURSES_VERSION
+ #define HAVE_CURSES_VERSION 0
+ #endif
+@@ -170,10 +174,22 @@
+ #define HAVE_SLK_INIT 0
+ #endif
+
++#ifndef HAVE_SYS_IOCTL_H
++#define HAVE_SYS_IOCTL_H 0
++#endif
++
++#ifndef HAVE_SYS_SELECT_H
++#define HAVE_SYS_SELECT_H 0
++#endif
++
+ #ifndef HAVE_TERMATTRS
+ #define HAVE_TERMATTRS 0
+ #endif
+
++#ifndef HAVE_TERMIOS_H
++#define HAVE_TERMIOS_H 0
++#endif
++
+ #ifndef HAVE_TERMNAME
+ #define HAVE_TERMNAME 0
+ #endif
+@@ -202,6 +218,14 @@
+ #define HAVE_USE_DEFAULT_COLORS 0
+ #endif
+
++#ifndef HAVE_USE_SCREEN
++#define HAVE_USE_SCREEN 0
++#endif
++
++#ifndef HAVE_USE_WINDOW
++#define HAVE_USE_WINDOW 0
++#endif
++
+ #ifndef HAVE_WRESIZE
+ #define HAVE_WRESIZE 0
+ #endif
+@@ -222,6 +246,13 @@
+ #define NO_LEAKS 0
+ #endif
+
++/*
++ * Workaround for HPUX
++ */
++#if defined(__hpux) && !defined(NCURSES_VERSION)
++#define _ACS_COMPAT_CODE /* needed for acs_map vs __acs_map */
++#endif
++
+ #include <stdlib.h>
+ #include <stdarg.h>
+ #include <string.h>
+@@ -269,21 +300,18 @@
+
+ /*
+ * Not all curses.h implementations include unctrl.h,
+- * Solaris 10 xpg4 for example.
+ */
+-#if defined(NCURSES_VERSION) || defined(_XOPEN_CURSES)
+-#if defined(HAVE_NCURSESW_NCURSES_H)
++#if defined(HAVE_NCURSESW_UNCTRL_H)
+ #include <ncursesw/unctrl.h>
+-#elif defined(HAVE_NCURSES_NCURSES_H)
++#elif defined(HAVE_NCURSES_UNCTRL_H)
+ #include <ncurses/unctrl.h>
+-#else
++#elif defined(HAVE_UNCTRL_H)
+ #include <unctrl.h>
+ #endif
+-#endif
+
+ #if HAVE_GETOPT_H
+ #include <getopt.h>
+-#else
++#elif !defined(HAVE_GETOPT_HEADER)
+ /* 'getopt()' may be prototyped in <stdlib.h>, but declaring its variables
+ * doesn't hurt.
+ */
+@@ -323,17 +351,20 @@
+ #endif
+
+ #if !USE_SOFTKEYS
+-#define slk_init() /* nothing */
+-#define slk_restore() /* nothing */
+-#define slk_clear() /* nothing */
++#define slk_init() /* nothing */
++#define slk_restore() /* nothing */
++#define slk_clear() /* nothing */
+ #endif
+
+ #ifndef HAVE_WSYNCDOWN
+-#define wsyncdown(win) /* nothing */
++#define wsyncdown(win) /* nothing */
+ #endif
+
+ #ifndef USE_WIDEC_SUPPORT
+-#if (defined(_XOPEN_SOURCE_EXTENDED) || defined(_XPG5)) && defined(WACS_ULCORNER)
++#if (defined(_XOPEN_SOURCE_EXTENDED) \
++ || (defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE - 0 >= 500)) \
++ || (defined(NCURSES_WIDECHAR) && (NCURSES_WIDECHAR - 0 < 1))) \
++ && defined(WACS_ULCORNER)
+ #define USE_WIDEC_SUPPORT 1
+ #else
+ #define USE_WIDEC_SUPPORT 0
+@@ -609,8 +640,28 @@
+ #define EXIT_FAILURE 1
+ #endif
+
+-#ifdef __MINGW32__
++#if defined(__MINGW32__)
++
++#if defined(PDCURSES)
++#ifdef WINVER
++# if WINVER < 0x0501
++# error WINVER must at least be 0x0501
++# endif
++#else
++# define WINVER 0x0501
++#endif
++#include <windows.h>
++#include <sys/time.h> /* for struct timeval */
++#undef sleep
++#define sleep(n) Sleep((n) * 1000)
++#define SIGHUP 1
++#define SIGKILL 9
++#define getlogin() "username"
++
++#else
+ #include <nc_mingw.h>
++#endif
++
+ /* conflicts in test/firstlast.c */
+ #undef large
+ #undef small
+@@ -653,25 +704,32 @@
+ * The same would be needed for HPUX 10.20
+ */
+ #ifndef TPUTS_ARG
++#define TPUTS_ARG int
++#endif
++
+ #if defined(sun) && !defined(_XOPEN_CURSES) && !defined(NCURSES_VERSION_PATCH)
++#undef TPUTS_ARG
+ #define TPUTS_ARG char
+ extern char *tgoto(char *, int, int); /* available, but not prototyped */
+-#else
+-#define TPUTS_ARG int
+ #endif
++
++#ifndef TPUTS_PROTO
++#define TPUTS_PROTO(func,value) int func(TPUTS_ARG value)
++#endif
++
++#ifndef TPUTS_RETURN
++#define TPUTS_RETURN(value) return value
+ #endif
+
+ /*
+ * Workarounds for Solaris's X/Open curses
+ */
+-#if defined(sun) && defined(_XOPEN_CURSES) && !defined(NCURSES_VERSION_PATCH)
+ #if !defined(KEY_MIN) && defined(__KEY_MIN)
+ #define KEY_MIN __KEY_MIN
+ #endif
+ #if !defined(KEY_MAX) && defined(__KEY_MIN)
+ #define KEY_MAX __KEY_MAX
+ #endif
+-#endif
+
+ /*
+ * Workaround to build with Sun's default SVr4 curses.
+@@ -702,23 +760,10 @@
+ #define CONST_MENUS /* nothing */
+ #endif
+
+-#ifndef HAVE_USE_WINDOW
+-#if !defined(NCURSES_VERSION_PATCH) || (NCURSES_VERSION_PATCH < 20070915) || !NCURSES_EXT_FUNCS
+-#define HAVE_USE_WINDOW 0
+-#else
+-#define HAVE_USE_WINDOW 1
+-#endif
+-#endif
+-
+ /*
+ * Simplify setting up demo of threading with these macros.
+ */
+
+-#if !HAVE_USE_WINDOW
+-typedef int (*NCURSES_WINDOW_CB) (WINDOW *, void *);
+-typedef int (*NCURSES_SCREEN_CB) (SCREEN *, void *);
+-#endif
+-
+ #if HAVE_USE_WINDOW
+ #define USING_WINDOW(w,func) use_window(w, (NCURSES_WINDOW_CB) func, w)
+ #define USING_WINDOW2(w,func,data) use_window(w, (NCURSES_WINDOW_CB) func, data)
+@@ -745,6 +790,8 @@
+ #define USE_TRACE 0
+ #endif
+
++#define Trace2(p) /* nothing */
++
+ #define MvAddCh (void) mvaddch
+ #define MvWAddCh (void) mvwaddch
+ #define MvAddStr (void) mvaddstr
+Index: test/test_add_wchstr.c
+Prereq: 1.15
+--- ncurses-5.9/test/test_add_wchstr.c 2011-01-15 18:15:11.000000000 +0000
++++ ncurses-5.9-20130504/test/test_add_wchstr.c 2012-12-16 00:12:04.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2009,2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 2010-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: test_add_wchstr.c,v 1.15 2011/01/15 18:15:11 tom Exp $
++ * $Id: test_add_wchstr.c,v 1.20 2012/12/16 00:12:04 tom Exp $
+ *
+ * Demonstrate the waddwchstr() and wadd_wch functions.
+ * Thomas Dickey - 2009/9/12
+@@ -90,6 +90,8 @@
+ if (need > temp_length) { \
+ temp_length = need * 2; \
+ temp_buffer = typeRealloc(cchar_t, temp_length, temp_buffer); \
++ if (!temp_buffer) \
++ failed("TempBuffer"); \
+ } \
+ have[0] = 0; \
+ have[1] = 0; \
+@@ -317,6 +319,15 @@
+ (void) cbreak(); /* take input chars one at a time, no wait for \n */
+ (void) noecho(); /* don't echo input */
+ keypad(stdscr, TRUE);
++
++ /*
++ * Show the characters added in color, to distinguish from those that
++ * are shifted.
++ */
++ if (has_colors()) {
++ start_color();
++ init_pair(1, COLOR_WHITE, COLOR_BLUE);
++ }
+ }
+
+ limit = LINES - 5;
+@@ -350,14 +361,8 @@
+
+ doupdate();
+
+- /*
+- * Show the characters added in color, to distinguish from those that
+- * are shifted.
+- */
+ if (has_colors()) {
+- start_color();
+- init_pair(1, COLOR_WHITE, COLOR_BLUE);
+- wbkgdset(work, COLOR_PAIR(1) | ' ');
++ wbkgdset(work, (chtype) (COLOR_PAIR(1) | ' '));
+ }
+
+ while ((ch = read_linedata(work)) != ERR && !isQUIT(ch)) {
+@@ -366,11 +371,13 @@
+ case key_RECUR:
+ test_add_wchstr(level + 1);
+
+- touchwin(look);
++ if (look)
++ touchwin(look);
+ touchwin(work);
+ touchwin(show);
+
+- wnoutrefresh(look);
++ if (look)
++ wnoutrefresh(look);
+ wnoutrefresh(work);
+ wnoutrefresh(show);
+
+@@ -514,8 +521,8 @@
+ break;
+ }
+ }
++ delwin(show);
+ if (level > 0) {
+- delwin(show);
+ delwin(work);
+ delwin(look);
+ }
+Index: test/test_addchstr.c
+Prereq: 1.13
+--- ncurses-5.9/test/test_addchstr.c 2010-12-12 01:28:24.000000000 +0000
++++ ncurses-5.9-20130504/test/test_addchstr.c 2012-12-16 00:36:27.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2009-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: test_addchstr.c,v 1.13 2010/12/12 01:28:24 tom Exp $
++ * $Id: test_addchstr.c,v 1.18 2012/12/16 00:36:27 tom Exp $
+ *
+ * Demonstrate the waddchstr() and waddch functions.
+ * Thomas Dickey - 2009/9/12
+@@ -101,6 +101,8 @@
+ if (need > temp_length) {
+ temp_length = need * 2;
+ temp_buffer = typeRealloc(chtype, temp_length, temp_buffer);
++ if (!temp_buffer)
++ failed("TempBuffer");
+ }
+ do {
+ const char *s;
+@@ -237,6 +239,15 @@
+ (void) cbreak(); /* take input chars one at a time, no wait for \n */
+ (void) noecho(); /* don't echo input */
+ keypad(stdscr, TRUE);
++
++ /*
++ * Show the characters added in color, to distinguish from those that
++ * are shifted.
++ */
++ if (has_colors()) {
++ start_color();
++ init_pair(1, COLOR_WHITE, COLOR_BLUE);
++ }
+ }
+
+ limit = LINES - 5;
+@@ -270,14 +281,8 @@
+
+ doupdate();
+
+- /*
+- * Show the characters added in color, to distinguish from those that
+- * are shifted.
+- */
+ if (has_colors()) {
+- start_color();
+- init_pair(1, COLOR_WHITE, COLOR_BLUE);
+- show_attr = COLOR_PAIR(1);
++ show_attr = (attr_t) COLOR_PAIR(1);
+ wbkgdset(work, show_attr | ' ');
+ } else {
+ show_attr = A_STANDOUT;
+@@ -289,11 +294,13 @@
+ case key_RECUR:
+ test_adds(level + 1);
+
+- touchwin(look);
++ if (look)
++ touchwin(look);
+ touchwin(work);
+ touchwin(show);
+
+- wnoutrefresh(look);
++ if (look)
++ wnoutrefresh(look);
+ wnoutrefresh(work);
+ wnoutrefresh(show);
+
+@@ -445,10 +452,10 @@
+ }
+ }
+ if (level > 0) {
+- delwin(show);
+ delwin(work);
+ delwin(look);
+ }
++ delwin(show);
+ }
+
+ static void
+Index: test/test_addstr.c
+Prereq: 1.6
+--- ncurses-5.9/test/test_addstr.c 2010-12-12 00:17:37.000000000 +0000
++++ ncurses-5.9-20130504/test/test_addstr.c 2012-12-16 00:14:10.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2009-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: test_addstr.c,v 1.6 2010/12/12 00:17:37 tom Exp $
++ * $Id: test_addstr.c,v 1.10 2012/12/16 00:14:10 tom Exp $
+ *
+ * Demonstrate the waddstr() and waddch functions.
+ * Thomas Dickey - 2009/9/12
+@@ -161,6 +161,15 @@
+ (void) cbreak(); /* take input chars one at a time, no wait for \n */
+ (void) noecho(); /* don't echo input */
+ keypad(stdscr, TRUE);
++
++ /*
++ * Show the characters added in color, to distinguish from those that
++ * are shifted.
++ */
++ if (has_colors()) {
++ start_color();
++ init_pair(1, COLOR_WHITE, COLOR_BLUE);
++ }
+ }
+
+ limit = LINES - 5;
+@@ -194,14 +203,8 @@
+
+ doupdate();
+
+- /*
+- * Show the characters added in color, to distinguish from those that
+- * are shifted.
+- */
+ if (has_colors()) {
+- start_color();
+- init_pair(1, COLOR_WHITE, COLOR_BLUE);
+- wbkgdset(work, COLOR_PAIR(1) | ' ');
++ wbkgdset(work, (chtype) (COLOR_PAIR(1) | ' '));
+ }
+
+ while ((ch = read_linedata(work)) != ERR && !isQUIT(ch)) {
+@@ -210,11 +213,13 @@
+ case key_RECUR:
+ test_adds(level + 1);
+
+- touchwin(look);
++ if (look)
++ touchwin(look);
+ touchwin(work);
+ touchwin(show);
+
+- wnoutrefresh(look);
++ if (look)
++ wnoutrefresh(look);
+ wnoutrefresh(work);
+ wnoutrefresh(show);
+
+@@ -361,8 +366,8 @@
+ break;
+ }
+ }
++ delwin(show);
+ if (level > 0) {
+- delwin(show);
+ delwin(work);
+ delwin(look);
+ }
+Index: test/test_addwstr.c
+Prereq: 1.6
+--- ncurses-5.9/test/test_addwstr.c 2010-12-12 00:18:00.000000000 +0000
++++ ncurses-5.9-20130504/test/test_addwstr.c 2012-12-16 00:11:18.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2009-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: test_addwstr.c,v 1.6 2010/12/12 00:18:00 tom Exp $
++ * $Id: test_addwstr.c,v 1.11 2012/12/16 00:11:18 tom Exp $
+ *
+ * Demonstrate the waddwstr() and wadd_wch functions.
+ * Thomas Dickey - 2009/9/12
+@@ -233,8 +233,9 @@
+ WINDOW *work = 0;
+ WINDOW *show = 0;
+ int margin = (2 * MY_TABSIZE) - 1;
+- Options option = ((m_opt ? oMove : oDefault)
+- | ((w_opt || (level > 0)) ? oWindow : oDefault));
++ Options option = (Options) ((int) (m_opt ? oMove : oDefault)
++ | (int) ((w_opt || (level > 0))
++ ? oWindow : oDefault));
+
+ if (first) {
+ static char cmd[80];
+@@ -246,6 +247,15 @@
+ (void) cbreak(); /* take input chars one at a time, no wait for \n */
+ (void) noecho(); /* don't echo input */
+ keypad(stdscr, TRUE);
++
++ /*
++ * Show the characters inserted in color, to distinguish from those that
++ * are shifted.
++ */
++ if (has_colors()) {
++ start_color();
++ init_pair(1, COLOR_WHITE, COLOR_BLUE);
++ }
+ }
+
+ limit = LINES - 5;
+@@ -279,14 +289,8 @@
+
+ doupdate();
+
+- /*
+- * Show the characters inserted in color, to distinguish from those that
+- * are shifted.
+- */
+ if (has_colors()) {
+- start_color();
+- init_pair(1, COLOR_WHITE, COLOR_BLUE);
+- wbkgdset(work, COLOR_PAIR(1) | ' ');
++ wbkgdset(work, (chtype) (COLOR_PAIR(1) | ' '));
+ }
+
+ while ((ch = read_linedata(work)) != ERR && !isQUIT(ch)) {
+@@ -295,11 +299,13 @@
+ case key_RECUR:
+ test_inserts(level + 1);
+
+- touchwin(look);
++ if (look)
++ touchwin(look);
+ touchwin(work);
+ touchwin(show);
+
+- wnoutrefresh(look);
++ if (look)
++ wnoutrefresh(look);
+ wnoutrefresh(work);
+ wnoutrefresh(show);
+
+@@ -445,8 +451,8 @@
+ break;
+ }
+ }
++ delwin(show);
+ if (level > 0) {
+- delwin(show);
+ delwin(work);
+ delwin(look);
+ }
+Index: test/test_getstr.c
+Prereq: 1.9
+--- ncurses-5.9/test/test_getstr.c 2009-08-29 19:02:25.000000000 +0000
++++ ncurses-5.9-20130504/test/test_getstr.c 2012-07-07 18:22:49.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2007-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 2007-2009,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: test_getstr.c,v 1.9 2009/08/29 19:02:25 tom Exp $
++ * $Id: test_getstr.c,v 1.10 2012/07/07 18:22:49 tom Exp $
+ *
+ * Author: Thomas E Dickey
+ *
+@@ -58,6 +58,15 @@
+ eMaxFlavor
+ } Flavors;
+
++/*
++ * Return-code is OK/ERR or a keyname.
++ */
++static const char *
++ok_keyname(int code)
++{
++ return ((code == OK) ? "OK" : ((code == ERR) ? "ERR" : keyname(code)));
++}
++
+ static bool
+ Quit(int ch)
+ {
+@@ -310,7 +319,7 @@
+ }
+ noecho();
+ (void) wattrset(txtwin, A_NORMAL);
+- wprintw(strwin, "%d:%s", rc, buffer);
++ wprintw(strwin, "%s:%s", ok_keyname(rc), buffer);
+ wnoutrefresh(strwin);
+ break;
+ default:
+Index: test/test_vid_puts.c
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/test/test_vid_puts.c 2013-01-13 01:04:14.000000000 +0000
+@@ -0,0 +1,148 @@
++/****************************************************************************
++ * Copyright (c) 2013 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++/*
++ * $Id: test_vid_puts.c,v 1.4 2013/01/13 01:04:14 tom Exp $
++ *
++ * Demonstrate the vid_puts and vid_attr functions.
++ * Thomas Dickey - 2013/01/12
++ */
++
++#define USE_TINFO
++#include <test.priv.h>
++
++#if USE_WIDEC_SUPPORT && HAVE_SETUPTERM
++
++#define valid(s) ((s != 0) && s != (char *)-1)
++
++static FILE *my_fp;
++static bool p_opt = FALSE;
++
++static
++TPUTS_PROTO(outc, c)
++{
++ int rc = c;
++
++ rc = putc(c, my_fp);
++ TPUTS_RETURN(rc);
++}
++
++static bool
++outs(char *s)
++{
++ if (valid(s)) {
++ tputs(s, 1, outc);
++ return TRUE;
++ }
++ return FALSE;
++}
++
++static void
++cleanup(void)
++{
++ outs(exit_attribute_mode);
++ if (!outs(orig_colors))
++ outs(orig_pair);
++ outs(cursor_normal);
++}
++
++static void
++change_attr(chtype attr)
++{
++ if (p_opt) {
++ vid_puts(attr, (short) 0, (void *) 0, outc);
++ } else {
++ vid_attr(attr, (short) 0, (void *) 0);
++ }
++}
++
++static void
++test_vid_puts(void)
++{
++ fprintf(my_fp, "Name: ");
++ change_attr(A_BOLD);
++ fputs("Bold", my_fp);
++ change_attr(A_REVERSE);
++ fputs(" Reverse", my_fp);
++ change_attr(A_NORMAL);
++ fputs("\n", my_fp);
++}
++
++static void
++usage(void)
++{
++ static const char *tbl[] =
++ {
++ "Usage: test_vid_puts [options]"
++ ,""
++ ,"Options:"
++ ," -e use stderr (default stdout)"
++ ," -p use vid_puts (default vid_attr)"
++ };
++ unsigned n;
++ for (n = 0; n < SIZEOF(tbl); ++n)
++ fprintf(stderr, "%s\n", tbl[n]);
++ ExitProgram(EXIT_FAILURE);
++}
++
++int
++main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
++{
++ int ch;
++
++ my_fp = stdout;
++
++ while ((ch = getopt(argc, argv, "ep")) != -1) {
++ switch (ch) {
++ case 'e':
++ my_fp = stderr;
++ break;
++ case 'p':
++ p_opt = TRUE;
++ break;
++ default:
++ usage();
++ break;
++ }
++ }
++ if (optind < argc)
++ usage();
++
++ setupterm((char *) 0, 1, (int *) 0);
++ test_vid_puts();
++ cleanup();
++ ExitProgram(EXIT_SUCCESS);
++}
++
++#else
++int
++main(void)
++{
++ printf("This program requires the wide-ncurses terminfo library\n");
++ ExitProgram(EXIT_FAILURE);
++}
++#endif
+Index: test/test_vidputs.c
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/test/test_vidputs.c 2013-01-13 00:58:54.000000000 +0000
+@@ -0,0 +1,148 @@
++/****************************************************************************
++ * Copyright (c) 2013 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++/*
++ * $Id: test_vidputs.c,v 1.3 2013/01/13 00:58:54 tom Exp $
++ *
++ * Demonstrate the vidputs and vidattr functions.
++ * Thomas Dickey - 2013/01/12
++ */
++
++#define USE_TINFO
++#include <test.priv.h>
++
++#if HAVE_SETUPTERM
++
++#define valid(s) ((s != 0) && s != (char *)-1)
++
++static FILE *my_fp;
++static bool p_opt = FALSE;
++
++static
++TPUTS_PROTO(outc, c)
++{
++ int rc = c;
++
++ rc = putc(c, my_fp);
++ TPUTS_RETURN(rc);
++}
++
++static bool
++outs(char *s)
++{
++ if (valid(s)) {
++ tputs(s, 1, outc);
++ return TRUE;
++ }
++ return FALSE;
++}
++
++static void
++cleanup(void)
++{
++ outs(exit_attribute_mode);
++ if (!outs(orig_colors))
++ outs(orig_pair);
++ outs(cursor_normal);
++}
++
++static void
++change_attr(chtype attr)
++{
++ if (p_opt) {
++ vidputs(attr, outc);
++ } else {
++ vidattr(attr);
++ }
++}
++
++static void
++test_vidputs(void)
++{
++ fprintf(my_fp, "Name: ");
++ change_attr(A_BOLD);
++ fputs("Bold", my_fp);
++ change_attr(A_REVERSE);
++ fputs(" Reverse", my_fp);
++ change_attr(A_NORMAL);
++ fputs("\n", my_fp);
++}
++
++static void
++usage(void)
++{
++ static const char *tbl[] =
++ {
++ "Usage: test_vidputs [options]"
++ ,""
++ ,"Options:"
++ ," -e use stderr (default stdout)"
++ ," -p use vidputs (default vidattr)"
++ };
++ unsigned n;
++ for (n = 0; n < SIZEOF(tbl); ++n)
++ fprintf(stderr, "%s\n", tbl[n]);
++ ExitProgram(EXIT_FAILURE);
++}
++
++int
++main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
++{
++ int ch;
++
++ my_fp = stdout;
++
++ while ((ch = getopt(argc, argv, "ep")) != -1) {
++ switch (ch) {
++ case 'e':
++ my_fp = stderr;
++ break;
++ case 'p':
++ p_opt = TRUE;
++ break;
++ default:
++ usage();
++ break;
++ }
++ }
++ if (optind < argc)
++ usage();
++
++ setupterm((char *) 0, 1, (int *) 0);
++ test_vidputs();
++ cleanup();
++ ExitProgram(EXIT_SUCCESS);
++}
++#else
++int
++main(int argc GCC_UNUSED,
++ char *argv[]GCC_UNUSED)
++{
++ fprintf(stderr, "This program requires terminfo\n");
++ exit(EXIT_FAILURE);
++}
++#endif
+Index: test/testaddch.c
+Prereq: 1.7
+--- ncurses-5.9/test/testaddch.c 2009-08-29 19:02:25.000000000 +0000
++++ ncurses-5.9-20130504/test/testaddch.c 2013-01-13 01:02:41.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2006,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -29,7 +29,7 @@
+ * This is an example written by Alexander V. Lukyanov <lav@yars.free.net>,
+ * to demonstrate an inconsistency between ncurses and SVr4 curses.
+ *
+- * $Id: testaddch.c,v 1.7 2009/08/29 19:02:25 tom Exp $
++ * $Id: testaddch.c,v 1.9 2013/01/13 01:02:41 tom Exp $
+ */
+ #include <test.priv.h>
+
+@@ -63,7 +63,7 @@
+ for (i = 0; i < 8; i++) {
+ back = (i & 1) ? A_BOLD | 'B' : ' ';
+ set = (i & 2) ? A_REVERSE : 0;
+- attr = (i & 4) ? COLOR_PAIR(4) : 0;
++ attr = (chtype) ((i & 4) ? COLOR_PAIR(4) : 0);
+
+ bkgdset(back);
+ (void) attrset(set);
+@@ -72,9 +72,9 @@
+ }
+ addch('\n');
+ for (i = 0; i < 8; i++) {
+- back = (i & 1) ? A_BOLD | 'B' | COLOR_PAIR(1) : ' ';
+- set = (i & 2) ? A_REVERSE | COLOR_PAIR(2) : 0;
+- attr = (i & 4) ? COLOR_PAIR(4) : 0;
++ back = (i & 1) ? (A_BOLD | 'B' | COLOR_PAIR(1)) : ' ';
++ set = (i & 2) ? (A_REVERSE | COLOR_PAIR(2)) : 0;
++ attr = (chtype) ((i & 4) ? COLOR_PAIR(4) : 0);
+
+ bkgdset(back);
+ (void) attrset(set);
+Index: test/testcurs.c
+Prereq: 1.43
+--- ncurses-5.9/test/testcurs.c 2010-11-13 21:02:28.000000000 +0000
++++ ncurses-5.9-20130504/test/testcurs.c 2013-02-16 20:29:04.000000000 +0000
+@@ -6,7 +6,7 @@
+ * wrs(5/28/93) -- modified to be consistent (perform identically) with either
+ * PDCurses or under Unix System V, R4
+ *
+- * $Id: testcurs.c,v 1.43 2010/11/13 21:02:28 tom Exp $
++ * $Id: testcurs.c,v 1.47 2013/02/16 20:29:04 tom Exp $
+ */
+
+ #include <test.priv.h>
+@@ -45,18 +45,6 @@
+ };
+ #define MAX_OPTIONS (int) SIZEOF(command)
+
+-#if !HAVE_STRDUP
+-#define strdup my_strdup
+-static char *
+-strdup(char *s)
+-{
+- char *p = typeMalloc(char, strlen(s) + 1);
+- if (p)
+- strcpy(p, s);
+- return (p);
+-}
+-#endif /* not HAVE_STRDUP */
+-
+ static int width, height;
+
+ int
+@@ -85,7 +73,7 @@
+ #ifdef A_COLOR
+ if (has_colors()) {
+ init_pair(1, COLOR_WHITE, COLOR_BLUE);
+- wbkgd(win, COLOR_PAIR(1));
++ wbkgd(win, (chtype) COLOR_PAIR(1));
+ } else
+ wbkgd(win, A_REVERSE);
+ #else
+@@ -353,6 +341,9 @@
+ typeahead(-1);
+ #endif
+
++#ifdef NCURSES_MOUSE_VERSION
++ mousemask(ALL_MOUSE_EVENTS, (mmask_t *) 0);
++#endif
+ #if defined(PDCURSES)
+ mouse_set(ALL_MOUSE_EVENTS);
+ #endif
+@@ -367,8 +358,38 @@
+ wprintw(win, "Key Pressed: %c", c);
+ else
+ wprintw(win, "Key Pressed: %s", unctrl(UChar(c)));
+-#if defined(PDCURSES)
++#ifdef KEY_MOUSE
++#define ButtonChanged(n) ((event.bstate) & NCURSES_MOUSE_MASK(1, 037))
++#define ButtonPressed(n) ((event.bstate) & NCURSES_MOUSE_MASK(1, NCURSES_BUTTON_PRESSED))
++#define ButtonDouble(n) ((event.bstate) & NCURSES_MOUSE_MASK(1, NCURSES_DOUBLE_CLICKED))
++#define ButtonTriple(n) ((event.bstate) & NCURSES_MOUSE_MASK(1, NCURSES_TRIPLE_CLICKED))
++#define ButtonRelease(n) ((event.bstate) & NCURSES_MOUSE_MASK(1, NCURSES_BUTTON_RELEASED))
+ if (c == KEY_MOUSE) {
++ MEVENT event;
++ int button = 0;
++
++ getmouse(&event);
++ if (ButtonChanged(1))
++ button = 1;
++ else if (ButtonChanged(2))
++ button = 2;
++ else if (ButtonChanged(3))
++ button = 3;
++ else
++ button = 0;
++ wmove(win, 4, 18);
++ wprintw(win, "Button %d: ", button);
++ if (ButtonPressed(button))
++ wprintw(win, "pressed: ");
++ else if (ButtonDouble(button))
++ wprintw(win, "double: ");
++ else if (ButtonTriple(button))
++ wprintw(win, "triple: ");
++ else
++ wprintw(win, "released: ");
++ wprintw(win, " Position: Y: %d X: %d", event.y, event.x);
++#if defined(NCURSES_MOUSE_VERSION)
++#elif defined(PDCURSES)
+ int button = 0;
+ request_mouse_pos();
+ if (BUTTON_CHANGED(1))
+@@ -390,8 +411,9 @@
+ else
+ wprintw(win, "released: ");
+ wprintw(win, " Position: Y: %d X: %d", MOUSE_Y_POS, MOUSE_X_POS);
++#endif /* PDCURSES */
+ }
+-#endif
++#endif /* KEY_MOUSE */
+ wrefresh(win);
+ if (c == ' ')
+ break;
+@@ -491,7 +513,7 @@
+ #ifdef A_COLOR
+ if (has_colors()) {
+ init_pair(3, COLOR_BLUE, COLOR_WHITE);
+- wbkgd(win1, COLOR_PAIR(3));
++ wbkgd(win1, (chtype) COLOR_PAIR(3));
+ } else
+ wbkgd(win1, A_NORMAL);
+ #else
+@@ -693,9 +715,11 @@
+ raw();
+ wgetch(pad);
+
+- spad = subpad(pad, 12, 25, 6, 52);
+- MvWAddStr(spad, 2, 2, "This is a new subpad");
+- box(spad, 0, 0);
++ if ((spad = subpad(pad, 12, 25, 6, 52)) != 0) {
++ MvWAddStr(spad, 2, 2, "This is a new subpad");
++ box(spad, 0, 0);
++ delwin(spad);
++ }
+ prefresh(pad, 0, 0, 0, 0, 15, 75);
+ keypad(pad, TRUE);
+ raw();
+Index: test/view.c
+Prereq: 1.81
+--- ncurses-5.9/test/view.c 2010-11-14 01:06:02.000000000 +0000
++++ ncurses-5.9-20130504/test/view.c 2013-04-27 19:46:53.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -50,10 +50,11 @@
+ * scroll operation worked, and the refresh() code only had to do a
+ * partial repaint.
+ *
+- * $Id: view.c,v 1.81 2010/11/14 01:06:02 tom Exp $
++ * $Id: view.c,v 1.93 2013/04/27 19:46:53 tom Exp $
+ */
+
+ #include <test.priv.h>
++#include <widechars.h>
+
+ #include <time.h>
+
+@@ -81,24 +82,10 @@
+ #include <sys/ptem.h>
+ #endif
+
+-#if USE_WIDEC_SUPPORT
+-#if HAVE_MBTOWC && HAVE_MBLEN
+-#define reset_mbytes(state) IGNORE_RC(mblen(NULL, 0)), IGNORE_RC(mbtowc(NULL, NULL, 0))
+-#define count_mbytes(buffer,length,state) mblen(buffer,length)
+-#define check_mbytes(wch,buffer,length,state) \
+- (int) mbtowc(&wch, buffer, length)
+-#define state_unused
+-#elif HAVE_MBRTOWC && HAVE_MBRLEN
+-#define reset_mbytes(state) init_mb(state)
+-#define count_mbytes(buffer,length,state) mbrlen(buffer,length,&state)
+-#define check_mbytes(wch,buffer,length,state) \
+- (int) mbrtowc(&wch, buffer, length, &state)
+-#else
+-make an error
+-#endif
+-#endif /* USE_WIDEC_SUPPORT */
++#undef CTRL
++#define CTRL(x) ((x) & 0x1f)
+
+-static RETSIGTYPE finish(int sig) GCC_NORETURN;
++static void finish(int sig) GCC_NORETURN;
+ static void show_all(const char *tag);
+
+ #if defined(SIGWINCH) && defined(TIOCGWINSZ) && HAVE_RESIZE_TERM
+@@ -108,11 +95,11 @@
+ #endif
+
+ #if CAN_RESIZE
+-static RETSIGTYPE adjust(int sig);
++static void adjust(int sig);
+ static int interrupted;
++static bool waiting = FALSE;
+ #endif
+
+-static bool waiting = FALSE;
+ static int shift = 0;
+ static bool try_color = FALSE;
+
+@@ -121,6 +108,8 @@
+ static NCURSES_CH_T **lptr;
+ static int num_lines;
+
++static void usage(void) GCC_NORETURN;
++
+ static void
+ usage(void)
+ {
+@@ -135,6 +124,7 @@
+ #if defined(KEY_RESIZE)
+ ," -r use old-style sigwinch handler rather than KEY_RESIZE"
+ #endif
++ ," -s start in single-step mode, waiting for input"
+ #ifdef TRACE
+ ," -t trace screen updates"
+ ," -T NUM specify trace mask"
+@@ -180,7 +170,7 @@
+ {
+ unsigned len = (unsigned) strlen(src);
+ NCURSES_CH_T *dst = typeMalloc(NCURSES_CH_T, len + 1);
+- unsigned j, k;
++ size_t j, k;
+ #if USE_WIDEC_SUPPORT
+ wchar_t wstr[CCHARW_MAX + 1];
+ wchar_t wch;
+@@ -243,6 +233,7 @@
+ int value = 0;
+ bool done = FALSE;
+ bool got_number = FALSE;
++ bool single_step = FALSE;
+ #if CAN_RESIZE
+ bool nonposix_resize = FALSE;
+ #endif
+@@ -258,7 +249,7 @@
+ (void) signal(SIGINT, finish); /* arrange interrupts to terminate */
+ #endif
+
+- while ((i = getopt(argc, argv, "cin:rtT:")) != -1) {
++ while ((i = getopt(argc, argv, "cin:rstT:")) != -1) {
+ switch (i) {
+ case 'c':
+ try_color = TRUE;
+@@ -276,9 +267,18 @@
+ nonposix_resize = TRUE;
+ break;
+ #endif
++ case 's':
++ single_step = TRUE;
++ break;
+ #ifdef TRACE
+ case 'T':
+- trace((unsigned) atoi(optarg));
++ {
++ char *next = 0;
++ int tvalue = (int) strtol(optarg, &next, 0);
++ if (tvalue < 0 || (next != 0 && *next != 0))
++ usage();
++ trace((unsigned) tvalue);
++ }
+ break;
+ case 't':
+ trace(TRACE_CALLS);
+@@ -306,7 +306,7 @@
+ (void) signal(SIGWINCH, adjust); /* arrange interrupts to resize */
+ #endif
+
+- /* slurp the file */
++ Trace(("slurp the file"));
+ for (lptr = &vec_lines[0]; (lptr - vec_lines) < MAXLINES; lptr++) {
+ char temp[BUFSIZ], *s, *d;
+ int col;
+@@ -314,8 +314,26 @@
+ if (fgets(buf, sizeof(buf), fp) == 0)
+ break;
+
+- /* convert tabs so that shift will work properly */
++#if USE_WIDEC_SUPPORT
++ if (lptr == vec_lines) {
++ if (!memcmp("", buf, 3)) {
++ Trace(("trim BOM"));
++ s = buf + 3;
++ d = buf;
++ do {
++ } while ((*d++ = *s++) != '\0');
++ }
++ }
++#endif
++
++ /* convert tabs and nonprinting chars so that shift will work properly */
+ for (s = buf, d = temp, col = 0; (*d = *s) != '\0'; s++) {
++ if (*d == '\r') {
++ if (s[1] == '\n')
++ continue;
++ else
++ break;
++ }
+ if (*d == '\n') {
+ *d = '\0';
+ break;
+@@ -347,14 +365,15 @@
+ (void) nonl(); /* tell curses not to do NL->CR/NL on output */
+ (void) cbreak(); /* take input chars one at a time, no wait for \n */
+ (void) noecho(); /* don't echo input */
+- nodelay(stdscr, TRUE);
++ if (!single_step)
++ nodelay(stdscr, TRUE);
+ idlok(stdscr, TRUE); /* allow use of insert/delete line */
+
+ if (try_color) {
+ if (has_colors()) {
+ start_color();
+ init_pair(my_pair, COLOR_WHITE, COLOR_BLUE);
+- bkgd(COLOR_PAIR(my_pair));
++ bkgd((chtype) COLOR_PAIR(my_pair));
+ } else {
+ try_color = FALSE;
+ }
+@@ -373,10 +392,12 @@
+ adjust(0);
+ my_label = "interrupt";
+ }
+-#endif
+ waiting = TRUE;
+ c = getch();
+ waiting = FALSE;
++#else
++ c = getch();
++#endif
+ if ((c < 127) && isdigit(c)) {
+ if (!got_number) {
+ MvPrintw(0, 0, "Count: ");
+@@ -466,6 +487,9 @@
+ nodelay(stdscr, TRUE);
+ my_delay = 0;
+ break;
++ case CTRL('L'):
++ redrawwin(stdscr);
++ break;
+ case ERR:
+ if (!my_delay)
+ napms(50);
+@@ -483,7 +507,7 @@
+ finish(0); /* we're done */
+ }
+
+-static RETSIGTYPE
++static void
+ finish(int sig)
+ {
+ endwin();
+@@ -510,7 +534,7 @@
+ * The 'wrefresh(curscr)' is needed to force the refresh to start from the top
+ * of the screen -- some xterms mangle the bitmap while resizing.
+ */
+-static RETSIGTYPE
++static void
+ adjust(int sig)
+ {
+ if (waiting || sig == 0) {
+@@ -553,7 +577,7 @@
+ printw("%.*s", COLS, temp);
+ clrtoeol();
+ this_time = time((time_t *) 0);
+- strcpy(temp, ctime(&this_time));
++ strncpy(temp, ctime(&this_time), 30);
+ if ((i = (int) strlen(temp)) != 0) {
+ temp[--i] = 0;
+ if (move(0, COLS - i - 2) != ERR)
+Index: test/widechars.h
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/test/widechars.h 2012-12-01 20:45:54.000000000 +0000
+@@ -0,0 +1,71 @@
++/****************************************************************************
++ * Copyright (c) 2012 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++
++#ifndef __WIDECHARS_H
++#define __WIDECHARS_H 1
++
++#include <test.priv.h>
++
++#if USE_WIDEC_SUPPORT
++
++#if defined(__MINGW32__)
++/*
++ * MinGW has wide-character functions, but they do not work correctly.
++ */
++
++extern int _nc_mbtowc(wchar_t *pwc, const char *s, size_t n);
++extern int __MINGW_NOTHROW _nc_mbtowc(wchar_t *pwc, const char *s, size_t n);
++#define mbtowc(pwc,s,n) _nc_mbtowc(pwc,s,n)
++
++extern int __MINGW_NOTHROW _nc_mblen(const char *, size_t);
++#define mblen(s,n) _nc_mblen(s, n)
++
++#endif /* __MINGW32__ */
++
++#if HAVE_MBTOWC && HAVE_MBLEN
++#define reset_mbytes(state) IGNORE_RC(mblen(NULL, 0)), IGNORE_RC(mbtowc(NULL, NULL, 0))
++#define count_mbytes(buffer,length,state) mblen(buffer,length)
++#define check_mbytes(wch,buffer,length,state) \
++ (int) mbtowc(&wch, buffer, length)
++#define state_unused
++#elif HAVE_MBRTOWC && HAVE_MBRLEN
++#define reset_mbytes(state) init_mb(state)
++#define count_mbytes(buffer,length,state) mbrlen(buffer,length,&state)
++#define check_mbytes(wch,buffer,length,state) \
++ (int) mbrtowc(&wch, buffer, length, &state)
++#else
++make an error
++#endif
++
++#else
++
++#endif /* USE_WIDEC_SUPPORT */
++
++extern void widechars_stub(void);
++
++#endif /* __WIDECHARS_H */
+Index: test/worm.c
+Prereq: 1.60
+--- ncurses-5.9/test/worm.c 2010-11-13 20:21:21.000000000 +0000
++++ ncurses-5.9-20130504/test/worm.c 2013-04-27 19:50:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -61,7 +61,7 @@
+ traces will be dumped. The program stops and waits for one character of
+ input at the beginning and end of the interval.
+
+- $Id: worm.c,v 1.60 2010/11/13 20:21:21 tom Exp $
++ $Id: worm.c,v 1.64 2013/04/27 19:50:17 tom Exp $
+ */
+
+ #include <test.priv.h>
+@@ -202,6 +202,14 @@
+ /* *INDENT-ON* */
+
+ static void
++failed(const char *s)
++{
++ perror(s);
++ endwin();
++ ExitProgram(EXIT_FAILURE);
++}
++
++static void
+ cleanup(void)
+ {
+ USING_WINDOW(stdscr, wrefresh);
+@@ -209,7 +217,7 @@
+ endwin();
+ }
+
+-static RETSIGTYPE
++static void
+ onsig(int sig GCC_UNUSED)
+ {
+ cleanup();
+@@ -391,6 +399,8 @@
+ if (last_x != COLS - 1) {
+ for (y = 0; y <= last_y; y++) {
+ refs[y] = typeRealloc(int, (size_t) COLS, refs[y]);
++ if (!refs[y])
++ failed("update_refs");
+ for (x = last_x + 1; x < COLS; x++)
+ refs[y][x] = 0;
+ }
+@@ -402,6 +412,8 @@
+ refs = typeRealloc(int *, (size_t) LINES, refs);
+ for (y = last_y + 1; y < LINES; y++) {
+ refs[y] = typeMalloc(int, (size_t) COLS);
++ if (!refs[y])
++ failed("update_refs");
+ for (x = 0; x < COLS; x++)
+ refs[y][x] = 0;
+ }
+@@ -419,6 +431,7 @@
+ struct worm *w;
+ int *ip;
+ bool done = FALSE;
++ int max_refs;
+
+ setlocale(LC_ALL, "");
+
+@@ -489,7 +502,7 @@
+
+ #define SET_COLOR(num, fg) \
+ init_pair(num+1, (short) fg, (short) bg); \
+- flavor[num] |= COLOR_PAIR(num+1) | A_BOLD
++ flavor[num] |= (chtype) COLOR_PAIR(num+1) | A_BOLD
+
+ SET_COLOR(0, COLOR_GREEN);
+ SET_COLOR(1, COLOR_RED);
+@@ -501,8 +514,9 @@
+ }
+ #endif /* A_COLOR */
+
+- refs = typeMalloc(int *, (size_t) LINES);
+- for (y = 0; y < LINES; y++) {
++ max_refs = LINES;
++ refs = typeMalloc(int *, (size_t) max_refs);
++ for (y = 0; y < max_refs; y++) {
+ refs[y] = typeMalloc(int, (size_t) COLS);
+ for (x = 0; x < COLS; x++) {
+ refs[y][x] = 0;
+@@ -596,7 +610,7 @@
+ Trace(("Cleanup"));
+ cleanup();
+ #ifdef NO_LEAKS
+- for (y = 0; y < LINES; y++) {
++ for (y = 0; y < max_refs; y++) {
+ free(refs[y]);
+ }
+ free(refs);
+Index: test/xmas.c
+Prereq: 1.27
+--- ncurses-5.9/test/xmas.c 2010-11-13 20:24:10.000000000 +0000
++++ ncurses-5.9-20130504/test/xmas.c 2013-04-27 19:46:53.000000000 +0000
+@@ -92,7 +92,7 @@
+ /******************************************************************************/
+
+ /*
+- * $Id: xmas.c,v 1.27 2010/11/13 20:24:10 tom Exp $
++ * $Id: xmas.c,v 1.28 2013/04/27 19:46:53 tom Exp $
+ */
+ #include <test.priv.h>
+
+@@ -148,7 +148,7 @@
+ static int reindeer(void);
+ static int blinkit(void);
+
+-static RETSIGTYPE done(int sig) GCC_NORETURN;
++static void done(int sig) GCC_NORETURN;
+
+ static void
+ set_color(WINDOW *win, chtype color)
+@@ -1143,7 +1143,7 @@
+ return (0);
+ }
+
+-static RETSIGTYPE
++static void
+ done(int sig GCC_UNUSED)
+ {
+ CATCHALL(done);
diff --git a/source/l/ncurses/ncurses.SlackBuild b/source/l/ncurses/ncurses.SlackBuild
index 2d2fe144..0b83dcd1 100755
--- a/source/l/ncurses/ncurses.SlackBuild
+++ b/source/l/ncurses/ncurses.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2000-2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2000-2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
PKGNAM=ncurses
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -58,11 +58,14 @@ CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
--with-gpm \
--disable-termcap \
--with-normal \
--with-shared \
--enable-symlinks \
+ --enable-pc-files \
+ --with-pkg-config-libdir=/usr/lib${LIBDIRSUFFIX}/pkgconfig \
--without-debug \
--without-profile \
--without-ada \
@@ -94,6 +97,10 @@ if [ ! -z "$(ls $CWD/patches/ncurses-$VERSION-2*.patch.gz 2> /dev/null)" ]; then
done
fi
+# Apply upstream patch collection:
+xzcat $CWD/ncurses-5.9-20130504-patch.sh.xz > ncurses-5.9-20130504-patch.sh
+sh ncurses-5.9-20130504-patch.sh
+
zcat $CWD/ncurses.mkhashsize.diff.gz | patch -p1 --verbose || exit 1
ncurses_configure
diff --git a/source/l/openexr/openexr.SlackBuild b/source/l/openexr/openexr.SlackBuild
index 1bc42cb9..d6ba4db0 100755
--- a/source/l/openexr/openexr.SlackBuild
+++ b/source/l/openexr/openexr.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2007 Heinz Wiesinger <hmwiesinger@gmx.at>
+# Copyright 2007, 2013 Heinz Wiesinger, Amsterdam, The Netherlands
# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
@@ -65,8 +65,6 @@ rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
cd $PKGNAM-$VERSION || exit 1
-zcat $CWD/openexr.gcc4.diff.gz | patch -p1 --verbose || exit 1
-
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/l/openexr/openexr.gcc4.diff b/source/l/openexr/openexr.gcc4.diff
deleted file mode 100644
index b227a56e..00000000
--- a/source/l/openexr/openexr.gcc4.diff
+++ /dev/null
@@ -1,43 +0,0 @@
---- ./IlmImf/ImfMatrixAttribute.h.orig 2010-06-23 21:45:22.000000000 -0500
-+++ ./IlmImf/ImfMatrixAttribute.h 2010-08-09 14:08:01.000000000 -0500
-@@ -49,6 +49,8 @@
- #include <ImfAttribute.h>
- #include "ImathMatrix.h"
-
-+#include <cstring>
-+
-
- namespace Imf {
-
---- ./exrenvmap/main.cpp.orig 2008-10-28 19:00:18.000000000 -0500
-+++ ./exrenvmap/main.cpp 2010-08-09 14:07:14.000000000 -0500
-@@ -51,6 +51,8 @@
- #include <string.h>
- #include <stdlib.h>
-
-+#include <cstring>
-+
- using namespace Imf;
- using namespace std;
-
---- ./exrenvmap/blurImage.cpp.orig 2009-02-25 17:39:27.000000000 -0600
-+++ ./exrenvmap/blurImage.cpp 2010-08-09 14:14:31.000000000 -0500
-@@ -43,6 +43,7 @@
-
- #include <resizeImage.h>
- #include "Iex.h"
-+#include <cstring>
- #include <iostream>
- #include <algorithm>
-
---- ./exrmaketiled/main.cpp.orig 2008-02-29 20:30:14.000000000 -0600
-+++ ./exrmaketiled/main.cpp 2010-08-09 14:07:14.000000000 -0500
-@@ -48,6 +48,8 @@
- #include <string.h>
- #include <stdlib.h>
-
-+#include <cstring>
-+
- using namespace Imf;
- using namespace std;
-
diff --git a/source/l/openexr/openexr.info b/source/l/openexr/openexr.info
deleted file mode 100644
index 6d035980..00000000
--- a/source/l/openexr/openexr.info
+++ /dev/null
@@ -1,3 +0,0 @@
-HOMEPAGE="http://www.openexr.org/"
-DOWNLOAD="http://download.savannah.nongnu.org/releases/openexr/openexr-1.6.1.tar.gz"
-MD5SUM="11951f164f9c872b183df75e66de145a"
diff --git a/source/l/pango/pango.SlackBuild b/source/l/pango/pango.SlackBuild
index 39c2ccd1..9934c553 100755
--- a/source/l/pango/pango.SlackBuild
+++ b/source/l/pango/pango.SlackBuild
@@ -84,6 +84,7 @@ CFLAGS="$SLKCFLAGS" \
--sysconfdir=/etc \
--mandir=/usr/man \
--docdir=/usr/doc/pango-$VERSION \
+ --with-xft \
--build=$ARCH-slackware-linux \
--host=$ARCH-slackware-linux \
--target=$ARCH-slackware-linux
diff --git a/source/l/pango/pango.etc.host.location.diff b/source/l/pango/pango.etc.host.location.diff
index 29aa1706..f641c1af 100644
--- a/source/l/pango/pango.etc.host.location.diff
+++ b/source/l/pango/pango.etc.host.location.diff
@@ -1,33 +1,41 @@
-diff -Nur pango-1.28.3.orig//pango/Makefile.am pango-1.28.3/pango/Makefile.am
---- pango-1.28.3.orig//pango/Makefile.am 2010-09-29 05:42:31.000000000 -0500
-+++ pango-1.28.3/pango/Makefile.am 2010-10-13 15:52:27.163733791 -0500
-@@ -27,6 +27,7 @@
+diff -Nur pango-1.34.0.orig/pango/Makefile.am pango-1.34.0/pango/Makefile.am
+--- pango-1.34.0.orig/pango/Makefile.am 2013-03-04 19:24:38.000000000 -0600
++++ pango-1.34.0/pango/Makefile.am 2013-03-26 01:51:57.804499578 -0500
+@@ -17,6 +17,7 @@
-DPANGO_ENABLE_BACKEND \
-DPANGO_ENABLE_ENGINE \
-DSYSCONFDIR=\"$(sysconfdir)\" \
-+ -HOST=\"$(host_triplet)\" \
++ -DHOST=\"$(host_triplet)\" \
-DLIBDIR=\"$(libdir)\" \
-I$(top_srcdir) \
- $(PANGO_DEBUG_FLAGS) \
-diff -Nur pango-1.28.3.orig//pango/Makefile.in pango-1.28.3/pango/Makefile.in
---- pango-1.28.3.orig//pango/Makefile.in 2010-09-29 06:02:35.000000000 -0500
-+++ pango-1.28.3/pango/Makefile.in 2010-10-13 15:52:53.182319091 -0500
-@@ -535,6 +535,7 @@
+ -I$(top_builddir) \
+diff -Nur pango-1.34.0.orig/pango/Makefile.in pango-1.34.0/pango/Makefile.in
+--- pango-1.34.0.orig/pango/Makefile.in 2013-03-25 21:10:54.000000000 -0500
++++ pango-1.34.0/pango/Makefile.in 2013-03-26 01:52:26.701339768 -0500
+@@ -766,6 +766,7 @@
-DPANGO_ENABLE_BACKEND \
-DPANGO_ENABLE_ENGINE \
-DSYSCONFDIR=\"$(sysconfdir)\" \
-+ -DHOST=\"$(host_triplet)\" \
++ -DHOST=\"$(host_triplet)\" \
-DLIBDIR=\"$(libdir)\" \
-I$(top_srcdir) \
- $(PANGO_DEBUG_FLAGS) \
-diff -Nur pango-1.28.3.orig//pango/modules.c pango-1.28.3/pango/modules.c
---- pango-1.28.3.orig//pango/modules.c 2010-02-09 06:06:28.000000000 -0600
-+++ pango-1.28.3/pango/modules.c 2010-10-13 15:53:31.016716077 -0500
-@@ -529,6 +529,7 @@
-
- if (!file_str)
- file_str = g_build_filename (pango_get_sysconf_subdirectory (),
-+ HOST,
- "pango.modules",
- NULL);
+ -I$(top_builddir) \
+diff -Nur pango-1.34.0.orig/pango/modules.c pango-1.34.0/pango/modules.c
+--- pango-1.34.0.orig/pango/modules.c 2013-01-07 19:19:43.000000000 -0600
++++ pango-1.34.0/pango/modules.c 2013-03-26 01:54:07.418782761 -0500
+@@ -561,6 +561,7 @@
+ files = g_new (char *, 3);
+ files[0] = g_build_filename (pango_get_sysconf_subdirectory (),
++ HOST,
+ "pango.modules",
+ NULL);
+ files[1] = g_build_filename (pango_get_lib_subdirectory (),
+@@ -682,6 +683,7 @@
+ if (!no_module_warning)
+ {
+ gchar *filename = g_build_filename (pango_get_sysconf_subdirectory (),
++ HOST,
+ "pango.modules",
+ NULL);
+ g_critical ("No modules found:\n"
diff --git a/source/l/pcre/pcre.SlackBuild b/source/l/pcre/pcre.SlackBuild
index 06bd7c77..2454c9fc 100755
--- a/source/l/pcre/pcre.SlackBuild
+++ b/source/l/pcre/pcre.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -77,6 +77,8 @@ CFLAGS="$SLKCFLAGS" \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--mandir=/usr/man \
--enable-utf8 \
+ --enable-pcre16 \
+ --enable-pcre32 \
--enable-unicode-properties \
--build=$ARCH-slackware-linux
diff --git a/source/l/pil/pil.SlackBuild b/source/l/pil/pil.SlackBuild
index 79980dee..aa522a5f 100755
--- a/source/l/pil/pil.SlackBuild
+++ b/source/l/pil/pil.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
PKGNAM=pil
ARCNAM=Imaging
VERSION=${VERSION:-$(echo $ARCNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-4}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/l/pilot-link/pilot-link.SlackBuild b/source/l/pilot-link/pilot-link.SlackBuild
index 8dbe1321..751f0964 100755
--- a/source/l/pilot-link/pilot-link.SlackBuild
+++ b/source/l/pilot-link/pilot-link.SlackBuild
@@ -21,7 +21,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
VERSION=${VERSION:-0.12.5}
-BUILD=${BUILD:-6}
+BUILD=${BUILD:-7}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/l/polkit/05_revert-admin-identities-unix-group-wheel.patch b/source/l/polkit/05_revert-admin-identities-unix-group-wheel.patch
new file mode 100644
index 00000000..1562e69d
--- /dev/null
+++ b/source/l/polkit/05_revert-admin-identities-unix-group-wheel.patch
@@ -0,0 +1,39 @@
+From 1892aeb9c13841335a4ac383e8a787a3c2728c45 Mon Sep 17 00:00:00 2001
+From: Michael Biebl <biebl@debian.org>
+Date: Fri, 9 Dec 2011 00:31:21 +0100
+Subject: [PATCH] Revert "Default to AdminIdentities=unix-group:wheel for
+ local authority"
+
+This reverts commit 763faf434b445c20ae9529100d3ef5290976d0c9.
+---
+ docs/man/pklocalauthority.xml | 4 ++--
+ src/polkitbackend/50-localauthority.conf | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+Index: policykit/docs/man/pklocalauthority.xml
+===================================================================
+--- policykit.orig/docs/man/pklocalauthority.xml 2012-01-06 10:34:01.830221577 +0100
++++ policykit/docs/man/pklocalauthority.xml 2012-01-06 10:39:24.206237179 +0100
+@@ -385,10 +385,10 @@
+ </para>
+ <programlisting>
+ [Configuration]
+-AdminIdentities=unix-group:staff
++AdminIdentities=unix-group:desktop_admin_r
+ </programlisting>
+ <para>
+- specifies that any user in the <literal>staff</literal> UNIX
++ that any user in the <literal>desktop_admin_r</literal> UNIX
+ group can be used for authentication when administrator
+ authentication is needed. This file would typically be installed
+ in the <filename>/etc/polkit-1/localauthority.conf.d</filename>
+Index: policykit/src/polkitbackend/50-localauthority.conf
+===================================================================
+--- policykit.orig/src/polkitbackend/50-localauthority.conf 2012-01-06 10:33:58.254221404 +0100
++++ policykit/src/polkitbackend/50-localauthority.conf 2012-01-06 10:39:24.210237180 +0100
+@@ -7,4 +7,4 @@
+ #
+
+ [Configuration]
+-AdminIdentities=unix-group:wheel
++AdminIdentities=unix-user:0
diff --git a/source/l/polkit/polkit.SlackBuild b/source/l/polkit/polkit.SlackBuild
index a4bb9fc1..9784bdb5 100755
--- a/source/l/polkit/polkit.SlackBuild
+++ b/source/l/polkit/polkit.SlackBuild
@@ -2,7 +2,7 @@
# Copyright 2009, 2011 Robby Workman, Northport, Alabama, USA
# Copyright 2010 Eric Hameleers, Eindhoven, NL
-# Copyright 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
PKGNAM=polkit
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-4}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -72,6 +72,8 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+zcat $CWD/05_revert-admin-identities-unix-group-wheel.patch.gz | patch -p1 --verbose || exit 1
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/source/l/poppler/poppler.SlackBuild b/source/l/poppler/poppler.SlackBuild
index b2e5955a..af12f9fa 100755
--- a/source/l/poppler/poppler.SlackBuild
+++ b/source/l/poppler/poppler.SlackBuild
@@ -62,9 +62,6 @@ rm -rf ${PKGNAM}-${VERSION}
tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1
cd ${PKGNAM}-$VERSION || exit 1
-# Fix printing of some pdf files:
-zcat $CWD/poppler_xyscale.patch.gz | patch -p1 --verbose || exit 1
-
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/l/poppler/poppler_xyscale.patch b/source/l/poppler/poppler_xyscale.patch
deleted file mode 100644
index bd23d36c..00000000
--- a/source/l/poppler/poppler_xyscale.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 36481939e3064de920e49d9d1742a85473a50963 Mon Sep 17 00:00:00 2001
-From: Thomas Freitag <Thomas.Freitag@alfa.de>
-Date: Sun, 22 Jul 2012 16:40:46 +0000
-Subject: Make sure xScale and yScale are always initialized
-
-Bug #52215
----
-diff --git a/poppler/PSOutputDev.cc b/poppler/PSOutputDev.cc
-index a01a4b3..e15c2e9 100644
---- a/poppler/PSOutputDev.cc
-+++ b/poppler/PSOutputDev.cc
-@@ -3521,6 +3521,7 @@ void PSOutputDev::startPage(int pageNum, GfxState *state) {
- saveState(NULL);
- }
-
-+ xScale = yScale = 1;
- switch (mode) {
-
- case psModePSOrigPageSizes:
-@@ -3631,8 +3632,6 @@ void PSOutputDev::startPage(int pageNum, GfxState *state) {
- } else {
- yScale = xScale;
- }
-- } else {
-- xScale = yScale = 1;
- }
- // deal with odd bounding boxes or clipping
- if (clipLLX0 < clipURX0 && clipLLY0 < clipURY0) {
-@@ -3694,7 +3693,6 @@ void PSOutputDev::startPage(int pageNum, GfxState *state) {
- if (tx != 0 || ty != 0) {
- writePSFmt("{0:.6g} {1:.6g} translate\n", tx, ty);
- }
-- xScale = yScale = 1;
- break;
-
- case psModeForm:
-@@ -3702,7 +3700,6 @@ void PSOutputDev::startPage(int pageNum, GfxState *state) {
- writePS("begin xpdf begin\n");
- writePS("pdfStartPage\n");
- tx = ty = 0;
-- xScale = yScale = 1;
- rotate = 0;
- break;
- }
---
-cgit v0.9.0.2-2-gbebe
-
diff --git a/source/l/popt/popt.SlackBuild b/source/l/popt/popt.SlackBuild
index b495de5c..e9f74921 100755
--- a/source/l/popt/popt.SlackBuild
+++ b/source/l/popt/popt.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2007, 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,8 +22,8 @@
PKGNAM=popt
-VERSION=${VERSION:-1.7}
-BUILD=${BUILD:-3}
+VERSION=${VERSION:-1.16}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -58,7 +58,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf ${PKGNAM}-${VERSION}
-tar xjvf $CWD/${PKGNAM}-$VERSION.tar.bz2 || exit 1
+tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1
cd ${PKGNAM}-$VERSION
# Make sure ownerships and permissions are sane:
@@ -94,6 +94,9 @@ mkdir -p $PKG/lib${LIBDIRSUFFIX}
cp -a lib*.so.? ../../lib${LIBDIRSUFFIX}
)
+# Make sure pkgconfig directory is in the right place:
+mv $PKG/usr/lib/pkgconfig $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig 1> /dev/null 2> /dev/null
+
# Strip binaries:
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
diff --git a/source/l/qjson/qjson.SlackBuild b/source/l/qjson/qjson.SlackBuild
new file mode 100755
index 00000000..a69a1882
--- /dev/null
+++ b/source/l/qjson/qjson.SlackBuild
@@ -0,0 +1,104 @@
+#!/bin/sh
+
+# Copyright 2013 Eric Hameleers, Eindhoven, NL
+# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=qjson
+VERSION=${VERSION:-0.8.1}
+BUILD=${BUILD:-1}
+
+NUMJOBS=${NUMJOBS:--j7}
+
+# Automatically determine the architecture we're building on:
+MARCH=$( uname -m )
+if [ -z "$ARCH" ]; then
+ case "$MARCH" in
+ i?86) export ARCH=i486 ;;
+ armv7hl) export ARCH=$MARCH ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$MARCH ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+cd $PKGNAM-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+mkdir -p build
+cd build
+ cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ ..
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd -
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ README.md COPYING.lib doc \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/l/qjson/slack-desc b/source/l/qjson/slack-desc
new file mode 100644
index 00000000..e1343941
--- /dev/null
+++ b/source/l/qjson/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+qjson: QJson (manage JSON objects with Qt)
+qjson:
+qjson: JSON (JavaScript Object Notation) is a lightweight data-interchange
+qjson: format. It can represents integer, real number, string, an ordered
+qjson: sequence of value, and a collection of name/value pairs.
+qjson: QJson is a qt-based library that maps JSON data to QVariant objects:
+qjson: JSON arrays will be mapped to QVariantList instances, while JSON's
+qjson: objects will be mapped to QVariantMap.
+qjson:
+qjson: http://qjson.sourceforge.net/
+qjson:
diff --git a/source/l/qt/QElfParser-fix-type-of-sh_size.patch b/source/l/qt/QElfParser-fix-type-of-sh_size.patch
deleted file mode 100644
index 1c30f9a4..00000000
--- a/source/l/qt/QElfParser-fix-type-of-sh_size.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 9e981c4dd03effc2c52b52f529edfa8955e534ce Mon Sep 17 00:00:00 2001
-From: Pino Toscano <toscano.pino@tiscali.it>
-Date: Tue, 15 May 2012 14:40:15 +0200
-Subject: [PATCH] QElfParser: fix type of sh_size
-
-The type of the sh_size field of a section header is either Elf32_Word or Elf64_Xword,
-so the type used cannot be qelfword_t (always 32 bits) but qelfoff_t.
-
-Change-Id: Ia380b6823913fee7a96b39f742630ae3a9ca0cb8
-Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
-Reviewed-by: Arvid Picciani <arvid.picciani@nokia.com>
-(backport of 77b179689ba37dc909778fdd00df2701f83a2868 from qtbase)
----
- src/corelib/plugin/qelfparser_p.cpp | 4 ++--
- src/corelib/plugin/qelfparser_p.h | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
---- a/src/corelib/plugin/qelfparser_p.cpp
-+++ b/src/corelib/plugin/qelfparser_p.cpp
-@@ -61,8 +61,8 @@ const char *QElfParser::parseSectionHead
- + sizeof(qelfaddr_t); // sh_addr
- sh->offset = read<qelfoff_t>(data);
- data += sizeof(qelfoff_t); // sh_offset
-- sh->size = read<qelfword_t>(data);
-- data += sizeof(qelfword_t); // sh_size
-+ sh->size = read<qelfoff_t>(data);
-+ data += sizeof(qelfoff_t); // sh_size
- return data;
- }
-
---- a/src/corelib/plugin/qelfparser_p.h
-+++ b/src/corelib/plugin/qelfparser_p.h
-@@ -80,7 +80,7 @@ public:
- qelfword_t name;
- qelfword_t type;
- qelfoff_t offset;
-- qelfword_t size;
-+ qelfoff_t size;
- };
-
- int m_endian;
diff --git a/source/l/qt/QTBUG-14724_close_orphaned_file_descriptors_after_printing.patch b/source/l/qt/QTBUG-14724_close_orphaned_file_descriptors_after_printing.patch
deleted file mode 100644
index 9acae10c..00000000
--- a/source/l/qt/QTBUG-14724_close_orphaned_file_descriptors_after_printing.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Description:
- QPainter together with QPrinter leaves a lot of temporary files in
- /tmp with every printout. That is a problem for embedded devices,
- which have not such a large /tmp-partition. We are using 80 MByte as
- tmpfs, i.e. in RAM. After some printounts cups deactivates the printer
- because there is no space to copy the temporary files to /tmp.
-
- What happened: In QPdfBaseEnginePrivate::openPrintDevice() noone
- remembers the file descriptor opened by tempFile() which is a call to
- the cups library to cupsTempFile()
-
- Later in closePrintDevice the check for fd<0 fails, so no one closes
- the file descriptor. If you later remove the file, the descriptor is
- still open and cannot removed until you close the application.
-
- If you print 20 times and more during your application is running and
- you print out large files (complicate forms with a lot of elements
- produces files with 3-4 MByte) your temporary file can be full, but
- you don't see (with ls) files in it.
-
-Bug: https://bugreports.qt.nokia.com/browse/QTBUG-14724
-Author: Georg Scherzer
-
----
- src/gui/painting/qpdf.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/src/gui/painting/qpdf.cpp
-+++ b/src/gui/painting/qpdf.cpp
-@@ -1686,6 +1686,7 @@ bool QPdfBaseEnginePrivate::openPrintDev
- cupsTempFile = ret.second;
- outDevice = new QFile();
- static_cast<QFile *>(outDevice)->open(ret.first, QIODevice::WriteOnly);
-+ fd = ret.first;
- #endif
- #ifndef QT_NO_LPR
- } else {
diff --git a/source/l/qt/QTBUG-21900_Buttons_in_Qt_applications_not_clickable_when_run_under_gnome-shell.patch b/source/l/qt/QTBUG-21900_Buttons_in_Qt_applications_not_clickable_when_run_under_gnome-shell.patch
deleted file mode 100644
index 4d9834a8..00000000
--- a/source/l/qt/QTBUG-21900_Buttons_in_Qt_applications_not_clickable_when_run_under_gnome-shell.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From a91e9dd202640598d8dec091c67ec94536390e7f Mon Sep 17 00:00:00 2001
-From: "Owen W. Taylor" <otaylor@fishsoup.net>
-Date: Mon, 17 Oct 2011 17:27:43 -0400
-Subject: [PATCH] Fix logic for figuring out what ConfigureNotify positions can be trusted
-
-When reading ahead in the queue for ConfigureNotify events, it's necessary
-to look for intermediate ReparentNotify events as well, since they will
-determine whether the position in the event can be trusted or not.
-
-Bug: https://bugreports.qt.nokia.com/browse/QTBUG-21900
----
- src/gui/kernel/qapplication_x11.cpp | 47 +++++++++++++++++++++++++++++++-----
- 1 file changed, 41 insertions(+), 6 deletions(-)
-
---- a/src/gui/kernel/qapplication_x11.cpp
-+++ b/src/gui/kernel/qapplication_x11.cpp
-@@ -816,6 +816,27 @@ static Bool qt_sync_request_scanner(Disp
- #endif
- #endif // QT_NO_XSYNC
-
-+struct qt_configure_event_data
-+{
-+ WId window;
-+ WId parent;
-+};
-+
-+static Bool qt_configure_event_scanner(Display*, XEvent *event, XPointer arg)
-+{
-+ qt_configure_event_data *data =
-+ reinterpret_cast<qt_configure_event_data*>(arg);
-+ if (event->type == ConfigureNotify &&
-+ event->xconfigure.window == data->window) {
-+ return true;
-+ } else if (event->type == ReparentNotify &&
-+ event->xreparent.window == data->window) {
-+ data->parent = event->xreparent.parent;
-+ }
-+
-+ return false;
-+}
-+
- static void qt_x11_create_intern_atoms()
- {
- const char *names[QX11Data::NAtoms];
-@@ -5281,8 +5302,11 @@ bool QETWidget::translateConfigEvent(con
- if (d->extra->compress_events) {
- // ConfigureNotify compression for faster opaque resizing
- XEvent otherEvent;
-- while (XCheckTypedWindowEvent(X11->display, internalWinId(), ConfigureNotify,
-- &otherEvent)) {
-+ qt_configure_event_data configureData;
-+ configureData.window = internalWinId();
-+ configureData.parent = d->topData()->parentWinId;
-+ while (XCheckIfEvent(X11->display, &otherEvent,
-+ &qt_configure_event_scanner, (XPointer)&configureData)) {
- if (qt_x11EventFilter(&otherEvent))
- continue;
-
-@@ -5295,13 +5319,19 @@ bool QETWidget::translateConfigEvent(con
- newSize.setWidth(otherEvent.xconfigure.width);
- newSize.setHeight(otherEvent.xconfigure.height);
-
-+ trust = isVisible()
-+ && (configureData.parent == XNone ||
-+ configureData.parent == QX11Info::appRootWindow());
-+
- if (otherEvent.xconfigure.send_event || trust) {
- newCPos.rx() = otherEvent.xconfigure.x +
- otherEvent.xconfigure.border_width;
- newCPos.ry() = otherEvent.xconfigure.y +
- otherEvent.xconfigure.border_width;
- isCPos = true;
-- }
-+ } else {
-+ isCPos = false;
-+ }
- }
- #ifndef QT_NO_XSYNC
- qt_sync_request_event_data sync_event;
-@@ -5314,9 +5344,14 @@ bool QETWidget::translateConfigEvent(con
- }
-
- if (!isCPos) {
-- // we didn't get an updated position of the toplevel.
-- // either we haven't moved or there is a bug in the window manager.
-- // anyway, let's query the position to be certain.
-+ // If the last configure event didn't have a trustable position,
-+ // it's necessary to query, see ICCCM 4.24:
-+ //
-+ // Any real ConfigureNotify event on a top-level window implies
-+ // that the window position on the root may have changed, even
-+ // though the event reports that the window position in its
-+ // parent is unchanged because the window may have been reparented.
-+
- int x, y;
- Window child;
- XTranslateCoordinates(X11->display, internalWinId(),
diff --git a/source/l/qt/qt.SlackBuild b/source/l/qt/qt.SlackBuild
index b361aaee..8954243b 100755
--- a/source/l/qt/qt.SlackBuild
+++ b/source/l/qt/qt.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -37,11 +37,11 @@
# wget http://qt.gitorious.org/qt/kde-qt/archive-tarball/4.6.2-patched
#
# Modifications 2010, 2011, 2012 Eric Hameleers, Eindhoven, NL
-# qt 4.7.3, 4.7.4, 4.8.0, 4.8.1, 4.8.2 are built from original nokia sources.
+# qt 4.7.3, 4.7.4, 4.8.0, 4.8.1, 4.8.2, 4.8.4 are built from original nokia sources.
PKGNAM=qt
VERSION=$(ls qt-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
-BUILD=${BUILD:-4}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:--j7}
@@ -113,20 +113,6 @@ zcat $CWD/qt.ld-gold.patch.gz | patch -p1 --verbose || exit 1
# Stupid idea - remove it:
zcat $CWD/qt.webkit-no_Werror.patch.gz | patch -p1 --verbose || exit 1
-# Fix cursor position bug within tables:
-zcat $CWD/qt.ca89c49.cursor.position.diff.gz | patch -p1 --verbose || exit 1
-
-# Fix assistant crash:
-zcat $CWD/qt.assistant.memcpy-crash.diff.gz | patch -p0 --verbose || exit 1
-
-# Fix webkit compiling with recent glib:
-zcat $CWD/qt.webkit.glib.diff.gz | patch -p1 --verbose || exit 1
-
-# Some patches from upstream:
-zcat $CWD/QElfParser-fix-type-of-sh_size.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/QTBUG-14724_close_orphaned_file_descriptors_after_printing.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/QTBUG-21900_Buttons_in_Qt_applications_not_clickable_when_run_under_gnome-shell.patch.gz | patch -p1 --verbose || exit 1
-
export CFLAGS="$SLKCFLAGS"
export CXXFLAGS="$SLKCFLAGS"
export OPENSOURCE_CXXFLAGS="$SLKCFLAGS"
@@ -145,6 +131,7 @@ export OPENSOURCE_CXXFLAGS="$SLKCFLAGS"
-no-phonon \
-nomake examples \
-nomake demos \
+ -nomake docs \
-no-separate-debug-info \
-no-pch
# No-precompiled-headers is ccache-friendly.
@@ -183,7 +170,11 @@ sed -i "s,-ljscore,,g" $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/*.la $PKG/usr/lib${LIB
sed -i "s,-L../JavaScriptCore/release,,g" $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/*.la $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/*.pc
# libwebcore is used internally. Prevent a false dependency on this in the .la and .pc files:
-sed -i "s#-L/usr/lib${LIBDIRSUFFIX}/qt/lib -L../../WebCore/release -L../../JavaScriptCore/release -L/usr/X11R6/lib$LIBDIRSUFFIX -lwebcore##g" $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/libQtWebKit.la $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/QtWebKit.pc
+sed -i \
+ -e "s#-L/usr/lib${LIBDIRSUFFIX}/qt/lib -L../../WebCore/release -L../../JavaScriptCore/release -L/usr/X11R6/lib$LIBDIRSUFFIX -lwebcore##g" \
+ -e "s#-L/usr/lib${LIBDIRSUFFIX}/qt/lib -L../../WebCore/release -L../../JavaScriptCore/release -L/usr/X11R6/lib -lwebcore##g" \
+ -e "s# -lwebcore##g" \
+ $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/libQtWebKit.la $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/QtWebKit.pc
# Link the shared libraries into /usr/lib:
( cd $PKG/usr/lib${LIBDIRSUFFIX}
@@ -219,6 +210,14 @@ mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig
done
)
+# Install Qt's private headers - at least Gentoo and Fedora are adding these
+# and some software has (inevitably) started depending on them:
+# We're using `rsync -R` as easy way to preserve relative path names:
+rsync -aR \
+ include/Qt{Core,Declarative,Gui,Script}/private \
+ src/{corelib,declarative,gui,script}/*/*_p.h \
+ ${PKG}/usr/lib${LIBDIRSUFFIX}/qt/
+
# Add menu entries for all those hidden but great Qt applications:
# Qt logo:
convert $PKG/usr/lib$LIBDIRSUFFIX/qt/doc/src/images/qt-logo.png -resize 48x48 $PKG/usr/share/icons/hicolor/48x48/apps/qt-logo.png
@@ -288,9 +287,11 @@ EOF
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a *GPL_EXCEPTION* FAQ* INSTALL KNOWN* LICENSE* README* changes-* \
$PKG/usr/doc/$PKGNAM-$VERSION
-( cd $PKG/usr/doc/$PKGNAM-$VERSION
- ln -sf /usr/lib${LIBDIRSUFFIX}/qt/doc/html .
-)
+if [ -d $PKG/usr/lib${LIBDIRSUFFIX}/qt/doc/html ]; then
+ ( cd $PKG/usr/doc/$PKGNAM-$VERSION
+ ln -sf /usr/lib${LIBDIRSUFFIX}/qt/doc/html .
+ )
+fi
mkdir -p $PKG/install
zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
diff --git a/source/l/qt/qt.assistant.memcpy-crash.diff b/source/l/qt/qt.assistant.memcpy-crash.diff
deleted file mode 100644
index f2193ee8..00000000
--- a/source/l/qt/qt.assistant.memcpy-crash.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/assistant/tools/assistant/mainwindow.cpp 2012-06-27 03:02:37.539564947 +0200
-+++ tools/assistant/tools/assistant/mainwindow.cpp 2012-06-27 03:03:18.843561620 +0200
-@@ -944,8 +944,7 @@ void MainWindow::updateApplicationFont()
- if (helpEngine.usesAppFont())
- font = helpEngine.appFont();
-
-- const QWidgetList &widgets = qApp->allWidgets();
-- foreach (QWidget* widget, widgets)
-+ foreach (QWidget* widget, QApplication::allWidgets())
- widget->setFont(font);
- }
diff --git a/source/l/qt/qt.ca89c49.cursor.position.diff b/source/l/qt/qt.ca89c49.cursor.position.diff
deleted file mode 100644
index ab3429f8..00000000
--- a/source/l/qt/qt.ca89c49.cursor.position.diff
+++ /dev/null
@@ -1,31 +0,0 @@
-From ca89c49fa2c5cbb3945897046f33eed9f7da846c Mon Sep 17 00:00:00 2001
-From: Jiang Jiang <jiang.jiang@nokia.com>
-Date: Tue, 3 Jul 2012 10:17:49 +0200
-Subject: [PATCH] Fix cursor truncate to include line position
-
-Since we could have moved the line position (QTextLine::setPosition),
-the truncating position should be adjusted with that.
-
-Change-Id: Ie1acd4a1b6a4adfbeeb9ce8ee2dfa19d992470e8
-Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
----
- src/gui/text/qtextlayout.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp
-index 16f7150..52f2793 100644
---- a/src/gui/text/qtextlayout.cpp
-+++ b/src/gui/text/qtextlayout.cpp
-@@ -2616,8 +2616,8 @@ qreal QTextLine::cursorToX(int *cursorPos, Edge edge) const
- x += eng->offsetInLigature(si, pos, end, glyph_pos);
- }
-
-- if (eng->option.wrapMode() != QTextOption::NoWrap && x > line.width)
-- x = line.width;
-+ if (eng->option.wrapMode() != QTextOption::NoWrap && x > line.x + line.width)
-+ x = line.x + line.width;
-
- *cursorPos = pos + si->position;
- return x.toReal();
---
-1.7.10
diff --git a/source/l/qt/qt.webkit-no_Werror.patch b/source/l/qt/qt.webkit-no_Werror.patch
index b8e718e0..c8d730e4 100644
--- a/source/l/qt/qt.webkit-no_Werror.patch
+++ b/source/l/qt/qt.webkit-no_Werror.patch
@@ -1,13 +1,11 @@
-diff -up qt-everywhere-opensource-src-4.8.1/src/3rdparty/webkit/Source/WebKit.pri.no_Werror qt-everywhere-opensource-src-4.8.1/src/3rdparty/webkit/Source/WebKit.pri
---- qt-everywhere-opensource-src-4.8.1/src/3rdparty/webkit/Source/WebKit.pri.no_Werror 2012-03-14 15:01:29.000000000 +0100
-+++ qt-everywhere-opensource-src-4.8.1/src/3rdparty/webkit/Source/WebKit.pri 2012-03-28 17:12:33.391294004 +0200
-@@ -102,8 +102,6 @@ CONFIG -= warn_on
+--- qt-everywhere-opensource-src-4.8.4/src/3rdparty/webkit/Source/WebKit.pri.no_Werror 2012-12-02 15:59:44.891550783 +0100
++++ qt-everywhere-opensource-src-4.8.4/src/3rdparty/webkit/Source/WebKit.pri 2012-12-02 16:52:47.384406539 +0100
+@@ -102,8 +102,6 @@
# Treat warnings as errors on x86/Linux/GCC
linux-g++* {
-- !CONFIG(standalone_package):isEqual(QT_ARCH,x86_64)|isEqual(QT_ARCH,i386): QMAKE_CXXFLAGS += -Werror
+- !CONFIG(standalone_package):if(isEqual(QT_ARCH,x86_64)|isEqual(QT_ARCH,i386)): QMAKE_CXXFLAGS += -Werror
-
greaterThan(QT_GCC_MAJOR_VERSION, 3):greaterThan(QT_GCC_MINOR_VERSION, 5) {
if (!contains(QMAKE_CXXFLAGS, -std=c++0x) && !contains(QMAKE_CXXFLAGS, -std=gnu++0x)) {
# We need to deactivate those warnings because some names conflicts with upcoming c++0x types (e.g.nullptr).
-
diff --git a/source/l/qt/qt.webkit.glib.diff b/source/l/qt/qt.webkit.glib.diff
deleted file mode 100644
index b1666256..00000000
--- a/source/l/qt/qt.webkit.glib.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./src/3rdparty/webkit/Source/JavaScriptCore/wtf/gobject/GTypedefs.h.orig 2012-04-26 14:46:14.000000000 -0500
-+++ ./src/3rdparty/webkit/Source/JavaScriptCore/wtf/gobject/GTypedefs.h 2012-08-06 19:53:44.134339082 -0500
-@@ -52,7 +52,7 @@
- typedef struct _GHashTable GHashTable;
- typedef struct _GInputStream GInputStream;
- typedef struct _GList GList;
--typedef struct _GMutex GMutex;
-+typedef union _GMutex GMutex;
- typedef struct _GPatternSpec GPatternSpec;
- typedef struct _GPollableOutputStream GPollableOutputStream;
- typedef struct _GSocketClient GSocketClient;
diff --git a/source/l/qt/slack-desc b/source/l/qt/slack-desc
index f511d899..0a42d4a3 100644
--- a/source/l/qt/slack-desc
+++ b/source/l/qt/slack-desc
@@ -11,7 +11,7 @@ qt:
qt: Qt is a complete and well-developed object-oriented framework for
qt: developing graphical user interface (GUI) applications using C++.
qt:
-qt: Homepage: http://qt.nokia.com
+qt: Homepage: http://qt-project.org/
qt:
qt:
qt:
diff --git a/source/l/qtscriptgenerator/qtscriptgenerator.SlackBuild b/source/l/qtscriptgenerator/qtscriptgenerator.SlackBuild
index f1bf2a15..252adbdf 100755
--- a/source/l/qtscriptgenerator/qtscriptgenerator.SlackBuild
+++ b/source/l/qtscriptgenerator/qtscriptgenerator.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for qtscriptgenerator
# Copyright 2009 Heinz Wiesinger <pprkut@liwjatan.at>
-# Copyright 2009, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2009, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
PKGNAM=qtscriptgenerator
VERSION=${VERSION:-0.2.0}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -37,6 +37,8 @@ if [ -z "$ARCH" ]; then
esac
fi
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PKGNAM
@@ -87,7 +89,7 @@ zcat $CWD/include-everything.patch.gz | patch -p1 --verbose || exit 1
cd generator
qmake
- make
+ make $NUMJOBS
./generator --include-paths=/usr/lib${LIBDIRSUFFIX}/qt/include:/usr/include
cd -
@@ -95,15 +97,20 @@ cd qtbindings
sed -i "s|CONFIG += debug_and_release|CONFIG += release|" \
qtbindingsbase.pri
qmake
- make qmake_all
+ make $NUMJOBS qmake_all
sed -i "s|-I/usr/lib${LIBDIRSUFFIX}/qt/include/phonon|-I/usr/include/phonon|" \
qtscript_phonon/Makefile
- make all
+ make $NUMJOBS all
cd -
cd tools/qsexec/src
qmake
- make
+ make $NUMJOBS
+cd -
+
+cd qtbindings/qtscript_uitools
+ qmake
+ make $NUMJOBS all
cd -
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/qt/{bin,plugins/script}
diff --git a/source/l/raptor2/raptor2.SlackBuild b/source/l/raptor2/raptor2.SlackBuild
index 38c596ba..5063ff19 100755
--- a/source/l/raptor2/raptor2.SlackBuild
+++ b/source/l/raptor2/raptor2.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2007, 2012 Heinz Wiesinger, Amsterdam, NL
+# Copyright 2007, 2012, 2013 Heinz Wiesinger, Amsterdam, NL
# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
diff --git a/source/l/rasqal/rasqal.SlackBuild b/source/l/rasqal/rasqal.SlackBuild
index 0da299dd..c8c74a9f 100755
--- a/source/l/rasqal/rasqal.SlackBuild
+++ b/source/l/rasqal/rasqal.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2007 Heinz Wiesinger <hmwiesinger@gmx.at>
+# Copyright 2007, 2013 Heinz Wiesinger, Amsterdam, NL
# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
diff --git a/source/l/redland/redland.SlackBuild b/source/l/redland/redland.SlackBuild
index 16d90675..2e8dc2ce 100755
--- a/source/l/redland/redland.SlackBuild
+++ b/source/l/redland/redland.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2007 Heinz Wiesinger <hmwiesinger@gmx.at>
+# Copyright 2007, 2013 Heinz Wiesinger, Amsterdam, NL
# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
@@ -28,7 +28,7 @@
PKGNAM=redland
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-4}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:--j7}
@@ -84,16 +84,6 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-if [ "$VERSION" = "1.0.9" ]; then
- echo "Fixing a bug in redland-1.0.9 that breaks nepomuk..."
- for i in MYSQL POSTGRESQL SQLITE TSTORE; do
- sed -i "s/LIBADD = @${i}_LIBS@/LIBADD = @${i}_LIBS@ librdf.la/" \
- src/Makefile.in
- done
-elif [ "$VERSION" = "1.0.10" ]; then
- sed -i "s/virtuoso_la_LIBADD = @ODBC_LIBS@/virtuoso_la_LIBADD = @ODBC_LIBS@ librdf.la/" src/Makefile.in
-fi
-
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@@ -109,9 +99,6 @@ CXXFLAGS="$SLKCFLAGS" \
--with-threads \
--build=$TARGET
-# Prevent error "No rule to make target `-lltdl', needed by `librdf.la'"
-sed -i -e 's# -lltdl$# #' -e '/^LIBS =/s# = # = -lltdl #' src/Makefile
-
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
diff --git a/source/l/sdl/libsdl-1.2.15-resizing.patch b/source/l/sdl/libsdl-1.2.15-resizing.patch
new file mode 100644
index 00000000..70988196
--- /dev/null
+++ b/source/l/sdl/libsdl-1.2.15-resizing.patch
@@ -0,0 +1,63 @@
+Description: Revert change that breaks window corner resizing
+ http://bugzilla.libsdl.org/show_bug.cgi?id=1430
+Author: Andrew Caudwell <acaudwell@gmail.com>
+Last-Update: 2012-04-10
+Bug-Debian: http://bugs.debian.org/665779
+
+diff -r c787fb1b5699 src/video/x11/SDL_x11events.c
+--- a/src/video/x11/SDL_x11events.c Mon Feb 20 23:51:08 2012 -0500
++++ b/src/video/x11/SDL_x11events.c Mon Mar 26 12:26:52 2012 +1300
+@@ -57,12 +57,6 @@
+ static SDLKey MISC_keymap[256];
+ SDLKey X11_TranslateKeycode(Display *display, KeyCode kc);
+
+-/*
+- Pending resize target for ConfigureNotify (so outdated events don't
+- cause inappropriate resize events)
+-*/
+-int X11_PendingConfigureNotifyWidth = -1;
+-int X11_PendingConfigureNotifyHeight = -1;
+
+ #ifdef X_HAVE_UTF8_STRING
+ Uint32 Utf8ToUcs4(const Uint8 *utf8)
+@@ -825,16 +819,6 @@
+ #ifdef DEBUG_XEVENTS
+ printf("ConfigureNotify! (resize: %dx%d)\n", xevent.xconfigure.width, xevent.xconfigure.height);
+ #endif
+- if ((X11_PendingConfigureNotifyWidth != -1) &&
+- (X11_PendingConfigureNotifyHeight != -1)) {
+- if ((xevent.xconfigure.width != X11_PendingConfigureNotifyWidth) &&
+- (xevent.xconfigure.height != X11_PendingConfigureNotifyHeight)) {
+- /* Event is from before the resize, so ignore. */
+- break;
+- }
+- X11_PendingConfigureNotifyWidth = -1;
+- X11_PendingConfigureNotifyHeight = -1;
+- }
+ if ( SDL_VideoSurface ) {
+ if ((xevent.xconfigure.width != SDL_VideoSurface->w) ||
+ (xevent.xconfigure.height != SDL_VideoSurface->h)) {
+diff -r c787fb1b5699 src/video/x11/SDL_x11events_c.h
+--- a/src/video/x11/SDL_x11events_c.h Mon Feb 20 23:51:08 2012 -0500
++++ b/src/video/x11/SDL_x11events_c.h Mon Mar 26 12:26:52 2012 +1300
+@@ -27,8 +27,3 @@
+ extern void X11_InitOSKeymap(_THIS);
+ extern void X11_PumpEvents(_THIS);
+ extern void X11_SetKeyboardState(Display *display, const char *key_vec);
+-
+-/* Variables to be exported */
+-extern int X11_PendingConfigureNotifyWidth;
+-extern int X11_PendingConfigureNotifyHeight;
+-
+diff -r c787fb1b5699 src/video/x11/SDL_x11video.c
+--- a/src/video/x11/SDL_x11video.c Mon Feb 20 23:51:08 2012 -0500
++++ b/src/video/x11/SDL_x11video.c Mon Mar 26 12:26:52 2012 +1300
+@@ -1182,8 +1182,6 @@
+ current = NULL;
+ goto done;
+ }
+- X11_PendingConfigureNotifyWidth = width;
+- X11_PendingConfigureNotifyHeight = height;
+ } else {
+ if (X11_CreateWindow(this,current,width,height,bpp,flags) < 0) {
+ current = NULL;
diff --git a/source/l/sdl/sdl-1.2.14-fix-mouse-clicking.patch b/source/l/sdl/sdl-1.2.14-fix-mouse-clicking.patch
new file mode 100644
index 00000000..7d3e5acf
--- /dev/null
+++ b/source/l/sdl/sdl-1.2.14-fix-mouse-clicking.patch
@@ -0,0 +1,23 @@
+--- SDL-1.2.14/src/video/x11/SDL_x11events.c.orig 2010-04-08 11:57:05.003169834 -0700
++++ SDL-1.2.14/src/video/x11/SDL_x11events.c 2010-04-08 12:33:51.690926340 -0700
+@@ -423,12 +423,15 @@
+ if ( xevent.xcrossing.mode == NotifyUngrab )
+ printf("Mode: NotifyUngrab\n");
+ #endif
+- if ( this->input_grab == SDL_GRAB_OFF ) {
+- posted = SDL_PrivateAppActive(1, SDL_APPMOUSEFOCUS);
++ if ( (xevent.xcrossing.mode != NotifyGrab) &&
++ (xevent.xcrossing.mode != NotifyUngrab) ) {
++ if ( this->input_grab == SDL_GRAB_OFF ) {
++ posted = SDL_PrivateAppActive(1, SDL_APPMOUSEFOCUS);
++ }
++ posted = SDL_PrivateMouseMotion(0, 0,
++ xevent.xcrossing.x,
++ xevent.xcrossing.y);
+ }
+- posted = SDL_PrivateMouseMotion(0, 0,
+- xevent.xcrossing.x,
+- xevent.xcrossing.y);
+ }
+ break;
+
diff --git a/source/l/sdl/sdl.SlackBuild b/source/l/sdl/sdl.SlackBuild
index 3a0b61ae..70c203a2 100755
--- a/source/l/sdl/sdl.SlackBuild
+++ b/source/l/sdl/sdl.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -26,7 +26,7 @@ MIXER=${MIXER:-$(echo SDL_mixer-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d -
NET=${NET:-$(echo SDL_net-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
TTF=${TTF:-$(echo SDL_ttf-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-5}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -63,7 +63,7 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf sdl-$VERSION
tar xf $CWD/SDL-$VERSION.tar.?z* || exit 1
-cd SDL-$VERSION
+cd SDL-$VERSION || exit 1
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -71,7 +71,8 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-zcat $CWD/sdl.linux-2.6.31.input_absinfo.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libsdl-1.2.15-resizing.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/sdl-1.2.14-fix-mouse-clicking.patch.gz | patch -p1 --verbose || exit 1
# We must use --disable-x11-shared or programs linked with SDL will
# crash on machines that use the closed source nVidia drivers.
@@ -140,8 +141,8 @@ rm -rf SDL_mixer-$MIXER
tar xf $CWD/SDL_mixer-$MIXER.tar.?z* || exit 1
cd SDL_mixer-$MIXER
-# Don't look for things in /usr/local, since this is an installed package:
-zcat $CWD/SDL_mixer.usrlocal.diff.gz | patch -p1 --verbose || exit 1
+# Fix default library path. Don't use /usr/local, and use lib64 where needed:
+sed -i "s,usr/local/lib,usr/lib${LIBDIRSUFFIX},g" timidity/config.h
# Install patched static libmikmod:
unzip libmikmod-3.1.12.zip
diff --git a/source/l/sdl/sdl.linux-2.6.31.input_absinfo.diff b/source/l/sdl/sdl.linux-2.6.31.input_absinfo.diff
deleted file mode 100644
index 685007ab..00000000
--- a/source/l/sdl/sdl.linux-2.6.31.input_absinfo.diff
+++ /dev/null
@@ -1,38 +0,0 @@
---- SDL-1.2.14/src/joystick/linux/SDL_sysjoystick.c 2011-01-23 23:23:31.865198998 +0100
-+++ SDL-1.2.14/src/joystick/linux/SDL_sysjoystick.c.org 2011-01-23 23:28:12.427198998 +0100
-@@ -700,26 +700,26 @@
- continue;
- }
- if ( test_bit(i, absbit) ) {
-- int values[5];
-+ struct input_absinfo absinfo;
-
-- if ( ioctl(fd, EVIOCGABS(i), values) < 0 )
-+ if ( ioctl(fd, EVIOCGABS(i), &absinfo) < 0 )
- continue;
- #ifdef DEBUG_INPUT_EVENTS
- printf("Joystick has absolute axis: %x\n", i);
- printf("Values = { %d, %d, %d, %d, %d }\n",
-- values[0], values[1],
-- values[2], values[3], values[4]);
-+ absinfo.value, absinfo.minimum,
-+ absinfo.maximum, absinfo.fuzz, absinfo.flat);
- #endif /* DEBUG_INPUT_EVENTS */
- joystick->hwdata->abs_map[i] = joystick->naxes;
-- if ( values[1] == values[2] ) {
-+ if ( absinfo.minimum == absinfo.maximum ) {
- joystick->hwdata->abs_correct[i].used = 0;
- } else {
- joystick->hwdata->abs_correct[i].used = 1;
- joystick->hwdata->abs_correct[i].coef[0] =
-- (values[2] + values[1]) / 2 - values[4];
-+ (absinfo.maximum + absinfo.minimum) / 2 - absinfo.flat;
- joystick->hwdata->abs_correct[i].coef[1] =
-- (values[2] + values[1]) / 2 + values[4];
-- t = ((values[2] - values[1]) / 2 - 2 * values[4]);
-+ (absinfo.maximum + absinfo.minimum) / 2 + absinfo.flat;
-+ t = ((absinfo.maximum - absinfo.minimum) / 2 - 2 * absinfo.flat);
- if ( t != 0 ) {
- joystick->hwdata->abs_correct[i].coef[2] = (1 << 29) / t;
- } else {
-
diff --git a/source/l/shared-desktop-ontologies/shared-desktop-ontologies.SlackBuild b/source/l/shared-desktop-ontologies/shared-desktop-ontologies.SlackBuild
index 76ae4733..af2aaeb8 100755
--- a/source/l/shared-desktop-ontologies/shared-desktop-ontologies.SlackBuild
+++ b/source/l/shared-desktop-ontologies/shared-desktop-ontologies.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/source/l/shared-desktop-ontologies/slack-desc b/source/l/shared-desktop-ontologies/slack-desc
index 18412ab5..70ccf7ff 100644
--- a/source/l/shared-desktop-ontologies/slack-desc
+++ b/source/l/shared-desktop-ontologies/slack-desc
@@ -13,7 +13,7 @@ shared-desktop-ontologies: the desktop in terms of vocabulary. It contains the w
shared-desktop-ontologies: ontologies such as RDF and RDFS as well as the Nepomuk ontologies
shared-desktop-ontologies: which are used by projects like KDE or Strigi.
shared-desktop-ontologies:
-shared-desktop-ontologies: Homepage: http://oscaf.sourceforge.net
+shared-desktop-ontologies: Homepage: http://sourceforge.net/projects/oscaf
shared-desktop-ontologies:
shared-desktop-ontologies:
shared-desktop-ontologies:
diff --git a/source/l/sip/sip.SlackBuild b/source/l/sip/sip.SlackBuild
index 4412ea25..75493d31 100755
--- a/source/l/sip/sip.SlackBuild
+++ b/source/l/sip/sip.SlackBuild
@@ -27,7 +27,7 @@
PKGNAM=sip
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:--j7}
diff --git a/source/l/slang/slang.SlackBuild b/source/l/slang/slang.SlackBuild
index c39d4297..a9fbd4bb 100755
--- a/source/l/slang/slang.SlackBuild
+++ b/source/l/slang/slang.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,9 +21,9 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=${VERSION:-2.2.3}
-#DOCV=${DOCV:-2.2.3}
-BUILD=${BUILD:-1}
+VERSION=${VERSION:-2.2.4}
+#DOCV=${DOCV:-2.2.4}
+BUILD=${BUILD:-3}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -35,19 +35,22 @@ if [ -z "$ARCH" ]; then
esac
fi
-NUMJOBS=${NUMJOBS:-" -j7 "}
+# This doesn't handle multiple jobs well
+NUMJOBS=${NUMJOBS:-" -j1 "}
+
+# -fno-tree-dse is needed avoid optimization bugs
if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ SLKCFLAGS="-O2 -fno-tree-dse -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
+ SLKCFLAGS="-O2 -fno-tree-dse"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
+ SLKCFLAGS="-O2 -fno-tree-dse -fPIC"
LIBDIRSUFFIX="64"
else
- SLKCFLAGS="-O2"
+ SLKCFLAGS="-O2 -fno-tree-dse"
LIBDIRSUFFIX=""
fi
@@ -59,8 +62,8 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf slang-$VERSION
-tar xvf $CWD/slang-$VERSION.tar.bz2 || exit 1
-cd slang-$VERSION
+tar xvf $CWD/slang-$VERSION.tar.?z* || exit 1
+cd slang-$VERSION || exit 1
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/l/soprano/soprano.SlackBuild b/source/l/soprano/soprano.SlackBuild
index 5ddd9f99..10dcb82d 100755
--- a/source/l/soprano/soprano.SlackBuild
+++ b/source/l/soprano/soprano.SlackBuild
@@ -68,7 +68,8 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf soprano-$VERSION
tar xvf $CWD/soprano-$VERSION.tar.bz2 || exit 1
-cd soprano-$VERSION || exit 1
+cd soprano-${VERSION}* || exit 1
+
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/l/startup-notification/startup-notification.SlackBuild b/source/l/startup-notification/startup-notification.SlackBuild
index 6fce983e..e749601f 100755
--- a/source/l/startup-notification/startup-notification.SlackBuild
+++ b/source/l/startup-notification/startup-notification.SlackBuild
@@ -22,7 +22,7 @@
VERSION=${VERSION:-$(echo startup-notification-*.tar.?z* | cut -d - -f 3 | rev | cut -f 3- -d . | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j7 "}
diff --git a/source/l/system-config-printer/system-config-printer.SlackBuild b/source/l/system-config-printer/system-config-printer.SlackBuild
index fafaba72..6ca6afaf 100755
--- a/source/l/system-config-printer/system-config-printer.SlackBuild
+++ b/source/l/system-config-printer/system-config-printer.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Copyright 2010, 2011, 2012 Eric Hameleers, Eindhoven, NL
-# Copyright 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Permission to use, copy, modify, and distribute this software for
@@ -25,7 +25,7 @@
PKGNAM=system-config-printer
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:" -j7 "}
diff --git a/source/l/taglib/taglib.SlackBuild b/source/l/taglib/taglib.SlackBuild
index 31794626..026f3e5b 100755
--- a/source/l/taglib/taglib.SlackBuild
+++ b/source/l/taglib/taglib.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
VERSION=${VERSION:-$(echo taglib-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -72,6 +72,7 @@ CXXFLAGS="$SLKCFLAGS" \
CXX=gcc \
cmake \
-DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
-DLIB_SUFFIX="${LIBDIRSUFFIX}" \
-DWITH_MP4=ON \
-DWITH_ASF=ON \
diff --git a/source/l/v4l-utils/v4l-utils.SlackBuild b/source/l/v4l-utils/v4l-utils.SlackBuild
index da783994..9c0b2ec4 100755
--- a/source/l/v4l-utils/v4l-utils.SlackBuild
+++ b/source/l/v4l-utils/v4l-utils.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Copyright 2009 Eric Hameleers, Eindhoven, NL
-# Copyright 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
PKGNAM=v4l-utils
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -70,17 +70,24 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-# Fix manpage path:
-sed -i "s,share/man/,man/,g" utils/keytable/Makefile
+# Configure:
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux
# Build and install:
-export CFLAGS="$SLKCFLAGS"
-export CPPFLAGS="$SLKCFLAGS"
-export LDFLAGS="$SLKLDFLAGS"
-make ${NUMJOBS} PREFIX=/usr LIBDIR=/usr/lib${LIBDIRSUFFIX} || \
- make PREFIX=/usr LIBDIR=/usr/lib${LIBDIRSUFFIX} MANDIR=/usr/man || \
- exit 1
-make install PREFIX=/usr LIBDIR=/usr/lib${LIBDIRSUFFIX} MANDIR=/usr/man DESTDIR=$PKG || exit 1
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# These shouldn't be used:
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
# System udev files should go under /lib:
if [ -r $PKG/etc/udev/rules.d/70-infrared.rules ]; then
@@ -92,6 +99,10 @@ if [ -r $PKG/etc/udev/rules.d/70-infrared.rules ]; then
sed -i "s,/etc/udev/rules.d,/lib/udev/rules.d,g" $PKG/lib/udev/rules.d/70-infrared.rules
fi
+# I'd rather see these remain in /etc where they have been:
+mv $PKG/lib/udev/rc_keymaps/* $PKG/etc/rc_keymaps
+rmdir $PKG/lib/udev/rc_keymaps
+
# Strip binaries:
find $PKG | xargs file | grep -e "executable" -e "shared object" \
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
diff --git a/source/l/virtuoso-ose/virtuoso-opensource-6.1.3.unicode.patch b/source/l/virtuoso-ose/virtuoso-opensource-6.1.3.unicode.patch
deleted file mode 100644
index 6aa5e5a5..00000000
--- a/source/l/virtuoso-ose/virtuoso-opensource-6.1.3.unicode.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- libsrc/Wi/xqf.c 3 Mar 2011 11:56:45 -0000 1.21.2.9
-+++ libsrc/Wi/xqf.c 26 Aug 2011 19:34:56 -0000 1.21.2.12
-@@ -3520,6 +3552,12 @@
- desc = xqf_str_parser_descs + desc_idx;
- if (DV_DB_NULL == arg_dtp)
- return NEW_DB_NULL;
-+ /* if we have wide and we want typed string we do utf8, cast do to default charset so we do not do it */
-+ if (DV_WIDE == arg_dtp && desc->p_dest_dtp == DV_STRING)
-+ {
-+ res = box_wide_as_utf8_char (arg, box_length (arg) / sizeof (wchar_t) - 1, DV_STRING);
-+ goto res_ready;
-+ }
- if (DV_STRING != arg_dtp)
- {
- caddr_t err = NULL;
-
diff --git a/source/l/virtuoso-ose/virtuoso-ose.SlackBuild b/source/l/virtuoso-ose/virtuoso-ose.SlackBuild
index bb9d88ab..98c88360 100755
--- a/source/l/virtuoso-ose/virtuoso-ose.SlackBuild
+++ b/source/l/virtuoso-ose/virtuoso-ose.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
-# Copyright 2009, 2010, 2011 Eric Hameleers, Eindhoven, NL
-# Copyright 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2009, 2010, 2011, 2012 Eric Hameleers, Eindhoven, NL
+# Copyright 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
PKGNAM=virtuoso-opensource
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -62,10 +62,6 @@ rm -rf virtuoso-opensource-$VERSION
tar xvf $CWD/virtuoso-opensource-$VERSION.tar.xz || exit 1
cd virtuoso-opensource-$VERSION || exit 1
-# Apply a patch that fixes Unicode issue as described here:
-# https://bugs.kde.org/show_bug.cgi?id=271664
-cat $CWD/virtuoso-opensource-6.1.3.unicode.patch | patch -p0 --verbose || exit
-
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \