+to 21.2.44 "Thalia"
+-- Upgrade to etags 14.15 -- Francesco Potorti
+-- XEmacs now works on Unixware 7 -- Martin Buchholz
+-- Work around AIX C compiler bug causing "scroll-up has no effect"
+ -- Martin Buchholz
+-- Fix crash in kill-emacs -- Martin Buchholz
+-- XEmacs builds with gcc 2.97 -- Martin Buchholz
+-- XEmacs builds with g++ 2.97 -- Martin Buchholz
+-- Port .gdbinit debugging support to many systems -- Martin Buchholz
+-- XEmacs builds on mips-sgi-irix6.5 with 64-bit compilers -- Martin Buchholz
+-- The C variable containing the value of a DEFVAR_INT is now
+ EMACS_INT, not int -- Martin Buchholz
+-- config.sug, config.guess upgraded to official versions -- Martin Buchholz
+-- Support mouse-6 and mouse-7 for newfangled mice -- Martin Buchholz
+-- portable dumper alignment fixes -- Martin Buchholz
+-- sound fixes -- Didier Verna
+-- Progress gauge now goes away if C-g'ed -- Andy Piper
+
to 21.2.43 "Terspichore"
-- Important gnuserv security fix. Upgrade if you use gnuserv.
-- Klaus Frank, Jan Vroonhof, Gunnar Evermann
+2001-02-08 Martin Buchholz <martin@xemacs.org>
+
+ * XEmacs 21.2.44 "Thalia" is released.
+
+2001-01-16 Mike Sperber <mike@xemacs.org>
+
+ * configure.in: Remove bogus path variable definitions.
+ Reflect the fact that specifying --datadir also affects docdir and
+ archlibdir.
+
+2001-02-06 Martin Buchholz <martin@xemacs.org>
+
+ * configure.in: Only use -Wpointer-arith on non-glibc systems.
+
+2001-02-02 Martin Buchholz <martin@xemacs.org>
+
+ * configure.in (wnn): Make sure wnn/commonhd.h can be #included,
+ for the sake of gcc 2.97 fixincludes, which breaks it.
+
+2001-01-27 Martin Buchholz <martin@xemacs.org>
+
+ * configure.in: Check for util.h for NetBSD's openpty.
+
+2001-01-28 Martin Buchholz <martin@xemacs.org>
+
+ * config.sub: Upgrade to offical version 2001-01-12.
+ * config.guess: Upgrade to offical version 2001-01-17.
+
2001-01-26 Martin Buchholz <martin@xemacs.org>
* XEmacs 21.2.43 "Terspichore" is released.
${blddir}/src/${PROGNAME} -batch -vanilla \
-f batch-byte-compile lisp/auto-autoloads.el
@$(RM) lisp/auto-autoloads.el~
-#ifdef MULE
- $(RM) lisp/mule/auto-autoloads.el
- ${blddir}/src/${PROGNAME} -batch -vanilla \
- -l autoload -f batch-update-directory lisp/mule
- ${blddir}/src/${PROGNAME} -batch -vanilla \
- -f batch-byte-compile lisp/mule/auto-autoloads.el
- @$(RM) lisp/mule/auto-autoloads.el~
-#endif
FRC.lisp.custom.load.el:
lisp/custom-load.el: FRC.lisp.custom.load.el
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc.
-version='2000-05-30'
+timestamp='2001-01-17'
# 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
# exits with 0. Otherwise, it exits with 1.
#
# The plan is that this can be called by configure scripts if you
-# don't specify an explicit system type (host/target name).
+# don't specify an explicit build system type.
#
# Only a few systems have been added to this list; please add others
# (but try to keep the structure clean).
usage="\
Usage: $0 [OPTION]
-Output the configuration name of this system.
+Output the configuration name of the system \`$me' is run on.
Operation modes:
- -h, --help print this help, then exit
- -V, --version print version number, then exit"
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 93, 94, 95, 96, 97, 98, 99, 2000
+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."
help="
Try \`$me --help' for more information."
# Parse command line
while test $# -gt 0 ; do
- case "$1" in
- --version | --vers* | -V )
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit 0 ;;
+ --version | -v )
echo "$version" ; exit 0 ;;
--help | --h* | -h )
echo "$usage"; exit 0 ;;
- ) # Use stdin as input.
break ;;
-* )
- exec >&2
- echo "$me: invalid option $1"
- echo "$help"
+ echo "$me: invalid option $1$help" >&2
exit 1 ;;
* )
break ;;
exit 1
fi
-# Use $HOST_CC if defined. $CC may point to a cross-compiler
-if test x"$CC_FOR_BUILD" = x; then
- if test x"$HOST_CC" != x; then
- CC_FOR_BUILD="$HOST_CC"
- else
- if test x"$CC" != x; then
- CC_FOR_BUILD="$CC"
- else
- CC_FOR_BUILD=cc
- fi
- fi
-fi
+dummy=dummy-$$
+trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script.
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,) echo "int dummy(){}" > $dummy.c
+ for c in cc gcc c89 ; do
+ ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1
+ if test $? = 0 ; then
+ CC_FOR_BUILD="$c"; break
+ fi
+ done
+ rm -f $dummy.c $dummy.o $dummy.rel
+ if test x"$CC_FOR_BUILD" = x ; then
+ CC_FOR_BUILD=no_compiler_found
+ fi
+ ;;
+ ,,*) CC_FOR_BUILD=$CC ;;
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
+esac
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 8/24/94.)
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-dummy=dummy-$$
-trap 'rm -f $dummy.c $dummy.o $dummy; exit 1' 1 2 15
-
# Note: order is significant - the case branches are not exclusive.
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# object file format.
# Determine the machine/vendor (is the vendor relevant).
case "${UNAME_MACHINE}" in
- amiga) machine=m68k-cbm ;;
+ amiga) machine=m68k-unknown ;;
arm32) machine=arm-unknown ;;
atari*) machine=m68k-atari ;;
sun3*) machine=m68k-sun ;;
ibmrt|romp-ibm) machine=romp-ibm ;;
*) machine=${UNAME_MACHINE}-unknown ;;
esac
- # The Operating System including object format.
- if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep __ELF__ >/dev/null
- then
- # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
- # Return netbsd for either. FIX?
- os=netbsd
- else
- os=netbsdelf
- fi
+ # The Operating System including object format, if it has switched
+ # to ELF recently, or will in the future.
+ case "${UNAME_MACHINE}" in
+ i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k)
+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep __ELF__ >/dev/null
+ then
+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+ # Return netbsd for either. FIX?
+ os=netbsd
+ else
+ os=netbsdelf
+ fi
+ ;;
+ *)
+ os=netbsd
+ ;;
+ esac
# The OS release
release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
echo alpha-dec-winnt3.5
exit 0 ;;
Amiga*:UNIX_System_V:4.0:*)
- echo m68k-cbm-sysv4
+ echo m68k-unknown-sysv4
exit 0;;
amiga:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
exit 0;;
- SR2?01:HI-UX/MPP:*:*)
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
echo hppa1.1-hitachi-hiuxmpp
exit 0;;
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
fi
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
exit 0 ;;
+ *:AIX:*:5)
+ case "`lsattr -El proc0 -a type -F value`" in
+ PowerPC*) IBM_ARCH=powerpc
+ IBM_MANUF=ibm ;;
+ Itanium) IBM_ARCH=ia64
+ IBM_MANUF=unknown ;;
+ POWER*) IBM_ARCH=power
+ IBM_MANUF=ibm ;;
+ *) IBM_ARCH=powerpc
+ IBM_MANUF=ibm ;;
+ esac
+ echo ${IBM_ARCH}-${IBM_MANUF}-aix${UNAME_VERSION}.${UNAME_RELEASE}
+ exit 0 ;;
*:AIX:*:*)
echo rs6000-ibm-aix
exit 0 ;;
echo m68k-hp-bsd4.4
exit 0 ;;
9000/[34678]??:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
case "${UNAME_MACHINE}" in
9000/31? ) HP_ARCH=m68000 ;;
9000/[34]?? ) HP_ARCH=m68k ;;
9000/[678][0-9][0-9])
+ case "${HPUX_REV}" in
+ 11.[0-9][0-9])
+ if [ -x /usr/bin/getconf ]; then
+ 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" ;;
+ esac ;;
+ esac
+ fi ;;
+ esac
+ if [ "${HP_ARCH}" = "" ]; then
sed 's/^ //' << EOF >$dummy.c
#define _HPUX_SOURCE
}
EOF
(CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
+ if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
rm -f $dummy.c $dummy
+ fi ;;
esac
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
exit 0 ;;
+ ia64:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ echo ia64-hp-hpux${HPUX_REV}
+ exit 0 ;;
3050*:HI-UX:*:*)
sed 's/^ //' << EOF >$dummy.c
#include <unistd.h>
CRAY*TS:*:*:*)
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
- CRAY*T3E:*:*:*)
+ CRAY*T3D:*:*:*)
echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
+ CRAY*T3E:*:*:*)
+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit 0 ;;
CRAY*SV1:*:*:*)
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
CRAY-2:*:*:*)
echo cray2-cray-unicos
exit 0 ;;
- F300:UNIX_System_V:*:*)
+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
- echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit 0 ;;
- F301:UNIX_System_V:*:*)
- echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
- exit 0 ;;
hp300:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
i*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit 0 ;;
+ i*:PW*:*)
+ echo ${UNAME_MACHINE}-pc-pw32
+ exit 0 ;;
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
*:GNU:*:*)
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
exit 0 ;;
+ i*86:Minix:*:*)
+ echo ${UNAME_MACHINE}-pc-minix
+ exit 0 ;;
*:Linux:*:*)
# The BFD linker knows what the default object file format is, so
# first see if it will tell us. cd to the root directory to prevent
# problems with other programs or directories called `ld' in the path.
- ld_help_string=`cd /; ld --help 2>&1`
- ld_supported_emulations=`echo $ld_help_string \
+ ld_supported_emulations=`cd /; ld --help 2>&1 \
| sed -ne '/supported emulations:/!d
s/[ ][ ]*/ /g
s/.*supported emulations: *//
exit 0
;;
elf_i?86)
- echo "${UNAME_MACHINE}-pc-linux"
- exit 0
+ TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
;;
i?86coff)
echo "${UNAME_MACHINE}-pc-linux-gnucoff"
echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
exit 0
;;
+ elf32_sparc)
+ echo "${UNAME_MACHINE}-unknown-linux-gnu"
+ exit 0
+ ;;
armlinux)
echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
exit 0
rm -f $dummy.c $dummy
elif test "${UNAME_MACHINE}" = "s390"; then
echo s390-ibm-linux && exit 0
+ elif test "${UNAME_MACHINE}" = "x86_64"; then
+ echo x86_64-unknown-linux-gnu && exit 0
+ elif test "${UNAME_MACHINE}" = "parisc" -o "${UNAME_MACHINE}" = "hppa"; then
+ # Look for CPU level
+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+ PA7*)
+ echo hppa1.1-unknown-linux-gnu
+ ;;
+ PA8*)
+ echo hppa2.0-unknown-linux-gnu
+ ;;
+ *)
+ echo hppa-unknown-linux-gnu
+ ;;
+ esac
+ exit 0
else
# Either a pre-BFD a.out linker (linux-gnuoldld)
# or one that does not give us useful --help.
# GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
# If ld does not provide *any* "supported emulations:"
# that means it is gnuoldld.
- echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:"
- test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
+ test -z "$ld_supported_emulations" \
+ && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
case "${UNAME_MACHINE}" in
i?86)
EOF
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
rm -f $dummy.c $dummy
+ test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
fi ;;
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions
# are messed up and put the nodename in both sysname and nodename.
exit 0 ;;
M68*:*:R3V[567]*:*)
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
- 3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
+ 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
OS_REL=''
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
TSUNAMI:LynxOS:2.*:*)
echo sparc-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
- rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
+ rs6000:LynxOS:2.*:*)
echo rs6000-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:*)
+ echo powerpc-unknown-lynxos${UNAME_RELEASE}
+ exit 0 ;;
SM[BE]S:UNIX_SV:*:*)
echo mips-dde-sysv${UNAME_RELEASE}
exit 0 ;;
mc68*:A/UX:*:*)
echo m68k-apple-aux${UNAME_RELEASE}
exit 0 ;;
- news*:NEWS-OS:*:6*)
+ news*:NEWS-OS:6*:*)
echo mips-sony-newsos6
exit 0 ;;
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
*:QNX:*:4*)
echo i386-pc-qnx
exit 0 ;;
- NSR-W:NONSTOP_KERNEL:*:*)
+ NSR-[KW]:NONSTOP_KERNEL:*:*)
echo nsr-tandem-nsk${UNAME_RELEASE}
exit 0 ;;
+ *:NonStop-UX:*:*)
+ echo mips-compaq-nonstopux
+ exit 0 ;;
BS2000:POSIX*:*:*)
echo bs2000-siemens-sysv
exit 0 ;;
DS/*:UNIX_System_V:*:*)
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
exit 0 ;;
+ *:Plan9:*:*)
+ # "uname -m" is not consistent, so use $cputype instead. 386
+ # is converted to i386 for consistency with other x86
+ # operating systems.
+ if test "$cputype" = "386"; then
+ UNAME_MACHINE=i386
+ else
+ UNAME_MACHINE="$cputype"
+ fi
+ echo ${UNAME_MACHINE}-unknown-plan9
+ exit 0 ;;
+ i?86:OS/2:*:*)
+ # If we were able to find `uname', then EMX Unix compatibility
+ # is probably installed.
+ echo ${UNAME_MACHINE}-pc-os2-emx
+ exit 0 ;;
+ *:TOPS-10:*:*)
+ echo pdp10-unknown-tops10
+ exit 0 ;;
+ *:TENEX:*:*)
+ echo pdp10-unknown-tenex
+ exit 0 ;;
+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+ echo pdp10-dec-tops20
+ exit 0 ;;
+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+ echo pdp10-xkl-tops20
+ exit 0 ;;
+ *:TOPS-20:*:*)
+ echo pdp10-unknown-tops20
+ exit 0 ;;
+ *:ITS:*:*)
+ echo pdp10-unknown-its
+ exit 0 ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
cat >&2 <<EOF
$0: unable to guess system type
-The $version version of this script cannot recognize your system type.
-Please download the most up to date version of the config scripts:
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
ftp://ftp.gnu.org/pub/gnu/config/
pertinent to <config-patches@gnu.org> in order to provide the needed
information to handle your system.
-config.guess version = $version
+config.guess timestamp = $timestamp
uname -m = `(uname -m) 2>/dev/null || echo unknown`
uname -r = `(uname -r) 2>/dev/null || echo unknown`
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "version='"
+# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
# End:
#! /bin/sh
-# Configuration validation subroutine script, version 1.1.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+# Configuration validation subroutine script.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc.
-version='2000-05-31'
+timestamp='2001-01-12'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
-# Written by Per Bothner <bothner@cygnus.com>.
# Please send patches to <config-patches@gnu.org>.
#
# Configuration subroutine to validate and canonicalize a configuration type.
Canonicalize a configuration name.
Operation modes:
- -h, --help print this help, then exit
- -V, --version print version number, then exit"
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+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."
help="
Try \`$me --help' for more information."
# Parse command line
while test $# -gt 0 ; do
- case "$1" in
- --version | --vers* | -V )
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit 0 ;;
+ --version | -v )
echo "$version" ; exit 0 ;;
--help | --h* | -h )
echo "$usage"; exit 0 ;;
- ) # Use stdin as input.
break ;;
-* )
- exec >&2
- echo "$me: invalid option $1"
- echo "$help"
+ echo "$me: invalid option $1$help"
exit 1 ;;
*local*)
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
- nto-qnx* | linux-gnu*)
+ nto-qnx* | linux-gnu* | storm-chaos* | os2-emx*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple)
+ -apple | -axis)
os=
basic_machine=$1
;;
case $basic_machine in
# Recognize the basic CPU types without company name.
# Some are omitted here because they have special meanings below.
- tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
- | arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \
+ tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc \
+ | arm | arme[lb] | arm[bl]e | armv[2345] | armv[345][lb] | strongarm | xscale \
+ | pyramid | mn10200 | mn10300 | tron | a29k \
| 580 | i960 | h8300 \
- | x86 | ppcbe | mipsbe | mipsle | shbe | shle | armbe | armle \
+ | x86 | ppcbe | mipsbe | mipsle | shbe | shle \
| hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
| hppa64 \
| alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \
| alphaev6[78] \
- | we32k | ns16k | clipper | i370 | sh | powerpc | powerpcle \
- | 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
+ | we32k | ns16k | clipper | i370 | sh | sh[34] \
+ | powerpc | powerpcle \
+ | 1750a | dsp16xx | pdp10 | pdp11 \
+ | mips16 | mips64 | mipsel | mips64el \
| mips64orion | mips64orionel | mipstx39 | mipstx39el \
| mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
| mips64vr5000 | miprs64vr5000el | mcore \
| sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
- | thumb | d10v | fr30 | avr)
+ | thumb | d10v | d30v | fr30 | avr | openrisc)
basic_machine=$basic_machine-unknown
;;
+ m6811 | m68hc11 | m6812 | m68hc12)
+ # Motorola 68HC11/12.
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65 | pj | pjl)
;;
# 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[34567]86)
+ i[234567]86 | x86_64)
basic_machine=$basic_machine-pc
;;
# Object if more than one company name word.
;;
# Recognize the basic CPU types with company name.
# FIXME: clean up the formatting here.
- vax-* | tahoe-* | i[34567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
- | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
+ vax-* | tahoe-* | i[234567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
+ | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | c[123]* \
+ | arm-* | armbe-* | armle-* | armv*-* | strongarm-* | xscale-* \
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
| power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
| xmp-* | ymp-* \
- | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* | armbe-* | armle-* \
+ | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* \
| hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \
| hppa2.0n-* | hppa64-* \
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \
| alphaev6[78]-* \
| we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
| clipper-* | orion-* \
- | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
+ | sparclite-* | pdp10-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
| sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
| mips64el-* | mips64orion-* | mips64orionel-* \
| mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
| mipstx39-* | mipstx39el-* | mcore-* \
- | f301-* | armv*-* | s390-* | sv1-* | t3e-* \
+ | f30[01]-* | f700-* | s390-* | sv1-* | t3e-* \
| m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
| thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* \
- | bs2000-*)
+ | bs2000-* | tic54x-* | c54x-* | x86_64-*)
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
os=-sysv
;;
amiga | amiga-*)
- basic_machine=m68k-cbm
+ basic_machine=m68k-unknown
;;
amigaos | amigados)
- basic_machine=m68k-cbm
+ basic_machine=m68k-unknown
os=-amigaos
;;
amigaunix | amix)
- basic_machine=m68k-cbm
+ basic_machine=m68k-unknown
os=-sysv4
;;
apollo68)
crds | unos)
basic_machine=m68k-crds
;;
+ cris | cris-* | etrax*)
+ basic_machine=cris-axis
+ ;;
da30 | da30-*)
basic_machine=m68k-da30
;;
basic_machine=tron-gmicro
os=-sysv
;;
+ go32)
+ basic_machine=i386-pc
+ os=-go32
+ ;;
h3050r* | hiux*)
basic_machine=hppa1.1-hitachi
os=-hiuxwe2
basic_machine=i386-unknown
os=-vsta
;;
- i386-go32 | go32)
- basic_machine=i386-unknown
- os=-go32
- ;;
- i386-mingw32 | mingw32)
- basic_machine=i386-unknown
- os=-mingw32
- ;;
iris | iris4d)
basic_machine=mips-sgi
case $os in
basic_machine=ns32k-utek
os=-sysv
;;
+ mingw32)
+ basic_machine=i386-pc
+ os=-mingw32
+ ;;
miniframe)
basic_machine=m68000-convergent
;;
os=-coff
;;
msdos)
- basic_machine=i386-unknown
+ basic_machine=i386-pc
os=-msdos
;;
mvs)
basic_machine=i960-intel
os=-mon960
;;
+ nonstopux)
+ basic_machine=mips-compaq
+ os=-nonstopux
+ ;;
np1)
basic_machine=np1-gould
;;
pc532 | pc532-*)
basic_machine=ns32k-pc532
;;
- pentium | p5 | k5 | k6 | nexen)
+ pentium | p5 | k5 | k6 | nexgen)
basic_machine=i586-pc
;;
pentiumpro | p6 | 6x86 | athlon)
basic_machine=i686-pc
;;
pentiumii | pentium2)
- basic_machine=i786-pc
+ basic_machine=i686-pc
;;
- pentium-* | p5-* | k5-* | k6-* | nexen-*)
+ pentium-* | p5-* | k5-* | k6-* | nexgen-*)
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentiumpro-* | p6-* | 6x86-* | athlon-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentiumii-* | pentium2-*)
- basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pn)
basic_machine=pn-gould
;;
- power) basic_machine=rs6000-ibm
+ power) basic_machine=power-ibm
;;
ppc) basic_machine=powerpc-unknown
;;
ps2)
basic_machine=i386-ibm
;;
+ pw32)
+ basic_machine=i586-unknown
+ os=-pw32
+ ;;
rom68k)
basic_machine=m68k-rom68k
os=-coff
basic_machine=t3e-cray
os=-unicos
;;
+ tic54x | c54x*)
+ basic_machine=tic54x-unknown
+ os=-coff
+ ;;
tx39)
basic_machine=mipstx39-unknown
;;
vax)
basic_machine=vax-dec
;;
+ pdp10)
+ # there are many clones, so DEC is not a safe bet
+ basic_machine=pdp10-unknown
+ ;;
pdp11)
basic_machine=pdp11-dec
;;
we32k)
basic_machine=we32k-att
;;
+ sh3 | sh4)
+ basic_machine=sh-unknown
+ ;;
sparc | sparcv9)
basic_machine=sparc-sun
;;
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
- | -openstep* | -oskit*)
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -os2*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
-ns2 )
os=-nextstep2
;;
- -nsk)
+ -nsk*)
os=-nsk
;;
# Preserve the version number of sinix5.
-xenix)
os=-xenix
;;
- -*mint | -*MiNT)
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
os=-mint
;;
-none)
arm*-semi)
os=-aout
;;
+ pdp10-*)
+ os=-tops20
+ ;;
pdp11-*)
os=-none
;;
*-masscomp)
os=-rtu
;;
- f301-fujitsu)
+ f30[01]-fujitsu | f700-fujitsu)
os=-uxpv
;;
*-rom68k)
-mpw* | -macos*)
vendor=apple
;;
- -*mint | -*MiNT)
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
vendor=atari
;;
esac
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "version='"
+# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
# End:
x_includes=NONE
x_libraries=NONE
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-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'
-
subdirs=
MFLAGS= MAKEFLAGS=
SHELL=${CONFIG_SHELL-/bin/sh}
}
;;
datadir )
- { test "$extra_verbose" = "yes" && cat << \EOF
+ { test "$extra_verbose" = "yes" && cat << \EOF
Defining INFODIR_USER_DEFINED
EOF
cat >> confdefs.h <<\EOF
EOF
}
- { test "$extra_verbose" = "yes" && cat << \EOF
+ { test "$extra_verbose" = "yes" && cat << \EOF
Defining LISPDIR_USER_DEFINED
EOF
cat >> confdefs.h <<\EOF
EOF
}
- { test "$extra_verbose" = "yes" && cat << \EOF
+ { test "$extra_verbose" = "yes" && cat << \EOF
Defining MODULEDIR_USER_DEFINED
EOF
cat >> confdefs.h <<\EOF
#define ETCDIR_USER_DEFINED 1
EOF
}
+
+ { test "$extra_verbose" = "yes" && cat << \EOF
+ Defining DOCDIR_USER_DEFINED
+EOF
+cat >> confdefs.h <<\EOF
+#define DOCDIR_USER_DEFINED 1
+EOF
+}
+
+ { test "$extra_verbose" = "yes" && cat << \EOF
+ Defining ARCHLIBDIR_USER_DEFINED
+EOF
+cat >> confdefs.h <<\EOF
+#define ARCHLIBDIR_USER_DEFINED 1
+EOF
+}
;;
docdir ) { test "$extra_verbose" = "yes" && cat << \EOF
Defining DOCDIR_USER_DEFINED
fi
echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:836: checking whether ln -s works" >&5
+echo "configure:839: checking whether ln -s works" >&5
rm -f conftestdata
if ln -s X conftestdata 2>/dev/null
echo $ac_n "checking "host system type"""... $ac_c" 1>&6
-echo "configure:1101: checking "host system type"" >&5
+echo "configure:1104: checking "host system type"" >&5
internal_configuration=`echo $configuration | sed 's/-\(workshop\)//'`
canonical=`${CONFIG_SHELL-/bin/sh} $srcdir/config.sub "$internal_configuration"`
configuration=`echo "$configuration" | sed 's/^\([^-][^-]*-[^-][^-]*-[^-][^-]*\)-.*$/\1/'`
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1620: checking for $ac_word" >&5
+echo "configure:1623: checking for $ac_word" >&5
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1647: checking for $ac_word" >&5
+echo "configure:1650: checking for $ac_word" >&5
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
# Extract the first word of "cl", so it can be a program name with args.
set dummy cl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1695: checking for $ac_word" >&5
+echo "configure:1698: checking for $ac_word" >&5
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1724: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1727: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
xe_cppflags='$CPPFLAGS $c_switch_site $c_switch_machine $c_switch_system $c_switch_x_site $X_CFLAGS'
cat > conftest.$ac_ext << EOF
-#line 1737 "configure"
+#line 1740 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:1742: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1745: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1770: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1773: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1775: checking whether we are using GNU C" >&5
+echo "configure:1778: checking whether we are using GNU C" >&5
cat > conftest.c <<EOF
#ifdef __GNUC__
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1782: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1785: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1800: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:1803: checking whether ${CC-cc} accepts -g" >&5
echo 'void f(){}' > conftest.c
if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1833: checking for $ac_word" >&5
+echo "configure:1836: checking for $ac_word" >&5
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1860: checking for $ac_word" >&5
+echo "configure:1863: checking for $ac_word" >&5
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
# Extract the first word of "cl", so it can be a program name with args.
set dummy cl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1908: checking for $ac_word" >&5
+echo "configure:1911: checking for $ac_word" >&5
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1937: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1940: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
xe_cppflags='$CPPFLAGS $c_switch_site $c_switch_machine $c_switch_system $c_switch_x_site $X_CFLAGS'
cat > conftest.$ac_ext << EOF
-#line 1950 "configure"
+#line 1953 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:1955: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1958: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1983: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1986: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1988: checking whether we are using GNU C" >&5
+echo "configure:1991: checking whether we are using GNU C" >&5
cat > conftest.c <<EOF
#ifdef __GNUC__
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1995: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1998: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:2013: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:2016: checking whether ${CC-cc} accepts -g" >&5
echo 'void f(){}' > conftest.c
if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2046: checking for $ac_word" >&5
+echo "configure:2049: checking for $ac_word" >&5
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2073: checking for $ac_word" >&5
+echo "configure:2076: checking for $ac_word" >&5
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
# Extract the first word of "cl", so it can be a program name with args.
set dummy cl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2121: checking for $ac_word" >&5
+echo "configure:2124: checking for $ac_word" >&5
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:2150: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:2153: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
xe_cppflags='$CPPFLAGS $c_switch_site $c_switch_machine $c_switch_system $c_switch_x_site $X_CFLAGS'
cat > conftest.$ac_ext << EOF
-#line 2163 "configure"
+#line 2166 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:2168: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2171: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:2196: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:2199: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:2201: checking whether we are using GNU C" >&5
+echo "configure:2204: checking whether we are using GNU C" >&5
cat > conftest.c <<EOF
#ifdef __GNUC__
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2208: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2211: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:2226: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:2229: checking whether ${CC-cc} accepts -g" >&5
echo 'void f(){}' > conftest.c
if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
test -n "$NON_GNU_CPP" -a "$GCC" != "yes" -a -z "$CPP" && CPP="$NON_GNU_CPP"
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:2263: checking how to run the C preprocessor" >&5
+echo "configure:2266: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
-#line 2276 "configure"
+#line 2279 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2282: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2285: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 2293 "configure"
+#line 2296 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2299: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2302: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
rm -rf conftest*
CPP="${CC-cc} -nologo -E"
cat > conftest.$ac_ext <<EOF
-#line 2310 "configure"
+#line 2313 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2316: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2319: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
echo $ac_n "checking for AIX""... $ac_c" 1>&6
-echo "configure:2342: checking for AIX" >&5
+echo "configure:2345: checking for AIX" >&5
cat > conftest.$ac_ext <<EOF
-#line 2344 "configure"
+#line 2347 "configure"
#include "confdefs.h"
#ifdef _AIX
yes
echo $ac_n "checking for GNU libc""... $ac_c" 1>&6
-echo "configure:2371: checking for GNU libc" >&5
+echo "configure:2374: checking for GNU libc" >&5
cat > conftest.$ac_ext <<EOF
-#line 2373 "configure"
+#line 2376 "configure"
#include "confdefs.h"
#include <features.h>
int main() {
; return 0; }
EOF
-if { (eval echo configure:2385: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2388: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
have_glibc=yes
else
esac
cat > conftest.$ac_ext <<EOF
-#line 2462 "configure"
+#line 2465 "configure"
#include "confdefs.h"
int main () {
#if defined __SUNPRO_C
#endif
}
EOF
-if { (eval echo configure:2476: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:2479: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
:
else
test "$extra_verbose" = "yes" && \
for var in libs_machine libs_system libs_termcap libs_standard objects_machine objects_system c_switch_machine c_switch_system ld_switch_machine ld_switch_system unexec ld_switch_shared ld lib_gcc ld_text_start_addr start_files ordinary_link have_terminfo mail_use_flock mail_use_lockf; do eval "echo \"$var = '\$$var'\""; done && echo ""
-case "$opsys" in mingw* | cygwin*)
+case "$opsys" in mingw* | cygwin*)
cygwin_include=`eval "gcc -print-file-name=libc.a"` ;
cygwin_include=`eval "dirname $cygwin_include"` ;
cygwin_include="-I$cygwin_include/../include" ;
extra_includes="$cygwin_include/mingw32 $cygwin_include/mingw $cygwin_include" ;
- case "$opsys" in mingw*)
+ case "$opsys" in mingw*)
c_switch_system="$c_switch_system $extra_includes" && if test "$extra_verbose" = "yes"; then echo " Appending \"$extra_includes\" to \$c_switch_system"; fi ;;
esac
- ;;
+ ;;
esac
test "$ordinary_link" = "no" -a -z "$libs_standard" && libs_standard="-lc"
if test "$__USLC__" = yes; then
echo $ac_n "checking for whether the -Kalloca compiler flag is needed""... $ac_c" 1>&6
-echo "configure:2710: checking for whether the -Kalloca compiler flag is needed" >&5
+echo "configure:2713: checking for whether the -Kalloca compiler flag is needed" >&5
need_kalloca=no
cat > conftest.$ac_ext <<EOF
-#line 2713 "configure"
+#line 2716 "configure"
#include "confdefs.h"
int main() {
void *x = alloca(4);
; return 0; }
EOF
-if { (eval echo configure:2720: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2723: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
:
else
xe_save_c_switch_system="$c_switch_system"
c_switch_system="$c_switch_system -Kalloca"
cat > conftest.$ac_ext <<EOF
-#line 2731 "configure"
+#line 2734 "configure"
#include "confdefs.h"
int main() {
void *x = alloca(4);
; return 0; }
EOF
-if { (eval echo configure:2738: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2741: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
need_kalloca=yes
else
if test "$cflags_specified" = "no"; then
if test "$GCC" = "yes"; then
- CFLAGS="-g -O3 -Wall -Wno-switch -Wpointer-arith -Winline -Wmissing-prototypes -Wshadow"
+ CFLAGS="-g -O3 -Wall -Wno-switch -Winline -Wmissing-prototypes -Wshadow"
+ test "$have_glibc" != "yes" && CFLAGS="$CFLAGS -Wpointer-arith"
elif test "$__SUNPRO_C" = "yes"; then
case "$opsys" in
sol2 ) CFLAGS="-v -xO4" ;;
if test "$GCC" = "yes"; then
echo $ac_n "checking for buggy gcc versions""... $ac_c" 1>&6
-echo "configure:2771: checking for buggy gcc versions" >&5
+echo "configure:2775: checking for buggy gcc versions" >&5
GCC_VERSION=`$CC --version`
case `uname -s`:`uname -m`:$GCC_VERSION in
*:sun4*:2.8.1|*:sun4*:egcs-2.90.*)
fi
echo $ac_n "checking for dynodump""... $ac_c" 1>&6
-echo "configure:2894: checking for dynodump" >&5
+echo "configure:2898: checking for dynodump" >&5
if test "$unexec" != "unexsol2.o"; then
echo "$ac_t""no" 1>&6
else
done
echo $ac_n "checking for terminateAndUnload in -lC""... $ac_c" 1>&6
-echo "configure:2932: checking for terminateAndUnload in -lC" >&5
+echo "configure:2936: checking for terminateAndUnload in -lC" >&5
ac_lib_var=`echo C'_'terminateAndUnload | sed 'y%./+-%__p_%'`
xe_check_libs=" -lC "
cat > conftest.$ac_ext <<EOF
-#line 2937 "configure"
+#line 2941 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
terminateAndUnload()
; return 0; }
EOF
-if { (eval echo configure:2948: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2952: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$add_runtime_path" = "yes"; then
echo $ac_n "checking "for runtime libraries flag"""... $ac_c" 1>&6
-echo "configure:3056: checking "for runtime libraries flag"" >&5
+echo "configure:3060: checking "for runtime libraries flag"" >&5
case "$opsys" in
sol2 ) dash_r="-R" ;;
decosf* | linux* | irix*) dash_r="-rpath " ;;
done
fi
cat > conftest.$ac_ext <<EOF
-#line 3078 "configure"
+#line 3082 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:3085: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3089: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
dash_r="$try_dash_r"
else
fi
after_morecore_hook_exists=yes
echo $ac_n "checking for malloc_set_state""... $ac_c" 1>&6
-echo "configure:3187: checking for malloc_set_state" >&5
+echo "configure:3191: checking for malloc_set_state" >&5
cat > conftest.$ac_ext <<EOF
-#line 3190 "configure"
+#line 3194 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char malloc_set_state(); below. */
; return 0; }
EOF
-if { (eval echo configure:3213: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3217: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_malloc_set_state=yes"
else
fi
echo $ac_n "checking whether __after_morecore_hook exists""... $ac_c" 1>&6
-echo "configure:3233: checking whether __after_morecore_hook exists" >&5
+echo "configure:3237: checking whether __after_morecore_hook exists" >&5
cat > conftest.$ac_ext <<EOF
-#line 3235 "configure"
+#line 3239 "configure"
#include "confdefs.h"
extern void (* __after_morecore_hook)();
int main() {
__after_morecore_hook = 0
; return 0; }
EOF
-if { (eval echo configure:3242: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3246: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
else
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3298: checking for $ac_word" >&5
+echo "configure:3302: checking for $ac_word" >&5
if test -n "$RANLIB"; then
ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:3353: checking for a BSD compatible install" >&5
+echo "configure:3357: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3407: checking for $ac_word" >&5
+echo "configure:3411: checking for $ac_word" >&5
if test -n "$YACC"; then
ac_cv_prog_YACC="$YACC" # Let the user override the test.
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3439: checking for $ac_hdr" >&5
+echo "configure:3443: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 3442 "configure"
+#line 3446 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3447: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3451: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
done
echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
-echo "configure:3477: checking for sys/wait.h that is POSIX.1 compatible" >&5
+echo "configure:3481: checking for sys/wait.h that is POSIX.1 compatible" >&5
cat > conftest.$ac_ext <<EOF
-#line 3480 "configure"
+#line 3484 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/wait.h>
s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
; return 0; }
EOF
-if { (eval echo configure:3496: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3500: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_header_sys_wait_h=yes
else
fi
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:3520: checking for ANSI C header files" >&5
+echo "configure:3524: checking for ANSI C header files" >&5
cat > conftest.$ac_ext <<EOF
-#line 3523 "configure"
+#line 3527 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3531: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3535: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 3548 "configure"
+#line 3552 "configure"
#include "confdefs.h"
#include <string.h>
EOF
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 3566 "configure"
+#line 3570 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
if test $ac_cv_header_stdc = yes; then
# /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
cat > conftest.$ac_ext <<EOF
-#line 3584 "configure"
+#line 3588 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
exit (0); }
EOF
-if { (eval echo configure:3595: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:3599: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
:
else
fi
echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:3621: checking whether time.h and sys/time.h may both be included" >&5
+echo "configure:3625: checking whether time.h and sys/time.h may both be included" >&5
cat > conftest.$ac_ext <<EOF
-#line 3624 "configure"
+#line 3628 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/time.h>
struct tm *tp;
; return 0; }
EOF
-if { (eval echo configure:3633: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3637: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_header_time=yes
else
fi
echo $ac_n "checking for sys_siglist declaration in signal.h or unistd.h""... $ac_c" 1>&6
-echo "configure:3657: checking for sys_siglist declaration in signal.h or unistd.h" >&5
+echo "configure:3661: checking for sys_siglist declaration in signal.h or unistd.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 3660 "configure"
+#line 3664 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <signal.h>
char *msg = *(sys_siglist + 1);
; return 0; }
EOF
-if { (eval echo configure:3672: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3676: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_decl_sys_siglist=yes
else
echo $ac_n "checking for struct utimbuf""... $ac_c" 1>&6
-echo "configure:3697: checking for struct utimbuf" >&5
+echo "configure:3701: checking for struct utimbuf" >&5
cat > conftest.$ac_ext <<EOF
-#line 3699 "configure"
+#line 3703 "configure"
#include "confdefs.h"
#ifdef TIME_WITH_SYS_TIME
#include <sys/time.h>
static struct utimbuf x; x.actime = x.modtime;
; return 0; }
EOF
-if { (eval echo configure:3718: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3722: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
{ test "$extra_verbose" = "yes" && cat << \EOF
rm -f conftest*
echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:3738: checking return type of signal handlers" >&5
+echo "configure:3742: checking return type of signal handlers" >&5
cat > conftest.$ac_ext <<EOF
-#line 3741 "configure"
+#line 3745 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <signal.h>
int i;
; return 0; }
EOF
-if { (eval echo configure:3758: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3762: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_type_signal=void
else
echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:3780: checking for size_t" >&5
+echo "configure:3784: checking for size_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 3783 "configure"
+#line 3787 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
fi
echo $ac_n "checking for pid_t""... $ac_c" 1>&6
-echo "configure:3814: checking for pid_t" >&5
+echo "configure:3818: checking for pid_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 3817 "configure"
+#line 3821 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
fi
echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6
-echo "configure:3848: checking for uid_t in sys/types.h" >&5
+echo "configure:3852: checking for uid_t in sys/types.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 3851 "configure"
+#line 3855 "configure"
#include "confdefs.h"
#include <sys/types.h>
EOF
fi
echo $ac_n "checking for mode_t""... $ac_c" 1>&6
-echo "configure:3887: checking for mode_t" >&5
+echo "configure:3891: checking for mode_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 3890 "configure"
+#line 3894 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
fi
echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:3921: checking for off_t" >&5
+echo "configure:3925: checking for off_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 3924 "configure"
+#line 3928 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
fi
echo $ac_n "checking for ssize_t""... $ac_c" 1>&6
-echo "configure:3955: checking for ssize_t" >&5
+echo "configure:3959: checking for ssize_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 3958 "configure"
+#line 3962 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
echo $ac_n "checking for socklen_t""... $ac_c" 1>&6
-echo "configure:3990: checking for socklen_t" >&5
+echo "configure:3994: checking for socklen_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 3992 "configure"
+#line 3996 "configure"
#include "confdefs.h"
#include <sys/socket.h>
socklen_t x;
; return 0; }
EOF
-if { (eval echo configure:4001: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4005: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
else
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 4010 "configure"
+#line 4014 "configure"
#include "confdefs.h"
#include <sys/socket.h>
int accept (int, struct sockaddr *, size_t *);
; return 0; }
EOF
-if { (eval echo configure:4019: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4023: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""size_t" 1>&6
rm -f conftest*
echo $ac_n "checking for struct timeval""... $ac_c" 1>&6
-echo "configure:4051: checking for struct timeval" >&5
+echo "configure:4055: checking for struct timeval" >&5
cat > conftest.$ac_ext <<EOF
-#line 4053 "configure"
+#line 4057 "configure"
#include "confdefs.h"
#ifdef TIME_WITH_SYS_TIME
#include <sys/time.h>
static struct timeval x; x.tv_sec = x.tv_usec;
; return 0; }
EOF
-if { (eval echo configure:4069: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4073: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
HAVE_TIMEVAL=yes
rm -f conftest*
echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6
-echo "configure:4091: checking whether struct tm is in sys/time.h or time.h" >&5
+echo "configure:4095: checking whether struct tm is in sys/time.h or time.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 4094 "configure"
+#line 4098 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <time.h>
struct tm *tp; tp->tm_sec;
; return 0; }
EOF
-if { (eval echo configure:4102: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4106: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_tm=time.h
else
fi
echo $ac_n "checking for tm_zone in struct tm""... $ac_c" 1>&6
-echo "configure:4126: checking for tm_zone in struct tm" >&5
+echo "configure:4130: checking for tm_zone in struct tm" >&5
cat > conftest.$ac_ext <<EOF
-#line 4129 "configure"
+#line 4133 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <$ac_cv_struct_tm>
struct tm tm; tm.tm_zone;
; return 0; }
EOF
-if { (eval echo configure:4137: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4141: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_tm_zone=yes
else
else
echo $ac_n "checking for tzname""... $ac_c" 1>&6
-echo "configure:4160: checking for tzname" >&5
+echo "configure:4164: checking for tzname" >&5
cat > conftest.$ac_ext <<EOF
-#line 4163 "configure"
+#line 4167 "configure"
#include "confdefs.h"
#include <time.h>
#ifndef tzname /* For SGI. */
atoi(*tzname);
; return 0; }
EOF
-if { (eval echo configure:4173: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4177: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_var_tzname=yes
else
echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:4199: checking for working const" >&5
+echo "configure:4203: checking for working const" >&5
cat > conftest.$ac_ext <<EOF
-#line 4202 "configure"
+#line 4206 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:4251: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4255: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_const=yes
else
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:4276: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:4280: checking whether ${MAKE-make} sets \${MAKE}" >&5
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
cat > conftestmake <<\EOF
echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6
-echo "configure:4301: checking whether byte ordering is bigendian" >&5
+echo "configure:4305: checking whether byte ordering is bigendian" >&5
ac_cv_c_bigendian=unknown
# See if sys/param.h defines the BYTE_ORDER macro.
cat > conftest.$ac_ext <<EOF
-#line 4306 "configure"
+#line 4310 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/param.h>
#endif
; return 0; }
EOF
-if { (eval echo configure:4317: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4321: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
# It does; now see whether it defined to BIG_ENDIAN or not.
cat > conftest.$ac_ext <<EOF
-#line 4321 "configure"
+#line 4325 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/param.h>
#endif
; return 0; }
EOF
-if { (eval echo configure:4332: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4336: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_bigendian=yes
else
rm -f conftest*
if test $ac_cv_c_bigendian = unknown; then
cat > conftest.$ac_ext <<EOF
-#line 4349 "configure"
+#line 4353 "configure"
#include "confdefs.h"
main () {
/* Are we little or big endian? From Harbison&Steele. */
exit (u.c[sizeof (long) - 1] == 1);
}
EOF
-if { (eval echo configure:4362: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:4366: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_c_bigendian=no
else
echo $ac_n "checking size of short""... $ac_c" 1>&6
-echo "configure:4389: checking size of short" >&5
+echo "configure:4393: checking size of short" >&5
cat > conftest.$ac_ext <<EOF
-#line 4392 "configure"
+#line 4396 "configure"
#include "confdefs.h"
#include <stdio.h>
main()
exit(0);
}
EOF
-if { (eval echo configure:4403: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:4407: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_sizeof_short=`cat conftestval`
else
exit 1
fi
echo $ac_n "checking size of int""... $ac_c" 1>&6
-echo "configure:4431: checking size of int" >&5
+echo "configure:4435: checking size of int" >&5
cat > conftest.$ac_ext <<EOF
-#line 4434 "configure"
+#line 4438 "configure"
#include "confdefs.h"
#include <stdio.h>
main()
exit(0);
}
EOF
-if { (eval echo configure:4445: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:4449: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_sizeof_int=`cat conftestval`
else
echo $ac_n "checking size of long""... $ac_c" 1>&6
-echo "configure:4467: checking size of long" >&5
+echo "configure:4471: checking size of long" >&5
cat > conftest.$ac_ext <<EOF
-#line 4470 "configure"
+#line 4474 "configure"
#include "confdefs.h"
#include <stdio.h>
main()
exit(0);
}
EOF
-if { (eval echo configure:4481: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:4485: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_sizeof_long=`cat conftestval`
else
echo $ac_n "checking size of long long""... $ac_c" 1>&6
-echo "configure:4503: checking size of long long" >&5
+echo "configure:4507: checking size of long long" >&5
cat > conftest.$ac_ext <<EOF
-#line 4506 "configure"
+#line 4510 "configure"
#include "confdefs.h"
#include <stdio.h>
main()
exit(0);
}
EOF
-if { (eval echo configure:4517: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:4521: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_sizeof_long_long=`cat conftestval`
else
echo $ac_n "checking size of void *""... $ac_c" 1>&6
-echo "configure:4539: checking size of void *" >&5
+echo "configure:4543: checking size of void *" >&5
cat > conftest.$ac_ext <<EOF
-#line 4542 "configure"
+#line 4546 "configure"
#include "confdefs.h"
#include <stdio.h>
main()
exit(0);
}
EOF
-if { (eval echo configure:4553: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:4557: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_sizeof_void_p=`cat conftestval`
else
echo $ac_n "checking for long file names""... $ac_c" 1>&6
-echo "configure:4576: checking for long file names" >&5
+echo "configure:4580: checking for long file names" >&5
ac_cv_sys_long_file_names=yes
# Test for long file names in all the places we know might matter:
echo $ac_n "checking for sin""... $ac_c" 1>&6
-echo "configure:4622: checking for sin" >&5
+echo "configure:4626: checking for sin" >&5
cat > conftest.$ac_ext <<EOF
-#line 4625 "configure"
+#line 4629 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char sin(); below. */
; return 0; }
EOF
-if { (eval echo configure:4648: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4652: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_sin=yes"
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for sin in -lm""... $ac_c" 1>&6
-echo "configure:4666: checking for sin in -lm" >&5
+echo "configure:4670: checking for sin in -lm" >&5
ac_lib_var=`echo m'_'sin | sed 'y%./+-%__p_%'`
xe_check_libs=" -lm "
cat > conftest.$ac_ext <<EOF
-#line 4671 "configure"
+#line 4675 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
sin()
; return 0; }
EOF
-if { (eval echo configure:4682: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4686: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
cat > conftest.$ac_ext <<EOF
-#line 4726 "configure"
+#line 4730 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
return atanh(1.0) + asinh(1.0) + acosh(1.0);
; return 0; }
EOF
-if { (eval echo configure:4733: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4737: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
{ test "$extra_verbose" = "yes" && cat << \EOF
Defining HAVE_INVERSE_HYPERBOLIC
rm -f conftest*
echo "checking type of mail spool file locking" 1>&6
-echo "configure:4750: checking type of mail spool file locking" >&5
+echo "configure:4754: checking type of mail spool file locking" >&5
for ac_func in lockf flock
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4754: checking for $ac_func" >&5
+echo "configure:4758: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 4757 "configure"
+#line 4761 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:4780: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4784: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
case "$opsys" in decosf*)
echo $ac_n "checking for cma_open in -lpthreads""... $ac_c" 1>&6
-echo "configure:4862: checking for cma_open in -lpthreads" >&5
+echo "configure:4866: checking for cma_open in -lpthreads" >&5
ac_lib_var=`echo pthreads'_'cma_open | sed 'y%./+-%__p_%'`
xe_check_libs=" -lpthreads "
cat > conftest.$ac_ext <<EOF
-#line 4867 "configure"
+#line 4871 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
cma_open()
; return 0; }
EOF
-if { (eval echo configure:4878: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4882: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
esac
echo $ac_n "checking whether the -xildoff compiler flag is required""... $ac_c" 1>&6
-echo "configure:4914: checking whether the -xildoff compiler flag is required" >&5
+echo "configure:4918: checking whether the -xildoff compiler flag is required" >&5
if ${CC-cc} '-###' -xildon no_such_file.c 2>&1 | grep '^[^ ]*/ild ' > /dev/null ; then
if ${CC-cc} '-###' -xildoff no_such_file.c 2>&1 | grep '^[^ ]*/ild ' > /dev/null ;
then echo "$ac_t""no" 1>&6;
if test "$opsys" = "sol2"; then
if test "$os_release" -ge 56; then
echo $ac_n "checking for \"-z ignore\" linker flag""... $ac_c" 1>&6
-echo "configure:4926: checking for \"-z ignore\" linker flag" >&5
+echo "configure:4930: checking for \"-z ignore\" linker flag" >&5
case "`ld -h 2>&1`" in
*-z\ ignore\|record* ) echo "$ac_t""yes" 1>&6
ld_switch_site="-z ignore $ld_switch_site" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-z ignore\" to \$ld_switch_site"; fi ;;
echo "checking "for specified window system"" 1>&6
-echo "configure:4937: checking "for specified window system"" >&5
+echo "configure:4941: checking "for specified window system"" >&5
if test "$with_x11" != "no"; then
test "$x_includes $x_libraries" != "NONE NONE" && \
# Uses ac_ vars as temps to allow command line to override cache and checks.
# --without-x overrides everything else, but does not touch the cache.
echo $ac_n "checking for X""... $ac_c" 1>&6
-echo "configure:4970: checking for X" >&5
+echo "configure:4974: checking for X" >&5
# Check whether --with-x or --without-x was given.
if test "${with_x+set}" = set; then
# First, try using that file with no special directory specified.
cat > conftest.$ac_ext <<EOF
-#line 5030 "configure"
+#line 5034 "configure"
#include "confdefs.h"
#include <$x_direct_test_include>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5035: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5039: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
ac_save_LIBS="$LIBS"
LIBS="-l$x_direct_test_library $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5104 "configure"
+#line 5108 "configure"
#include "confdefs.h"
int main() {
${x_direct_test_function}()
; return 0; }
EOF
-if { (eval echo configure:5111: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5115: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
LIBS="$ac_save_LIBS"
# We can link X programs with no special library path.
case "`(uname -sr) 2>/dev/null`" in
"SunOS 5"*)
echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6
-echo "configure:5220: checking whether -R must be followed by a space" >&5
+echo "configure:5224: checking whether -R must be followed by a space" >&5
ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries"
cat > conftest.$ac_ext <<EOF
-#line 5223 "configure"
+#line 5227 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:5230: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5234: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_R_nospace=yes
else
else
LIBS="$ac_xsave_LIBS -R $x_libraries"
cat > conftest.$ac_ext <<EOF
-#line 5246 "configure"
+#line 5250 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:5253: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5257: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_R_space=yes
else
else
echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6
-echo "configure:5289: checking for dnet_ntoa in -ldnet" >&5
+echo "configure:5293: checking for dnet_ntoa in -ldnet" >&5
ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'`
xe_check_libs=" -ldnet "
cat > conftest.$ac_ext <<EOF
-#line 5294 "configure"
+#line 5298 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
dnet_ntoa()
; return 0; }
EOF
-if { (eval echo configure:5305: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5309: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test $ac_cv_lib_dnet_dnet_ntoa = no; then
echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6
-echo "configure:5329: checking for dnet_ntoa in -ldnet_stub" >&5
+echo "configure:5333: checking for dnet_ntoa in -ldnet_stub" >&5
ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'`
xe_check_libs=" -ldnet_stub "
cat > conftest.$ac_ext <<EOF
-#line 5334 "configure"
+#line 5338 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
dnet_ntoa()
; return 0; }
EOF
-if { (eval echo configure:5345: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5349: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
# The nsl library prevents programs from opening the X display
# on Irix 5.2, according to dickey@clark.net.
echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
-echo "configure:5374: checking for gethostbyname" >&5
+echo "configure:5378: checking for gethostbyname" >&5
cat > conftest.$ac_ext <<EOF
-#line 5377 "configure"
+#line 5381 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char gethostbyname(); below. */
; return 0; }
EOF
-if { (eval echo configure:5400: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5404: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_gethostbyname=yes"
else
if test $ac_cv_func_gethostbyname = no; then
echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
-echo "configure:5421: checking for gethostbyname in -lnsl" >&5
+echo "configure:5425: checking for gethostbyname in -lnsl" >&5
ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'`
xe_check_libs=" -lnsl "
cat > conftest.$ac_ext <<EOF
-#line 5426 "configure"
+#line 5430 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
gethostbyname()
; return 0; }
EOF
-if { (eval echo configure:5437: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5441: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
# -lsocket must be given before -lnsl if both are needed.
# We assume that if connect needs -lnsl, so does gethostbyname.
echo $ac_n "checking for connect""... $ac_c" 1>&6
-echo "configure:5467: checking for connect" >&5
+echo "configure:5471: checking for connect" >&5
cat > conftest.$ac_ext <<EOF
-#line 5470 "configure"
+#line 5474 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char connect(); below. */
; return 0; }
EOF
-if { (eval echo configure:5493: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5497: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_connect=yes"
else
xe_msg_checking="for connect in -lsocket"
test -n "$X_EXTRA_LIBS" && xe_msg_checking="$xe_msg_checking using extra libs $X_EXTRA_LIBS"
echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6
-echo "configure:5516: checking "$xe_msg_checking"" >&5
+echo "configure:5520: checking "$xe_msg_checking"" >&5
ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'`
xe_check_libs=" -lsocket $X_EXTRA_LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5521 "configure"
+#line 5525 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
connect()
; return 0; }
EOF
-if { (eval echo configure:5532: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5536: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
# gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX.
echo $ac_n "checking for remove""... $ac_c" 1>&6
-echo "configure:5556: checking for remove" >&5
+echo "configure:5560: checking for remove" >&5
cat > conftest.$ac_ext <<EOF
-#line 5559 "configure"
+#line 5563 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char remove(); below. */
; return 0; }
EOF
-if { (eval echo configure:5582: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5586: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_remove=yes"
else
if test $ac_cv_func_remove = no; then
echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6
-echo "configure:5603: checking for remove in -lposix" >&5
+echo "configure:5607: checking for remove in -lposix" >&5
ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'`
xe_check_libs=" -lposix "
cat > conftest.$ac_ext <<EOF
-#line 5608 "configure"
+#line 5612 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
remove()
; return 0; }
EOF
-if { (eval echo configure:5619: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5623: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
# BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
echo $ac_n "checking for shmat""... $ac_c" 1>&6
-echo "configure:5643: checking for shmat" >&5
+echo "configure:5647: checking for shmat" >&5
cat > conftest.$ac_ext <<EOF
-#line 5646 "configure"
+#line 5650 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char shmat(); below. */
; return 0; }
EOF
-if { (eval echo configure:5669: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5673: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_shmat=yes"
else
if test $ac_cv_func_shmat = no; then
echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6
-echo "configure:5690: checking for shmat in -lipc" >&5
+echo "configure:5694: checking for shmat in -lipc" >&5
ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'`
xe_check_libs=" -lipc "
cat > conftest.$ac_ext <<EOF
-#line 5695 "configure"
+#line 5699 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
shmat()
; return 0; }
EOF
-if { (eval echo configure:5706: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5710: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
xe_msg_checking="for IceConnectionNumber in -lICE"
test -n "$X_EXTRA_LIBS" && xe_msg_checking="$xe_msg_checking using extra libs $X_EXTRA_LIBS"
echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6
-echo "configure:5742: checking "$xe_msg_checking"" >&5
+echo "configure:5746: checking "$xe_msg_checking"" >&5
ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'`
xe_check_libs=" -lICE $X_EXTRA_LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5747 "configure"
+#line 5751 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
IceConnectionNumber()
; return 0; }
EOF
-if { (eval echo configure:5758: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5762: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo "checking for X defines extracted by xmkmf" 1>&6
-echo "configure:5929: checking for X defines extracted by xmkmf" >&5
+echo "configure:5933: checking for X defines extracted by xmkmf" >&5
rm -fr conftestdir
if mkdir conftestdir; then
cd conftestdir
ac_safe=`echo "X11/Intrinsic.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/Intrinsic.h""... $ac_c" 1>&6
-echo "configure:5976: checking for X11/Intrinsic.h" >&5
+echo "configure:5980: checking for X11/Intrinsic.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 5979 "configure"
+#line 5983 "configure"
#include "confdefs.h"
#include <X11/Intrinsic.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5984: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5988: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6
-echo "configure:6008: checking for XOpenDisplay in -lX11" >&5
+echo "configure:6012: checking for XOpenDisplay in -lX11" >&5
ac_lib_var=`echo X11'_'XOpenDisplay | sed 'y%./+-%__p_%'`
xe_check_libs=" -lX11 "
cat > conftest.$ac_ext <<EOF
-#line 6013 "configure"
+#line 6017 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XOpenDisplay()
; return 0; }
EOF
-if { (eval echo configure:6024: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6028: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
xe_msg_checking="for XGetFontProperty in -lX11"
test -n "-b i486-linuxaout" && xe_msg_checking="$xe_msg_checking using extra libs -b i486-linuxaout"
echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6
-echo "configure:6049: checking "$xe_msg_checking"" >&5
+echo "configure:6053: checking "$xe_msg_checking"" >&5
ac_lib_var=`echo X11'_'XGetFontProperty | sed 'y%./+-%__p_%'`
xe_check_libs=" -lX11 -b i486-linuxaout"
cat > conftest.$ac_ext <<EOF
-#line 6054 "configure"
+#line 6058 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XGetFontProperty()
; return 0; }
EOF
-if { (eval echo configure:6065: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6069: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo $ac_n "checking for XShapeSelectInput in -lXext""... $ac_c" 1>&6
-echo "configure:6092: checking for XShapeSelectInput in -lXext" >&5
+echo "configure:6096: checking for XShapeSelectInput in -lXext" >&5
ac_lib_var=`echo Xext'_'XShapeSelectInput | sed 'y%./+-%__p_%'`
xe_check_libs=" -lXext "
cat > conftest.$ac_ext <<EOF
-#line 6097 "configure"
+#line 6101 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XShapeSelectInput()
; return 0; }
EOF
-if { (eval echo configure:6108: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6112: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo $ac_n "checking for XtOpenDisplay in -lXt""... $ac_c" 1>&6
-echo "configure:6131: checking for XtOpenDisplay in -lXt" >&5
+echo "configure:6135: checking for XtOpenDisplay in -lXt" >&5
ac_lib_var=`echo Xt'_'XtOpenDisplay | sed 'y%./+-%__p_%'`
xe_check_libs=" -lXt "
cat > conftest.$ac_ext <<EOF
-#line 6136 "configure"
+#line 6140 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XtOpenDisplay()
; return 0; }
EOF
-if { (eval echo configure:6147: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6151: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo $ac_n "checking the version of X11 being used""... $ac_c" 1>&6
-echo "configure:6170: checking the version of X11 being used" >&5
+echo "configure:6174: checking the version of X11 being used" >&5
cat > conftest.$ac_ext <<EOF
-#line 6172 "configure"
+#line 6176 "configure"
#include "confdefs.h"
#include <X11/Intrinsic.h>
int main(int c, char *v[]) { return c>1 ? XlibSpecificationRelease : 0; }
EOF
-if { (eval echo configure:6177: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:6181: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
./conftest foobar; x11_release=$?
else
for ac_func in XConvertCase
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6208: checking for $ac_func" >&5
+echo "configure:6212: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 6211 "configure"
+#line 6215 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:6234: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6238: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:6266: checking for $ac_hdr" >&5
+echo "configure:6270: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 6269 "configure"
+#line 6273 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6274: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6278: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
for ac_func in XRegisterIMInstantiateCallback
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6307: checking for $ac_func" >&5
+echo "configure:6311: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 6310 "configure"
+#line 6314 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:6333: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6337: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
done
echo $ac_n "checking for standard XRegisterIMInstantiateCallback prototype""... $ac_c" 1>&6
-echo "configure:6361: checking for standard XRegisterIMInstantiateCallback prototype" >&5
+echo "configure:6365: checking for standard XRegisterIMInstantiateCallback prototype" >&5
cat > conftest.$ac_ext <<EOF
-#line 6363 "configure"
+#line 6367 "configure"
#include "confdefs.h"
#define NeedFunctionPrototypes 1
; return 0; }
EOF
-if { (eval echo configure:6375: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6379: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
else
test -z "$with_xmu" && {
echo $ac_n "checking for XmuReadBitmapDataFromFile in -lXmu""... $ac_c" 1>&6
-echo "configure:6396: checking for XmuReadBitmapDataFromFile in -lXmu" >&5
+echo "configure:6400: checking for XmuReadBitmapDataFromFile in -lXmu" >&5
ac_lib_var=`echo Xmu'_'XmuReadBitmapDataFromFile | sed 'y%./+-%__p_%'`
xe_check_libs=" -lXmu "
cat > conftest.$ac_ext <<EOF
-#line 6401 "configure"
+#line 6405 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XmuReadBitmapDataFromFile()
; return 0; }
EOF
-if { (eval echo configure:6412: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6416: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo $ac_n "checking for main in -lXbsd""... $ac_c" 1>&6
-echo "configure:6451: checking for main in -lXbsd" >&5
+echo "configure:6455: checking for main in -lXbsd" >&5
ac_lib_var=`echo Xbsd'_'main | sed 'y%./+-%__p_%'`
xe_check_libs=" -lXbsd "
cat > conftest.$ac_ext <<EOF
-#line 6456 "configure"
+#line 6460 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:6463: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6467: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
fi
if test "$with_msw" != "no"; then
echo "checking for MS-Windows" 1>&6
-echo "configure:6500: checking for MS-Windows" >&5
+echo "configure:6504: checking for MS-Windows" >&5
echo $ac_n "checking for main in -lgdi32""... $ac_c" 1>&6
-echo "configure:6503: checking for main in -lgdi32" >&5
+echo "configure:6507: checking for main in -lgdi32" >&5
ac_lib_var=`echo gdi32'_'main | sed 'y%./+-%__p_%'`
xe_check_libs=" -lgdi32 "
cat > conftest.$ac_ext <<EOF
-#line 6508 "configure"
+#line 6512 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:6515: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6519: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
MAKE_SUBDIR="$MAKE_SUBDIR netinstall" && if test "$extra_verbose" = "yes"; then echo " Appending \"netinstall\" to \$MAKE_SUBDIR"; fi
SRC_SUBDIR_DEPS="$SRC_SUBDIR_DEPS netinstall" && if test "$extra_verbose" = "yes"; then echo " Appending \"netinstall\" to \$SRC_SUBDIR_DEPS"; fi
INSTALL_ARCH_DEP_SUBDIR="$INSTALL_ARCH_DEP_SUBDIR netinstall" && if test "$extra_verbose" = "yes"; then echo " Appending \"netinstall\" to \$INSTALL_ARCH_DEP_SUBDIR"; fi
-
+
install_pp="$blddir/lib-src/installexe.sh"
libs_system="$libs_system -lshell32 -lgdi32 -luser32 -lcomdlg32 -lcomctl32 -lwinspool" && if test "$extra_verbose" = "yes"; then echo " Appending \"-lshell32 -lgdi32 -luser32 -lcomdlg32 -lcomctl32 -lwinspool\" to \$libs_system"; fi
test "$with_dragndrop" != no && dragndrop_proto="$dragndrop_proto msw" && if test "$extra_verbose" = "yes"; then echo " Appending \"msw\" to \$dragndrop_proto"; fi
fi
fi
cat > conftest.$ac_ext <<EOF
-#line 6586 "configure"
+#line 6590 "configure"
#include "confdefs.h"
#include <fcntl.h>
int main() { return (open("/dev/windows", O_RDONLY, 0) > 0)? 0 : 1; }
EOF
-if { (eval echo configure:6591: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:6595: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
{ test "$extra_verbose" = "yes" && cat << \EOF
Defining HAVE_MSG_SELECT
if test "$with_x11" = "yes"; then
ac_safe=`echo "X11/extensions/shape.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/extensions/shape.h""... $ac_c" 1>&6
-echo "configure:6655: checking for X11/extensions/shape.h" >&5
+echo "configure:6659: checking for X11/extensions/shape.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 6658 "configure"
+#line 6662 "configure"
#include "confdefs.h"
#include <X11/extensions/shape.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6663: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6667: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
esac
echo "checking for WM_COMMAND option" 1>&6
-echo "configure:6710: checking for WM_COMMAND option" >&5;
+echo "configure:6714: checking for WM_COMMAND option" >&5;
if test "$with_wmcommand" != "no"; then
{ test "$extra_verbose" = "yes" && cat << \EOF
Defining HAVE_WMCOMMAND
test -z "$with_xauth" && test "$window_system" = "none" && with_xauth=no
test -z "$with_xauth" && { ac_safe=`echo "X11/Xauth.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/Xauth.h""... $ac_c" 1>&6
-echo "configure:6725: checking for X11/Xauth.h" >&5
+echo "configure:6729: checking for X11/Xauth.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 6728 "configure"
+#line 6732 "configure"
#include "confdefs.h"
#include <X11/Xauth.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6733: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6737: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
}
test -z "$with_xauth" && {
echo $ac_n "checking for XauGetAuthByAddr in -lXau""... $ac_c" 1>&6
-echo "configure:6756: checking for XauGetAuthByAddr in -lXau" >&5
+echo "configure:6760: checking for XauGetAuthByAddr in -lXau" >&5
ac_lib_var=`echo Xau'_'XauGetAuthByAddr | sed 'y%./+-%__p_%'`
xe_check_libs=" -lXau "
cat > conftest.$ac_ext <<EOF
-#line 6761 "configure"
+#line 6765 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XauGetAuthByAddr()
; return 0; }
EOF
-if { (eval echo configure:6772: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6776: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
for dir in "" "Tt/" "desktop/" ; do
ac_safe=`echo "${dir}tt_c.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for ${dir}tt_c.h""... $ac_c" 1>&6
-echo "configure:6817: checking for ${dir}tt_c.h" >&5
+echo "configure:6821: checking for ${dir}tt_c.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 6820 "configure"
+#line 6824 "configure"
#include "confdefs.h"
#include <${dir}tt_c.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6825: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6829: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
xe_msg_checking="for tt_message_create in -ltt"
test -n "$extra_libs" && xe_msg_checking="$xe_msg_checking using extra libs $extra_libs"
echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6
-echo "configure:6861: checking "$xe_msg_checking"" >&5
+echo "configure:6865: checking "$xe_msg_checking"" >&5
ac_lib_var=`echo tt'_'tt_message_create | sed 'y%./+-%__p_%'`
xe_check_libs=" -ltt $extra_libs"
cat > conftest.$ac_ext <<EOF
-#line 6866 "configure"
+#line 6870 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
tt_message_create()
; return 0; }
EOF
-if { (eval echo configure:6877: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6881: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
test -z "$with_cde" && { ac_safe=`echo "Dt/Dt.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for Dt/Dt.h""... $ac_c" 1>&6
-echo "configure:6934: checking for Dt/Dt.h" >&5
+echo "configure:6938: checking for Dt/Dt.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 6937 "configure"
+#line 6941 "configure"
#include "confdefs.h"
#include <Dt/Dt.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6942: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6946: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
}
test -z "$with_cde" && {
echo $ac_n "checking for DtDndDragStart in -lDtSvc""... $ac_c" 1>&6
-echo "configure:6965: checking for DtDndDragStart in -lDtSvc" >&5
+echo "configure:6969: checking for DtDndDragStart in -lDtSvc" >&5
ac_lib_var=`echo DtSvc'_'DtDndDragStart | sed 'y%./+-%__p_%'`
xe_check_libs=" -lDtSvc "
cat > conftest.$ac_ext <<EOF
-#line 6970 "configure"
+#line 6974 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
DtDndDragStart()
; return 0; }
EOF
-if { (eval echo configure:6981: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6985: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$with_dragndrop" != "no" ; then
echo $ac_n "checking if drag and drop API is needed""... $ac_c" 1>&6
-echo "configure:7051: checking if drag and drop API is needed" >&5
+echo "configure:7055: checking if drag and drop API is needed" >&5
if test -n "$dragndrop_proto" ; then
with_dragndrop=yes
echo "$ac_t""yes (${dragndrop_proto} )" 1>&6
fi
echo "checking for LDAP" 1>&6
-echo "configure:7071: checking for LDAP" >&5
+echo "configure:7075: checking for LDAP" >&5
test -z "$with_ldap" && { ac_safe=`echo "ldap.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for ldap.h""... $ac_c" 1>&6
-echo "configure:7074: checking for ldap.h" >&5
+echo "configure:7078: checking for ldap.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 7077 "configure"
+#line 7081 "configure"
#include "confdefs.h"
#include <ldap.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7082: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7086: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
}
test -z "$with_ldap" && { ac_safe=`echo "lber.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for lber.h""... $ac_c" 1>&6
-echo "configure:7105: checking for lber.h" >&5
+echo "configure:7109: checking for lber.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 7108 "configure"
+#line 7112 "configure"
#include "confdefs.h"
#include <lber.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7113: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7117: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test "$with_ldap" != "no"; then
echo $ac_n "checking for ldap_search in -lldap""... $ac_c" 1>&6
-echo "configure:7137: checking for ldap_search in -lldap" >&5
+echo "configure:7141: checking for ldap_search in -lldap" >&5
ac_lib_var=`echo ldap'_'ldap_search | sed 'y%./+-%__p_%'`
xe_check_libs=" -lldap "
cat > conftest.$ac_ext <<EOF
-#line 7142 "configure"
+#line 7146 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
ldap_search()
; return 0; }
EOF
-if { (eval echo configure:7153: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7157: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
xe_msg_checking="for ldap_open in -lldap"
test -n "-llber" && xe_msg_checking="$xe_msg_checking using extra libs -llber"
echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6
-echo "configure:7178: checking "$xe_msg_checking"" >&5
+echo "configure:7182: checking "$xe_msg_checking"" >&5
ac_lib_var=`echo ldap'_'ldap_open | sed 'y%./+-%__p_%'`
xe_check_libs=" -lldap -llber"
cat > conftest.$ac_ext <<EOF
-#line 7183 "configure"
+#line 7187 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
ldap_open()
; return 0; }
EOF
-if { (eval echo configure:7194: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7198: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
xe_msg_checking="for ldap_open in -lldap"
test -n "-llber -lkrb" && xe_msg_checking="$xe_msg_checking using extra libs -llber -lkrb"
echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6
-echo "configure:7219: checking "$xe_msg_checking"" >&5
+echo "configure:7223: checking "$xe_msg_checking"" >&5
ac_lib_var=`echo ldap'_'ldap_open | sed 'y%./+-%__p_%'`
xe_check_libs=" -lldap -llber -lkrb"
cat > conftest.$ac_ext <<EOF
-#line 7224 "configure"
+#line 7228 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
ldap_open()
; return 0; }
EOF
-if { (eval echo configure:7235: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7239: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
xe_msg_checking="for ldap_open in -lldap"
test -n "-llber -lkrb -ldes" && xe_msg_checking="$xe_msg_checking using extra libs -llber -lkrb -ldes"
echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6
-echo "configure:7260: checking "$xe_msg_checking"" >&5
+echo "configure:7264: checking "$xe_msg_checking"" >&5
ac_lib_var=`echo ldap'_'ldap_open | sed 'y%./+-%__p_%'`
xe_check_libs=" -lldap -llber -lkrb -ldes"
cat > conftest.$ac_ext <<EOF
-#line 7265 "configure"
+#line 7269 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
ldap_open()
; return 0; }
EOF
-if { (eval echo configure:7276: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7280: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
for ac_func in ldap_set_option ldap_get_lderrno ldap_result2error ldap_parse_result
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7327: checking for $ac_func" >&5
+echo "configure:7331: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 7330 "configure"
+#line 7334 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:7353: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7357: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
if test "$with_postgresql" != "no"; then
echo "checking for PostgreSQL" 1>&6
-echo "configure:7384: checking for PostgreSQL" >&5
+echo "configure:7388: checking for PostgreSQL" >&5
for header_dir in "" "pgsql/" "postgresql/"; do
ac_safe=`echo "${header_dir}libpq-fe.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for ${header_dir}libpq-fe.h""... $ac_c" 1>&6
-echo "configure:7389: checking for ${header_dir}libpq-fe.h" >&5
+echo "configure:7393: checking for ${header_dir}libpq-fe.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 7392 "configure"
+#line 7396 "configure"
#include "confdefs.h"
#include <${header_dir}libpq-fe.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7397: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7401: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
test -n "$libpq_fe_h_file" && {
echo $ac_n "checking for PQconnectdb in -lpq""... $ac_c" 1>&6
-echo "configure:7421: checking for PQconnectdb in -lpq" >&5
+echo "configure:7425: checking for PQconnectdb in -lpq" >&5
ac_lib_var=`echo pq'_'PQconnectdb | sed 'y%./+-%__p_%'`
xe_check_libs=" -lpq "
cat > conftest.$ac_ext <<EOF
-#line 7426 "configure"
+#line 7430 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
PQconnectdb()
; return 0; }
EOF
-if { (eval echo configure:7437: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7441: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo $ac_n "checking for PQconnectStart in -lpq""... $ac_c" 1>&6
-echo "configure:7470: checking for PQconnectStart in -lpq" >&5
+echo "configure:7474: checking for PQconnectStart in -lpq" >&5
ac_lib_var=`echo pq'_'PQconnectStart | sed 'y%./+-%__p_%'`
xe_check_libs=" -lpq "
cat > conftest.$ac_ext <<EOF
-#line 7475 "configure"
+#line 7479 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
PQconnectStart()
; return 0; }
EOF
-if { (eval echo configure:7486: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7490: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$window_system" != "none"; then
echo "checking for graphics libraries" 1>&6
-echo "configure:7534: checking for graphics libraries" >&5
+echo "configure:7538: checking for graphics libraries" >&5
xpm_problem=""
if test -z "$with_xpm"; then
echo $ac_n "checking for Xpm - no older than 3.4f""... $ac_c" 1>&6
-echo "configure:7539: checking for Xpm - no older than 3.4f" >&5
+echo "configure:7543: checking for Xpm - no older than 3.4f" >&5
xe_check_libs=-lXpm
cat > conftest.$ac_ext <<EOF
-#line 7542 "configure"
+#line 7546 "configure"
#include "confdefs.h"
#define XPM_NUMBERS
#include <X11/xpm.h>
XpmIncludeVersion != XpmLibraryVersion() ? 1 :
XpmIncludeVersion < 30406 ? 2 : 0 ;}
EOF
-if { (eval echo configure:7551: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:7555: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
./conftest dummy_arg; xpm_status=$?;
if test "$xpm_status" = "0"; then
echo "$ac_t""$with_xpm" 1>&6
fi
if test "$with_xpm" = "yes"; then
- { test "$extra_verbose" = "yes" && cat << \EOF
+ { test "$extra_verbose" = "yes" && cat << \EOF
Defining HAVE_XPM
EOF
cat >> confdefs.h <<\EOF
libs_x="-lXpm $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lXpm\" to \$libs_x"; fi
echo $ac_n "checking for \"FOR_MSW\" xpm""... $ac_c" 1>&6
-echo "configure:7593: checking for \"FOR_MSW\" xpm" >&5
+echo "configure:7597: checking for \"FOR_MSW\" xpm" >&5
xe_check_libs=-lXpm
cat > conftest.$ac_ext <<EOF
-#line 7596 "configure"
+#line 7600 "configure"
#include "confdefs.h"
int main() {
XpmCreatePixmapFromData()
; return 0; }
EOF
-if { (eval echo configure:7603: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7607: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
xpm_for_msw=no
else
test -z "$with_xface" && { ac_safe=`echo "compface.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for compface.h""... $ac_c" 1>&6
-echo "configure:7629: checking for compface.h" >&5
+echo "configure:7633: checking for compface.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 7632 "configure"
+#line 7636 "configure"
#include "confdefs.h"
#include <compface.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7637: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7641: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
}
test -z "$with_xface" && {
echo $ac_n "checking for UnGenFace in -lcompface""... $ac_c" 1>&6
-echo "configure:7660: checking for UnGenFace in -lcompface" >&5
+echo "configure:7664: checking for UnGenFace in -lcompface" >&5
ac_lib_var=`echo compface'_'UnGenFace | sed 'y%./+-%__p_%'`
xe_check_libs=" -lcompface "
cat > conftest.$ac_ext <<EOF
-#line 7665 "configure"
+#line 7669 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
UnGenFace()
; return 0; }
EOF
-if { (eval echo configure:7676: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7680: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$with_png $with_tiff" != "no no"; then
echo $ac_n "checking for inflate in -lc""... $ac_c" 1>&6
-echo "configure:7728: checking for inflate in -lc" >&5
+echo "configure:7732: checking for inflate in -lc" >&5
ac_lib_var=`echo c'_'inflate | sed 'y%./+-%__p_%'`
xe_check_libs=" -lc "
cat > conftest.$ac_ext <<EOF
-#line 7733 "configure"
+#line 7737 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
inflate()
; return 0; }
EOF
-if { (eval echo configure:7744: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7748: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for inflate in -lz""... $ac_c" 1>&6
-echo "configure:7763: checking for inflate in -lz" >&5
+echo "configure:7767: checking for inflate in -lz" >&5
ac_lib_var=`echo z'_'inflate | sed 'y%./+-%__p_%'`
xe_check_libs=" -lz "
cat > conftest.$ac_ext <<EOF
-#line 7768 "configure"
+#line 7772 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
inflate()
; return 0; }
EOF
-if { (eval echo configure:7779: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7783: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for inflate in -lgz""... $ac_c" 1>&6
-echo "configure:7798: checking for inflate in -lgz" >&5
+echo "configure:7802: checking for inflate in -lgz" >&5
ac_lib_var=`echo gz'_'inflate | sed 'y%./+-%__p_%'`
xe_check_libs=" -lgz "
cat > conftest.$ac_ext <<EOF
-#line 7803 "configure"
+#line 7807 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
inflate()
; return 0; }
EOF
-if { (eval echo configure:7814: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7818: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
test -z "$with_jpeg" && { ac_safe=`echo "jpeglib.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for jpeglib.h""... $ac_c" 1>&6
-echo "configure:7844: checking for jpeglib.h" >&5
+echo "configure:7848: checking for jpeglib.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 7847 "configure"
+#line 7851 "configure"
#include "confdefs.h"
#include <jpeglib.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7852: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7856: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
}
test -z "$with_jpeg" && {
echo $ac_n "checking for jpeg_destroy_decompress in -ljpeg""... $ac_c" 1>&6
-echo "configure:7875: checking for jpeg_destroy_decompress in -ljpeg" >&5
+echo "configure:7879: checking for jpeg_destroy_decompress in -ljpeg" >&5
ac_lib_var=`echo jpeg'_'jpeg_destroy_decompress | sed 'y%./+-%__p_%'`
xe_check_libs=" -ljpeg "
cat > conftest.$ac_ext <<EOF
-#line 7880 "configure"
+#line 7884 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
jpeg_destroy_decompress()
; return 0; }
EOF
-if { (eval echo configure:7891: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7895: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
png_problem=""
test -z "$with_png" && { echo $ac_n "checking for pow""... $ac_c" 1>&6
-echo "configure:7927: checking for pow" >&5
+echo "configure:7931: checking for pow" >&5
cat > conftest.$ac_ext <<EOF
-#line 7930 "configure"
+#line 7934 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char pow(); below. */
; return 0; }
EOF
-if { (eval echo configure:7953: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7957: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_pow=yes"
else
}
test -z "$with_png" && { ac_safe=`echo "png.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for png.h""... $ac_c" 1>&6
-echo "configure:7974: checking for png.h" >&5
+echo "configure:7978: checking for png.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 7977 "configure"
+#line 7981 "configure"
#include "confdefs.h"
#include <png.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7982: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7986: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
}
test -z "$with_png" && {
echo $ac_n "checking for png_read_image in -lpng""... $ac_c" 1>&6
-echo "configure:8005: checking for png_read_image in -lpng" >&5
+echo "configure:8009: checking for png_read_image in -lpng" >&5
ac_lib_var=`echo png'_'png_read_image | sed 'y%./+-%__p_%'`
xe_check_libs=" -lpng "
cat > conftest.$ac_ext <<EOF
-#line 8010 "configure"
+#line 8014 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
png_read_image()
; return 0; }
EOF
-if { (eval echo configure:8021: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8025: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
}
if test -z "$with_png"; then
echo $ac_n "checking for workable png version information""... $ac_c" 1>&6
-echo "configure:8044: checking for workable png version information" >&5
+echo "configure:8048: checking for workable png version information" >&5
xe_check_libs="-lpng -lz"
cat > conftest.$ac_ext <<EOF
-#line 8047 "configure"
+#line 8051 "configure"
#include "confdefs.h"
#include <png.h>
int main(int c, char **v) {
if (strcmp(png_libpng_ver, PNG_LIBPNG_VER_STRING) != 0) return 1;
return (PNG_LIBPNG_VER < 10002) ? 2 : 0 ;}
EOF
-if { (eval echo configure:8055: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:8059: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
./conftest dummy_arg; png_status=$?;
if test "$png_status" = "0"; then
test -z "$with_tiff" && { ac_safe=`echo "tiffio.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for tiffio.h""... $ac_c" 1>&6
-echo "configure:8098: checking for tiffio.h" >&5
+echo "configure:8102: checking for tiffio.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8101 "configure"
+#line 8105 "configure"
#include "confdefs.h"
#include <tiffio.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8106: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8110: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
}
test -z "$with_tiff" && {
echo $ac_n "checking for TIFFClientOpen in -ltiff""... $ac_c" 1>&6
-echo "configure:8129: checking for TIFFClientOpen in -ltiff" >&5
+echo "configure:8133: checking for TIFFClientOpen in -ltiff" >&5
ac_lib_var=`echo tiff'_'TIFFClientOpen | sed 'y%./+-%__p_%'`
xe_check_libs=" -ltiff "
cat > conftest.$ac_ext <<EOF
-#line 8134 "configure"
+#line 8138 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
TIFFClientOpen()
; return 0; }
EOF
-if { (eval echo configure:8145: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8149: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$with_x11" = "yes"; then
echo "checking for X11 graphics libraries" 1>&6
-echo "configure:8184: checking for X11 graphics libraries" >&5
+echo "configure:8188: checking for X11 graphics libraries" >&5
echo "checking for the Athena widgets" 1>&6
-echo "configure:8187: checking for the Athena widgets" >&5
+echo "configure:8191: checking for the Athena widgets" >&5
case "$with_athena" in
"xaw" | "") athena_variant=Xaw athena_3d=no ;;
if test "$athena_3d" = "no"; then
echo $ac_n "checking for XawScrollbarSetThumb in -l$athena_variant""... $ac_c" 1>&6
-echo "configure:8201: checking for XawScrollbarSetThumb in -l$athena_variant" >&5
+echo "configure:8205: checking for XawScrollbarSetThumb in -l$athena_variant" >&5
ac_lib_var=`echo $athena_variant'_'XawScrollbarSetThumb | sed 'y%./+-%__p_%'`
xe_check_libs=" -l$athena_variant "
cat > conftest.$ac_ext <<EOF
-#line 8206 "configure"
+#line 8210 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XawScrollbarSetThumb()
; return 0; }
EOF
-if { (eval echo configure:8217: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8221: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo "$ac_t""yes" 1>&6
echo $ac_n "checking for threeDClassRec in -l$athena_variant""... $ac_c" 1>&6
-echo "configure:8233: checking for threeDClassRec in -l$athena_variant" >&5
+echo "configure:8237: checking for threeDClassRec in -l$athena_variant" >&5
ac_lib_var=`echo $athena_variant'_'threeDClassRec | sed 'y%./+-%__p_%'`
xe_check_libs=" -l$athena_variant "
cat > conftest.$ac_ext <<EOF
-#line 8238 "configure"
+#line 8242 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
threeDClassRec()
; return 0; }
EOF
-if { (eval echo configure:8249: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8253: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
else
echo $ac_n "checking for threeDClassRec in -l$athena_variant""... $ac_c" 1>&6
-echo "configure:8280: checking for threeDClassRec in -l$athena_variant" >&5
+echo "configure:8284: checking for threeDClassRec in -l$athena_variant" >&5
ac_lib_var=`echo $athena_variant'_'threeDClassRec | sed 'y%./+-%__p_%'`
xe_check_libs=" -l$athena_variant "
cat > conftest.$ac_ext <<EOF
-#line 8285 "configure"
+#line 8289 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
threeDClassRec()
; return 0; }
EOF
-if { (eval echo configure:8296: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8300: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for threeDClassRec in -lXaw""... $ac_c" 1>&6
-echo "configure:8314: checking for threeDClassRec in -lXaw" >&5
+echo "configure:8318: checking for threeDClassRec in -lXaw" >&5
ac_lib_var=`echo Xaw'_'threeDClassRec | sed 'y%./+-%__p_%'`
xe_check_libs=" -lXaw "
cat > conftest.$ac_ext <<EOF
-#line 8319 "configure"
+#line 8323 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
threeDClassRec()
; return 0; }
EOF
-if { (eval echo configure:8330: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8334: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$athena_3d" = "no"; then
ac_safe=`echo "X11/Xaw/ThreeD.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/Xaw/ThreeD.h""... $ac_c" 1>&6
-echo "configure:8361: checking for X11/Xaw/ThreeD.h" >&5
+echo "configure:8365: checking for X11/Xaw/ThreeD.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8364 "configure"
+#line 8368 "configure"
#include "confdefs.h"
#include <X11/Xaw/ThreeD.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8369: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8373: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo "$ac_t""no" 1>&6
ac_safe=`echo "X11/Xaw/XawInit.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/Xaw/XawInit.h""... $ac_c" 1>&6
-echo "configure:8389: checking for X11/Xaw/XawInit.h" >&5
+echo "configure:8393: checking for X11/Xaw/XawInit.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8392 "configure"
+#line 8396 "configure"
#include "confdefs.h"
#include <X11/Xaw/XawInit.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8397: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8401: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
else
ac_safe=`echo "X11/$athena_variant/XawInit.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/$athena_variant/XawInit.h""... $ac_c" 1>&6
-echo "configure:8423: checking for X11/$athena_variant/XawInit.h" >&5
+echo "configure:8427: checking for X11/$athena_variant/XawInit.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8426 "configure"
+#line 8430 "configure"
#include "confdefs.h"
#include <X11/$athena_variant/XawInit.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8431: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8435: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
ac_safe=`echo "X11/$athena_variant/ThreeD.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/$athena_variant/ThreeD.h""... $ac_c" 1>&6
-echo "configure:8448: checking for X11/$athena_variant/ThreeD.h" >&5
+echo "configure:8452: checking for X11/$athena_variant/ThreeD.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8451 "configure"
+#line 8455 "configure"
#include "confdefs.h"
#include <X11/$athena_variant/ThreeD.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8456: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8460: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test -z "$athena_h_path"; then
ac_safe=`echo "$athena_variant/XawInit.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $athena_variant/XawInit.h""... $ac_c" 1>&6
-echo "configure:8484: checking for $athena_variant/XawInit.h" >&5
+echo "configure:8488: checking for $athena_variant/XawInit.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8487 "configure"
+#line 8491 "configure"
#include "confdefs.h"
#include <$athena_variant/XawInit.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8492: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8496: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
ac_safe=`echo "$athena_variant/ThreeD.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $athena_variant/ThreeD.h""... $ac_c" 1>&6
-echo "configure:8509: checking for $athena_variant/ThreeD.h" >&5
+echo "configure:8513: checking for $athena_variant/ThreeD.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8512 "configure"
+#line 8516 "configure"
#include "confdefs.h"
#include <$athena_variant/ThreeD.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8517: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8521: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test -z "$athena_h_path" -a "$athena_variant" != "Xaw3d"; then
ac_safe=`echo "X11/Xaw3d/XawInit.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/Xaw3d/XawInit.h""... $ac_c" 1>&6
-echo "configure:8546: checking for X11/Xaw3d/XawInit.h" >&5
+echo "configure:8550: checking for X11/Xaw3d/XawInit.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8549 "configure"
+#line 8553 "configure"
#include "confdefs.h"
#include <X11/Xaw3d/XawInit.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8554: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8558: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
ac_safe=`echo "X11/Xaw3d/ThreeD.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/Xaw3d/ThreeD.h""... $ac_c" 1>&6
-echo "configure:8571: checking for X11/Xaw3d/ThreeD.h" >&5
+echo "configure:8575: checking for X11/Xaw3d/ThreeD.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8574 "configure"
+#line 8578 "configure"
#include "confdefs.h"
#include <X11/Xaw3d/ThreeD.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8579: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8583: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test -z "$athena_h_path" -a "$athena_variant" != "Xaw3d"; then
ac_safe=`echo "Xaw3d/XawInit.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for Xaw3d/XawInit.h""... $ac_c" 1>&6
-echo "configure:8611: checking for Xaw3d/XawInit.h" >&5
+echo "configure:8615: checking for Xaw3d/XawInit.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8614 "configure"
+#line 8618 "configure"
#include "confdefs.h"
#include <Xaw3d/XawInit.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8619: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8623: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
ac_safe=`echo "Xaw3d/ThreeD.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for Xaw3d/ThreeD.h""... $ac_c" 1>&6
-echo "configure:8636: checking for Xaw3d/ThreeD.h" >&5
+echo "configure:8640: checking for Xaw3d/ThreeD.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8639 "configure"
+#line 8643 "configure"
#include "confdefs.h"
#include <Xaw3d/ThreeD.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8644: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8648: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test -z "$athena_h_path"; then
ac_safe=`echo "X11/Xaw/ThreeD.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/Xaw/ThreeD.h""... $ac_c" 1>&6
-echo "configure:8676: checking for X11/Xaw/ThreeD.h" >&5
+echo "configure:8680: checking for X11/Xaw/ThreeD.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8679 "configure"
+#line 8683 "configure"
#include "confdefs.h"
#include <X11/Xaw/ThreeD.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8684: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8688: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
ac_safe=`echo "Xm/Xm.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for Xm/Xm.h""... $ac_c" 1>&6
-echo "configure:8719: checking for Xm/Xm.h" >&5
+echo "configure:8723: checking for Xm/Xm.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8722 "configure"
+#line 8726 "configure"
#include "confdefs.h"
#include <Xm/Xm.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8727: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8731: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
echo $ac_n "checking for XmStringFree in -lXm""... $ac_c" 1>&6
-echo "configure:8744: checking for XmStringFree in -lXm" >&5
+echo "configure:8748: checking for XmStringFree in -lXm" >&5
ac_lib_var=`echo Xm'_'XmStringFree | sed 'y%./+-%__p_%'`
xe_check_libs=" -lXm "
cat > conftest.$ac_ext <<EOF
-#line 8749 "configure"
+#line 8753 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XmStringFree()
; return 0; }
EOF
-if { (eval echo configure:8760: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8764: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$have_motif" = "yes"; then
echo $ac_n "checking for Lesstif""... $ac_c" 1>&6
-echo "configure:8789: checking for Lesstif" >&5
+echo "configure:8793: checking for Lesstif" >&5
cat > conftest.$ac_ext <<EOF
-#line 8791 "configure"
+#line 8795 "configure"
#include "confdefs.h"
#include <Xm/Xm.h>
#ifdef LESSTIF_VERSION
if test "$with_mule" = "yes" ; then
echo "checking for Mule-related features" 1>&6
-echo "configure:9197: checking for Mule-related features" >&5
+echo "configure:9201: checking for Mule-related features" >&5
{ test "$extra_verbose" = "yes" && cat << \EOF
Defining MULE
EOF
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:9222: checking for $ac_hdr" >&5
+echo "configure:9226: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 9225 "configure"
+#line 9229 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9230: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9234: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo $ac_n "checking for strerror in -lintl""... $ac_c" 1>&6
-echo "configure:9261: checking for strerror in -lintl" >&5
+echo "configure:9265: checking for strerror in -lintl" >&5
ac_lib_var=`echo intl'_'strerror | sed 'y%./+-%__p_%'`
xe_check_libs=" -lintl "
cat > conftest.$ac_ext <<EOF
-#line 9266 "configure"
+#line 9270 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
strerror()
; return 0; }
EOF
-if { (eval echo configure:9277: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9281: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo "checking for Mule input methods" 1>&6
-echo "configure:9310: checking for Mule input methods" >&5
+echo "configure:9314: checking for Mule input methods" >&5
case "$with_xim" in "" | "yes" )
echo "checking for XIM" 1>&6
-echo "configure:9313: checking for XIM" >&5
+echo "configure:9317: checking for XIM" >&5
echo $ac_n "checking for XOpenIM in -lX11""... $ac_c" 1>&6
-echo "configure:9316: checking for XOpenIM in -lX11" >&5
+echo "configure:9320: checking for XOpenIM in -lX11" >&5
ac_lib_var=`echo X11'_'XOpenIM | sed 'y%./+-%__p_%'`
xe_check_libs=" -lX11 "
cat > conftest.$ac_ext <<EOF
-#line 9321 "configure"
+#line 9325 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XOpenIM()
; return 0; }
EOF
-if { (eval echo configure:9332: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9336: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$have_motif $have_lesstif" = "yes no"; then
echo $ac_n "checking for XmImMbLookupString in -lXm""... $ac_c" 1>&6
-echo "configure:9356: checking for XmImMbLookupString in -lXm" >&5
+echo "configure:9360: checking for XmImMbLookupString in -lXm" >&5
ac_lib_var=`echo Xm'_'XmImMbLookupString | sed 'y%./+-%__p_%'`
xe_check_libs=" -lXm "
cat > conftest.$ac_ext <<EOF
-#line 9361 "configure"
+#line 9365 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XmImMbLookupString()
; return 0; }
EOF
-if { (eval echo configure:9372: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9376: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$with_xfs" = "yes" ; then
echo "checking for XFontSet" 1>&6
-echo "configure:9437: checking for XFontSet" >&5
+echo "configure:9441: checking for XFontSet" >&5
echo $ac_n "checking for XmbDrawString in -lX11""... $ac_c" 1>&6
-echo "configure:9440: checking for XmbDrawString in -lX11" >&5
+echo "configure:9444: checking for XmbDrawString in -lX11" >&5
ac_lib_var=`echo X11'_'XmbDrawString | sed 'y%./+-%__p_%'`
xe_check_libs=" -lX11 "
cat > conftest.$ac_ext <<EOF
-#line 9445 "configure"
+#line 9449 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XmbDrawString()
; return 0; }
EOF
-if { (eval echo configure:9456: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9460: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
test "$with_wnn6" = "yes" && with_wnn=yes # wnn6 implies wnn support
test -z "$with_wnn" && { ac_safe=`echo "wnn/jllib.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for wnn/jllib.h""... $ac_c" 1>&6
-echo "configure:9496: checking for wnn/jllib.h" >&5
+echo "configure:9500: checking for wnn/jllib.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9499 "configure"
+#line 9503 "configure"
#include "confdefs.h"
#include <wnn/jllib.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9504: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9508: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ :
+else
+ echo "$ac_t""no" 1>&6
+with_wnn=no
+fi
+ }
+ test -z "$with_wnn" && { ac_safe=`echo "wnn/commonhd.h" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for wnn/commonhd.h""... $ac_c" 1>&6
+echo "configure:9531: checking for wnn/commonhd.h" >&5
+
+cat > conftest.$ac_ext <<EOF
+#line 9534 "configure"
+#include "confdefs.h"
+#include <wnn/commonhd.h>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:9539: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
for ac_func in crypt
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9529: checking for $ac_func" >&5
+echo "configure:9564: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 9532 "configure"
+#line 9567 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:9555: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9590: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
test "$ac_cv_func_crypt" != "yes" && {
echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6
-echo "configure:9584: checking for crypt in -lcrypt" >&5
+echo "configure:9619: checking for crypt in -lcrypt" >&5
ac_lib_var=`echo crypt'_'crypt | sed 'y%./+-%__p_%'`
xe_check_libs=" -lcrypt "
cat > conftest.$ac_ext <<EOF
-#line 9589 "configure"
+#line 9624 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
crypt()
; return 0; }
EOF
-if { (eval echo configure:9600: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9635: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test -z "$with_wnn" -o "$with_wnn" = "yes"; then
echo $ac_n "checking for jl_dic_list_e in -lwnn""... $ac_c" 1>&6
-echo "configure:9635: checking for jl_dic_list_e in -lwnn" >&5
+echo "configure:9670: checking for jl_dic_list_e in -lwnn" >&5
ac_lib_var=`echo wnn'_'jl_dic_list_e | sed 'y%./+-%__p_%'`
xe_check_libs=" -lwnn "
cat > conftest.$ac_ext <<EOF
-#line 9640 "configure"
+#line 9675 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
jl_dic_list_e()
; return 0; }
EOF
-if { (eval echo configure:9651: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9686: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for jl_dic_list_e in -lwnn4""... $ac_c" 1>&6
-echo "configure:9669: checking for jl_dic_list_e in -lwnn4" >&5
+echo "configure:9704: checking for jl_dic_list_e in -lwnn4" >&5
ac_lib_var=`echo wnn4'_'jl_dic_list_e | sed 'y%./+-%__p_%'`
xe_check_libs=" -lwnn4 "
cat > conftest.$ac_ext <<EOF
-#line 9674 "configure"
+#line 9709 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
jl_dic_list_e()
; return 0; }
EOF
-if { (eval echo configure:9685: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9720: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for jl_dic_list_e in -lwnn6""... $ac_c" 1>&6
-echo "configure:9703: checking for jl_dic_list_e in -lwnn6" >&5
+echo "configure:9738: checking for jl_dic_list_e in -lwnn6" >&5
ac_lib_var=`echo wnn6'_'jl_dic_list_e | sed 'y%./+-%__p_%'`
xe_check_libs=" -lwnn6 "
cat > conftest.$ac_ext <<EOF
-#line 9708 "configure"
+#line 9743 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
jl_dic_list_e()
; return 0; }
EOF
-if { (eval echo configure:9719: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9754: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for dic_list_e in -lwnn6_fromsrc""... $ac_c" 1>&6
-echo "configure:9737: checking for dic_list_e in -lwnn6_fromsrc" >&5
+echo "configure:9772: checking for dic_list_e in -lwnn6_fromsrc" >&5
ac_lib_var=`echo wnn6_fromsrc'_'dic_list_e | sed 'y%./+-%__p_%'`
xe_check_libs=" -lwnn6_fromsrc "
cat > conftest.$ac_ext <<EOF
-#line 9742 "configure"
+#line 9777 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
dic_list_e()
; return 0; }
EOF
-if { (eval echo configure:9753: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9788: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$with_wnn6" != "no"; then
echo $ac_n "checking for jl_fi_dic_list in -l$libwnn""... $ac_c" 1>&6
-echo "configure:9801: checking for jl_fi_dic_list in -l$libwnn" >&5
+echo "configure:9836: checking for jl_fi_dic_list in -l$libwnn" >&5
ac_lib_var=`echo $libwnn'_'jl_fi_dic_list | sed 'y%./+-%__p_%'`
xe_check_libs=" -l$libwnn "
cat > conftest.$ac_ext <<EOF
-#line 9806 "configure"
+#line 9841 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
jl_fi_dic_list()
; return 0; }
EOF
-if { (eval echo configure:9817: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9852: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$with_canna" != "no"; then
ac_safe=`echo "canna/jrkanji.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for canna/jrkanji.h""... $ac_c" 1>&6
-echo "configure:9852: checking for canna/jrkanji.h" >&5
+echo "configure:9887: checking for canna/jrkanji.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9855 "configure"
+#line 9890 "configure"
#include "confdefs.h"
#include <canna/jrkanji.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9860: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9895: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
c_switch_site="$c_switch_site -I/usr/local/canna/include"
ac_safe=`echo "canna/jrkanji.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for canna/jrkanji.h""... $ac_c" 1>&6
-echo "configure:9887: checking for canna/jrkanji.h" >&5
+echo "configure:9922: checking for canna/jrkanji.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9890 "configure"
+#line 9925 "configure"
#include "confdefs.h"
#include <canna/jrkanji.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9895: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9930: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
test -z "$with_canna" && { ac_safe=`echo "canna/RK.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for canna/RK.h""... $ac_c" 1>&6
-echo "configure:9923: checking for canna/RK.h" >&5
+echo "configure:9958: checking for canna/RK.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9926 "configure"
+#line 9961 "configure"
#include "confdefs.h"
#include <canna/RK.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9931: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9966: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
}
test -z "$with_canna" && {
echo $ac_n "checking for RkBgnBun in -lRKC""... $ac_c" 1>&6
-echo "configure:9954: checking for RkBgnBun in -lRKC" >&5
+echo "configure:9989: checking for RkBgnBun in -lRKC" >&5
ac_lib_var=`echo RKC'_'RkBgnBun | sed 'y%./+-%__p_%'`
xe_check_libs=" -lRKC "
cat > conftest.$ac_ext <<EOF
-#line 9959 "configure"
+#line 9994 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
RkBgnBun()
; return 0; }
EOF
-if { (eval echo configure:9970: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10005: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
}
test -z "$with_canna" && {
echo $ac_n "checking for jrKanjiControl in -lcanna""... $ac_c" 1>&6
-echo "configure:9993: checking for jrKanjiControl in -lcanna" >&5
+echo "configure:10028: checking for jrKanjiControl in -lcanna" >&5
ac_lib_var=`echo canna'_'jrKanjiControl | sed 'y%./+-%__p_%'`
xe_check_libs=" -lcanna "
cat > conftest.$ac_ext <<EOF
-#line 9998 "configure"
+#line 10033 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
jrKanjiControl()
; return 0; }
EOF
-if { (eval echo configure:10009: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10044: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
libs_x="-lXm $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lXm\" to \$libs_x"; fi
echo $ac_n "checking for layout_object_getvalue in -li18n""... $ac_c" 1>&6
-echo "configure:10058: checking for layout_object_getvalue in -li18n" >&5
+echo "configure:10093: checking for layout_object_getvalue in -li18n" >&5
ac_lib_var=`echo i18n'_'layout_object_getvalue | sed 'y%./+-%__p_%'`
xe_check_libs=" -li18n "
cat > conftest.$ac_ext <<EOF
-#line 10063 "configure"
+#line 10098 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
layout_object_getvalue()
; return 0; }
EOF
-if { (eval echo configure:10074: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10109: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
for ac_func in cbrt closedir dup2 eaccess fmod fpathconf frexp ftime getaddrinfo gethostname getnameinfo getpagesize gettimeofday getcwd getwd logb lrand48 matherr mkdir mktime perror poll random rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask snprintf stpcpy strerror tzset ulimit usleep utimes waitpid vsnprintf fsync ftruncate umask
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:10160: checking for $ac_func" >&5
+echo "configure:10195: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 10163 "configure"
+#line 10198 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:10186: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10221: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
done
+
for ac_func in getpt _getpty grantpt unlockpt ptsname killpg tcgetpgrp
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:10217: checking for $ac_func" >&5
+echo "configure:10253: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 10220 "configure"
+#line 10256 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:10243: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10279: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
echo $ac_n "checking for openpty""... $ac_c" 1>&6
-echo "configure:10272: checking for openpty" >&5
+echo "configure:10308: checking for openpty" >&5
cat > conftest.$ac_ext <<EOF
-#line 10275 "configure"
+#line 10311 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char openpty(); below. */
; return 0; }
EOF
-if { (eval echo configure:10298: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10334: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_openpty=yes"
else
echo $ac_n "checking for openpty in -lutil""... $ac_c" 1>&6
-echo "configure:10317: checking for openpty in -lutil" >&5
+echo "configure:10353: checking for openpty in -lutil" >&5
ac_lib_var=`echo util'_'openpty | sed 'y%./+-%__p_%'`
xe_check_libs=" -lutil "
cat > conftest.$ac_ext <<EOF
-#line 10322 "configure"
+#line 10358 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
openpty()
; return 0; }
EOF
-if { (eval echo configure:10333: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10369: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
EOF
}
- for ac_hdr in pty.h libutil.h
+ for ac_hdr in pty.h libutil.h util.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:10368: checking for $ac_hdr" >&5
+echo "configure:10404: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 10371 "configure"
+#line 10407 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10376: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10412: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
#define $ac_tr_hdr 1
EOF
}
-
+ break
else
echo "$ac_t""no" 1>&6
fi
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:10412: checking for $ac_hdr" >&5
+echo "configure:10448: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 10415 "configure"
+#line 10451 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10420: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10456: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
for ac_func in isastream
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:10453: checking for $ac_func" >&5
+echo "configure:10489: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 10456 "configure"
+#line 10492 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:10479: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10515: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:10510: checking for $ac_hdr" >&5
+echo "configure:10546: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 10513 "configure"
+#line 10549 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10518: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10554: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
for ac_func in getloadavg
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:10555: checking for $ac_func" >&5
+echo "configure:10591: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 10558 "configure"
+#line 10594 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:10581: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10617: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:10614: checking for $ac_hdr" >&5
+echo "configure:10650: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 10617 "configure"
+#line 10653 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10622: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10658: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo $ac_n "checking for kstat_open in -lkstat""... $ac_c" 1>&6
-echo "configure:10658: checking for kstat_open in -lkstat" >&5
+echo "configure:10694: checking for kstat_open in -lkstat" >&5
ac_lib_var=`echo kstat'_'kstat_open | sed 'y%./+-%__p_%'`
xe_check_libs=" -lkstat "
cat > conftest.$ac_ext <<EOF
-#line 10663 "configure"
+#line 10699 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
kstat_open()
; return 0; }
EOF
-if { (eval echo configure:10674: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10710: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:10709: checking for $ac_hdr" >&5
+echo "configure:10745: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 10712 "configure"
+#line 10748 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10717: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10753: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo $ac_n "checking for kvm_read in -lkvm""... $ac_c" 1>&6
-echo "configure:10749: checking for kvm_read in -lkvm" >&5
+echo "configure:10785: checking for kvm_read in -lkvm" >&5
ac_lib_var=`echo kvm'_'kvm_read | sed 'y%./+-%__p_%'`
xe_check_libs=" -lkvm "
cat > conftest.$ac_ext <<EOF
-#line 10754 "configure"
+#line 10790 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
kvm_read()
; return 0; }
EOF
-if { (eval echo configure:10765: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10801: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
fi
echo $ac_n "checking whether netdb declares h_errno""... $ac_c" 1>&6
-echo "configure:10799: checking whether netdb declares h_errno" >&5
+echo "configure:10835: checking whether netdb declares h_errno" >&5
cat > conftest.$ac_ext <<EOF
-#line 10801 "configure"
+#line 10837 "configure"
#include "confdefs.h"
#include <netdb.h>
int main() {
return h_errno;
; return 0; }
EOF
-if { (eval echo configure:10808: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10844: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
{ test "$extra_verbose" = "yes" && cat << \EOF
rm -f conftest*
echo $ac_n "checking for sigsetjmp""... $ac_c" 1>&6
-echo "configure:10828: checking for sigsetjmp" >&5
+echo "configure:10864: checking for sigsetjmp" >&5
cat > conftest.$ac_ext <<EOF
-#line 10830 "configure"
+#line 10866 "configure"
#include "confdefs.h"
#include <setjmp.h>
int main() {
sigjmp_buf bar; sigsetjmp (bar, 0);
; return 0; }
EOF
-if { (eval echo configure:10837: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10873: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
{ test "$extra_verbose" = "yes" && cat << \EOF
rm -f conftest*
echo $ac_n "checking whether localtime caches TZ""... $ac_c" 1>&6
-echo "configure:10857: checking whether localtime caches TZ" >&5
+echo "configure:10893: checking whether localtime caches TZ" >&5
if test "$ac_cv_func_tzset" = "yes"; then
cat > conftest.$ac_ext <<EOF
-#line 10861 "configure"
+#line 10897 "configure"
#include "confdefs.h"
#include <time.h>
#if STDC_HEADERS
exit (0);
}
EOF
-if { (eval echo configure:10896: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:10932: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
emacs_cv_localtime_cache=no
else
if test "$HAVE_TIMEVAL" = "yes"; then
echo $ac_n "checking whether gettimeofday accepts one or two arguments""... $ac_c" 1>&6
-echo "configure:10926: checking whether gettimeofday accepts one or two arguments" >&5
+echo "configure:10962: checking whether gettimeofday accepts one or two arguments" >&5
cat > conftest.$ac_ext <<EOF
-#line 10928 "configure"
+#line 10964 "configure"
#include "confdefs.h"
#ifdef TIME_WITH_SYS_TIME
; return 0; }
EOF
-if { (eval echo configure:10949: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10985: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""two" 1>&6
else
echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:10971: checking for inline" >&5
+echo "configure:11007: checking for inline" >&5
ac_cv_c_inline=no
for ac_kw in inline __inline__ __inline; do
cat > conftest.$ac_ext <<EOF
-#line 10976 "configure"
+#line 11012 "configure"
#include "confdefs.h"
int main() {
} $ac_kw foo() {
; return 0; }
EOF
-if { (eval echo configure:10983: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11019: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_inline=$ac_kw; break
else
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
# for constant arguments. Useless!
echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:11024: checking for working alloca.h" >&5
+echo "configure:11060: checking for working alloca.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 11027 "configure"
+#line 11063 "configure"
#include "confdefs.h"
#include <alloca.h>
int main() {
char *p = alloca(2 * sizeof(int));
; return 0; }
EOF
-if { (eval echo configure:11034: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11070: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_header_alloca_h=yes
else
fi
echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:11058: checking for alloca" >&5
+echo "configure:11094: checking for alloca" >&5
cat > conftest.$ac_ext <<EOF
-#line 11061 "configure"
+#line 11097 "configure"
#include "confdefs.h"
#ifdef __GNUC__
char *p = (char *) alloca(1);
; return 0; }
EOF
-if { (eval echo configure:11089: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11125: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_func_alloca_works=yes
else
echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:11128: checking whether alloca needs Cray hooks" >&5
+echo "configure:11164: checking whether alloca needs Cray hooks" >&5
cat > conftest.$ac_ext <<EOF
-#line 11131 "configure"
+#line 11167 "configure"
#include "confdefs.h"
#if defined(CRAY) && ! defined(CRAY2)
webecray
if test $ac_cv_os_cray = yes; then
for ac_func in _getb67 GETB67 getb67; do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:11155: checking for $ac_func" >&5
+echo "configure:11191: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 11158 "configure"
+#line 11194 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:11181: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11217: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
fi
echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:11211: checking stack direction for C alloca" >&5
+echo "configure:11247: checking stack direction for C alloca" >&5
cat > conftest.$ac_ext <<EOF
-#line 11214 "configure"
+#line 11250 "configure"
#include "confdefs.h"
find_stack_direction ()
{
exit (find_stack_direction() < 0);
}
EOF
-if { (eval echo configure:11233: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:11269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_c_stack_direction=1
else
ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for vfork.h""... $ac_c" 1>&6
-echo "configure:11263: checking for vfork.h" >&5
+echo "configure:11299: checking for vfork.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 11266 "configure"
+#line 11302 "configure"
#include "confdefs.h"
#include <vfork.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11271: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11307: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
fi
echo $ac_n "checking for working vfork""... $ac_c" 1>&6
-echo "configure:11299: checking for working vfork" >&5
+echo "configure:11335: checking for working vfork" >&5
cat > conftest.$ac_ext <<EOF
-#line 11302 "configure"
+#line 11338 "configure"
#include "confdefs.h"
/* Thanks to Paul Eggert for this test. */
#include <stdio.h>
}
}
EOF
-if { (eval echo configure:11397: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:11433: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_func_vfork_works=yes
else
echo $ac_n "checking for working strcoll""... $ac_c" 1>&6
-echo "configure:11423: checking for working strcoll" >&5
+echo "configure:11459: checking for working strcoll" >&5
cat > conftest.$ac_ext <<EOF
-#line 11426 "configure"
+#line 11462 "configure"
#include "confdefs.h"
#include <string.h>
main ()
strcoll ("123", "456") >= 0);
}
EOF
-if { (eval echo configure:11436: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:11472: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_func_strcoll_works=yes
else
for ac_func in getpgrp
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:11464: checking for $ac_func" >&5
+echo "configure:11500: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 11467 "configure"
+#line 11503 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:11490: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11526: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
done
echo $ac_n "checking whether getpgrp takes no argument""... $ac_c" 1>&6
-echo "configure:11518: checking whether getpgrp takes no argument" >&5
+echo "configure:11554: checking whether getpgrp takes no argument" >&5
cat > conftest.$ac_ext <<EOF
-#line 11521 "configure"
+#line 11557 "configure"
#include "confdefs.h"
/*
}
EOF
-if { (eval echo configure:11576: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:11612: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_func_getpgrp_void=yes
else
echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:11603: checking for working mmap" >&5
+echo "configure:11639: checking for working mmap" >&5
case "$opsys" in ultrix* ) have_mmap=no ;; *)
cat > conftest.$ac_ext <<EOF
-#line 11606 "configure"
+#line 11642 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <unistd.h>
return 1;
}
EOF
-if { (eval echo configure:11639: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:11675: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
have_mmap=yes
else
if test "$rel_alloc $have_mmap" = "default yes"; then
if test "$doug_lea_malloc" = "yes"; then
echo $ac_n "checking for M_MMAP_THRESHOLD""... $ac_c" 1>&6
-echo "configure:11665: checking for M_MMAP_THRESHOLD" >&5
+echo "configure:11701: checking for M_MMAP_THRESHOLD" >&5
cat > conftest.$ac_ext <<EOF
-#line 11667 "configure"
+#line 11703 "configure"
#include "confdefs.h"
#include <malloc.h>
int main() {
; return 0; }
EOF
-if { (eval echo configure:11679: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11715: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
rel_alloc=no; echo "$ac_t""yes" 1>&6;
else
ac_safe=`echo "termios.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for termios.h""... $ac_c" 1>&6
-echo "configure:11704: checking for termios.h" >&5
+echo "configure:11740: checking for termios.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 11707 "configure"
+#line 11743 "configure"
#include "confdefs.h"
#include <termios.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11712: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11748: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo "$ac_t""no" 1>&6
ac_safe=`echo "termio.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for termio.h""... $ac_c" 1>&6
-echo "configure:11755: checking for termio.h" >&5
+echo "configure:11791: checking for termio.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 11758 "configure"
+#line 11794 "configure"
#include "confdefs.h"
#include <termio.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11763: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11799: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo $ac_n "checking for socket""... $ac_c" 1>&6
-echo "configure:11795: checking for socket" >&5
+echo "configure:11831: checking for socket" >&5
cat > conftest.$ac_ext <<EOF
-#line 11798 "configure"
+#line 11834 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char socket(); below. */
; return 0; }
EOF
-if { (eval echo configure:11821: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11857: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_socket=yes"
else
echo "$ac_t""yes" 1>&6
ac_safe=`echo "netinet/in.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for netinet/in.h""... $ac_c" 1>&6
-echo "configure:11836: checking for netinet/in.h" >&5
+echo "configure:11872: checking for netinet/in.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 11839 "configure"
+#line 11875 "configure"
#include "confdefs.h"
#include <netinet/in.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11844: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11880: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
ac_safe=`echo "arpa/inet.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for arpa/inet.h""... $ac_c" 1>&6
-echo "configure:11861: checking for arpa/inet.h" >&5
+echo "configure:11897: checking for arpa/inet.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 11864 "configure"
+#line 11900 "configure"
#include "confdefs.h"
#include <arpa/inet.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11869: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11905: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
}
echo $ac_n "checking "for sun_len member in struct sockaddr_un"""... $ac_c" 1>&6
-echo "configure:11894: checking "for sun_len member in struct sockaddr_un"" >&5
+echo "configure:11930: checking "for sun_len member in struct sockaddr_un"" >&5
cat > conftest.$ac_ext <<EOF
-#line 11896 "configure"
+#line 11932 "configure"
#include "confdefs.h"
#include <sys/types.h>
static struct sockaddr_un x; x.sun_len = 1;
; return 0; }
EOF
-if { (eval echo configure:11907: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11943: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6; { test "$extra_verbose" = "yes" && cat << \EOF
Defining HAVE_SOCKADDR_SUN_LEN
fi
rm -f conftest*
echo $ac_n "checking "for ip_mreq struct in netinet/in.h"""... $ac_c" 1>&6
-echo "configure:11925: checking "for ip_mreq struct in netinet/in.h"" >&5
+echo "configure:11961: checking "for ip_mreq struct in netinet/in.h"" >&5
cat > conftest.$ac_ext <<EOF
-#line 11927 "configure"
+#line 11963 "configure"
#include "confdefs.h"
#include <sys/types.h>
static struct ip_mreq x;
; return 0; }
EOF
-if { (eval echo configure:11937: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11973: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6; { test "$extra_verbose" = "yes" && cat << \EOF
Defining HAVE_MULTICAST
echo $ac_n "checking for msgget""... $ac_c" 1>&6
-echo "configure:11968: checking for msgget" >&5
+echo "configure:12004: checking for msgget" >&5
cat > conftest.$ac_ext <<EOF
-#line 11971 "configure"
+#line 12007 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char msgget(); below. */
; return 0; }
EOF
-if { (eval echo configure:11994: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12030: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_msgget=yes"
else
echo "$ac_t""yes" 1>&6
ac_safe=`echo "sys/ipc.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for sys/ipc.h""... $ac_c" 1>&6
-echo "configure:12009: checking for sys/ipc.h" >&5
+echo "configure:12045: checking for sys/ipc.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 12012 "configure"
+#line 12048 "configure"
#include "confdefs.h"
#include <sys/ipc.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12017: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12053: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
ac_safe=`echo "sys/msg.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for sys/msg.h""... $ac_c" 1>&6
-echo "configure:12034: checking for sys/msg.h" >&5
+echo "configure:12070: checking for sys/msg.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 12037 "configure"
+#line 12073 "configure"
#include "confdefs.h"
#include <sys/msg.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12042: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12078: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
ac_safe=`echo "dirent.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for dirent.h""... $ac_c" 1>&6
-echo "configure:12080: checking for dirent.h" >&5
+echo "configure:12116: checking for dirent.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 12083 "configure"
+#line 12119 "configure"
#include "confdefs.h"
#include <dirent.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12088: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12124: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo "$ac_t""no" 1>&6
ac_safe=`echo "sys/dir.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for sys/dir.h""... $ac_c" 1>&6
-echo "configure:12115: checking for sys/dir.h" >&5
+echo "configure:12151: checking for sys/dir.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 12118 "configure"
+#line 12154 "configure"
#include "confdefs.h"
#include <sys/dir.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12123: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12159: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
ac_safe=`echo "nlist.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for nlist.h""... $ac_c" 1>&6
-echo "configure:12156: checking for nlist.h" >&5
+echo "configure:12192: checking for nlist.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 12159 "configure"
+#line 12195 "configure"
#include "confdefs.h"
#include <nlist.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12164: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12200: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo "checking "for sound support"" 1>&6
-echo "configure:12194: checking "for sound support"" >&5
+echo "configure:12230: checking "for sound support"" >&5
test -z "$with_native_sound" -a -n "$native_sound_lib" && with_native_sound=yes
if test "$with_native_sound" != "no"; then
if test -n "$native_sound_lib"; then
ac_safe=`echo "multimedia/audio_device.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for multimedia/audio_device.h""... $ac_c" 1>&6
-echo "configure:12201: checking for multimedia/audio_device.h" >&5
+echo "configure:12237: checking for multimedia/audio_device.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 12204 "configure"
+#line 12240 "configure"
#include "confdefs.h"
#include <multimedia/audio_device.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12209: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12245: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test -z "$native_sound_lib"; then
echo $ac_n "checking for ALopenport in -laudio""... $ac_c" 1>&6
-echo "configure:12257: checking for ALopenport in -laudio" >&5
+echo "configure:12293: checking for ALopenport in -laudio" >&5
ac_lib_var=`echo audio'_'ALopenport | sed 'y%./+-%__p_%'`
xe_check_libs=" -laudio "
cat > conftest.$ac_ext <<EOF
-#line 12262 "configure"
+#line 12298 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
ALopenport()
; return 0; }
EOF
-if { (eval echo configure:12273: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12309: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test -z "$native_sound_lib"; then
echo $ac_n "checking for AOpenAudio in -lAlib""... $ac_c" 1>&6
-echo "configure:12304: checking for AOpenAudio in -lAlib" >&5
+echo "configure:12340: checking for AOpenAudio in -lAlib" >&5
ac_lib_var=`echo Alib'_'AOpenAudio | sed 'y%./+-%__p_%'`
xe_check_libs=" -lAlib "
cat > conftest.$ac_ext <<EOF
-#line 12309 "configure"
+#line 12345 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
AOpenAudio()
; return 0; }
EOF
-if { (eval echo configure:12320: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12356: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
for dir in "machine" "sys" "linux"; do
ac_safe=`echo "${dir}/soundcard.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for ${dir}/soundcard.h""... $ac_c" 1>&6
-echo "configure:12358: checking for ${dir}/soundcard.h" >&5
+echo "configure:12394: checking for ${dir}/soundcard.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 12361 "configure"
+#line 12397 "configure"
#include "confdefs.h"
#include <${dir}/soundcard.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12366: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12402: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test "$with_nas_sound" != "no"; then
ac_safe=`echo "audio/audiolib.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for audio/audiolib.h""... $ac_c" 1>&6
-echo "configure:12427: checking for audio/audiolib.h" >&5
+echo "configure:12463: checking for audio/audiolib.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 12430 "configure"
+#line 12466 "configure"
#include "confdefs.h"
#include <audio/audiolib.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12435: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12471: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo $ac_n "checking for AuOpenServer in -laudio""... $ac_c" 1>&6
-echo "configure:12453: checking for AuOpenServer in -laudio" >&5
+echo "configure:12489: checking for AuOpenServer in -laudio" >&5
ac_lib_var=`echo audio'_'AuOpenServer | sed 'y%./+-%__p_%'`
xe_check_libs=" -laudio "
cat > conftest.$ac_ext <<EOF
-#line 12458 "configure"
+#line 12494 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
AuOpenServer()
; return 0; }
EOF
-if { (eval echo configure:12469: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12505: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
fi
libs_x="-laudio $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-laudio\" to \$libs_x"; fi
cat > conftest.$ac_ext <<EOF
-#line 12508 "configure"
+#line 12544 "configure"
#include "confdefs.h"
#include <audio/Xtutil.h>
EOF
# Extract the first word of "esd-config", so it can be a program name with args.
set dummy esd-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:12539: checking for $ac_word" >&5
+echo "configure:12575: checking for $ac_word" >&5
if test -n "$have_esd_config"; then
ac_cv_prog_have_esd_config="$have_esd_config" # Let the user override the test.
c_switch_site="$c_switch_site `esd-config --cflags`" && if test "$extra_verbose" = "yes"; then echo " Appending \"`esd-config --cflags`\" to \$c_switch_site"; fi
LIBS="`esd-config --libs` $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"`esd-config --libs`\" to \$LIBS"; fi
echo $ac_n "checking for esd_play_stream""... $ac_c" 1>&6
-echo "configure:12568: checking for esd_play_stream" >&5
+echo "configure:12604: checking for esd_play_stream" >&5
cat > conftest.$ac_ext <<EOF
-#line 12571 "configure"
+#line 12607 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char esd_play_stream(); below. */
; return 0; }
EOF
-if { (eval echo configure:12594: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12630: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_esd_play_stream=yes"
else
if test "$with_tty" = "yes" ; then
echo "checking for TTY-related features" 1>&6
-echo "configure:12645: checking for TTY-related features" >&5
+echo "configure:12681: checking for TTY-related features" >&5
{ test "$extra_verbose" = "yes" && cat << \EOF
Defining HAVE_TTY
EOF
if test -z "$with_ncurses"; then
echo $ac_n "checking for tgetent in -lncurses""... $ac_c" 1>&6
-echo "configure:12661: checking for tgetent in -lncurses" >&5
+echo "configure:12697: checking for tgetent in -lncurses" >&5
ac_lib_var=`echo ncurses'_'tgetent | sed 'y%./+-%__p_%'`
xe_check_libs=" -lncurses "
cat > conftest.$ac_ext <<EOF
-#line 12666 "configure"
+#line 12702 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
tgetent()
; return 0; }
EOF
-if { (eval echo configure:12677: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12713: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
ac_safe=`echo "ncurses/curses.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for ncurses/curses.h""... $ac_c" 1>&6
-echo "configure:12710: checking for ncurses/curses.h" >&5
+echo "configure:12746: checking for ncurses/curses.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 12713 "configure"
+#line 12749 "configure"
#include "confdefs.h"
#include <ncurses/curses.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12718: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12754: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
ac_safe=`echo "ncurses/term.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for ncurses/term.h""... $ac_c" 1>&6
-echo "configure:12740: checking for ncurses/term.h" >&5
+echo "configure:12776: checking for ncurses/term.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 12743 "configure"
+#line 12779 "configure"
#include "confdefs.h"
#include <ncurses/term.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12748: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12784: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
c_switch_site="$c_switch_site -I/usr/include/ncurses"
ac_safe=`echo "ncurses/curses.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for ncurses/curses.h""... $ac_c" 1>&6
-echo "configure:12778: checking for ncurses/curses.h" >&5
+echo "configure:12814: checking for ncurses/curses.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 12781 "configure"
+#line 12817 "configure"
#include "confdefs.h"
#include <ncurses/curses.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12786: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12822: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
for lib in curses termlib termcap; do
echo $ac_n "checking for tgetent in -l$lib""... $ac_c" 1>&6
-echo "configure:12821: checking for tgetent in -l$lib" >&5
+echo "configure:12857: checking for tgetent in -l$lib" >&5
ac_lib_var=`echo $lib'_'tgetent | sed 'y%./+-%__p_%'`
xe_check_libs=" -l$lib "
cat > conftest.$ac_ext <<EOF
-#line 12826 "configure"
+#line 12862 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
tgetent()
; return 0; }
EOF
-if { (eval echo configure:12837: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12873: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
else
echo $ac_n "checking for tgetent in -lcurses""... $ac_c" 1>&6
-echo "configure:12868: checking for tgetent in -lcurses" >&5
+echo "configure:12904: checking for tgetent in -lcurses" >&5
ac_lib_var=`echo curses'_'tgetent | sed 'y%./+-%__p_%'`
xe_check_libs=" -lcurses "
cat > conftest.$ac_ext <<EOF
-#line 12873 "configure"
+#line 12909 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
tgetent()
; return 0; }
EOF
-if { (eval echo configure:12884: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12920: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for tgetent in -ltermcap""... $ac_c" 1>&6
-echo "configure:12902: checking for tgetent in -ltermcap" >&5
+echo "configure:12938: checking for tgetent in -ltermcap" >&5
ac_lib_var=`echo termcap'_'tgetent | sed 'y%./+-%__p_%'`
xe_check_libs=" -ltermcap "
cat > conftest.$ac_ext <<EOF
-#line 12907 "configure"
+#line 12943 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
tgetent()
; return 0; }
EOF
-if { (eval echo configure:12918: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12954: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
test -z "$with_gpm" && { ac_safe=`echo "gpm.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for gpm.h""... $ac_c" 1>&6
-echo "configure:12966: checking for gpm.h" >&5
+echo "configure:13002: checking for gpm.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 12969 "configure"
+#line 13005 "configure"
#include "confdefs.h"
#include <gpm.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12974: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13010: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
}
test -z "$with_gpm" && {
echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6
-echo "configure:12997: checking for Gpm_Open in -lgpm" >&5
+echo "configure:13033: checking for Gpm_Open in -lgpm" >&5
ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'`
xe_check_libs=" -lgpm "
cat > conftest.$ac_ext <<EOF
-#line 13002 "configure"
+#line 13038 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
Gpm_Open()
; return 0; }
EOF
-if { (eval echo configure:13013: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13049: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
test "$with_database_gdbm $with_database_dbm $with_database_berkdb" \
!= "no no no" && echo "checking for database support" 1>&6
-echo "configure:13063: checking for database support" >&5
+echo "configure:13099: checking for database support" >&5
if test "$with_database_gdbm $with_database_dbm" != "no no"; then
ac_safe=`echo "ndbm.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for ndbm.h""... $ac_c" 1>&6
-echo "configure:13068: checking for ndbm.h" >&5
+echo "configure:13104: checking for ndbm.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 13071 "configure"
+#line 13107 "configure"
#include "confdefs.h"
#include <ndbm.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13076: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13112: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test "$with_database_gdbm" != "no"; then
echo $ac_n "checking for dbm_open in -lgdbm""... $ac_c" 1>&6
-echo "configure:13106: checking for dbm_open in -lgdbm" >&5
+echo "configure:13142: checking for dbm_open in -lgdbm" >&5
ac_lib_var=`echo gdbm'_'dbm_open | sed 'y%./+-%__p_%'`
xe_check_libs=" -lgdbm "
cat > conftest.$ac_ext <<EOF
-#line 13111 "configure"
+#line 13147 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
dbm_open()
; return 0; }
EOF
-if { (eval echo configure:13122: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13158: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$with_database_dbm" != "no"; then
echo $ac_n "checking for dbm_open""... $ac_c" 1>&6
-echo "configure:13150: checking for dbm_open" >&5
+echo "configure:13186: checking for dbm_open" >&5
cat > conftest.$ac_ext <<EOF
-#line 13153 "configure"
+#line 13189 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char dbm_open(); below. */
; return 0; }
EOF
-if { (eval echo configure:13176: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13212: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_dbm_open=yes"
else
echo $ac_n "checking for dbm_open in -ldbm""... $ac_c" 1>&6
-echo "configure:13195: checking for dbm_open in -ldbm" >&5
+echo "configure:13231: checking for dbm_open in -ldbm" >&5
ac_lib_var=`echo dbm'_'dbm_open | sed 'y%./+-%__p_%'`
xe_check_libs=" -ldbm "
cat > conftest.$ac_ext <<EOF
-#line 13200 "configure"
+#line 13236 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
dbm_open()
; return 0; }
EOF
-if { (eval echo configure:13211: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13247: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$with_database_berkdb" != "no"; then
echo $ac_n "checking for Berkeley db.h""... $ac_c" 1>&6
-echo "configure:13252: checking for Berkeley db.h" >&5
+echo "configure:13288: checking for Berkeley db.h" >&5
for header in "db/db.h" "db.h"; do
cat > conftest.$ac_ext <<EOF
-#line 13255 "configure"
+#line 13291 "configure"
#include "confdefs.h"
#include <stdlib.h>
; return 0; }
EOF
-if { (eval echo configure:13277: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13313: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
db_h_file="$header"; break
else
if test "$with_database_berkdb" != "no"; then
echo $ac_n "checking for Berkeley DB version""... $ac_c" 1>&6
-echo "configure:13293: checking for Berkeley DB version" >&5
+echo "configure:13329: checking for Berkeley DB version" >&5
cat > conftest.$ac_ext <<EOF
-#line 13295 "configure"
+#line 13331 "configure"
#include "confdefs.h"
#include <$db_h_file>
#if DB_VERSION_MAJOR > 1
egrep "yes" >/dev/null 2>&1; then
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 13307 "configure"
+#line 13343 "configure"
#include "confdefs.h"
#include <$db_h_file>
#if DB_VERSION_MAJOR > 2
rm -f conftest*
echo $ac_n "checking for $dbfunc""... $ac_c" 1>&6
-echo "configure:13334: checking for $dbfunc" >&5
+echo "configure:13370: checking for $dbfunc" >&5
cat > conftest.$ac_ext <<EOF
-#line 13337 "configure"
+#line 13373 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $dbfunc(); below. */
; return 0; }
EOF
-if { (eval echo configure:13360: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13396: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$dbfunc=yes"
else
echo $ac_n "checking for $dbfunc in -ldb""... $ac_c" 1>&6
-echo "configure:13379: checking for $dbfunc in -ldb" >&5
+echo "configure:13415: checking for $dbfunc in -ldb" >&5
ac_lib_var=`echo db'_'$dbfunc | sed 'y%./+-%__p_%'`
xe_check_libs=" -ldb "
cat > conftest.$ac_ext <<EOF
-#line 13384 "configure"
+#line 13420 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
$dbfunc()
; return 0; }
EOF
-if { (eval echo configure:13395: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13431: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$with_socks" = "yes"; then
echo $ac_n "checking for SOCKSinit in -lsocks""... $ac_c" 1>&6
-echo "configure:13459: checking for SOCKSinit in -lsocks" >&5
+echo "configure:13495: checking for SOCKSinit in -lsocks" >&5
ac_lib_var=`echo socks'_'SOCKSinit | sed 'y%./+-%__p_%'`
xe_check_libs=" -lsocks "
cat > conftest.$ac_ext <<EOF
-#line 13464 "configure"
+#line 13500 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
SOCKSinit()
; return 0; }
EOF
-if { (eval echo configure:13475: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13511: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$with_modules" != "no"; then
echo "checking for module support" 1>&6
-echo "configure:13530: checking for module support" >&5
+echo "configure:13566: checking for module support" >&5
if test "$with_msw" = "yes"; then
have_dl=yes;
else
ac_safe=`echo "dlfcn.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for dlfcn.h""... $ac_c" 1>&6
-echo "configure:13537: checking for dlfcn.h" >&5
+echo "configure:13573: checking for dlfcn.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 13540 "configure"
+#line 13576 "configure"
#include "confdefs.h"
#include <dlfcn.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13545: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13581: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
echo $ac_n "checking for dlopen in -lc""... $ac_c" 1>&6
-echo "configure:13562: checking for dlopen in -lc" >&5
+echo "configure:13598: checking for dlopen in -lc" >&5
cat > conftest.$ac_ext <<EOF
-#line 13564 "configure"
+#line 13600 "configure"
#include "confdefs.h"
#include <dlfcn.h>
int main() {
dlopen ("", 0);
; return 0; }
EOF
-if { (eval echo configure:13571: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13607: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
have_dl=yes
else
rm -rf conftest*
echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "configure:13580: checking for dlopen in -ldl" >&5
+echo "configure:13616: checking for dlopen in -ldl" >&5
ac_save_LIBS="$LIBS"
LIBS="-ldl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 13584 "configure"
+#line 13620 "configure"
#include "confdefs.h"
#include <dlfcn.h>
int main() {
dlopen ("", 0);
; return 0; }
EOF
-if { (eval echo configure:13591: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13627: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
have_dl=yes
else
else
echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
-echo "configure:13620: checking for shl_load in -ldld" >&5
+echo "configure:13656: checking for shl_load in -ldld" >&5
ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'`
xe_check_libs=" -ldld "
cat > conftest.$ac_ext <<EOF
-#line 13625 "configure"
+#line 13661 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
shl_load()
; return 0; }
EOF
-if { (eval echo configure:13636: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13672: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for dld_init in -ldld""... $ac_c" 1>&6
-echo "configure:13663: checking for dld_init in -ldld" >&5
+echo "configure:13699: checking for dld_init in -ldld" >&5
ac_lib_var=`echo dld'_'dld_init | sed 'y%./+-%__p_%'`
xe_check_libs=" -ldld "
cat > conftest.$ac_ext <<EOF
-#line 13668 "configure"
+#line 13704 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
dld_init()
; return 0; }
EOF
-if { (eval echo configure:13679: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13715: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
xealias=$internal_configuration
echo "checking how to build dynamic libraries for ${xehost}" 1>&6
-echo "configure:13724: checking how to build dynamic libraries for ${xehost}" >&5
+echo "configure:13760: checking how to build dynamic libraries for ${xehost}" >&5
# Transform *-*-linux* to *-*-linux-gnu*, to support old configure scripts.
case "$xehost" in
*-*-linux-gnu*) ;;
XEGCC=yes
else
echo $ac_n "checking checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:13752: checking checking whether we are using GNU C" >&5
+echo "configure:13788: checking checking whether we are using GNU C" >&5
cat > conftest.$ac_ext <<EOF
-#line 13754 "configure"
+#line 13790 "configure"
#include "confdefs.h"
#ifdef __GNUC__
fi
echo $ac_n "checking how to produce PIC code""... $ac_c" 1>&6
-echo "configure:13776: checking how to produce PIC code" >&5
+echo "configure:13812: checking how to produce PIC code" >&5
wl=
can_build_shared=yes
# Check to make sure the dll_cflags actually works.
echo $ac_n "checking if PIC flag ${dll_cflags} really works""... $ac_c" 1>&6
-echo "configure:13872: checking if PIC flag ${dll_cflags} really works" >&5
+echo "configure:13908: checking if PIC flag ${dll_cflags} really works" >&5
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $dll_cflags -DPIC"
cat > conftest.$ac_ext <<EOF
-#line 13876 "configure"
+#line 13912 "configure"
#include "confdefs.h"
int main() {
int x=0;
; return 0; }
EOF
-if { (eval echo configure:13883: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13919: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
# On HP-UX, the stripped-down bundled CC doesn't accept +Z, but also
xldf=
xcldf=
echo $ac_n "checking if C compiler can produce shared libraries""... $ac_c" 1>&6
-echo "configure:13914: checking if C compiler can produce shared libraries" >&5
+echo "configure:13950: checking if C compiler can produce shared libraries" >&5
if test "$XEGCC" = yes; then
xcldf="-shared"
xldf="-shared"
xe_libs=
ac_link='${CC-cc} -o conftest $CFLAGS '"$xe_cppflags $xe_ldflags"' conftest.$ac_ext '"$xe_libs"' 1>&5'
cat > conftest.$ac_ext <<EOF
-#line 13965 "configure"
+#line 14001 "configure"
#include "confdefs.h"
int main() {
int x=0;
; return 0; }
EOF
-if { (eval echo configure:13972: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14008: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
cc_produces_so=yes
else
if test "$XEGCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
-echo "configure:13997: checking for ld used by GCC" >&5
+echo "configure:14033: checking for ld used by GCC" >&5
ac_prog=`($CC -print-prog-name=ld) 2>&5`
case "$ac_prog" in
# Accept absolute paths.
esac
else
echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
-echo "configure:14022: checking for GNU ld" >&5
+echo "configure:14058: checking for GNU ld" >&5
fi
if test -z "$LTLD"; then
# Check to see if it really is or isn't GNU ld.
echo $ac_n "checking if the linker is GNU ld""... $ac_c" 1>&6
-echo "configure:14060: checking if the linker is GNU ld" >&5
+echo "configure:14096: checking if the linker is GNU ld" >&5
# I'd rather use --version here, but apparently some GNU ld's only accept -v.
if $LTLD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
xe_gnu_ld=yes
# OK - only NOW do we futz about with ld.
# See if the linker supports building shared libraries.
echo $ac_n "checking whether the linker supports shared libraries""... $ac_c" 1>&6
-echo "configure:14088: checking whether the linker supports shared libraries" >&5
+echo "configure:14124: checking whether the linker supports shared libraries" >&5
dll_ld=$CC
dll_ldflags=$LDFLAGS
ld_shlibs=yes
for ac_func in dlerror _dlerror
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:14303: checking for $ac_func" >&5
+echo "configure:14339: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 14306 "configure"
+#line 14342 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:14329: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14365: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
fi
cat > conftest.$ac_ext <<EOF
-#line 14368 "configure"
+#line 14404 "configure"
#include "confdefs.h"
int main(int c,char *v[]){return 0;}
EOF
-if { (eval echo configure:14372: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:14408: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
:
else
x_includes=NONE
x_libraries=NONE
-dnl Installation directory options.
-dnl These are left unexpanded so users can "make install exec_prefix=/foo"
-dnl and all the variables that are supposed to be based on exec_prefix
-dnl by default will actually change.
-dnl Use braces instead of parens because sh, perl, etc. also accept them.
-dnl If you change these, you need to synchronize with the settings of the
-dnl various ..._USER_DEFINED variables further down.
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-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'
-
dnl Initialize some other variables.
subdirs=
MFLAGS= MAKEFLAGS=
infopath ) AC_DEFINE(INFOPATH_USER_DEFINED) ;;
package_path ) AC_DEFINE(PACKAGE_PATH_USER_DEFINED) ;;
datadir )
- AC_DEFINE(INFODIR_USER_DEFINED)
- AC_DEFINE(LISPDIR_USER_DEFINED)
- AC_DEFINE(MODULEDIR_USER_DEFINED)
- AC_DEFINE(ETCDIR_USER_DEFINED) ;;
+ AC_DEFINE(INFODIR_USER_DEFINED)
+ AC_DEFINE(LISPDIR_USER_DEFINED)
+ AC_DEFINE(MODULEDIR_USER_DEFINED)
+ AC_DEFINE(ETCDIR_USER_DEFINED)
+ AC_DEFINE(DOCDIR_USER_DEFINED)
+ AC_DEFINE(ARCHLIBDIR_USER_DEFINED) ;;
docdir ) AC_DEFINE(DOCDIR_USER_DEFINED) ;;
exec_prefix | libdir | archlibdir ) AC_DEFINE(ARCHLIBDIR_USER_DEFINED) ;;
esac
have_terminfo mail_use_flock mail_use_lockf) && echo ""
dnl Pick up mingw32 include path
-case "$opsys" in mingw* | cygwin*)
+case "$opsys" in mingw* | cygwin*)
cygwin_include=`eval "gcc -print-file-name=libc.a"` ;
cygwin_include=`eval "dirname $cygwin_include"` ;
cygwin_include="-I$cygwin_include/../include" ;
extra_includes="$cygwin_include/mingw32 $cygwin_include/mingw $cygwin_include" ;
- case "$opsys" in mingw*)
+ case "$opsys" in mingw*)
XE_APPEND($extra_includes, c_switch_system) ;;
esac
- ;;
+ ;;
esac
dnl Non-ordinary link usually requires -lc
dnl Following values of CFLAGS are known to work well.
dnl Should we take debugging options into consideration?
if test "$GCC" = "yes"; then
- CFLAGS="-g -O3 -Wall -Wno-switch -Wpointer-arith -Winline -Wmissing-prototypes -Wshadow"
+ CFLAGS="-g -O3 -Wall -Wno-switch -Winline -Wmissing-prototypes -Wshadow"
+ dnl glibc is intentionally not `-Wpointer-arith'-clean.
+ dnl Ulrich Drepper has rejected patches to fix the glibc header files.
+ test "$have_glibc" != "yes" && CFLAGS="$CFLAGS -Wpointer-arith"
dnl I'm not convinced this is a good idea any more. -sb
dnl test "$opsys $machine" = "linux intel386" && \
dnl CFLAGS="$CFLAGS -fno-strength-reduce -malign-loops=2 -malign-jumps=2 -malign-functions=2"
#include <X11/Xlib.h>
extern Bool XRegisterIMInstantiateCallback(
Display*, struct _XrmHashBucketRec*, char*, char*, XIMProc, XPointer*);
-], [],
+], [],
[AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)
AC_DEFINE(XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE)])
XE_APPEND(netinstall, MAKE_SUBDIR)
XE_APPEND(netinstall, SRC_SUBDIR_DEPS)
XE_APPEND(netinstall, INSTALL_ARCH_DEP_SUBDIR)
-
+
install_pp="$blddir/lib-src/installexe.sh"
XE_APPEND(-lshell32 -lgdi32 -luser32 -lcomdlg32 -lcomctl32 -lwinspool, libs_system)
test "$with_dragndrop" != no && XE_APPEND(msw, dragndrop_proto)
AC_MSG_RESULT($with_xpm)
fi
if test "$with_xpm" = "yes"; then
+ dnl #### This code assumes that if AC_CHECK_LIB fails,
+ dnl #### then it will succeed if FOR_MSW is defined,
+ dnl #### but doesn't actually verify this assumption.
AC_DEFINE(HAVE_XPM)
XE_PREPEND(-lXpm, libs_x)
AC_MSG_CHECKING(for \"FOR_MSW\" xpm)
dnl Autodetect WNN
test "$with_wnn6" = "yes" && with_wnn=yes # wnn6 implies wnn support
test -z "$with_wnn" && { AC_CHECK_HEADER(wnn/jllib.h, ,with_wnn=no) }
+ dnl gcc 2.97 fixincludes breaks inclusion of wnn/commonhd.h
+ test -z "$with_wnn" && { AC_CHECK_HEADER(wnn/commonhd.h, ,with_wnn=no) }
dnl Detour to find crypt
if test "$with_wnn" != "no"; then
AC_CHECK_FUNCS(crypt)
AC_CHECK_FUNCS(cbrt closedir dup2 eaccess fmod fpathconf frexp ftime getaddrinfo gethostname getnameinfo getpagesize gettimeofday getcwd getwd logb lrand48 matherr mkdir mktime perror poll random rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask snprintf stpcpy strerror tzset ulimit usleep utimes waitpid vsnprintf fsync ftruncate umask)
+dnl ----------------------------------------------------------------
dnl Check for PTY support functions.
-dnl getpt is the preferred pty allocation method on glibc systems.
-dnl _getpty is the preferred pty allocation method on SGI systems.
-dnl grantpt, unlockpt, ptsname are defined by Unix98.
+dnl ----------------------------------------------------------------
+
+dnl There is no "standard" pty allocation method. Every system is different.
+dnl getpt() is the preferred pty allocation method on glibc systems.
+dnl _getpty() is the preferred pty allocation method on SGI systems.
+dnl grantpt(), unlockpt(), ptsname() are defined by Unix98.
AC_CHECK_FUNCS(getpt _getpty grantpt unlockpt ptsname killpg tcgetpgrp)
-dnl openpty is the preferred pty allocation method on BSD and Tru64 systems.
-dnl openpty might be declared in pty.h or in libutil.h.
+dnl openpty() is the preferred pty allocation method on BSD and Tru64 systems.
+dnl openpty() might be declared in:
+dnl - pty.h (Tru64 or Linux)
+dnl - libutil.h (FreeBSD)
+dnl - util.h (NetBSD)
AC_CHECK_FUNC(openpty, have_openpty=yes, [
AC_CHECK_LIB(util, openpty, have_openpty=yes need_libutil=yes)])
if test "$have_openpty" = "yes"; then
AC_DEFINE(HAVE_OPENPTY)
- AC_CHECK_HEADERS(pty.h libutil.h)
+ AC_CHECK_HEADERS(pty.h libutil.h util.h, break)
test "$need_libutil" = "yes" && XE_APPEND(-lutil, libs_system)
fi
.\" Copyright (c) 1992 Free Software Foundation
.\" See section COPYING for conditions for redistribution
-.TH etags 1 "02nov1999" "GNU Tools" "GNU Tools"
+.TH etags 1 "14gen2001" "GNU Tools" "GNU Tools"
.de BP
.sp
.ti -.2i
.if n .br
.B [\|\-o \fItagfile\fP\|] [\|\-r \fIregexp\fP\|]
.br
-[\|\-\-append\|] [\|\-\-c++\|] [\|\-\-no\-defines\|]
-[\|\-\-no\-globals\|] [\|\-\-include=\fIfile\fP\|]
-[\|\-\-ignore\-indentation\|] [\|\-\-language=\fIlanguage\fP\|]
-[\|\-\-members\|] [\|\-\-output=\fItagfile\fP\|]
-[\|\-\-regex=\fIregexp\fP\|] [\|\-\-no\-regex\|]
-[\|\-\-ignore\-case\-regex=\fIregexp\fP\|]
-[\|\-\-help\|] [\|\-\-version\|]
+.B [\|\-\-append\|] [\|\-\-no\-defines\|]
+.B [\|\-\-no\-globals\|] [\|\-\-include=\fIfile\fP\|]
+.B [\|\-\-ignore\-indentation\|] [\|\-\-language=\fIlanguage\fP\|]
+.B [\|\-\-members\|] [\|\-\-output=\fItagfile\fP\|]
+.B [\|\-\-regex=\fIregexp\fP\|] [\|\-\-no\-regex\|]
+.B [\|\-\-ignore\-case\-regex=\fIregexp\fP\|]
+.B [\|\-\-help\|] [\|\-\-version\|]
\fIfile\fP .\|.\|.
.B ctags [\|\-aCdgImRVh\|] [\|\-BtTuvwx\|] [\|\-l \fIlanguage\fP\|]
.if n .br
.B [\|\-o \fItagfile\fP\|] [\|\-r \fIregexp\fP\|]
.br
-[\|\-\-append\|] [\|\-\-backward\-search\|] [\|\-\-c++\|]
-[\|\-\-cxref\|] [\|\-\-defines\|] [\|\-\-forward\-search\|]
-[\|\-\-globals\|] [\|\-\-ignore\-indentation\|]
-[\|\-\-language=\fIlanguage\fP\|] [\|\-\-members\|]
-[\|\-\-output=\fItagfile\fP\|] [\|\-\-regex=\fIregexp\fP\|]
-[\|\-\-ignore\-case\-regex=\fIregexp\fP\|]
-[\|\-\-typedefs\|] [\|\-\-typedefs\-and\-c++\|]
-[\|\-\-update\|] [\|\-\-no\-warn\|]
-[\|\-\-help\|] [\|\-\-version\|]
+.B [\|\-\-append\|] [\|\-\-backward\-search\|]
+.B [\|\-\-cxref\|] [\|\-\-defines\|] [\|\-\-forward\-search\|]
+.B [\|\-\-globals\|] [\|\-\-ignore\-indentation\|]
+.B [\|\-\-language=\fIlanguage\fP\|] [\|\-\-members\|]
+.B [\|\-\-output=\fItagfile\fP\|] [\|\-\-regex=\fIregexp\fP\|]
+.B [\|\-\-ignore\-case\-regex=\fIregexp\fP\|]
+.B [\|\-\-typedefs\|] [\|\-\-typedefs\-and\-c++\|]
+.B [\|\-\-update\|] [\|\-\-no\-warn\|]
+.B [\|\-\-help\|] [\|\-\-version\|]
\fIfile\fP .\|.\|.
.ad b
.hy 1
\&; the `\|\fBctags\fP\|' program is used to create a similar table in a
format understood by
.BR vi ( 1 )\c
-\&. Both forms of the program understand
-the syntax of C, Objective C, C++, Java, Fortran, Pascal, Cobol, Ada, Perl,
-LaTeX, Scheme, Emacs Lisp/Common Lisp, Postscript, Erlang, Python, Prolog and
-most assembler\-like syntaxes.
+\&. Both forms of the program understand the syntax of C, Objective C,
+C++, Java, Fortran, Ada, Cobol, Erlang, LaTeX, Emacs Lisp/Common Lisp,
+makefiles, Pascal, Perl, Postscript, Python, Prolog, Scheme and most
+assembler\-like syntaxes.
Both forms read the files specified on the command line, and write a tag
table (defaults: `\|TAGS\|' for \fBetags\fP, `\|tags\|' for
\fBctags\fP) in the current working directory.
through files.
Only \fBctags\fP accepts this option.
.TP
-.B \-C, \-\-c++
-Treat files with `\|.c\|' and `\|.h\|' extensions as C++ code, not C
-code. Files with `\|.C\|', `\|.H\|', `\|.cxx\|', `\|.hxx\|', or
-`\|.cc\|' extensions are always assumed to be C++ code.
-.TP
.B \-\-declarations
In C and derived languages, create tags for function declarations,
and create tags for extern variables unless \-\-no\-globals is used.
one such options may be intermixed with filenames. Use \fB\-\-help\fP
to get a list of the available languages and their default filename
extensions. The `auto' language can be used to restore automatic
-detection of language based on filename extension. The `none'
+detection of language based on the file name. The `none'
language may be used to disable language parsing altogether; only
regexp matching is done in this case (see the \fB\-\-regex\fP option).
.TP
Explicit name of file for tag table; overrides default `\|TAGS\|' or
`\|tags\|'. (But ignored with \fB\-v\fP or \fB\-x\fP.)
.TP
-\fB\-r\fP \fIregexp\fP, \fB\-\-regex=\fIregexp\fP
-\fB\-\-ignore\-case\-regex=\fIregexp\fP\
+\fB\-r\fP \fIregexp\fP, \fB\-\-regex=\fIregexp\fP, \fB\-\-ignore\-case\-regex=\fIregexp\fP
Make tags based on regexp matching for each line of the files following
this option, in addition to the tags made with the standard parsing based
on language. When using \-\-regex, case is significant, while it is not
.br
A regexp can be preceded by {lang}, thus restriciting it to match lines of
-files of the specified language. Use \fBetags --help\bP to obtain a list
+files of the specified language. Use \fBetags --help\fP to obtain a list
of the recognised languages. This feature is particularly useful inside
-\fBregex files\fB. A regex file contains one regex per line. Empty lines,
+\fBregex files\fP. A regex file contains one regex per line. Empty lines,
and those lines beginning with space or tab are ignored. Lines beginning
with @ are references to regex files whose name follows the @ sign. Other
lines are considered regular expressions like those following \-\-regex.
lispref.info-5: 197182
lispref.info-6: 245536
lispref.info-7: 293943
-lispref.info-8: 342608
-lispref.info-9: 387690
-lispref.info-10: 436621
-lispref.info-11: 485478
-lispref.info-12: 534009
-lispref.info-13: 581561
-lispref.info-14: 629419
-lispref.info-15: 678834
-lispref.info-16: 726829
-lispref.info-17: 772166
-lispref.info-18: 819636
-lispref.info-19: 867194
-lispref.info-20: 914820
-lispref.info-21: 962847
-lispref.info-22: 1011769
-lispref.info-23: 1058032
-lispref.info-24: 1104496
-lispref.info-25: 1154156
-lispref.info-26: 1202847
-lispref.info-27: 1251702
-lispref.info-28: 1300369
-lispref.info-29: 1350320
-lispref.info-30: 1398469
-lispref.info-31: 1444124
-lispref.info-32: 1494113
-lispref.info-33: 1542683
-lispref.info-34: 1589888
-lispref.info-35: 1639714
-lispref.info-36: 1688390
-lispref.info-37: 1734123
-lispref.info-38: 1783262
-lispref.info-39: 1830704
-lispref.info-40: 1879257
-lispref.info-41: 1925810
-lispref.info-42: 1974505
-lispref.info-43: 2018880
-lispref.info-44: 2063249
-lispref.info-45: 2109743
-lispref.info-46: 2150585
-lispref.info-47: 2199803
-lispref.info-48: 2213672
+lispref.info-8: 342609
+lispref.info-9: 387691
+lispref.info-10: 436623
+lispref.info-11: 485480
+lispref.info-12: 534011
+lispref.info-13: 581563
+lispref.info-14: 629421
+lispref.info-15: 678836
+lispref.info-16: 726831
+lispref.info-17: 772168
+lispref.info-18: 819638
+lispref.info-19: 867196
+lispref.info-20: 914822
+lispref.info-21: 962849
+lispref.info-22: 1011771
+lispref.info-23: 1058034
+lispref.info-24: 1104498
+lispref.info-25: 1154158
+lispref.info-26: 1202849
+lispref.info-27: 1251704
+lispref.info-28: 1300371
+lispref.info-29: 1350322
+lispref.info-30: 1398471
+lispref.info-31: 1444126
+lispref.info-32: 1494115
+lispref.info-33: 1542685
+lispref.info-34: 1589890
+lispref.info-35: 1639716
+lispref.info-36: 1688392
+lispref.info-37: 1734125
+lispref.info-38: 1783264
+lispref.info-39: 1830706
+lispref.info-40: 1879259
+lispref.info-41: 1925812
+lispref.info-42: 1974507
+lispref.info-43: 2018882
+lispref.info-44: 2063251
+lispref.info-45: 2109745
+lispref.info-46: 2150587
+lispref.info-47: 2199805
+lispref.info-48: 2213674
\1f
Tag Table:
(Indirect)
Node: Intro Eval\7f333543
Ref: Intro Eval-Footnote-1\7f336896
Node: Eval\7f337031
-Node: Forms\7f341449
-Node: Self-Evaluating Forms\7f342608
-Node: Symbol Forms\7f344121
-Node: Classifying Lists\7f345038
-Node: Function Indirection\7f345794
-Node: Function Forms\7f348893
-Node: Macro Forms\7f349890
-Node: Special Forms\7f351490
-Node: Autoloading\7f353799
-Node: Quoting\7f354297
-Node: Control Structures\7f355658
-Node: Sequencing\7f357278
-Node: Conditionals\7f360143
-Node: Combining Conditions\7f363566
-Node: Iteration\7f366836
-Node: Nonlocal Exits\7f368615
-Node: Catch and Throw\7f369317
-Node: Examples of Catch\7f373156
-Node: Errors\7f375175
-Node: Signaling Errors\7f376664
-Node: Processing of Errors\7f385411
-Node: Handling Errors\7f387690
-Node: Error Symbols\7f394931
-Node: Cleanups\7f398887
-Node: Variables\7f402665
-Node: Global Variables\7f404434
-Node: Constant Variables\7f405510
-Node: Local Variables\7f406136
-Node: Void Variables\7f411073
-Node: Defining Variables\7f414589
-Node: Accessing Variables\7f421753
-Node: Setting Variables\7f423178
-Node: Variable Scoping\7f427697
-Node: Scope\7f429296
-Node: Extent\7f430821
-Node: Impl of Scope\7f432300
-Node: Using Scoping\7f434263
-Node: Buffer-Local Variables\7f435785
-Node: Intro to Buffer-Local\7f436621
-Node: Creating Buffer-Local\7f439164
-Node: Default Value\7f445063
-Node: Variable Aliases\7f448206
-Node: Functions\7f450057
-Node: What Is a Function\7f451151
-Node: Lambda Expressions\7f455197
-Node: Lambda Components\7f456107
-Node: Simple Lambda\7f457939
-Node: Argument List\7f459596
-Node: Function Documentation\7f463324
-Node: Function Names\7f465266
-Node: Defining Functions\7f467839
-Node: Calling Functions\7f470879
-Node: Mapping Functions\7f474727
-Node: Anonymous Functions\7f477415
-Node: Function Cells\7f480660
-Node: Inline Functions\7f485478
-Node: Related Topics\7f487288
-Node: Macros\7f488341
-Node: Simple Macro\7f489625
-Node: Expansion\7f490360
-Node: Compiling Macros\7f493364
-Node: Defining Macros\7f495200
-Node: Backquote\7f496517
-Node: Problems with Macros\7f498914
-Node: Argument Evaluation\7f499609
-Node: Surprising Local Vars\7f502524
-Node: Eval During Expansion\7f504592
-Node: Repeated Expansion\7f506285
-Node: Customization\7f508201
-Node: Common Keywords\7f508670
-Node: Group Definitions\7f511515
-Node: Variable Definitions\7f513707
-Node: Customization Types\7f518697
-Node: Simple Types\7f520132
-Node: Composite Types\7f522289
-Node: Splicing into Lists\7f526979
-Node: Type Keywords\7f528814
-Node: Loading\7f532334
-Node: How Programs Do Loading\7f534009
-Node: Autoload\7f543135
-Node: Repeated Loading\7f549205
-Node: Named Features\7f551318
-Node: Unloading\7f557748
-Node: Hooks for Loading\7f559904
-Node: Byte Compilation\7f560621
-Node: Speed of Byte-Code\7f562614
-Node: Compilation Functions\7f563821
-Node: Docs and Compilation\7f570478
-Node: Dynamic Loading\7f573131
-Node: Eval During Compile\7f575495
-Node: Compiled-Function Objects\7f576760
-Node: Disassembly\7f581561
-Node: Different Behavior\7f588842
-Node: Debugging\7f590187
-Node: Debugger\7f591599
-Node: Error Debugging\7f592744
-Node: Infinite Loops\7f595497
-Node: Function Debugging\7f596741
-Node: Explicit Debug\7f599541
-Node: Using Debugger\7f600312
-Node: Debugger Commands\7f602174
-Node: Invoking the Debugger\7f606491
-Node: Internals of Debugger\7f610406
-Node: Syntax Errors\7f615293
-Node: Excess Open\7f616541
-Node: Excess Close\7f618416
-Node: Compilation Errors\7f619837
-Node: Edebug\7f621125
-Node: Using Edebug\7f623233
-Node: Instrumenting\7f625930
-Node: Edebug Execution Modes\7f629419
-Node: Jumping\7f632529
-Node: Edebug Misc\7f634872
-Node: Breakpoints\7f636261
-Node: Global Break Condition\7f639067
-Node: Embedded Breakpoints\7f640022
-Node: Trapping Errors\7f640977
-Node: Edebug Views\7f643053
-Node: Edebug Eval\7f645018
-Node: Eval List\7f646195
-Node: Reading in Edebug\7f649580
-Node: Printing in Edebug\7f650379
-Node: Tracing\7f652094
-Node: Coverage Testing\7f653982
-Node: The Outside Context\7f656023
-Node: Checking Whether to Stop\7f656972
-Node: Edebug Display Update\7f657619
-Node: Edebug Recursive Edit\7f659642
-Node: Instrumenting Macro Calls\7f661297
-Node: Specification List\7f663779
-Node: Backtracking\7f673190
-Node: Debugging Backquote\7f675128
-Node: Specification Examples\7f678834
-Node: Edebug Options\7f680901
-Node: Read and Print\7f686240
-Node: Streams Intro\7f687217
-Node: Input Streams\7f689235
-Node: Input Functions\7f694136
-Node: Output Streams\7f696196
-Node: Output Functions\7f700247
-Node: Output Variables\7f704547
-Node: Minibuffers\7f709348
-Node: Intro to Minibuffers\7f710500
-Node: Text from Minibuffer\7f712688
-Node: Object from Minibuffer\7f717782
-Node: Minibuffer History\7f721875
-Node: Completion\7f724854
-Node: Basic Completion\7f726829
-Node: Minibuffer Completion\7f731712
-Node: Completion Commands\7f735289
-Node: High-Level Completion\7f739946
-Node: Reading File Names\7f744695
-Node: Programmed Completion\7f748387
-Node: Yes-or-No Queries\7f750769
-Node: Multiple Queries\7f756506
-Node: Reading a Password\7f760573
-Node: Minibuffer Misc\7f761916
-Node: Command Loop\7f766796
-Node: Command Overview\7f768140
-Node: Defining Commands\7f771418
-Node: Using Interactive\7f772166
-Node: Interactive Codes\7f776939
-Node: Interactive Examples\7f782731
-Node: Interactive Call\7f784045
-Node: Command Loop Info\7f789460
-Node: Events\7f794439
-Node: Event Types\7f795900
-Node: Event Contents\7f797823
-Node: Event Predicates\7f802299
-Node: Accessing Mouse Event Positions\7f803617
-Node: Frame-Level Event Position Info\7f804316
-Node: Window-Level Event Position Info\7f805356
-Node: Event Text Position Info\7f807120
-Node: Event Glyph Position Info\7f809612
-Node: Event Toolbar Position Info\7f810935
-Node: Other Event Position Info\7f811606
-Node: Accessing Other Event Info\7f812015
-Node: Working With Events\7f813635
-Node: Converting Events\7f819636
-Node: Reading Input\7f823035
-Node: Key Sequence Input\7f824037
-Node: Reading One Event\7f826672
-Node: Dispatching an Event\7f829496
-Node: Quoted Character Input\7f829947
-Node: Peeking and Discarding\7f831295
-Node: Waiting\7f835199
-Node: Quitting\7f837513
-Node: Prefix Command Arguments\7f841921
-Node: Recursive Editing\7f847008
-Node: Disabling Commands\7f851803
-Node: Command History\7f853871
-Node: Keyboard Macros\7f855608
-Node: Keymaps\7f857825
-Node: Keymap Terminology\7f859402
-Node: Format of Keymaps\7f862331
-Node: Creating Keymaps\7f862742
-Node: Inheritance and Keymaps\7f864822
-Node: Key Sequences\7f867194
-Node: Prefix Keys\7f871990
-Node: Active Keymaps\7f875575
-Node: Key Lookup\7f884946
-Node: Functions for Key Lookup\7f890109
-Node: Changing Key Bindings\7f895810
-Node: Key Binding Commands\7f902972
-Node: Scanning Keymaps\7f905037
-Node: Other Keymap Functions\7f913606
-Node: Menus\7f914228
-Node: Menu Format\7f914820
-Node: Menubar Format\7f923466
-Node: Menubar\7f924091
-Node: Modifying Menus\7f927204
-Node: Menu Filters\7f932548
-Node: Pop-Up Menus\7f934444
-Node: Menu Accelerators\7f936772
-Node: Creating Menu Accelerators\7f937528
-Node: Keyboard Menu Traversal\7f938888
-Node: Menu Accelerator Functions\7f939615
-Node: Buffers Menu\7f942691
-Node: Dialog Boxes\7f943985
-Node: Dialog Box Format\7f944152
-Node: Dialog Box Functions\7f945577
-Node: Toolbar\7f945974
-Node: Toolbar Intro\7f946409
-Node: Creating Toolbar\7f948809
-Node: Toolbar Descriptor Format\7f949726
-Node: Specifying the Toolbar\7f954223
-Node: Other Toolbar Variables\7f957830
-Node: Gutter\7f962258
-Node: Gutter Intro\7f962847
-Node: Creating Gutter\7f964850
-Node: Gutter Descriptor Format\7f967737
-Node: Specifying a Gutter\7f972194
-Node: Other Gutter Variables\7f975729
-Node: Common Gutter Widgets\7f980116
-Node: Buffer Tabs\7f981108
-Node: Progress Bars\7f981249
-Node: Scrollbars\7f981394
-Node: Drag and Drop\7f981529
-Node: Supported Protocols\7f982605
-Node: OffiX DND\7f983108
-Node: CDE dt\7f984115
-Node: MSWindows OLE\7f984706
-Node: Loose ends\7f984877
-Node: Drop Interface\7f985269
-Node: Drag Interface\7f986291
-Node: Modes\7f986465
-Node: Major Modes\7f987416
-Node: Major Mode Conventions\7f990331
-Node: Example Major Modes\7f996286
-Node: Auto Major Mode\7f1004319
-Node: Mode Help\7f1011769
-Node: Derived Modes\7f1012870
-Node: Minor Modes\7f1015061
-Node: Minor Mode Conventions\7f1016363
-Node: Keymaps and Minor Modes\7f1019226
-Node: Modeline Format\7f1020061
-Node: Modeline Data\7f1021829
-Node: Modeline Variables\7f1026982
-Node: %-Constructs\7f1031698
-Node: Hooks\7f1034685
-Node: Documentation\7f1041445
-Node: Documentation Basics\7f1042868
-Node: Accessing Documentation\7f1045919
-Node: Keys in Documentation\7f1052200
-Node: Describing Characters\7f1055683
-Node: Help Functions\7f1058032
-Node: Obsoleteness\7f1064482
-Node: Files\7f1067474
-Node: Visiting Files\7f1069399
-Node: Visiting Functions\7f1070904
-Node: Subroutines of Visiting\7f1076062
-Node: Saving Buffers\7f1078135
-Node: Reading from Files\7f1084228
-Node: Writing to Files\7f1086389
-Node: File Locks\7f1089106
-Node: Information about Files\7f1092173
-Node: Testing Accessibility\7f1092934
-Node: Kinds of Files\7f1096674
-Node: Truenames\7f1098355
-Node: File Attributes\7f1099357
-Node: Changing File Attributes\7f1104496
-Node: File Names\7f1109918
-Node: File Name Components\7f1111491
-Node: Directory Names\7f1113936
-Node: Relative File Names\7f1117166
-Node: File Name Expansion\7f1118136
-Node: Unique File Names\7f1121890
-Node: File Name Completion\7f1123505
-Node: User Name Completion\7f1126773
-Node: Contents of Directories\7f1128180
-Node: Create/Delete Dirs\7f1131493
-Node: Magic File Names\7f1132599
-Node: Partial Files\7f1138247
-Node: Intro to Partial Files\7f1138475
-Node: Creating a Partial File\7f1139715
-Node: Detached Partial Files\7f1140651
-Node: Format Conversion\7f1141773
-Node: Files and MS-DOS\7f1147271
-Node: Backups and Auto-Saving\7f1149335
-Node: Backup Files\7f1150010
-Node: Making Backups\7f1151407
-Node: Rename or Copy\7f1154156
-Node: Numbered Backups\7f1156649
-Node: Backup Names\7f1158884
-Node: Auto-Saving\7f1162176
-Node: Reverting\7f1170338
-Node: Buffers\7f1173674
-Node: Buffer Basics\7f1175090
-Node: Current Buffer\7f1177143
-Node: Buffer Names\7f1181847
-Node: Buffer File Name\7f1185054
-Node: Buffer Modification\7f1189173
-Node: Modification Time\7f1191416
-Node: Read Only Buffers\7f1194791
-Node: The Buffer List\7f1198030
-Node: Creating Buffers\7f1202847
-Node: Killing Buffers\7f1204993
-Node: Indirect Buffers\7f1208825
-Node: Windows\7f1211399
-Node: Basic Windows\7f1212877
-Node: Splitting Windows\7f1215975
-Node: Deleting Windows\7f1221301
-Node: Selecting Windows\7f1225219
-Node: Cyclic Window Ordering\7f1229442
-Node: Buffers and Windows\7f1234597
-Node: Displaying Buffers\7f1236375
-Node: Choosing Window\7f1241714
-Node: Window Point\7f1249632
-Node: Window Start\7f1251702
-Node: Vertical Scrolling\7f1256501
-Node: Horizontal Scrolling\7f1262699
-Node: Size of Window\7f1266228
-Node: Position of Window\7f1270946
-Node: Resizing Windows\7f1273199
-Node: Window Configurations\7f1278637
-Node: Frames\7f1282134
-Node: Creating Frames\7f1284475
-Node: Frame Properties\7f1285815
-Node: Property Access\7f1286631
-Node: Initial Properties\7f1287538
-Node: X Frame Properties\7f1290024
-Node: Size and Position\7f1294658
-Node: Frame Name\7f1296656
-Node: Frame Titles\7f1297570
-Node: Deleting Frames\7f1299394
-Node: Finding All Frames\7f1300369
-Node: Frames and Windows\7f1303597
-Node: Minibuffers and Frames\7f1306379
-Node: Input Focus\7f1307297
-Node: Visibility of Frames\7f1310402
-Node: Raising and Lowering\7f1312392
-Node: Frame Configurations\7f1314768
-Node: Frame Hooks\7f1315825
-Node: Consoles and Devices\7f1317630
-Node: Basic Console Functions\7f1320373
-Node: Basic Device Functions\7f1320796
-Node: Console Types and Device Classes\7f1321642
-Node: Connecting to a Console or Device\7f1323909
-Node: The Selected Console and Device\7f1326093
-Node: Console and Device I/O\7f1327119
-Node: Positions\7f1327883
-Node: Point\7f1328852
-Node: Motion\7f1331942
-Node: Character Motion\7f1332709
-Node: Word Motion\7f1334946
-Node: Buffer End Motion\7f1336336
-Node: Text Lines\7f1337873
-Node: Screen Lines\7f1342774
-Node: List Motion\7f1346837
-Node: Skipping Characters\7f1350320
-Node: Excursions\7f1352539
-Node: Narrowing\7f1355579
-Node: Markers\7f1360910
-Node: Overview of Markers\7f1361816
-Node: Predicates on Markers\7f1366508
-Node: Creating Markers\7f1367754
-Node: Information from Markers\7f1371954
-Node: Changing Markers\7f1373052
-Node: The Mark\7f1374580
-Node: The Region\7f1383083
-Node: Text\7f1388769
-Node: Near Point\7f1391468
-Node: Buffer Contents\7f1395655
-Node: Comparing Text\7f1397061
-Node: Insertion\7f1398469
-Node: Commands for Insertion\7f1402379
-Node: Deletion\7f1405273
-Node: User-Level Deletion\7f1408923
-Node: The Kill Ring\7f1413083
-Node: Kill Ring Concepts\7f1415257
-Node: Kill Functions\7f1416311
-Node: Yank Commands\7f1418234
-Node: Low-Level Kill Ring\7f1420105
-Node: Internals of Kill Ring\7f1423191
-Node: Undo\7f1425971
-Node: Maintaining Undo\7f1430308
-Node: Filling\7f1432926
-Node: Margins\7f1438920
-Node: Auto Filling\7f1442943
-Node: Sorting\7f1444124
-Node: Columns\7f1453438
-Node: Indentation\7f1456519
-Node: Primitive Indent\7f1457298
-Node: Mode-Specific Indent\7f1458623
-Node: Region Indent\7f1461155
-Node: Relative Indent\7f1464102
-Node: Indent Tabs\7f1466484
-Node: Motion by Indent\7f1467805
-Node: Case Changes\7f1468584
-Node: Text Properties\7f1471937
-Node: Examining Properties\7f1473750
-Node: Changing Properties\7f1475633
-Node: Property Search\7f1479224
-Node: Special Properties\7f1483943
-Node: Saving Properties\7f1484224
-Node: Substitution\7f1487366
-Node: Registers\7f1490636
-Node: Transposition\7f1493219
-Node: Change Hooks\7f1494113
-Node: Transformations\7f1496153
-Node: Searching and Matching\7f1501257
-Node: String Search\7f1502388
-Node: Regular Expressions\7f1507369
-Node: Syntax of Regexps\7f1508736
-Node: Regexp Example\7f1523339
-Node: Regexp Search\7f1525509
-Node: POSIX Regexps\7f1531846
-Node: Search and Replace\7f1533923
-Node: Match Data\7f1537288
-Node: Simple Match Data\7f1538418
-Node: Replacing Match\7f1542683
-Node: Entire Match Data\7f1545364
-Node: Saving Match Data\7f1547602
-Node: Searching and Case\7f1548990
-Node: Standard Regexps\7f1551024
-Node: Syntax Tables\7f1553222
-Node: Syntax Basics\7f1554336
-Node: Syntax Descriptors\7f1557308
-Node: Syntax Class Table\7f1559158
-Node: Syntax Flags\7f1565196
-Node: Syntax Table Functions\7f1568413
-Node: Motion and Syntax\7f1572701
-Node: Parsing Expressions\7f1574153
-Node: Standard Syntax Tables\7f1580251
-Node: Syntax Table Internals\7f1581095
-Node: Abbrevs\7f1582121
-Node: Abbrev Mode\7f1583925
-Node: Abbrev Tables\7f1584645
-Node: Defining Abbrevs\7f1586184
-Node: Abbrev Files\7f1588105
-Node: Abbrev Expansion\7f1589888
-Node: Standard Abbrev Tables\7f1594519
-Node: Extents\7f1595678
-Node: Intro to Extents\7f1596921
-Node: Creating and Modifying Extents\7f1600913
-Node: Extent Endpoints\7f1602494
-Node: Finding Extents\7f1605757
-Node: Mapping Over Extents\7f1609879
-Node: Extent Properties\7f1616002
-Node: Detached Extents\7f1626163
-Node: Extent Parents\7f1628022
-Node: Duplicable Extents\7f1629716
-Node: Extents and Events\7f1632937
-Node: Atomic Extents\7f1634844
-Node: Specifiers\7f1635291
-Node: Introduction to Specifiers\7f1637404
-Node: Specifiers In-Depth\7f1639714
-Node: Specifier Instancing\7f1644626
-Node: Specifier Types\7f1647888
-Node: Adding Specifications\7f1652962
-Node: Retrieving Specifications\7f1662383
-Node: Specifier Tag Functions\7f1666128
-Node: Specifier Instancing Functions\7f1669362
-Node: Specifier Example\7f1672769
-Node: Creating Specifiers\7f1675925
-Node: Specifier Validation Functions\7f1680242
-Node: Other Specification Functions\7f1682628
-Node: Faces and Window-System Objects\7f1686449
-Node: Faces\7f1686773
-Node: Merging Faces\7f1688390
-Node: Basic Face Functions\7f1690351
-Node: Face Properties\7f1692499
-Node: Face Convenience Functions\7f1702772
-Node: Other Face Display Functions\7f1705992
-Node: Fonts\7f1706804
-Node: Font Specifiers\7f1707505
-Node: Font Instances\7f1708690
-Node: Font Instance Names\7f1709657
-Node: Font Instance Size\7f1710498
-Node: Font Instance Characteristics\7f1711784
-Node: Font Convenience Functions\7f1712962
-Node: Colors\7f1714252
-Node: Color Specifiers\7f1714692
-Node: Color Instances\7f1717052
-Node: Color Instance Properties\7f1717796
-Node: Color Convenience Functions\7f1718422
-Node: Glyphs\7f1719475
-Node: Glyph Functions\7f1721076
-Node: Creating Glyphs\7f1721483
-Node: Glyph Properties\7f1734123
-Node: Glyph Convenience Functions\7f1743290
-Node: Glyph Dimensions\7f1747237
-Node: Images\7f1748317
-Node: Image Specifiers\7f1748766
-Node: Image Instantiator Conversion\7f1764257
-Node: Image Instances\7f1765622
-Node: Image Instance Types\7f1766373
-Node: Image Instance Functions\7f1769138
-Node: Glyph Types\7f1776195
-Node: Mouse Pointer\7f1777967
-Node: Redisplay Glyphs\7f1780970
-Node: Subwindows\7f1782003
-Node: Annotations\7f1782246
-Node: Annotation Basics\7f1783262
-Node: Annotation Primitives\7f1787200
-Node: Annotation Properties\7f1788539
-Node: Locating Annotations\7f1791579
-Node: Margin Primitives\7f1792416
-Node: Annotation Hooks\7f1794310
-Node: Display\7f1794970
-Node: Refresh Screen\7f1795948
-Node: Truncation\7f1798142
-Node: The Echo Area\7f1800667
-Node: Warnings\7f1807110
-Node: Invisible Text\7f1811546
-Node: Selective Display\7f1814125
-Node: Overlay Arrow\7f1818251
-Node: Temporary Displays\7f1819604
-Node: Blinking\7f1823725
-Node: Usual Display\7f1825909
-Node: Display Tables\7f1828458
-Node: Display Table Format\7f1829262
-Node: Active Display Table\7f1830704
-Node: Character Descriptors\7f1834699
-Node: Beeping\7f1835456
-Node: Hash Tables\7f1840222
-Node: Introduction to Hash Tables\7f1840830
-Node: Working With Hash Tables\7f1847389
-Node: Weak Hash Tables\7f1848506
-Node: Range Tables\7f1850523
-Node: Introduction to Range Tables\7f1851212
-Node: Working With Range Tables\7f1851658
-Node: Databases\7f1852617
-Node: Connecting to a Database\7f1852916
-Node: Working With a Database\7f1854023
-Node: Other Database Functions\7f1854897
-Node: Processes\7f1855466
-Node: Subprocess Creation\7f1857690
-Node: Synchronous Processes\7f1861141
-Node: MS-DOS Subprocesses\7f1867863
-Node: Asynchronous Processes\7f1868937
-Node: Deleting Processes\7f1873294
-Node: Process Information\7f1875165
-Node: Input to Processes\7f1879257
-Node: Signals to Processes\7f1881952
-Node: Output from Processes\7f1886767
-Node: Process Buffers\7f1887579
-Node: Filter Functions\7f1890458
-Node: Accepting Output\7f1896049
-Node: Sentinels\7f1897576
-Node: Process Window Size\7f1901066
-Node: Transaction Queues\7f1901415
-Node: Network\7f1903113
-Node: System Interface\7f1905747
-Node: Starting Up\7f1907017
-Node: Start-up Summary\7f1907611
-Node: Init File\7f1911165
-Node: Terminal-Specific\7f1913546
-Node: Command Line Arguments\7f1916705
-Node: Getting Out\7f1920194
-Node: Killing XEmacs\7f1920763
-Node: Suspending XEmacs\7f1922431
-Node: System Environment\7f1925810
-Node: User Identification\7f1931991
-Node: Time of Day\7f1935520
-Node: Time Conversion\7f1938307
-Node: Timers\7f1943549
-Node: Terminal Input\7f1945722
-Node: Input Modes\7f1946225
-Node: Translating Input\7f1948684
-Node: Recording Input\7f1952849
-Node: Terminal Output\7f1954949
-Node: Flow Control\7f1958570
-Node: Batch Mode\7f1962532
-Node: X-Windows\7f1963914
-Node: X Selections\7f1964785
-Node: X Server\7f1967536
-Node: Resources\7f1967987
-Node: Server Data\7f1973298
-Node: Grabs\7f1974505
-Node: X Miscellaneous\7f1976085
-Node: ToolTalk Support\7f1978470
-Node: XEmacs ToolTalk API Summary\7f1978687
-Node: Sending Messages\7f1979987
-Node: Example of Sending Messages\7f1980238
-Node: Elisp Interface for Sending Messages\7f1981300
-Node: Receiving Messages\7f1987896
-Node: Example of Receiving Messages\7f1988119
-Node: Elisp Interface for Receiving Messages\7f1988955
-Node: LDAP Support\7f1992812
-Node: Building XEmacs with LDAP support\7f1993306
-Node: XEmacs LDAP API\7f1994283
-Node: LDAP Variables\7f1995335
-Node: The High-Level LDAP API\7f1997935
-Node: The Low-Level LDAP API\7f2001408
-Node: The LDAP Lisp Object\7f2002239
-Node: Opening and Closing a LDAP Connection\7f2002794
-Node: Low-level Operations on a LDAP Server\7f2004600
-Node: LDAP Internationalization\7f2007324
-Node: LDAP Internationalization Variables\7f2008229
-Node: Encoder/Decoder Functions\7f2009960
-Node: Syntax of Search Filters\7f2010997
-Node: PostgreSQL Support\7f2012295
-Node: Building XEmacs with PostgreSQL support\7f2012690
-Node: XEmacs PostgreSQL libpq API\7f2014037
-Node: libpq Lisp Variables\7f2015916
-Node: libpq Lisp Symbols and DataTypes\7f2018880
-Node: Synchronous Interface Functions\7f2032120
-Node: Asynchronous Interface Functions\7f2036611
-Node: Large Object Support\7f2040116
-Node: Other libpq Functions\7f2040743
-Node: Unimplemented libpq Functions\7f2043778
-Node: XEmacs PostgreSQL libpq Examples\7f2049097
-Node: Internationalization\7f2055188
-Node: I18N Levels 1 and 2\7f2055531
-Node: I18N Level 3\7f2056237
-Node: Level 3 Basics\7f2056518
-Node: Level 3 Primitives\7f2057351
-Node: Dynamic Messaging\7f2058957
-Node: Domain Specification\7f2059420
-Node: Documentation String Extraction\7f2061090
-Node: I18N Level 4\7f2062008
-Node: MULE\7f2062200
-Node: Internationalization Terminology\7f2063249
-Node: Charsets\7f2075448
-Node: Charset Properties\7f2076144
-Node: Basic Charset Functions\7f2080859
-Node: Charset Property Functions\7f2083040
-Node: Predefined Charsets\7f2085110
-Node: MULE Characters\7f2088030
-Node: Composite Characters\7f2088905
-Node: Coding Systems\7f2090172
-Node: Coding System Types\7f2092312
-Node: ISO 2022\7f2096296
-Node: EOL Conversion\7f2108571
-Node: Coding System Properties\7f2109743
-Node: Basic Coding System Functions\7f2114066
-Node: Coding System Property Functions\7f2116100
-Node: Encoding and Decoding Text\7f2116658
-Node: Detection of Textual Encoding\7f2117794
-Node: Big5 and Shift-JIS Functions\7f2119330
-Node: Predefined Coding Systems\7f2120482
-Node: CCL\7f2132576
-Node: CCL Syntax\7f2135680
-Node: CCL Statements\7f2137256
-Node: CCL Expressions\7f2141904
-Node: Calling CCL\7f2144443
-Node: CCL Examples\7f2147448
-Node: Category Tables\7f2147585
-Node: Tips\7f2149944
-Node: Style Tips\7f2150585
-Node: Compilation Tips\7f2160104
-Node: Documentation Tips\7f2162018
-Node: Comment Tips\7f2167527
-Node: Library Headers\7f2170530
-Node: Building XEmacs and Object Allocation\7f2174502
-Node: Building XEmacs\7f2175385
-Node: Pure Storage\7f2181963
-Node: Garbage Collection\7f2184751
-Node: Standard Errors\7f2195594
-Node: Standard Buffer-Local Variables\7f2199803
-Node: Standard Keymaps\7f2202438
-Node: Standard Hooks\7f2206172
-Node: Index\7f2213672
+Node: Forms\7f341450
+Node: Self-Evaluating Forms\7f342609
+Node: Symbol Forms\7f344122
+Node: Classifying Lists\7f345039
+Node: Function Indirection\7f345795
+Node: Function Forms\7f348894
+Node: Macro Forms\7f349891
+Node: Special Forms\7f351491
+Node: Autoloading\7f353800
+Node: Quoting\7f354298
+Node: Control Structures\7f355659
+Node: Sequencing\7f357279
+Node: Conditionals\7f360144
+Node: Combining Conditions\7f363567
+Node: Iteration\7f366837
+Node: Nonlocal Exits\7f368616
+Node: Catch and Throw\7f369318
+Node: Examples of Catch\7f373157
+Node: Errors\7f375176
+Node: Signaling Errors\7f376665
+Node: Processing of Errors\7f385412
+Node: Handling Errors\7f387691
+Node: Error Symbols\7f394932
+Node: Cleanups\7f398888
+Node: Variables\7f402666
+Node: Global Variables\7f404435
+Node: Constant Variables\7f405511
+Node: Local Variables\7f406137
+Node: Void Variables\7f411075
+Node: Defining Variables\7f414591
+Node: Accessing Variables\7f421755
+Node: Setting Variables\7f423180
+Node: Variable Scoping\7f427699
+Node: Scope\7f429298
+Node: Extent\7f430823
+Node: Impl of Scope\7f432302
+Node: Using Scoping\7f434265
+Node: Buffer-Local Variables\7f435787
+Node: Intro to Buffer-Local\7f436623
+Node: Creating Buffer-Local\7f439166
+Node: Default Value\7f445065
+Node: Variable Aliases\7f448208
+Node: Functions\7f450059
+Node: What Is a Function\7f451153
+Node: Lambda Expressions\7f455199
+Node: Lambda Components\7f456109
+Node: Simple Lambda\7f457941
+Node: Argument List\7f459598
+Node: Function Documentation\7f463326
+Node: Function Names\7f465268
+Node: Defining Functions\7f467841
+Node: Calling Functions\7f470881
+Node: Mapping Functions\7f474729
+Node: Anonymous Functions\7f477417
+Node: Function Cells\7f480662
+Node: Inline Functions\7f485480
+Node: Related Topics\7f487290
+Node: Macros\7f488343
+Node: Simple Macro\7f489627
+Node: Expansion\7f490362
+Node: Compiling Macros\7f493366
+Node: Defining Macros\7f495202
+Node: Backquote\7f496519
+Node: Problems with Macros\7f498916
+Node: Argument Evaluation\7f499611
+Node: Surprising Local Vars\7f502526
+Node: Eval During Expansion\7f504594
+Node: Repeated Expansion\7f506287
+Node: Customization\7f508203
+Node: Common Keywords\7f508672
+Node: Group Definitions\7f511517
+Node: Variable Definitions\7f513709
+Node: Customization Types\7f518699
+Node: Simple Types\7f520134
+Node: Composite Types\7f522291
+Node: Splicing into Lists\7f526981
+Node: Type Keywords\7f528816
+Node: Loading\7f532336
+Node: How Programs Do Loading\7f534011
+Node: Autoload\7f543137
+Node: Repeated Loading\7f549207
+Node: Named Features\7f551320
+Node: Unloading\7f557750
+Node: Hooks for Loading\7f559906
+Node: Byte Compilation\7f560623
+Node: Speed of Byte-Code\7f562616
+Node: Compilation Functions\7f563823
+Node: Docs and Compilation\7f570480
+Node: Dynamic Loading\7f573133
+Node: Eval During Compile\7f575497
+Node: Compiled-Function Objects\7f576762
+Node: Disassembly\7f581563
+Node: Different Behavior\7f588844
+Node: Debugging\7f590189
+Node: Debugger\7f591601
+Node: Error Debugging\7f592746
+Node: Infinite Loops\7f595499
+Node: Function Debugging\7f596743
+Node: Explicit Debug\7f599543
+Node: Using Debugger\7f600314
+Node: Debugger Commands\7f602176
+Node: Invoking the Debugger\7f606493
+Node: Internals of Debugger\7f610408
+Node: Syntax Errors\7f615295
+Node: Excess Open\7f616543
+Node: Excess Close\7f618418
+Node: Compilation Errors\7f619839
+Node: Edebug\7f621127
+Node: Using Edebug\7f623235
+Node: Instrumenting\7f625932
+Node: Edebug Execution Modes\7f629421
+Node: Jumping\7f632531
+Node: Edebug Misc\7f634874
+Node: Breakpoints\7f636263
+Node: Global Break Condition\7f639069
+Node: Embedded Breakpoints\7f640024
+Node: Trapping Errors\7f640979
+Node: Edebug Views\7f643055
+Node: Edebug Eval\7f645020
+Node: Eval List\7f646197
+Node: Reading in Edebug\7f649582
+Node: Printing in Edebug\7f650381
+Node: Tracing\7f652096
+Node: Coverage Testing\7f653984
+Node: The Outside Context\7f656025
+Node: Checking Whether to Stop\7f656974
+Node: Edebug Display Update\7f657621
+Node: Edebug Recursive Edit\7f659644
+Node: Instrumenting Macro Calls\7f661299
+Node: Specification List\7f663781
+Node: Backtracking\7f673192
+Node: Debugging Backquote\7f675130
+Node: Specification Examples\7f678836
+Node: Edebug Options\7f680903
+Node: Read and Print\7f686242
+Node: Streams Intro\7f687219
+Node: Input Streams\7f689237
+Node: Input Functions\7f694138
+Node: Output Streams\7f696198
+Node: Output Functions\7f700249
+Node: Output Variables\7f704549
+Node: Minibuffers\7f709350
+Node: Intro to Minibuffers\7f710502
+Node: Text from Minibuffer\7f712690
+Node: Object from Minibuffer\7f717784
+Node: Minibuffer History\7f721877
+Node: Completion\7f724856
+Node: Basic Completion\7f726831
+Node: Minibuffer Completion\7f731714
+Node: Completion Commands\7f735291
+Node: High-Level Completion\7f739948
+Node: Reading File Names\7f744697
+Node: Programmed Completion\7f748389
+Node: Yes-or-No Queries\7f750771
+Node: Multiple Queries\7f756508
+Node: Reading a Password\7f760575
+Node: Minibuffer Misc\7f761918
+Node: Command Loop\7f766798
+Node: Command Overview\7f768142
+Node: Defining Commands\7f771420
+Node: Using Interactive\7f772168
+Node: Interactive Codes\7f776941
+Node: Interactive Examples\7f782733
+Node: Interactive Call\7f784047
+Node: Command Loop Info\7f789462
+Node: Events\7f794441
+Node: Event Types\7f795902
+Node: Event Contents\7f797825
+Node: Event Predicates\7f802301
+Node: Accessing Mouse Event Positions\7f803619
+Node: Frame-Level Event Position Info\7f804318
+Node: Window-Level Event Position Info\7f805358
+Node: Event Text Position Info\7f807122
+Node: Event Glyph Position Info\7f809614
+Node: Event Toolbar Position Info\7f810937
+Node: Other Event Position Info\7f811608
+Node: Accessing Other Event Info\7f812017
+Node: Working With Events\7f813637
+Node: Converting Events\7f819638
+Node: Reading Input\7f823037
+Node: Key Sequence Input\7f824039
+Node: Reading One Event\7f826674
+Node: Dispatching an Event\7f829498
+Node: Quoted Character Input\7f829949
+Node: Peeking and Discarding\7f831297
+Node: Waiting\7f835201
+Node: Quitting\7f837515
+Node: Prefix Command Arguments\7f841923
+Node: Recursive Editing\7f847010
+Node: Disabling Commands\7f851805
+Node: Command History\7f853873
+Node: Keyboard Macros\7f855610
+Node: Keymaps\7f857827
+Node: Keymap Terminology\7f859404
+Node: Format of Keymaps\7f862333
+Node: Creating Keymaps\7f862744
+Node: Inheritance and Keymaps\7f864824
+Node: Key Sequences\7f867196
+Node: Prefix Keys\7f871992
+Node: Active Keymaps\7f875577
+Node: Key Lookup\7f884948
+Node: Functions for Key Lookup\7f890111
+Node: Changing Key Bindings\7f895812
+Node: Key Binding Commands\7f902974
+Node: Scanning Keymaps\7f905039
+Node: Other Keymap Functions\7f913608
+Node: Menus\7f914230
+Node: Menu Format\7f914822
+Node: Menubar Format\7f923468
+Node: Menubar\7f924093
+Node: Modifying Menus\7f927206
+Node: Menu Filters\7f932550
+Node: Pop-Up Menus\7f934446
+Node: Menu Accelerators\7f936774
+Node: Creating Menu Accelerators\7f937530
+Node: Keyboard Menu Traversal\7f938890
+Node: Menu Accelerator Functions\7f939617
+Node: Buffers Menu\7f942693
+Node: Dialog Boxes\7f943987
+Node: Dialog Box Format\7f944154
+Node: Dialog Box Functions\7f945579
+Node: Toolbar\7f945976
+Node: Toolbar Intro\7f946411
+Node: Creating Toolbar\7f948811
+Node: Toolbar Descriptor Format\7f949728
+Node: Specifying the Toolbar\7f954225
+Node: Other Toolbar Variables\7f957832
+Node: Gutter\7f962260
+Node: Gutter Intro\7f962849
+Node: Creating Gutter\7f964852
+Node: Gutter Descriptor Format\7f967739
+Node: Specifying a Gutter\7f972196
+Node: Other Gutter Variables\7f975731
+Node: Common Gutter Widgets\7f980118
+Node: Buffer Tabs\7f981110
+Node: Progress Bars\7f981251
+Node: Scrollbars\7f981396
+Node: Drag and Drop\7f981531
+Node: Supported Protocols\7f982607
+Node: OffiX DND\7f983110
+Node: CDE dt\7f984117
+Node: MSWindows OLE\7f984708
+Node: Loose ends\7f984879
+Node: Drop Interface\7f985271
+Node: Drag Interface\7f986293
+Node: Modes\7f986467
+Node: Major Modes\7f987418
+Node: Major Mode Conventions\7f990333
+Node: Example Major Modes\7f996288
+Node: Auto Major Mode\7f1004321
+Node: Mode Help\7f1011771
+Node: Derived Modes\7f1012872
+Node: Minor Modes\7f1015063
+Node: Minor Mode Conventions\7f1016365
+Node: Keymaps and Minor Modes\7f1019228
+Node: Modeline Format\7f1020063
+Node: Modeline Data\7f1021831
+Node: Modeline Variables\7f1026984
+Node: %-Constructs\7f1031700
+Node: Hooks\7f1034687
+Node: Documentation\7f1041447
+Node: Documentation Basics\7f1042870
+Node: Accessing Documentation\7f1045921
+Node: Keys in Documentation\7f1052202
+Node: Describing Characters\7f1055685
+Node: Help Functions\7f1058034
+Node: Obsoleteness\7f1064484
+Node: Files\7f1067476
+Node: Visiting Files\7f1069401
+Node: Visiting Functions\7f1070906
+Node: Subroutines of Visiting\7f1076064
+Node: Saving Buffers\7f1078137
+Node: Reading from Files\7f1084230
+Node: Writing to Files\7f1086391
+Node: File Locks\7f1089108
+Node: Information about Files\7f1092175
+Node: Testing Accessibility\7f1092936
+Node: Kinds of Files\7f1096676
+Node: Truenames\7f1098357
+Node: File Attributes\7f1099359
+Node: Changing File Attributes\7f1104498
+Node: File Names\7f1109920
+Node: File Name Components\7f1111493
+Node: Directory Names\7f1113938
+Node: Relative File Names\7f1117168
+Node: File Name Expansion\7f1118138
+Node: Unique File Names\7f1121892
+Node: File Name Completion\7f1123507
+Node: User Name Completion\7f1126775
+Node: Contents of Directories\7f1128182
+Node: Create/Delete Dirs\7f1131495
+Node: Magic File Names\7f1132601
+Node: Partial Files\7f1138249
+Node: Intro to Partial Files\7f1138477
+Node: Creating a Partial File\7f1139717
+Node: Detached Partial Files\7f1140653
+Node: Format Conversion\7f1141775
+Node: Files and MS-DOS\7f1147273
+Node: Backups and Auto-Saving\7f1149337
+Node: Backup Files\7f1150012
+Node: Making Backups\7f1151409
+Node: Rename or Copy\7f1154158
+Node: Numbered Backups\7f1156651
+Node: Backup Names\7f1158886
+Node: Auto-Saving\7f1162178
+Node: Reverting\7f1170340
+Node: Buffers\7f1173676
+Node: Buffer Basics\7f1175092
+Node: Current Buffer\7f1177145
+Node: Buffer Names\7f1181849
+Node: Buffer File Name\7f1185056
+Node: Buffer Modification\7f1189175
+Node: Modification Time\7f1191418
+Node: Read Only Buffers\7f1194793
+Node: The Buffer List\7f1198032
+Node: Creating Buffers\7f1202849
+Node: Killing Buffers\7f1204995
+Node: Indirect Buffers\7f1208827
+Node: Windows\7f1211401
+Node: Basic Windows\7f1212879
+Node: Splitting Windows\7f1215977
+Node: Deleting Windows\7f1221303
+Node: Selecting Windows\7f1225221
+Node: Cyclic Window Ordering\7f1229444
+Node: Buffers and Windows\7f1234599
+Node: Displaying Buffers\7f1236377
+Node: Choosing Window\7f1241716
+Node: Window Point\7f1249634
+Node: Window Start\7f1251704
+Node: Vertical Scrolling\7f1256503
+Node: Horizontal Scrolling\7f1262701
+Node: Size of Window\7f1266230
+Node: Position of Window\7f1270948
+Node: Resizing Windows\7f1273201
+Node: Window Configurations\7f1278639
+Node: Frames\7f1282136
+Node: Creating Frames\7f1284477
+Node: Frame Properties\7f1285817
+Node: Property Access\7f1286633
+Node: Initial Properties\7f1287540
+Node: X Frame Properties\7f1290026
+Node: Size and Position\7f1294660
+Node: Frame Name\7f1296658
+Node: Frame Titles\7f1297572
+Node: Deleting Frames\7f1299396
+Node: Finding All Frames\7f1300371
+Node: Frames and Windows\7f1303599
+Node: Minibuffers and Frames\7f1306381
+Node: Input Focus\7f1307299
+Node: Visibility of Frames\7f1310404
+Node: Raising and Lowering\7f1312394
+Node: Frame Configurations\7f1314770
+Node: Frame Hooks\7f1315827
+Node: Consoles and Devices\7f1317632
+Node: Basic Console Functions\7f1320375
+Node: Basic Device Functions\7f1320798
+Node: Console Types and Device Classes\7f1321644
+Node: Connecting to a Console or Device\7f1323911
+Node: The Selected Console and Device\7f1326095
+Node: Console and Device I/O\7f1327121
+Node: Positions\7f1327885
+Node: Point\7f1328854
+Node: Motion\7f1331944
+Node: Character Motion\7f1332711
+Node: Word Motion\7f1334948
+Node: Buffer End Motion\7f1336338
+Node: Text Lines\7f1337875
+Node: Screen Lines\7f1342776
+Node: List Motion\7f1346839
+Node: Skipping Characters\7f1350322
+Node: Excursions\7f1352541
+Node: Narrowing\7f1355581
+Node: Markers\7f1360912
+Node: Overview of Markers\7f1361818
+Node: Predicates on Markers\7f1366510
+Node: Creating Markers\7f1367756
+Node: Information from Markers\7f1371956
+Node: Changing Markers\7f1373054
+Node: The Mark\7f1374582
+Node: The Region\7f1383085
+Node: Text\7f1388771
+Node: Near Point\7f1391470
+Node: Buffer Contents\7f1395657
+Node: Comparing Text\7f1397063
+Node: Insertion\7f1398471
+Node: Commands for Insertion\7f1402381
+Node: Deletion\7f1405275
+Node: User-Level Deletion\7f1408925
+Node: The Kill Ring\7f1413085
+Node: Kill Ring Concepts\7f1415259
+Node: Kill Functions\7f1416313
+Node: Yank Commands\7f1418236
+Node: Low-Level Kill Ring\7f1420107
+Node: Internals of Kill Ring\7f1423193
+Node: Undo\7f1425973
+Node: Maintaining Undo\7f1430310
+Node: Filling\7f1432928
+Node: Margins\7f1438922
+Node: Auto Filling\7f1442945
+Node: Sorting\7f1444126
+Node: Columns\7f1453440
+Node: Indentation\7f1456521
+Node: Primitive Indent\7f1457300
+Node: Mode-Specific Indent\7f1458625
+Node: Region Indent\7f1461157
+Node: Relative Indent\7f1464104
+Node: Indent Tabs\7f1466486
+Node: Motion by Indent\7f1467807
+Node: Case Changes\7f1468586
+Node: Text Properties\7f1471939
+Node: Examining Properties\7f1473752
+Node: Changing Properties\7f1475635
+Node: Property Search\7f1479226
+Node: Special Properties\7f1483945
+Node: Saving Properties\7f1484226
+Node: Substitution\7f1487368
+Node: Registers\7f1490638
+Node: Transposition\7f1493221
+Node: Change Hooks\7f1494115
+Node: Transformations\7f1496155
+Node: Searching and Matching\7f1501259
+Node: String Search\7f1502390
+Node: Regular Expressions\7f1507371
+Node: Syntax of Regexps\7f1508738
+Node: Regexp Example\7f1523341
+Node: Regexp Search\7f1525511
+Node: POSIX Regexps\7f1531848
+Node: Search and Replace\7f1533925
+Node: Match Data\7f1537290
+Node: Simple Match Data\7f1538420
+Node: Replacing Match\7f1542685
+Node: Entire Match Data\7f1545366
+Node: Saving Match Data\7f1547604
+Node: Searching and Case\7f1548992
+Node: Standard Regexps\7f1551026
+Node: Syntax Tables\7f1553224
+Node: Syntax Basics\7f1554338
+Node: Syntax Descriptors\7f1557310
+Node: Syntax Class Table\7f1559160
+Node: Syntax Flags\7f1565198
+Node: Syntax Table Functions\7f1568415
+Node: Motion and Syntax\7f1572703
+Node: Parsing Expressions\7f1574155
+Node: Standard Syntax Tables\7f1580253
+Node: Syntax Table Internals\7f1581097
+Node: Abbrevs\7f1582123
+Node: Abbrev Mode\7f1583927
+Node: Abbrev Tables\7f1584647
+Node: Defining Abbrevs\7f1586186
+Node: Abbrev Files\7f1588107
+Node: Abbrev Expansion\7f1589890
+Node: Standard Abbrev Tables\7f1594521
+Node: Extents\7f1595680
+Node: Intro to Extents\7f1596923
+Node: Creating and Modifying Extents\7f1600915
+Node: Extent Endpoints\7f1602496
+Node: Finding Extents\7f1605759
+Node: Mapping Over Extents\7f1609881
+Node: Extent Properties\7f1616004
+Node: Detached Extents\7f1626165
+Node: Extent Parents\7f1628024
+Node: Duplicable Extents\7f1629718
+Node: Extents and Events\7f1632939
+Node: Atomic Extents\7f1634846
+Node: Specifiers\7f1635293
+Node: Introduction to Specifiers\7f1637406
+Node: Specifiers In-Depth\7f1639716
+Node: Specifier Instancing\7f1644628
+Node: Specifier Types\7f1647890
+Node: Adding Specifications\7f1652964
+Node: Retrieving Specifications\7f1662385
+Node: Specifier Tag Functions\7f1666130
+Node: Specifier Instancing Functions\7f1669364
+Node: Specifier Example\7f1672771
+Node: Creating Specifiers\7f1675927
+Node: Specifier Validation Functions\7f1680244
+Node: Other Specification Functions\7f1682630
+Node: Faces and Window-System Objects\7f1686451
+Node: Faces\7f1686775
+Node: Merging Faces\7f1688392
+Node: Basic Face Functions\7f1690353
+Node: Face Properties\7f1692501
+Node: Face Convenience Functions\7f1702774
+Node: Other Face Display Functions\7f1705994
+Node: Fonts\7f1706806
+Node: Font Specifiers\7f1707507
+Node: Font Instances\7f1708692
+Node: Font Instance Names\7f1709659
+Node: Font Instance Size\7f1710500
+Node: Font Instance Characteristics\7f1711786
+Node: Font Convenience Functions\7f1712964
+Node: Colors\7f1714254
+Node: Color Specifiers\7f1714694
+Node: Color Instances\7f1717054
+Node: Color Instance Properties\7f1717798
+Node: Color Convenience Functions\7f1718424
+Node: Glyphs\7f1719477
+Node: Glyph Functions\7f1721078
+Node: Creating Glyphs\7f1721485
+Node: Glyph Properties\7f1734125
+Node: Glyph Convenience Functions\7f1743292
+Node: Glyph Dimensions\7f1747239
+Node: Images\7f1748319
+Node: Image Specifiers\7f1748768
+Node: Image Instantiator Conversion\7f1764259
+Node: Image Instances\7f1765624
+Node: Image Instance Types\7f1766375
+Node: Image Instance Functions\7f1769140
+Node: Glyph Types\7f1776197
+Node: Mouse Pointer\7f1777969
+Node: Redisplay Glyphs\7f1780972
+Node: Subwindows\7f1782005
+Node: Annotations\7f1782248
+Node: Annotation Basics\7f1783264
+Node: Annotation Primitives\7f1787202
+Node: Annotation Properties\7f1788541
+Node: Locating Annotations\7f1791581
+Node: Margin Primitives\7f1792418
+Node: Annotation Hooks\7f1794312
+Node: Display\7f1794972
+Node: Refresh Screen\7f1795950
+Node: Truncation\7f1798144
+Node: The Echo Area\7f1800669
+Node: Warnings\7f1807112
+Node: Invisible Text\7f1811548
+Node: Selective Display\7f1814127
+Node: Overlay Arrow\7f1818253
+Node: Temporary Displays\7f1819606
+Node: Blinking\7f1823727
+Node: Usual Display\7f1825911
+Node: Display Tables\7f1828460
+Node: Display Table Format\7f1829264
+Node: Active Display Table\7f1830706
+Node: Character Descriptors\7f1834701
+Node: Beeping\7f1835458
+Node: Hash Tables\7f1840224
+Node: Introduction to Hash Tables\7f1840832
+Node: Working With Hash Tables\7f1847391
+Node: Weak Hash Tables\7f1848508
+Node: Range Tables\7f1850525
+Node: Introduction to Range Tables\7f1851214
+Node: Working With Range Tables\7f1851660
+Node: Databases\7f1852619
+Node: Connecting to a Database\7f1852918
+Node: Working With a Database\7f1854025
+Node: Other Database Functions\7f1854899
+Node: Processes\7f1855468
+Node: Subprocess Creation\7f1857692
+Node: Synchronous Processes\7f1861143
+Node: MS-DOS Subprocesses\7f1867865
+Node: Asynchronous Processes\7f1868939
+Node: Deleting Processes\7f1873296
+Node: Process Information\7f1875167
+Node: Input to Processes\7f1879259
+Node: Signals to Processes\7f1881954
+Node: Output from Processes\7f1886769
+Node: Process Buffers\7f1887581
+Node: Filter Functions\7f1890460
+Node: Accepting Output\7f1896051
+Node: Sentinels\7f1897578
+Node: Process Window Size\7f1901068
+Node: Transaction Queues\7f1901417
+Node: Network\7f1903115
+Node: System Interface\7f1905749
+Node: Starting Up\7f1907019
+Node: Start-up Summary\7f1907613
+Node: Init File\7f1911167
+Node: Terminal-Specific\7f1913548
+Node: Command Line Arguments\7f1916707
+Node: Getting Out\7f1920196
+Node: Killing XEmacs\7f1920765
+Node: Suspending XEmacs\7f1922433
+Node: System Environment\7f1925812
+Node: User Identification\7f1931993
+Node: Time of Day\7f1935522
+Node: Time Conversion\7f1938309
+Node: Timers\7f1943551
+Node: Terminal Input\7f1945724
+Node: Input Modes\7f1946227
+Node: Translating Input\7f1948686
+Node: Recording Input\7f1952851
+Node: Terminal Output\7f1954951
+Node: Flow Control\7f1958572
+Node: Batch Mode\7f1962534
+Node: X-Windows\7f1963916
+Node: X Selections\7f1964787
+Node: X Server\7f1967538
+Node: Resources\7f1967989
+Node: Server Data\7f1973300
+Node: Grabs\7f1974507
+Node: X Miscellaneous\7f1976087
+Node: ToolTalk Support\7f1978472
+Node: XEmacs ToolTalk API Summary\7f1978689
+Node: Sending Messages\7f1979989
+Node: Example of Sending Messages\7f1980240
+Node: Elisp Interface for Sending Messages\7f1981302
+Node: Receiving Messages\7f1987898
+Node: Example of Receiving Messages\7f1988121
+Node: Elisp Interface for Receiving Messages\7f1988957
+Node: LDAP Support\7f1992814
+Node: Building XEmacs with LDAP support\7f1993308
+Node: XEmacs LDAP API\7f1994285
+Node: LDAP Variables\7f1995337
+Node: The High-Level LDAP API\7f1997937
+Node: The Low-Level LDAP API\7f2001410
+Node: The LDAP Lisp Object\7f2002241
+Node: Opening and Closing a LDAP Connection\7f2002796
+Node: Low-level Operations on a LDAP Server\7f2004602
+Node: LDAP Internationalization\7f2007326
+Node: LDAP Internationalization Variables\7f2008231
+Node: Encoder/Decoder Functions\7f2009962
+Node: Syntax of Search Filters\7f2010999
+Node: PostgreSQL Support\7f2012297
+Node: Building XEmacs with PostgreSQL support\7f2012692
+Node: XEmacs PostgreSQL libpq API\7f2014039
+Node: libpq Lisp Variables\7f2015918
+Node: libpq Lisp Symbols and DataTypes\7f2018882
+Node: Synchronous Interface Functions\7f2032122
+Node: Asynchronous Interface Functions\7f2036613
+Node: Large Object Support\7f2040118
+Node: Other libpq Functions\7f2040745
+Node: Unimplemented libpq Functions\7f2043780
+Node: XEmacs PostgreSQL libpq Examples\7f2049099
+Node: Internationalization\7f2055190
+Node: I18N Levels 1 and 2\7f2055533
+Node: I18N Level 3\7f2056239
+Node: Level 3 Basics\7f2056520
+Node: Level 3 Primitives\7f2057353
+Node: Dynamic Messaging\7f2058959
+Node: Domain Specification\7f2059422
+Node: Documentation String Extraction\7f2061092
+Node: I18N Level 4\7f2062010
+Node: MULE\7f2062202
+Node: Internationalization Terminology\7f2063251
+Node: Charsets\7f2075450
+Node: Charset Properties\7f2076146
+Node: Basic Charset Functions\7f2080861
+Node: Charset Property Functions\7f2083042
+Node: Predefined Charsets\7f2085112
+Node: MULE Characters\7f2088032
+Node: Composite Characters\7f2088907
+Node: Coding Systems\7f2090174
+Node: Coding System Types\7f2092314
+Node: ISO 2022\7f2096298
+Node: EOL Conversion\7f2108573
+Node: Coding System Properties\7f2109745
+Node: Basic Coding System Functions\7f2114068
+Node: Coding System Property Functions\7f2116102
+Node: Encoding and Decoding Text\7f2116660
+Node: Detection of Textual Encoding\7f2117796
+Node: Big5 and Shift-JIS Functions\7f2119332
+Node: Predefined Coding Systems\7f2120484
+Node: CCL\7f2132578
+Node: CCL Syntax\7f2135682
+Node: CCL Statements\7f2137258
+Node: CCL Expressions\7f2141906
+Node: Calling CCL\7f2144445
+Node: CCL Examples\7f2147450
+Node: Category Tables\7f2147587
+Node: Tips\7f2149946
+Node: Style Tips\7f2150587
+Node: Compilation Tips\7f2160106
+Node: Documentation Tips\7f2162020
+Node: Comment Tips\7f2167529
+Node: Library Headers\7f2170532
+Node: Building XEmacs and Object Allocation\7f2174504
+Node: Building XEmacs\7f2175387
+Node: Pure Storage\7f2181965
+Node: Garbage Collection\7f2184753
+Node: Standard Errors\7f2195596
+Node: Standard Buffer-Local Variables\7f2199805
+Node: Standard Keymaps\7f2202440
+Node: Standard Hooks\7f2206174
+Node: Index\7f2213674
\1f
End Tag Table
This limit, with the associated error when it is exceeded, is one
way that Lisp avoids infinite recursion on an ill-defined function.
- The default value of this variable is 500. If you set it to a
+ The default value of this variable is 1000. If you set it to a
value less than 100, Lisp will reset it to 100 if the given value
is reached.
This limit, with the associated error when it is exceeded, is one
way that Lisp avoids infinite recursion on an ill-defined function.
- The default value is 600.
+ The default value is 3000.
`max-lisp-eval-depth' provides another limit on depth of nesting.
*Note Eval::.
\1f
Indirect:
xemacs.info-1: 1350
-xemacs.info-2: 48996
-xemacs.info-3: 96978
-xemacs.info-4: 146218
-xemacs.info-5: 195369
-xemacs.info-6: 243029
-xemacs.info-7: 283112
-xemacs.info-8: 333075
-xemacs.info-9: 380545
-xemacs.info-10: 429063
-xemacs.info-11: 476887
-xemacs.info-12: 526058
-xemacs.info-13: 575241
-xemacs.info-14: 624318
-xemacs.info-15: 673698
-xemacs.info-16: 723565
-xemacs.info-17: 772201
-xemacs.info-18: 820896
-xemacs.info-19: 869813
-xemacs.info-20: 915996
-xemacs.info-21: 965400
-xemacs.info-22: 1007986
+xemacs.info-2: 49148
+xemacs.info-3: 97130
+xemacs.info-4: 146370
+xemacs.info-5: 195521
+xemacs.info-6: 243181
+xemacs.info-7: 283264
+xemacs.info-8: 333227
+xemacs.info-9: 380697
+xemacs.info-10: 429215
+xemacs.info-11: 477039
+xemacs.info-12: 526210
+xemacs.info-13: 575703
+xemacs.info-14: 620082
+xemacs.info-15: 669514
+xemacs.info-16: 718919
+xemacs.info-17: 768596
+xemacs.info-18: 816849
+xemacs.info-19: 866480
+xemacs.info-20: 891467
+xemacs.info-21: 923121
+xemacs.info-22: 972525
+xemacs.info-23: 1015111
\1f
Tag Table:
(Indirect)
Node: Top\7f1350
-Node: License\7f22790
-Node: Distrib\7f36072
-Node: Intro\7f37736
-Node: Frame\7f40607
-Node: Point\7f44652
-Node: Echo Area\7f46619
-Node: Mode Line\7f48996
-Node: GUI Components\7f53427
-Node: Menubar Basics\7f54708
-Node: Scrollbar Basics\7f56624
-Node: Mode Line Basics\7f57517
-Node: Toolbar Basics\7f58349
-Node: Gutter Basics\7f59016
-Node: Inhibiting\7f61070
-Node: Customizing\7f63441
-Node: XEmacs under X\7f63690
-Node: XEmacs under MS Windows\7f66904
-Node: Keystrokes\7f67319
-Node: Intro to Keystrokes\7f68163
-Node: Representing Keystrokes\7f70266
-Node: Key Sequences\7f71623
-Node: String Key Sequences\7f74964
-Node: Meta Key\7f75347
-Node: Super and Hyper Keys\7f76820
-Node: Character Representation\7f83065
-Node: Commands\7f84085
-Node: Pull-down Menus\7f86934
-Node: File Menu\7f90283
-Node: Edit Menu\7f94105
-Node: Apps Menu\7f96488
-Node: Options Menu\7f96978
-Node: Buffers Menu\7f100996
-Node: Tools Menu\7f101303
-Node: Help Menu\7f101794
-Node: Menu Customization\7f102195
-Node: Entering Emacs\7f106425
-Node: Exiting\7f109322
-Node: Command Switches\7f113795
-Node: Startup Paths\7f123817
-Node: Basic\7f131147
-Node: Inserting Text\7f132551
-Node: Moving Point\7f135547
-Node: Erasing\7f139153
-Node: Basic Files\7f140458
-Node: Basic Help\7f142380
-Node: Blank Lines\7f142975
-Node: Continuation Lines\7f144551
-Node: Position Info\7f146218
-Node: Arguments\7f149634
-Node: Undo\7f153733
-Node: Minibuffer\7f156680
-Node: Minibuffer File\7f159290
-Node: Minibuffer Edit\7f161095
-Node: Completion\7f164036
-Node: Completion Example\7f165967
-Node: Completion Commands\7f167062
-Node: Strict Completion\7f170038
-Node: Completion Options\7f171819
-Node: Minibuffer History\7f173327
-Node: Repetition\7f176511
-Node: M-x\7f179356
-Node: Help\7f184450
-Node: Help Summary\7f185860
-Node: Key Help\7f188646
-Node: Name Help\7f189605
-Node: Apropos\7f192250
-Node: Library Keywords\7f195369
-Node: Help Mode\7f197690
-Node: Misc Help\7f198187
-Node: Mark\7f201335
-Node: Setting Mark\7f203189
-Node: Using Region\7f206311
-Node: Marking Objects\7f207048
-Node: Mark Ring\7f208886
-Node: Mouse Selection\7f210602
-Node: Additional Mouse Operations\7f212609
-Node: Killing\7f216813
-Node: Yanking\7f222449
-Node: Kill Ring\7f223252
-Node: Appending Kills\7f224854
-Node: Earlier Kills\7f226891
-Node: Using X Selections\7f229504
-Node: X Clipboard Selection\7f230754
-Node: X Selection Commands\7f232931
-Node: X Cut Buffers\7f234017
-Node: Active Regions\7f235376
-Node: Accumulating Text\7f239956
-Node: Rectangles\7f243029
-Node: Registers\7f246548
-Node: RegPos\7f248002
-Node: RegText\7f249158
-Node: RegRect\7f250264
-Node: RegConfig\7f251143
-Node: RegNumbers\7f252083
-Node: RegFiles\7f252801
-Node: Bookmarks\7f253459
-Node: Display\7f256831
-Node: Scrolling\7f258326
-Node: Horizontal Scrolling\7f262469
-Node: Selective Display\7f263664
-Node: Display Vars\7f264883
-Node: Search\7f267561
-Node: Incremental Search\7f268754
-Node: Non-Incremental Search\7f277682
-Node: Word Search\7f279124
-Node: Regexp Search\7f280742
-Node: Regexps\7f283112
-Node: Search Case\7f297109
-Node: Replace\7f297890
-Node: Unconditional Replace\7f298838
-Node: Regexp Replace\7f299973
-Node: Replacement and Case\7f300908
-Node: Query Replace\7f301888
-Node: Other Repeating Search\7f305115
-Node: Fixit\7f306370
-Node: Kill Errors\7f306950
-Node: Transpose\7f308283
-Node: Fixing Case\7f310687
-Node: Spelling\7f311333
-Node: Files\7f312794
-Node: File Names\7f314104
-Node: Visiting\7f318441
-Node: Saving\7f325273
-Node: Backup\7f330196
-Node: Backup Names\7f331592
-Node: Backup Deletion\7f333075
-Node: Backup Copying\7f334225
-Node: Interlocking\7f335931
-Node: Reverting\7f340059
-Node: Auto Save\7f341971
-Node: Auto Save Files\7f342938
-Node: Auto Save Control\7f344779
-Node: Recover\7f346617
-Node: Version Control\7f347772
-Node: Concepts of VC\7f349810
-Node: Editing with VC\7f351420
-Node: Variables for Check-in/out\7f356676
-Node: Log Entries\7f358575
-Node: Change Logs and VC\7f359755
-Node: Old Versions\7f363022
-Node: VC Status\7f365025
-Node: Renaming and VC\7f366739
-Node: Snapshots\7f367418
-Node: Making Snapshots\7f367919
-Node: Snapshot Caveats\7f369212
-Node: Version Headers\7f371021
-Node: ListDir\7f373720
-Node: Comparing Files\7f375769
-Node: Dired\7f377302
-Node: Dired Enter\7f377973
-Node: Dired Edit\7f378798
-Node: Dired Deletion\7f380545
-Node: Dired Immed\7f383768
-Node: Misc File Ops\7f385044
-Node: Buffers\7f387532
-Node: Select Buffer\7f389690
-Node: List Buffers\7f391485
-Node: Misc Buffer\7f393243
-Node: Kill Buffer\7f394886
-Node: Several Buffers\7f396016
-Node: Windows\7f399883
-Node: Basic Window\7f400594
-Node: Split Window\7f402313
-Node: Other Window\7f404446
-Node: Pop Up Window\7f406877
-Node: Change Window\7f408382
-Node: Mule\7f411290
-Node: Mule Intro\7f412553
-Node: Language Environments\7f413569
-Node: Input Methods\7f415676
-Node: Select Input Method\7f419396
-Node: Coding Systems\7f421551
-Node: Recognize Coding\7f425737
-Node: Specify Coding\7f429063
-Node: Major Modes\7f433994
-Node: Choosing Modes\7f436213
-Node: Indentation\7f438603
-Node: Indentation Commands\7f440698
-Node: Tab Stops\7f443427
-Node: Just Spaces\7f445276
-Node: Text\7f446091
-Node: Text Mode\7f448074
-Node: Nroff Mode\7f450153
-Node: TeX Mode\7f451796
-Node: TeX Editing\7f454048
-Node: TeX Print\7f457482
-Node: Outline Mode\7f460701
-Node: Outline Format\7f462182
-Node: Outline Motion\7f464982
-Node: Outline Visibility\7f466535
-Node: Words\7f469456
-Node: Sentences\7f472403
-Node: Paragraphs\7f474599
-Node: Pages\7f476887
-Node: Filling\7f479487
-Node: Auto Fill\7f480058
-Node: Fill Commands\7f482205
-Node: Fill Prefix\7f484370
-Node: Case\7f486558
-Node: Programs\7f488586
-Node: Program Modes\7f491136
-Node: Lists\7f493368
-Node: Defuns\7f499208
-Node: Grinding\7f501861
-Node: Basic Indent\7f502489
-Node: Multi-line Indent\7f504510
-Node: Lisp Indent\7f506126
-Node: C Indent\7f509576
-Node: Matching\7f514816
-Node: Comments\7f516338
-Node: Balanced Editing\7f522790
-Node: Lisp Completion\7f523804
-Node: Documentation\7f524819
-Node: Change Log\7f526058
-Node: Tags\7f528636
-Node: Tag Syntax\7f530285
-Node: Create Tags Table\7f534229
-Node: Etags Regexps\7f538289
-Node: Select Tags Table\7f542947
-Node: Find Tag\7f546720
-Node: Tags Search\7f549684
-Node: List Tags\7f553140
-Node: Fortran\7f554169
-Node: Fortran Motion\7f555245
-Node: Fortran Indent\7f556065
-Node: ForIndent Commands\7f556750
-Node: ForIndent Num\7f557895
-Node: ForIndent Conv\7f559169
-Node: ForIndent Vars\7f559945
-Node: Fortran Comments\7f561113
-Node: Fortran Columns\7f564711
-Node: Fortran Abbrev\7f566134
-Node: Asm Mode\7f567043
-Node: Running\7f567595
-Node: Compilation\7f568564
-Node: Lisp Modes\7f573414
-Node: Lisp Libraries\7f574687
-Node: Loading\7f575241
-Node: Compiling Libraries\7f579701
-Node: Mocklisp\7f582592
-Node: Lisp Eval\7f583269
-Node: Lisp Debug\7f586909
-Node: Lisp Interaction\7f592336
-Node: External Lisp\7f593691
-Node: Packages\7f595765
-Node: Package Terminology\7f596620
-Node: Using Packages\7f597978
-Node: Building Packages\7f606856
-Node: Creating Packages\7f609399
-Node: Available Packages\7f614399
-Node: Abbrevs\7f619672
-Node: Defining Abbrevs\7f621871
-Node: Expanding Abbrevs\7f624318
-Node: Editing Abbrevs\7f627020
-Node: Saving Abbrevs\7f628893
-Node: Dynamic Abbrevs\7f630848
-Node: Picture\7f632150
-Node: Basic Picture\7f634583
-Node: Insert in Picture\7f636868
-Node: Tabs in Picture\7f638290
-Node: Rectangles in Picture\7f639811
-Node: Sending Mail\7f641719
-Node: Mail Format\7f643430
-Node: Mail Headers\7f644780
-Node: Mail Mode\7f651188
-Node: Reading Mail\7f654801
-Node: Calendar/Diary\7f656376
-Node: Calendar Motion\7f658050
-Node: Calendar Unit Motion\7f658933
-Node: Move to Beginning or End\7f661256
-Node: Specified Dates\7f662389
-Node: Scroll Calendar\7f663277
-Node: Mark and Region\7f665068
-Node: General Calendar\7f666974
-Node: LaTeX Calendar\7f668582
-Node: Holidays\7f670596
-Node: Sunrise/Sunset\7f673698
-Node: Lunar Phases\7f676737
-Node: Other Calendars\7f678122
-Node: Calendar Systems\7f679609
-Node: To Other Calendar\7f682720
-Node: From Other Calendar\7f684711
-Node: Mayan Calendar\7f687016
-Node: Diary\7f690211
-Node: Diary Commands\7f691960
-Node: Format of Diary File\7f695283
-Node: Date Formats\7f698153
-Node: Adding to Diary\7f700727
-Node: Special Diary Entries\7f702358
-Node: Calendar Customization\7f707697
-Node: Calendar Customizing\7f708559
-Node: Holiday Customizing\7f711794
-Node: Date Display Format\7f718281
-Node: Time Display Format\7f719239
-Node: Daylight Savings\7f720377
-Node: Diary Customizing\7f723565
-Node: Hebrew/Islamic Entries\7f728186
-Node: Fancy Diary Display\7f731526
-Node: Included Diary Files\7f733442
-Node: Sexp Diary Entries\7f734423
-Node: Appt Customizing\7f739513
-Node: Sorting\7f740559
-Node: Shell\7f745365
-Node: Single Shell\7f746658
-Node: Interactive Shell\7f748272
-Node: Shell Mode\7f752037
-Node: Terminal emulator\7f754528
-Node: Term Mode\7f756837
-Node: Paging in Term\7f757751
-Node: Narrowing\7f758549
-Node: Hardcopy\7f760499
-Node: Recursive Edit\7f761471
-Node: Dissociated Press\7f764458
-Node: CONX\7f767021
-Node: Amusements\7f768045
-Node: Emulation\7f768525
-Node: Customization\7f770385
-Node: Minor Modes\7f772201
-Node: Variables\7f773833
-Node: Examining\7f775789
-Node: Easy Customization\7f777250
-Node: Customization Groups\7f778264
-Node: Changing an Option\7f781193
-Node: Face Customization\7f787463
-Node: Specific Customization\7f789227
-Node: Edit Options\7f791834
-Node: Locals\7f793418
-Node: File Variables\7f796597
-Node: Keyboard Macros\7f801147
-Node: Basic Kbd Macro\7f803318
-Node: Save Kbd Macro\7f805250
-Node: Kbd Macro Query\7f806908
-Node: Key Bindings\7f808850
-Node: Keymaps\7f809724
-Node: Rebinding\7f813574
-Node: Interactive Rebinding\7f814273
-Node: Programmatic Rebinding\7f816462
-Node: Key Bindings Using Strings\7f819269
-Node: Disabling\7f820896
-Node: Syntax\7f822675
-Node: Syntax Entry\7f823556
-Node: Syntax Change\7f827640
-Node: Init File\7f829809
-Node: Init Syntax\7f831273
-Node: Init Examples\7f833624
-Node: Terminal Init\7f837814
-Node: Audible Bell\7f839551
-Node: Faces\7f842982
-Node: Frame Components\7f847824
-Node: X Resources\7f848269
-Node: Geometry Resources\7f849928
-Node: Iconic Resources\7f852376
-Node: Resource List\7f852848
-Node: Face Resources\7f859355
-Node: Widgets\7f863032
-Node: Menubar Resources\7f863971
-Node: Quitting\7f865485
-Node: Lossage\7f868463
-Node: Stuck Recursive\7f869107
-Node: Screen Garbled\7f869813
-Node: Text Garbled\7f870947
-Node: Unasked-for Search\7f871586
-Node: Emergency Escape\7f872371
-Node: Total Frustration\7f874150
-Node: Bugs\7f874781
-Node: Glossary\7f884342
-Node: Manifesto\7f915996
-Node: Key Index\7f939473
-Node: Command Index\7f965400
-Node: Variable Index\7f1007986
-Node: Concept Index\7f1024072
+Node: License\7f22942
+Node: Distrib\7f36224
+Node: Intro\7f37888
+Node: Frame\7f40759
+Node: Point\7f44804
+Node: Echo Area\7f46771
+Node: Mode Line\7f49148
+Node: GUI Components\7f53579
+Node: Menubar Basics\7f54860
+Node: Scrollbar Basics\7f56776
+Node: Mode Line Basics\7f57669
+Node: Toolbar Basics\7f58501
+Node: Gutter Basics\7f59168
+Node: Inhibiting\7f61222
+Node: Customizing\7f63593
+Node: XEmacs under X\7f63842
+Node: XEmacs under MS Windows\7f67056
+Node: Keystrokes\7f67471
+Node: Intro to Keystrokes\7f68315
+Node: Representing Keystrokes\7f70418
+Node: Key Sequences\7f71775
+Node: String Key Sequences\7f75116
+Node: Meta Key\7f75499
+Node: Super and Hyper Keys\7f76972
+Node: Character Representation\7f83217
+Node: Commands\7f84237
+Node: Pull-down Menus\7f87086
+Node: File Menu\7f90435
+Node: Edit Menu\7f94257
+Node: Apps Menu\7f96640
+Node: Options Menu\7f97130
+Node: Buffers Menu\7f101148
+Node: Tools Menu\7f101455
+Node: Help Menu\7f101946
+Node: Menu Customization\7f102347
+Node: Entering Emacs\7f106577
+Node: Exiting\7f109474
+Node: Command Switches\7f113947
+Node: Startup Paths\7f123969
+Node: Basic\7f131299
+Node: Inserting Text\7f132703
+Node: Moving Point\7f135699
+Node: Erasing\7f139305
+Node: Basic Files\7f140610
+Node: Basic Help\7f142532
+Node: Blank Lines\7f143127
+Node: Continuation Lines\7f144703
+Node: Position Info\7f146370
+Node: Arguments\7f149786
+Node: Undo\7f153885
+Node: Minibuffer\7f156832
+Node: Minibuffer File\7f159442
+Node: Minibuffer Edit\7f161247
+Node: Completion\7f164188
+Node: Completion Example\7f166119
+Node: Completion Commands\7f167214
+Node: Strict Completion\7f170190
+Node: Completion Options\7f171971
+Node: Minibuffer History\7f173479
+Node: Repetition\7f176663
+Node: M-x\7f179508
+Node: Help\7f184602
+Node: Help Summary\7f186012
+Node: Key Help\7f188798
+Node: Name Help\7f189757
+Node: Apropos\7f192402
+Node: Library Keywords\7f195521
+Node: Help Mode\7f197842
+Node: Misc Help\7f198339
+Node: Mark\7f201487
+Node: Setting Mark\7f203341
+Node: Using Region\7f206463
+Node: Marking Objects\7f207200
+Node: Mark Ring\7f209038
+Node: Mouse Selection\7f210754
+Node: Additional Mouse Operations\7f212761
+Node: Killing\7f216965
+Node: Yanking\7f222601
+Node: Kill Ring\7f223404
+Node: Appending Kills\7f225006
+Node: Earlier Kills\7f227043
+Node: Using X Selections\7f229656
+Node: X Clipboard Selection\7f230906
+Node: X Selection Commands\7f233083
+Node: X Cut Buffers\7f234169
+Node: Active Regions\7f235528
+Node: Accumulating Text\7f240108
+Node: Rectangles\7f243181
+Node: Registers\7f246700
+Node: RegPos\7f248154
+Node: RegText\7f249310
+Node: RegRect\7f250416
+Node: RegConfig\7f251295
+Node: RegNumbers\7f252235
+Node: RegFiles\7f252953
+Node: Bookmarks\7f253611
+Node: Display\7f256983
+Node: Scrolling\7f258478
+Node: Horizontal Scrolling\7f262621
+Node: Selective Display\7f263816
+Node: Display Vars\7f265035
+Node: Search\7f267713
+Node: Incremental Search\7f268906
+Node: Non-Incremental Search\7f277834
+Node: Word Search\7f279276
+Node: Regexp Search\7f280894
+Node: Regexps\7f283264
+Node: Search Case\7f297261
+Node: Replace\7f298042
+Node: Unconditional Replace\7f298990
+Node: Regexp Replace\7f300125
+Node: Replacement and Case\7f301060
+Node: Query Replace\7f302040
+Node: Other Repeating Search\7f305267
+Node: Fixit\7f306522
+Node: Kill Errors\7f307102
+Node: Transpose\7f308435
+Node: Fixing Case\7f310839
+Node: Spelling\7f311485
+Node: Files\7f312946
+Node: File Names\7f314256
+Node: Visiting\7f318593
+Node: Saving\7f325425
+Node: Backup\7f330348
+Node: Backup Names\7f331744
+Node: Backup Deletion\7f333227
+Node: Backup Copying\7f334377
+Node: Interlocking\7f336083
+Node: Reverting\7f340211
+Node: Auto Save\7f342123
+Node: Auto Save Files\7f343090
+Node: Auto Save Control\7f344931
+Node: Recover\7f346769
+Node: Version Control\7f347924
+Node: Concepts of VC\7f349962
+Node: Editing with VC\7f351572
+Node: Variables for Check-in/out\7f356828
+Node: Log Entries\7f358727
+Node: Change Logs and VC\7f359907
+Node: Old Versions\7f363174
+Node: VC Status\7f365177
+Node: Renaming and VC\7f366891
+Node: Snapshots\7f367570
+Node: Making Snapshots\7f368071
+Node: Snapshot Caveats\7f369364
+Node: Version Headers\7f371173
+Node: ListDir\7f373872
+Node: Comparing Files\7f375921
+Node: Dired\7f377454
+Node: Dired Enter\7f378125
+Node: Dired Edit\7f378950
+Node: Dired Deletion\7f380697
+Node: Dired Immed\7f383920
+Node: Misc File Ops\7f385196
+Node: Buffers\7f387684
+Node: Select Buffer\7f389842
+Node: List Buffers\7f391637
+Node: Misc Buffer\7f393395
+Node: Kill Buffer\7f395038
+Node: Several Buffers\7f396168
+Node: Windows\7f400035
+Node: Basic Window\7f400746
+Node: Split Window\7f402465
+Node: Other Window\7f404598
+Node: Pop Up Window\7f407029
+Node: Change Window\7f408534
+Node: Mule\7f411442
+Node: Mule Intro\7f412705
+Node: Language Environments\7f413721
+Node: Input Methods\7f415828
+Node: Select Input Method\7f419548
+Node: Coding Systems\7f421703
+Node: Recognize Coding\7f425889
+Node: Specify Coding\7f429215
+Node: Major Modes\7f434146
+Node: Choosing Modes\7f436365
+Node: Indentation\7f438755
+Node: Indentation Commands\7f440850
+Node: Tab Stops\7f443579
+Node: Just Spaces\7f445428
+Node: Text\7f446243
+Node: Text Mode\7f448226
+Node: Nroff Mode\7f450305
+Node: TeX Mode\7f451948
+Node: TeX Editing\7f454200
+Node: TeX Print\7f457634
+Node: Outline Mode\7f460853
+Node: Outline Format\7f462334
+Node: Outline Motion\7f465134
+Node: Outline Visibility\7f466687
+Node: Words\7f469608
+Node: Sentences\7f472555
+Node: Paragraphs\7f474751
+Node: Pages\7f477039
+Node: Filling\7f479639
+Node: Auto Fill\7f480210
+Node: Fill Commands\7f482357
+Node: Fill Prefix\7f484522
+Node: Case\7f486710
+Node: Programs\7f488738
+Node: Program Modes\7f491288
+Node: Lists\7f493520
+Node: Defuns\7f499360
+Node: Grinding\7f502013
+Node: Basic Indent\7f502641
+Node: Multi-line Indent\7f504662
+Node: Lisp Indent\7f506278
+Node: C Indent\7f509728
+Node: Matching\7f514968
+Node: Comments\7f516490
+Node: Balanced Editing\7f522942
+Node: Lisp Completion\7f523956
+Node: Documentation\7f524971
+Node: Change Log\7f526210
+Node: Tags\7f528788
+Node: Tag Syntax\7f530545
+Node: Create Tags Table\7f535245
+Node: Etags Regexps\7f539305
+Node: Select Tags Table\7f543963
+Node: Find Tag\7f547736
+Node: Tags Search\7f550700
+Node: List Tags\7f554156
+Node: Fortran\7f555185
+Node: Fortran Motion\7f556261
+Node: Fortran Indent\7f557081
+Node: ForIndent Commands\7f557766
+Node: ForIndent Num\7f558911
+Node: ForIndent Conv\7f560185
+Node: ForIndent Vars\7f560961
+Node: Fortran Comments\7f562129
+Node: Fortran Columns\7f565727
+Node: Fortran Abbrev\7f567150
+Node: Asm Mode\7f568059
+Node: Running\7f568611
+Node: Compilation\7f569580
+Node: Lisp Modes\7f574430
+Node: Lisp Libraries\7f575703
+Node: Loading\7f576257
+Node: Compiling Libraries\7f580717
+Node: Mocklisp\7f583608
+Node: Lisp Eval\7f584285
+Node: Lisp Debug\7f587925
+Node: Lisp Interaction\7f593352
+Node: External Lisp\7f594707
+Node: Packages\7f596781
+Node: Package Terminology\7f597700
+Node: Installing Packages\7f599310
+Node: Sumo\7f602230
+Node: Manually\7f603111
+Node: Automatically\7f604481
+Node: Which Packages\7f609044
+Node: Removing Packages\7f609853
+Node: Building Packages\7f610549
+Node: Local.rules File\7f613190
+Node: Creating Packages\7f615044
+Node: Available Packages\7f620082
+Node: Abbrevs\7f626797
+Node: Defining Abbrevs\7f628996
+Node: Expanding Abbrevs\7f631443
+Node: Editing Abbrevs\7f634145
+Node: Saving Abbrevs\7f636018
+Node: Dynamic Abbrevs\7f637973
+Node: Picture\7f639275
+Node: Basic Picture\7f641708
+Node: Insert in Picture\7f643993
+Node: Tabs in Picture\7f645415
+Node: Rectangles in Picture\7f646936
+Node: Sending Mail\7f648844
+Node: Mail Format\7f650555
+Node: Mail Headers\7f651905
+Node: Mail Mode\7f658313
+Node: Reading Mail\7f661926
+Node: Calendar/Diary\7f663501
+Node: Calendar Motion\7f665175
+Node: Calendar Unit Motion\7f666058
+Node: Move to Beginning or End\7f668381
+Node: Specified Dates\7f669514
+Node: Scroll Calendar\7f670402
+Node: Mark and Region\7f672193
+Node: General Calendar\7f674099
+Node: LaTeX Calendar\7f675707
+Node: Holidays\7f677721
+Node: Sunrise/Sunset\7f680823
+Node: Lunar Phases\7f683862
+Node: Other Calendars\7f685247
+Node: Calendar Systems\7f686734
+Node: To Other Calendar\7f689845
+Node: From Other Calendar\7f691836
+Node: Mayan Calendar\7f694141
+Node: Diary\7f697336
+Node: Diary Commands\7f699085
+Node: Format of Diary File\7f702408
+Node: Date Formats\7f705278
+Node: Adding to Diary\7f707852
+Node: Special Diary Entries\7f709483
+Node: Calendar Customization\7f714822
+Node: Calendar Customizing\7f715684
+Node: Holiday Customizing\7f718919
+Node: Date Display Format\7f725406
+Node: Time Display Format\7f726364
+Node: Daylight Savings\7f727502
+Node: Diary Customizing\7f730690
+Node: Hebrew/Islamic Entries\7f735311
+Node: Fancy Diary Display\7f738651
+Node: Included Diary Files\7f740567
+Node: Sexp Diary Entries\7f741548
+Node: Appt Customizing\7f746638
+Node: Sorting\7f747684
+Node: Shell\7f752490
+Node: Single Shell\7f753783
+Node: Interactive Shell\7f755397
+Node: Shell Mode\7f759162
+Node: Terminal emulator\7f761653
+Node: Term Mode\7f763962
+Node: Paging in Term\7f764876
+Node: Narrowing\7f765674
+Node: Hardcopy\7f767624
+Node: Recursive Edit\7f768596
+Node: Dissociated Press\7f771583
+Node: CONX\7f774146
+Node: Amusements\7f775170
+Node: Emulation\7f775650
+Node: Customization\7f777510
+Node: Minor Modes\7f779326
+Node: Variables\7f780958
+Node: Examining\7f782914
+Node: Easy Customization\7f784375
+Node: Customization Groups\7f785389
+Node: Changing an Option\7f788318
+Node: Face Customization\7f794588
+Node: Specific Customization\7f796352
+Node: Edit Options\7f798959
+Node: Locals\7f800543
+Node: File Variables\7f803722
+Node: Keyboard Macros\7f808272
+Node: Basic Kbd Macro\7f810443
+Node: Save Kbd Macro\7f812375
+Node: Kbd Macro Query\7f814033
+Node: Key Bindings\7f815975
+Node: Keymaps\7f816849
+Node: Rebinding\7f820699
+Node: Interactive Rebinding\7f821398
+Node: Programmatic Rebinding\7f823587
+Node: Key Bindings Using Strings\7f826394
+Node: Disabling\7f828021
+Node: Syntax\7f829800
+Node: Syntax Entry\7f830681
+Node: Syntax Change\7f834765
+Node: Init File\7f836934
+Node: Init Syntax\7f838398
+Node: Init Examples\7f840749
+Node: Terminal Init\7f844939
+Node: Audible Bell\7f846676
+Node: Faces\7f850107
+Node: Frame Components\7f854949
+Node: X Resources\7f855394
+Node: Geometry Resources\7f857053
+Node: Iconic Resources\7f859501
+Node: Resource List\7f859973
+Node: Face Resources\7f866480
+Node: Widgets\7f870157
+Node: Menubar Resources\7f871096
+Node: Quitting\7f872610
+Node: Lossage\7f875588
+Node: Stuck Recursive\7f876232
+Node: Screen Garbled\7f876938
+Node: Text Garbled\7f878072
+Node: Unasked-for Search\7f878711
+Node: Emergency Escape\7f879496
+Node: Total Frustration\7f881275
+Node: Bugs\7f881906
+Node: Glossary\7f891467
+Node: Manifesto\7f923121
+Node: Key Index\7f946598
+Node: Command Index\7f972525
+Node: Variable Index\7f1015111
+Node: Concept Index\7f1031197
\1f
End Tag Table
* Packages:: Introduction to XEmacs Packages.
* Package Terminology:: Understanding different kinds of packages.
-* Using Packages:: How to install and use packages.
+* Installing Packages:: How to install packages.
* Building Packages:: Building packages from sources.
+* Local.rules File:: An important part of building packages.
+* Creating Packages:: The basics.
+* Available Packages:: A brief directory of packaged LISP.
Basic Editing Commands
+2001-02-08 Martin Buchholz <martin@xemacs.org>
+
+ * XEmacs 21.2.44 "Thalia" is released.
+
+2001-01-31 Francesco Potorti` <pot@gnu.org>
+
+ * etags.c: [NDEBUG] #undef assert and #define it as ((void)0), for
+ the sake of some buggy assert.h (e.g. in MinGW and sunos4 pcc).
+ (C_entries): Tag token renamed to still_in_token because sunos4
+ pcc wants to expand it as the token() macro even though it has no
+ arguments.
+
+2001-01-30 Francesco Potorti` <pot@gnu.org>
+
+ * etags.c: [WIN32-NATIVE]: #undef MSDOS, #undef WINDOWSNT and
+ #define it for the sake of Xemacs.
+ [WINDOWSNT]: #undef HAVE_NTGUI even if built without
+ HAVE_CONFIG_H. This change only affects a standalone etags.
+ [WINDOWSNT]: #undef DOS_NT and #define it even if built with
+ HAVE_CONFIG_H. This change does nothing in Emacs, as DOS_NT is
+ always defined when HAVE_CONFIG_H and WINDOWS are both defined.
+ [!HAVE_UNISTD_H]: use defined(WINDOWSNT) instead of the bare
+ WINDOWSNT, as this is the correct way to use it.
+
+2001-01-28 Francesco Potorti` <pot@gnu.org>
+
+ * etags.c: Be capable to parse nested struct-like structures.
+ (structdef, structtag): Struct state machine revisited.
+ (struct tok): Revisited.
+ (cstack, nestlev, instruct): New struct and macros.
+ (pushclass_above, popclass_above, write_classname): New functions
+ for dealing with nested class names, inspired by Mykola Dzyuba.
+ (consider_token, make_C_tag, C_entries): Many changes for dealing
+ with arbitrarily nested structures.
+ (etags_getcwd): #if MSDOS, not #ifdef MSDOS!
+ (C_entries): Consider templates in C++.
+ (sym_type): New constant st_C_class for detecting "class" also in
+ C mode.
+ (C_AUTO): New macro for automatic detection of C++.
+ (consider_token): Automatic set C++ mode.
+ (C_entries): New security check for yacc.
+ (print_language_names, print_help): Mention the autodetect
+ feature, do not show help for the -C option, now mostly useless.
+ (C_entries): Tag C++ forward declarations if --declarations.
+ (C_entries): Don't be fooled by things like XDEFUN.
+ (consider_token): Discard asm pseudo function.
+
+2001-01-25 Francesco Potorti` <pot@potorti.it>
+
+ * etags.c (struct tok): Renamed from struct token.
+ (token): Renamed from tok.
+ (structtype): Make it a local variable.
+ [DEBUG]: Use assert.
+ (xrnew): Change the synopsis.
+ (typedefs_or_cplusplus): Renamed from typedefs_and_cplusplus.
+ (grow_linebuffer): Don't call xrnew when not needed.
+ (token): buffer renamed to line.
+ (C_entries): Three calls to inibuffer moved here from main.
+ (C_entries): Removed all references to var methodlen, delete it.
+ (linebuffer_setlen): Was grow_buffer, now also sets len.
+ (consider_token, C_entries, Pascal_functions): Use it.
+ (C_entries): Preventing problems relative to extern "C".
+ (C_entries): Can tag more than one variable or func separated by
+ comma when --declarations is used.
+ (C_entries): More accurate tagging of members and declarations.
+ (yacc_rules): Was global, made local to C_entries.
+ (next_token_is_func): Removed.
+ (fvdef): New constants fdefunkey, fdefunname.
+ (consider_token, C_entries): Use them.
+ (C_entries): Build proper lisp names for Emacs DEFUNs.
+
+2001-01-15 Francesco Potorti` <pot@pot.cnuce.cnr.it>
+
+ * etags.c (print_language_names): Print filenames in addition to
+ suffixes.
+
+2001-01-12 Francesco Potorti` <pot@gnu.org>
+
+ * etags.c (get_language_from_langname): Renamed from
+ get_language_from_name.
+ (get_language_from_filename): Renamed from
+ get_language_from_suffix. Now first looks for the complete file
+ name.
+ (language): New member char **filenames.
+ (Makefile_filenames): List of possible filenames for makefiles.
+ (lang_names): Added a NULL member for every entry, added an entry
+ for makefiles.
+ (Makefile_targets): New function, inspired by Assar Westerlund
+ <assar@sics.se>.
+
+2000-11-07 Francesco Potortì <pot@pot.cnuce.cnr.it>
+
+ * etags.c (Texinfo_nodes): Renamed from Texinfo_fuctions and made
+ it conformant to the style of the rest of the code.
+
+2000-02-10 Francesco Potorti` <pot@gnu.org>
+
+ * etags.c (iswhite): Redefined not to consider '\0' as white
+ space, and use it throughout in place of isspace, thus preventing a
+ potential signed char to int conversion problem.
+ (MSDOS): #undefine befere redefining
+
+2000-02-04 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+
+ * etags.c (many functions): Add prototypes.
+
+2000-01-31 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+
+ * etags.c [MSDOS]: Set MSDOS to 1 if #defined, 0 otherwise.
+ (get_compressor_from_suffix, process_file): Use MSDOS in if clause.
+ (etags_strchr, etags_strrchr): Use const char * and int as arguments.
+ (getenv, getcwd): Only declare them if necessary.
+ (EMACS_NAME): New constant macro.
+ (print_version): Use it.
+ (P_) [__STDC__]: Macro for defining function prototypes.
+
+2001-02-06 Martin Buchholz <martin@xemacs.org>
+
+ * gnuclient.c:
+ * gnuserv.c:
+ * gnuslib.c:
+ * pop.c:
+ Remove use of BSD-specific types.
+ s/u_(char|short|int_long)/unsigned $1/g
+ Remove pointless casts.
+
+2001-01-28 Martin Buchholz <martin@xemacs.org>
+
+ * gnuclient.c (get_current_working_directory): Use HAVE_GETCWD.
+ warning: getwd() possibly used unsafely, consider using getcwd().
+
2001-01-26 Martin Buchholz <martin@xemacs.org>
* XEmacs 21.2.43 "Terspichore" is released.
-/* Tags file maker to go with GNU Emacs
- Copyright (C) 1984, 87, 88, 89, 93, 94, 95, 98, 99
+/* Tags file maker to go with GNU Emacs -*- coding: latin-1 -*-
+ Copyright (C) 1984, 87, 88, 89, 93, 94, 95, 98, 99, 2000, 2001
Free Software Foundation, Inc. and Ken Arnold
This file is not considered part of GNU Emacs.
* Fortran added by Jim Kleckner.
* Ed Pelegri-Llopart added C typedefs.
* Gnu Emacs TAGS format and modifications by RMS?
- * Sam Kendall added C++.
- * Francesco Potorti` reorganised C and C++ based on work by Joe Wells.
- * Regexp tags by Tom Tromey.
+ * 1989 Sam Kendall added C++.
+ * 1993 Francesco Potortì reorganised C and C++ based on work by Joe Wells.
+ * 1994 Regexp tags by Tom Tromey.
+ * 2001 Nested classes by Francesco Potortì based on work by Mykola Dzyuba.
*
- * Francesco Potorti` (pot@gnu.org) is the current maintainer.
+ * Francesco Potortì <pot@gnu.org> has maintained it since 1993.
*/
-char pot_etags_version[] = "@(#) pot revision number is 13.44";
+char pot_etags_version[] = "@(#) pot revision number is 14.15";
#define TRUE 1
#define FALSE 0
-#ifndef DEBUG
-# define DEBUG FALSE
+#ifdef DEBUG
+# undef DEBUG
+# define DEBUG TRUE
+#else
+# define DEBUG FALSE
+# define NDEBUG /* disable assert */
#endif
#if defined(__STDC__) && (__STDC__ || defined(__SUNPRO_C))
# define _GNU_SOURCE 1 /* enables some compiler checks on GNU */
#endif
+/* WIN32_NATIVE is for Xemacs.
+ MSDOS, WINDOWSNT, DOS_NT are for Emacs. */
#ifdef WIN32_NATIVE
+# undef MSDOS
+# undef WINDOWSNT
+# define WINDOWSNT
+#endif /* WIN32_NATIVE */
+
+#ifdef MSDOS
+# undef MSDOS
+# define MSDOS TRUE
+# include <fcntl.h>
+# include <sys/param.h>
+# include <io.h>
+# ifndef HAVE_CONFIG_H
+# define DOS_NT
+# include <sys/config.h>
+# endif
+#else
+# define MSDOS FALSE
+#endif /* MSDOS */
+
+#ifdef WINDOWSNT
# include <stdlib.h>
# include <fcntl.h>
# include <string.h>
# include <direct.h>
# include <io.h>
# define MAXPATHLEN _MAX_PATH
+# undef HAVE_NTGUI
+# undef DOS_NT
+# define DOS_NT
# ifndef HAVE_GETCWD
# define HAVE_GETCWD
# endif /* undef HAVE_GETCWD */
-#else /* !WIN32_NATIVE */
+#else /* !WINDOWSNT */
# ifdef STDC_HEADERS
# include <stdlib.h>
# include <string.h>
# else
extern char *getenv ();
# endif
-#endif /* !WIN32_NATIVE */
+#endif /* !WINDOWSNT */
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#else
-# if defined (HAVE_GETCWD) && !defined (WIN32_NATIVE)
+# if defined (HAVE_GETCWD) && !defined (WINDOWSNT)
extern char *getcwd (char *buf, size_t size);
# endif
#endif /* HAVE_UNISTD_H */
#include <sys/types.h>
#include <sys/stat.h>
+#include <assert.h>
+#ifdef NDEBUG
+# undef assert /* some systems have a buggy assert.h */
+# define assert(x) ((void) 0)
+#endif
+
#if !defined (S_ISREG) && defined (S_IFREG)
# define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
#endif
# define BAD 1
#endif
-/* C extensions. */
-#define C_PLPL 0x00001 /* C++ */
-#define C_STAR 0x00003 /* C* */
-#define C_JAVA 0x00005 /* JAVA */
-#define YACC 0x10000 /* yacc file */
-
-#define streq(s,t) ((DEBUG && (s) == NULL && (t) == NULL \
- && (abort (), 1)) || !strcmp (s, t))
-#define strneq(s,t,n) ((DEBUG && (s) == NULL && (t) == NULL \
- && (abort (), 1)) || !strncmp (s, t, n))
-
-#define lowcase(c) tolower ((char)c)
+#define streq(s,t) (assert((s)!=NULL || (t)!=NULL), !strcmp (s, t))
+#define strneq(s,t,n) (assert((s)!=NULL || (t)!=NULL), !strncmp (s, t, n))
#define CHARS 256 /* 2^sizeof(char) */
-#define CHAR(x) ((unsigned int)x & (CHARS - 1))
+#define CHAR(x) ((unsigned int)(x) & (CHARS - 1))
#define iswhite(c) (_wht[CHAR(c)]) /* c is white */
#define notinname(c) (_nin[CHAR(c)]) /* c is not in a name */
#define begtoken(c) (_btk[CHAR(c)]) /* c can start token */
#define intoken(c) (_itk[CHAR(c)]) /* c can be in token */
#define endtoken(c) (_etk[CHAR(c)]) /* c ends tokens */
+#define ISALNUM(c) isalnum (CHAR(c))
+#define ISALPHA(c) isalpha (CHAR(c))
+#define ISDIGIT(c) isdigit (CHAR(c))
+#define ISLOWER(c) islower (CHAR(c))
+
+#define lowcase(c) tolower (CHAR(c))
+#define upcase(c) toupper (CHAR(c))
+
/*
* xnew, xrnew -- allocate, reallocate storage
*
* SYNOPSIS: Type *xnew (int n, Type);
- * Type *xrnew (OldPointer, int n, Type);
+ * void xrnew (OldPointer, int n, Type);
*/
-#ifdef chkmalloc
+#if DEBUG
# include "chkmalloc.h"
# define xnew(n,Type) ((Type *) trace_malloc (__FILE__, __LINE__, \
(n) * sizeof (Type)))
-# define xrnew(op,n,Type) ((Type *) trace_realloc (__FILE__, __LINE__, \
- (op), (n) * sizeof (Type)))
+# define xrnew(op,n,Type) ((op) = (Type *) trace_realloc (__FILE__, __LINE__, \
+ (char *) (op), (n) * sizeof (Type)))
#else
# define xnew(n,Type) ((Type *) xmalloc ((n) * sizeof (Type)))
-# define xrnew(op,n,Type) ((Type *) xrealloc ((op), (n) * sizeof (Type)))
+# define xrnew(op,n,Type) ((op) = (Type *) xrealloc ( \
+ (char *) (op), (n) * sizeof (Type)))
#endif
typedef int bool;
{
char *name;
Lang_function *function;
+ char **filenames;
char **suffixes;
char **interpreters;
} language;
static void Fortran_functions P_((FILE *));
static void Yacc_entries P_((FILE *));
static void Lisp_functions P_((FILE *));
+static void Makefile_targets P_((FILE *));
static void Pascal_functions P_((FILE *));
static void Perl_functions P_((FILE *));
static void Postscript_functions P_((FILE *));
static void Prolog_functions P_((FILE *));
static void Python_functions P_((FILE *));
static void Scheme_functions P_((FILE *));
-static void TeX_functions P_((FILE *));
+static void TeX_commands P_((FILE *));
+static void Texinfo_nodes P_((FILE *));
static void just_read_file P_((FILE *));
static void print_language_names P_((void));
static int number_len P_((long));
static compressor *get_compressor_from_suffix P_((char *, char **));
-static language *get_language_from_name P_((char *));
+static language *get_language_from_langname P_((char *));
static language *get_language_from_interpreter P_((char *));
-static language *get_language_from_suffix P_((char *));
+static language *get_language_from_filename P_((char *));
static int total_size_of_entries P_((node *));
static long readline P_((linebuffer *, FILE *));
static long readline_internal P_((linebuffer *, FILE *));
#endif /* ETAGS_REGEXPS */
static void error P_((const char *, const char *));
static void suggest_asking_for_help P_((void));
-static void fatal P_((char *, char *));
+void fatal P_((char *, char *));
static void pfatal P_((char *));
static void add_node P_((node *, node **));
static char *absolute_dirname P_((char *, char *));
static bool filename_is_absolute P_((char *f));
static void canonicalize_filename P_((char *));
-static void grow_linebuffer P_((linebuffer *, int));
-static long *xmalloc P_((unsigned int));
-static long *xrealloc P_((char *, unsigned int));
+static void linebuffer_setlen P_((linebuffer *, int));
+long *xmalloc P_((unsigned int));
+long *xrealloc P_((char *, unsigned int));
\f
char searchar = '/'; /* use /.../ searches */
node *head; /* the head of the binary tree of tags */
linebuffer lb; /* the current line */
-linebuffer token_name; /* used by C_entries as a temporary area */
-struct
-{
- long linepos;
- linebuffer lb; /* used by C_entries instead of lb */
-} lbs[2];
/* boolean "functions" (see init) */
bool _wht[CHARS], _nin[CHARS], _itk[CHARS], _btk[CHARS], _etk[CHARS];
bool append_to_tagfile; /* -a: append to tags */
/* The following four default to TRUE for etags, but to FALSE for ctags. */
bool typedefs; /* -t: create tags for C and Ada typedefs */
-bool typedefs_and_cplusplus; /* -T: create tags for C typedefs, level */
+bool typedefs_or_cplusplus; /* -T: create tags for C typedefs, level */
/* 0 struct/enum/union decls, and C++ */
/* member functions. */
bool constantypedefs; /* -d: create tags for C #define, enum */
};
/* Note that .c and .h can be considered C++, if the --c++ flag was
- given. That is why default_C_entries is called here. */
+ given, or if the `class' keyowrd is met inside the file.
+ That is why default_C_entries is called for these. */
char *default_C_suffixes [] =
{ "c", "h", NULL };
char *Cplusplus_suffixes [] =
- { "C", "H", "c++", "cc", "cpp", "cxx", "h++", "hh", "hpp", "hxx",
+ { "C", "c++", "cc", "cpp", "cxx", "H", "h++", "hh", "hpp", "hxx",
"M", /* Objective C++ */
"pdb", /* Postscript with C syntax */
NULL };
{ "F", "f", "f90", "for", NULL };
char *Lisp_suffixes [] =
- { "cl", "clisp", "el", "l", "lisp", "lsp", "ml", NULL };
+ { "cl", "clisp", "el", "l", "lisp", "LSP", "lsp", "ml", NULL };
+
+char *Makefile_filenames [] =
+ { "Makefile", "makefile", "GNUMakefile", "Makefile.in", "Makefile.am", NULL};
char *Pascal_suffixes [] =
{ "p", "pas", NULL };
{ "perl", "@PERL@", NULL };
char *plain_C_suffixes [] =
- { "pc", /* Pro*C file */
+ { "lm", /* Objective lex file */
"m", /* Objective C file */
- "lm", /* Objective lex file */
+ "pc", /* Pro*C file */
NULL };
char *Postscript_suffixes [] =
/* Can't do the `SCM' or `scm' prefix with a version number. */
char *Scheme_suffixes [] =
- { "SCM", "SM", "oak", "sch", "scheme", "scm", "sm", "ss", "t", NULL };
+ { "oak", "sch", "scheme", "SCM", "scm", "SM", "sm", "ss", "t", NULL };
char *TeX_suffixes [] =
- { "TeX", "bib", "clo", "cls", "ltx", "sty", "tex", NULL };
+ { "bib", "clo", "cls", "ltx", "sty", "TeX", "tex", NULL };
+
+char *Texinfo_suffixes [] =
+ { "texi", "texinfo", "txi", NULL };
char *Yacc_suffixes [] =
- { "y", "ym", "yy", "yxx", "y++", NULL }; /* .ym is Objective yacc file */
+ { "y", "y++", "ym", "yxx", "yy", NULL }; /* .ym is Objective yacc file */
/*
* Table of languages.
language lang_names [] =
{
- { "ada", Ada_funcs, Ada_suffixes, NULL },
- { "asm", Asm_labels, Asm_suffixes, NULL },
- { "c", default_C_entries, default_C_suffixes, NULL },
- { "c++", Cplusplus_entries, Cplusplus_suffixes, NULL },
- { "c*", Cstar_entries, Cstar_suffixes, NULL },
- { "cobol", Cobol_paragraphs, Cobol_suffixes, NULL },
- { "erlang", Erlang_functions, Erlang_suffixes, NULL },
- { "fortran", Fortran_functions, Fortran_suffixes, NULL },
- { "java", Cjava_entries, Cjava_suffixes, NULL },
- { "lisp", Lisp_functions, Lisp_suffixes, NULL },
- { "pascal", Pascal_functions, Pascal_suffixes, NULL },
- { "perl", Perl_functions, Perl_suffixes, Perl_interpreters },
- { "postscript", Postscript_functions, Postscript_suffixes, NULL },
- { "proc", plain_C_entries, plain_C_suffixes, NULL },
- { "prolog", Prolog_functions, Prolog_suffixes, NULL },
- { "python", Python_functions, Python_suffixes, NULL },
- { "scheme", Scheme_functions, Scheme_suffixes, NULL },
- { "tex", TeX_functions, TeX_suffixes, NULL },
- { "yacc", Yacc_entries, Yacc_suffixes, NULL },
+ { "ada", Ada_funcs, NULL, Ada_suffixes, NULL },
+ { "asm", Asm_labels, NULL, Asm_suffixes, NULL },
+ { "c", default_C_entries, NULL, default_C_suffixes, NULL },
+ { "c++", Cplusplus_entries, NULL, Cplusplus_suffixes, NULL },
+ { "c*", Cstar_entries, NULL, Cstar_suffixes, NULL },
+ { "cobol", Cobol_paragraphs, NULL, Cobol_suffixes, NULL },
+ { "erlang", Erlang_functions, NULL, Erlang_suffixes, NULL },
+ { "fortran", Fortran_functions, NULL, Fortran_suffixes, NULL },
+ { "java", Cjava_entries, NULL, Cjava_suffixes, NULL },
+ { "lisp", Lisp_functions, NULL, Lisp_suffixes, NULL },
+ { "makefile", Makefile_targets, Makefile_filenames, NULL, NULL },
+ { "pascal", Pascal_functions, NULL, Pascal_suffixes, NULL },
+ { "perl", Perl_functions, NULL, Perl_suffixes, Perl_interpreters },
+ { "postscript", Postscript_functions, NULL, Postscript_suffixes, NULL },
+ { "proc", plain_C_entries, NULL, plain_C_suffixes, NULL },
+ { "prolog", Prolog_functions, NULL, Prolog_suffixes, NULL },
+ { "python", Python_functions, NULL, Python_suffixes, NULL },
+ { "scheme", Scheme_functions, NULL, Scheme_suffixes, NULL },
+ { "tex", TeX_commands, NULL, TeX_suffixes, NULL },
+ { "texinfo", Texinfo_nodes, NULL, Texinfo_suffixes, NULL },
+ { "yacc", Yacc_entries, NULL, Yacc_suffixes, NULL },
{ "auto", NULL }, /* default guessing scheme */
{ "none", just_read_file }, /* regexp matching only */
{ NULL, NULL } /* end of list */
};
+
\f
static void
print_language_names ()
{
language *lang;
- char **ext;
+ char **name, **ext;
puts ("\nThese are the currently supported languages, along with the\n\
-default file name suffixes:");
+default file names and dot suffixes:");
for (lang = lang_names; lang->name != NULL; lang++)
{
- printf ("\t%s\t", lang->name);
+ printf (" %-*s", 10, lang->name);
+ if (lang->filenames != NULL)
+ for (name = lang->filenames; *name != NULL; name++)
+ printf (" %s", *name);
if (lang->suffixes != NULL)
for (ext = lang->suffixes; *ext != NULL; ext++)
printf (" .%s", *ext);
the first line of the file is read for a sharp-bang (#!) sequence\n\
followed by the name of an interpreter. If no such sequence is found,\n\
Fortran is tried first; if no tags are found, C is tried next.\n\
+When parsing any C file, a \"class\" keyword switches to C++.\n\
Compressed files are supported using gzip and bzip2.");
}
Write the search commands for the tag entries using '?', the\n\
backward-search command instead of '/', the forward-search command.");
+ /* This option is mostly obsolete, because etags can now automatically
+ detect C++. Retained for backward compatibility and for debugging and
+ experimentation. In principle, we could want to tag as C++ even
+ before any "class" keyword.
puts ("-C, --c++\n\
Treat files whose name suffix defaults to C language as C++ files.");
+ */
puts ("--declarations\n\
In C and derived languages, create tags for function declarations,");
bool got_err;
#endif
-#ifdef WIN32_NATIVE
+#ifdef DOS_NT
_fmode = O_BINARY; /* all of files are treated as binary files */
-#endif /* WIN32_NATIVE */
+#endif /* DOS_NT */
progname = argv[0];
nincluded_files = 0;
/*
* If etags, always find typedefs and structure tags. Why not?
- * Also default is to find macro constants, enum constants and
+ * Also default to find macro constants, enum constants and
* global variables.
*/
if (!CTAGS)
{
- typedefs = typedefs_and_cplusplus = constantypedefs = TRUE;
+ typedefs = typedefs_or_cplusplus = constantypedefs = TRUE;
globals = TRUE;
+ declarations = FALSE;
members = FALSE;
}
break;
case 'l':
{
- language *lang = get_language_from_name (optarg);
+ language *lang = get_language_from_langname (optarg);
if (lang != NULL)
{
argbuffer[current_arg].lang = lang;
typedefs = TRUE;
break;
case 'T':
- typedefs = typedefs_and_cplusplus = TRUE;
+ typedefs = typedefs_or_cplusplus = TRUE;
break;
#if (!CTAGS)
/* Etags options */
init (); /* set up boolean "functions" */
initbuffer (&lb);
- initbuffer (&token_name);
- initbuffer (&lbs[0].lb);
- initbuffer (&lbs[1].lb);
initbuffer (&filename_lb);
if (!CTAGS)
if (streq (tagfile, "-"))
{
tagf = stdout;
-#ifdef WIN32_NATIVE
+#ifdef DOS_NT
/* Switch redirected `stdout' to binary mode (setting `_fmode'
doesn't take effect until after `stdout' is already open). */
if (!isatty (fileno (stdout)))
setmode (fileno (stdout), O_BINARY);
-#endif /* WIN32_NATIVE */
+#endif /* DOS_NT */
}
else
tagf = fopen (tagfile, append_to_tagfile ? "a" : "w");
* return a pointer into FILE where the compressor-specific
* extension begins. If no compressor is found, NULL is returned
* and EXTPTR is not significant.
- * Idea by Vladimir Alexiev <vladimir@cs.ualberta.ca>
+ * Idea by Vladimir Alexiev <vladimir@cs.ualberta.ca> (1998)
*/
static compressor *
get_compressor_from_suffix (file, extptr)
char *slash, *suffix;
/* This relies on FN to be after canonicalize_filename,
- so we don't need to consider backslashes on WIN32_NATIVE. */
+ so we don't need to consider backslashes on DOS_NT. */
slash = etags_strrchr (file, '/');
suffix = etags_strrchr (file, '.');
if (suffix == NULL || suffix < slash)
suffix += 1;
/* Let those poor souls who live with DOS 8+3 file name limits get
some solace by treating foo.cgz as if it were foo.c.gz, etc.
- */
+ Only the first do loop is run if not MSDOS */
do
{
for (compr = compressors; compr->suffix != NULL; compr++)
if (streq (compr->suffix, suffix))
return compr;
- if (1) /* !MSDOS */
+ if (!MSDOS)
break; /* do it only once: not really a loop */
if (extptr != NULL)
*extptr = ++suffix;
* Return a language given the name.
*/
static language *
-get_language_from_name (name)
+get_language_from_langname (name)
char *name;
{
language *lang;
* Return a language given the file name.
*/
static language *
-get_language_from_suffix (file)
+get_language_from_filename (file)
char *file;
{
language *lang;
- char **ext, *suffix;
+ char **name, **ext, *suffix;
+
+ /* Try whole file name first. */
+ for (lang = lang_names; lang->name != NULL; lang++)
+ if (lang->filenames != NULL)
+ for (name = lang->filenames; *name != NULL; name++)
+ if (streq (*name, file))
+ return lang;
+ /* If not found, try suffix after last dot. */
suffix = etags_strrchr (file, '.');
if (suffix == NULL)
return NULL;
compressed_name = concat (file, ".", compr->suffix);
if (stat (compressed_name, &stat_buf) != 0)
{
- /* XEmacs: delete MSDOS code */
+ if (MSDOS)
+ {
+ char *suf = compressed_name + strlen (file);
+ size_t suflen = strlen (compr->suffix) + 1;
+ for ( ; suf[1]; suf++, suflen--)
+ {
+ memmove (suf, suf + 1, suflen);
+ if (stat (compressed_name, &stat_buf) == 0)
+ {
+ real_name = compressed_name;
+ break;
+ }
+ }
+ if (real_name != NULL)
+ break;
+ } /* MSDOS */
free (compressed_name);
compressed_name = NULL;
}
if (real_name == compressed_name)
{
char *cmd = concat (compr->command, " ", real_name);
- inf = popen (cmd, "r");
+ inf = (FILE *) popen (cmd, "r");
free (cmd);
}
else
}
/* Try to guess the language given the file name. */
- lang = get_language_from_suffix (file);
+ lang = get_language_from_filename (file);
if (lang != NULL && lang->function != NULL)
{
curlang = lang;
/* Try Fortran. */
old_last_node = last_node;
- curlang = get_language_from_name ("fortran");
+ curlang = get_language_from_langname ("fortran");
Fortran_functions (inf);
/* No Fortran entries found. Try C. */
/* We do not tag if rewind fails.
Only the file name will be recorded in the tags file. */
rewind (inf);
- curlang = get_language_from_name (cplusplus ? "c++" : "c");
+ curlang = get_language_from_langname (cplusplus ? "c++" : "c");
default_C_entries (inf);
}
return;
}
+
\f
/* Record a tag. */
static void
add_node (np, &head);
}
-/* Date: Wed, 22 Jan 1997 02:56:31 -0500 [last amended 18 Sep 1997]
- * From: Sam Kendall <kendall@mv.mv.com>
- * Subject: Proposal for firming up the TAGS format specification
- * To: F.Potorti@cnuce.cnr.it
+/*
+ * TAGS format specification
+ * Idea by Sam Kendall <kendall@mv.mv.com> (1997)
*
* pfnote should emit the optimized form [unnamed tag] only if:
* 1. name does not contain any of the characters " \t\r\n(),;";
add_node (np, dif < 0 ? &cur_node->left : &cur_node->right);
}
}
+
\f
static void
put_entries (np)
return total;
}
+
\f
+/* C extensions. */
+#define C_EXT 0x00fff /* C extensions */
+#define C_PLAIN 0x00000 /* C */
+#define C_PLPL 0x00001 /* C++ */
+#define C_STAR 0x00003 /* C* */
+#define C_JAVA 0x00005 /* JAVA */
+#define C_AUTO 0x01000 /* C, but switch to C++ if `class' is met */
+#define YACC 0x10000 /* yacc file */
+
/*
* The C symbol tables.
*/
st_C_ignore,
st_C_javastruct,
st_C_operator,
+ st_C_class,
st_C_struct, st_C_extern, st_C_enum, st_C_define, st_C_typedef, st_C_typespec
};
/* Feed stuff between (but not including) %[ and %] lines to:
gperf -c -k 1,3 -o -p -r -t
+ then put a `static' keyword in front of the in_word_set function.
%[
struct C_stab_entry { char *name; int c_ext; enum sym_type type; }
%%
extends, C_JAVA, st_C_javastruct
implements, C_JAVA, st_C_javastruct
interface, C_JAVA, st_C_struct
-class, C_PLPL, st_C_struct
+class, 0, st_C_class
namespace, C_PLPL, st_C_struct
domain, C_STAR, st_C_struct
union, 0, st_C_struct
#EXFUN, 0, st_C_gnumacro
#DEFVAR_, 0, st_C_gnumacro
%]
-and replace lines between %< and %> with its output. */
+and replace lines between %< and %> with its output,
+then make in_word_set static. */
/*%<*/
/* C code produced by gperf version 2.7.1 (19981006 egcs) */
/* Command-line: gperf -c -k 1,3 -o -p -r -t */
#define MIN_WORD_LENGTH 2
#define MAX_WORD_LENGTH 15
#define MIN_HASH_VALUE 13
-#define MAX_HASH_VALUE 123
-/* maximum key range = 111, duplicates = 0 */
+#define MAX_HASH_VALUE 121
+/* maximum key range = 109, duplicates = 0 */
#ifdef __GNUC__
__inline
{
static unsigned char asso_values[] =
{
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 3, 124, 124, 124, 43, 6,
- 11, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 11, 124, 124, 58, 7, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 57, 7, 42,
- 4, 14, 52, 0, 124, 53, 124, 124, 29, 11,
- 6, 35, 32, 124, 29, 34, 59, 58, 51, 24,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
- 124, 124, 124, 124, 124, 124
+ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
+ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
+ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
+ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
+ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
+ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
+ 122, 122, 122, 122, 57, 122, 122, 122, 55, 6,
+ 60, 122, 122, 122, 122, 122, 122, 122, 122, 122,
+ 51, 122, 122, 10, 2, 122, 122, 122, 122, 122,
+ 122, 122, 122, 122, 122, 122, 122, 2, 52, 59,
+ 49, 38, 56, 41, 122, 22, 122, 122, 9, 32,
+ 33, 60, 26, 122, 1, 28, 46, 59, 44, 51,
+ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
+ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
+ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
+ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
+ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
+ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
+ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
+ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
+ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
+ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
+ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
+ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
+ 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
+ 122, 122, 122, 122, 122, 122
};
register int hval = len;
{
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""},
- {"@end", 0, st_C_objend},
- {""}, {""}, {""}, {""},
{"ENTRY", 0, st_C_gnumacro},
- {"@interface", 0, st_C_objprot},
- {""},
- {"domain", C_STAR, st_C_struct},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""},
- {"PSEUDO", 0, st_C_gnumacro},
- {""}, {""},
- {"namespace", C_PLPL, st_C_struct},
+ {"if", 0, st_C_ignore},
{""}, {""},
- {"@implementation",0, st_C_objimpl},
+ {"SYSCALL", 0, st_C_gnumacro},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {"struct", 0, st_C_struct},
+ {"static", 0, st_C_typespec},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{"long", 0, st_C_typespec},
- {"signed", 0, st_C_typespec},
- {"@protocol", 0, st_C_objprot},
- {""}, {""}, {""}, {""},
- {"bool", C_PLPL, st_C_typespec},
- {""}, {""}, {""}, {""}, {""}, {""},
- {"const", 0, st_C_typespec},
- {"explicit", C_PLPL, st_C_typespec},
- {"if", 0, st_C_ignore},
- {""},
- {"operator", C_PLPL, st_C_operator},
- {""},
- {"DEFUN", 0, st_C_gnumacro},
- {""}, {""},
- {"define", 0, st_C_define},
{""}, {""}, {""}, {""}, {""},
- {"double", 0, st_C_typespec},
- {"struct", 0, st_C_struct},
- {""}, {""}, {""}, {""},
- {"short", 0, st_C_typespec},
+ {"auto", 0, st_C_typespec},
+ {"return", 0, st_C_ignore},
+ {"import", C_JAVA, st_C_ignore},
{""},
- {"enum", 0, st_C_enum},
- {"mutable", C_PLPL, st_C_typespec},
+ {"switch", 0, st_C_ignore},
{""},
- {"extern", 0, st_C_extern},
- {"extends", C_JAVA, st_C_javastruct},
- {"package", C_JAVA, st_C_ignore},
- {"while", 0, st_C_ignore},
+ {"implements", C_JAVA, st_C_javastruct},
{""},
{"for", 0, st_C_ignore},
- {""}, {""}, {""},
{"volatile", 0, st_C_typespec},
+ {""},
+ {"PSEUDO", 0, st_C_gnumacro},
+ {""},
+ {"char", 0, st_C_typespec},
+ {"class", 0, st_C_class},
+ {"@protocol", 0, st_C_objprot},
{""}, {""},
- {"import", C_JAVA, st_C_ignore},
- {"float", 0, st_C_typespec},
- {"switch", 0, st_C_ignore},
- {"return", 0, st_C_ignore},
- {"implements", C_JAVA, st_C_javastruct},
+ {"void", 0, st_C_typespec},
+ {"int", 0, st_C_typespec},
+ {"explicit", C_PLPL, st_C_typespec},
{""},
- {"static", 0, st_C_typespec},
+ {"namespace", C_PLPL, st_C_struct},
+ {"signed", 0, st_C_typespec},
+ {""},
+ {"interface", C_JAVA, st_C_struct},
+ {"while", 0, st_C_ignore},
{"typedef", 0, st_C_typedef},
{"typename", C_PLPL, st_C_typespec},
- {"unsigned", 0, st_C_typespec},
- {""}, {""},
- {"char", 0, st_C_typespec},
- {"class", C_PLPL, st_C_struct},
{""}, {""}, {""},
- {"void", 0, st_C_typespec},
- {""}, {""},
{"friend", C_PLPL, st_C_ignore},
- {""}, {""}, {""},
- {"int", 0, st_C_typespec},
+ {"mutable", C_PLPL, st_C_typespec},
{"union", 0, st_C_struct},
- {""}, {""}, {""},
- {"auto", 0, st_C_typespec},
- {"interface", C_JAVA, st_C_struct},
+ {"domain", C_STAR, st_C_struct},
+ {""}, {""},
+ {"extern", 0, st_C_extern},
+ {"extends", C_JAVA, st_C_javastruct},
+ {"package", C_JAVA, st_C_ignore},
+ {"short", 0, st_C_typespec},
+ {"@end", 0, st_C_objend},
+ {"unsigned", 0, st_C_typespec},
+ {""},
+ {"const", 0, st_C_typespec},
+ {""}, {""},
+ {"@interface", 0, st_C_objprot},
+ {"enum", 0, st_C_enum},
+ {""}, {""},
+ {"@implementation",0, st_C_objimpl},
+ {""},
+ {"operator", C_PLPL, st_C_operator},
+ {""}, {""}, {""}, {""},
+ {"define", 0, st_C_define},
+ {""}, {""},
+ {"double", 0, st_C_typespec},
{""},
- {"SYSCALL", 0, st_C_gnumacro}
+ {"bool", C_PLPL, st_C_typespec},
+ {""}, {""}, {""},
+ {"DEFUN", 0, st_C_gnumacro},
+ {"float", 0, st_C_typespec}
};
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
return st_none;
return se->type;
}
+
\f
- /*
- * C functions and variables are recognized using a simple
- * finite automaton. fvdef is its state variable.
- */
+/*
+ * C functions and variables are recognized using a simple
+ * finite automaton. fvdef is its state variable.
+ */
enum
{
fvnone, /* nothing seen */
+ fdefunkey, /* Emacs DEFUN keyword seen */
+ fdefunname, /* Emacs DEFUN name seen */
foperator, /* func: operator keyword seen (cplpl) */
fvnameseen, /* function or variable name seen */
fstartlist, /* func: just after open parenthesis */
bool fvextern; /* func or var: extern keyword seen; */
- /*
- * typedefs are recognized using a simple finite automaton.
- * typdef is its state variable.
- */
+/*
+ * typedefs are recognized using a simple finite automaton.
+ * typdef is its state variable.
+ */
enum
{
tnone, /* nothing seen */
tignore /* junk after typedef tag */
} typdef;
-
- /*
- * struct-like structures (enum, struct and union) are recognized
- * using another simple finite automaton. `structdef' is its state
- * variable.
- */
+/*
+ * struct-like structures (enum, struct and union) are recognized
+ * using another simple finite automaton. `structdef' is its state
+ * variable.
+ */
enum
{
- snone, /* nothing seen yet */
+ snone, /* nothing seen yet,
+ or in struct body if cblev > 0 */
skeyseen, /* struct-like keyword seen */
stagseen, /* struct-like tag seen */
- scolonseen, /* colon seen after struct-like tag */
- sinbody /* in struct body: recognize member func defs*/
+ sintemplate, /* inside template (ignore) */
+ scolonseen /* colon seen after struct-like tag */
} structdef;
/*
- * When structdef is stagseen, scolonseen, or sinbody, structtag is the
- * struct tag, and structtype is the type of the preceding struct-like
- * keyword.
- */
-char *structtag = "<uninited>";
-enum sym_type structtype;
-
-/*
* When objdef is different from onone, objtag is the name of the class.
*/
char *objtag = "<uninited>";
/*
* State machine for Objective C protocols and implementations.
- * Tom R.Hageman <tom@basil.icce.rug.nl>
+ * Idea by Tom R.Hageman <tom@basil.icce.rug.nl> (1995)
*/
enum
{
* Use this structure to keep info about the token read, and how it
* should be tagged. Used by the make_C_tag function to build a tag.
*/
-typedef struct
+struct tok
{
bool valid;
- char *str;
bool named;
- int linelen;
+ int offset;
+ int length;
int lineno;
long linepos;
- char *buffer;
-} token;
-
-token tok; /* latest token read */
+ char *line;
+} token; /* latest token read */
+linebuffer token_name; /* its name */
/*
- * Set this to TRUE, and the next token considered is called a function.
- * Used only for GNU emacs's function-defining macros.
+ * Variables and functions for dealing with nested structures.
+ * Idea by Mykola Dzyuba <mdzyuba@yahoo.com> (2001)
*/
-bool next_token_is_func;
+static void pushclass_above P_((int, char *, int));
+static void popclass_above P_((int));
+static void write_classname P_((linebuffer *, char *qualifier));
+
+struct {
+ char **cname; /* nested class names */
+ int *cblev; /* nested class curly brace level */
+ int nl; /* class nesting level (elements used) */
+ int size; /* length of the array */
+} cstack; /* stack for nested declaration tags */
+/* Current struct nesting depth (namespace, class, struct, union, enum). */
+#define nestlev (cstack.nl)
+/* After struct keyword or in struct body, not inside an nested function. */
+#define instruct (structdef == snone && nestlev > 0 \
+ && cblev == cstack.cblev[nestlev-1] + 1)
-/*
- * TRUE in the rules part of a yacc file, FALSE outside (parse as C).
- */
-bool yacc_rules;
+static void
+pushclass_above (cblev, str, len)
+ int cblev;
+ char *str;
+ int len;
+{
+ int nl;
-/*
- * methodlen is the length of the method name stored in token_name.
- */
-int methodlen;
+ popclass_above (cblev);
+ nl = cstack.nl;
+ if (nl >= cstack.size)
+ {
+ int size = cstack.size *= 2;
+ xrnew (cstack.cname, size, char *);
+ xrnew (cstack.cblev, size, int);
+ }
+ assert (nl == 0 || cstack.cblev[nl-1] < cblev);
+ cstack.cname[nl] = (str == NULL) ? NULL : savenstr (str, len);
+ cstack.cblev[nl] = cblev;
+ cstack.nl = nl + 1;
+}
+
+static void
+popclass_above (cblev)
+ int cblev;
+{
+ int nl;
-static bool consider_token P_((char *, int, int, int, int, int, bool *));
+ for (nl = cstack.nl - 1;
+ nl >= 0 && cstack.cblev[nl] >= cblev;
+ nl--)
+ {
+ if (cstack.cname[nl] != NULL)
+ free (cstack.cname[nl]);
+ cstack.nl = nl;
+ }
+}
+
+static void
+write_classname (cn, qualifier)
+ linebuffer *cn;
+ char *qualifier;
+{
+ int i, len;
+ int qlen = strlen (qualifier);
+
+ if (cstack.nl == 0 || cstack.cname[0] == NULL)
+ {
+ len = 0;
+ cn->len = 0;
+ cn->buffer[0] = '\0';
+ }
+ else
+ {
+ len = strlen (cstack.cname[0]);
+ linebuffer_setlen (cn, len);
+ strcpy (cn->buffer, cstack.cname[0]);
+ }
+ for (i = 1; i < cstack.nl; i++)
+ {
+ char *s;
+ int slen;
+
+ s = cstack.cname[i];
+ if (s == NULL)
+ continue;
+ slen = strlen (s);
+ len += slen + qlen;
+ linebuffer_setlen (cn, len);
+ strncat (cn->buffer, qualifier, qlen);
+ strncat (cn->buffer, s, slen);
+ }
+}
+
+\f
+static bool consider_token P_((char *, int, int, int *, int, int, bool *));
static void make_C_tag P_((bool));
/*
* is a struct/union/enum tag, or #define, or an enum constant.
*
* *IS_FUNC gets TRUE iff the token is a function or #define macro
- * with args. C_EXT is which language we are looking at.
+ * with args. C_EXTP points to which language we are looking at.
*
* Globals
* fvdef IN OUT
* definedef IN OUT
* typdef IN OUT
* objdef IN OUT
- * next_token_is_func IN OUT
*/
static bool
-consider_token (str, len, c, c_ext, cblev, parlev, is_func_or_var)
+consider_token (str, len, c, c_extp, cblev, parlev, is_func_or_var)
register char *str; /* IN: token pointer */
register int len; /* IN: token length */
register int c; /* IN: first char after the token */
- int c_ext; /* IN: C extensions mask */
+ int *c_extp; /* IN, OUT: C extensions mask */
int cblev; /* IN: curly brace level */
int parlev; /* IN: parenthesis level */
bool *is_func_or_var; /* OUT: function or variable found */
{
- enum sym_type toktype = C_symtype (str, len, c_ext);
+ /* When structdef is stagseen, scolonseen, or snone with cblev > 0,
+ structtype is the type of the preceding struct-like keyword, and
+ structcblev is the curly brace level where it has been seen. */
+ static enum sym_type structtype;
+ static int structcblev;
+ static enum sym_type toktype;
+
+
+ toktype = C_symtype (str, len, *c_extp);
/*
* Advance the definedef state machine.
{
case dnone:
/* We're not on a preprocessor line. */
+ if (toktype == st_C_gnumacro)
+ {
+ fvdef = fdefunkey;
+ return FALSE;
+ }
break;
case dsharpseen:
if (toktype == st_C_define)
{
case st_none:
case st_C_typespec:
+ case st_C_class:
case st_C_struct:
case st_C_enum:
typdef = ttypeseen;
break;
}
- /* Do not return here, so the structdef stuff has a chance. */
+ break;
+ case ttypeseen:
+ if (structdef == snone && fvdef == fvnone)
+ {
+ fvdef = fvnameseen;
+ return TRUE;
+ }
break;
case tend:
switch (toktype)
{
case st_C_typespec:
+ case st_C_class:
case st_C_struct:
case st_C_enum:
return FALSE;
}
/*
- * This structdef business is currently only invoked when cblev==0.
- * It should be recursively invoked whatever the curly brace level,
- * and a stack of states kept, to allow for definitions of structs
- * within structs.
- *
* This structdef business is NOT invoked when we are ctags and the
* file is plain C. This is because a struct tag may have the same
* name as another tag, and this loses with ctags.
if (structdef == stagseen)
structdef = scolonseen;
return FALSE;
+ case st_C_class:
+ if (cblev == 0
+ && (*c_extp & C_AUTO) /* automatic detection of C++ language */
+ && definedef == dnone && structdef == snone
+ && typdef == tnone && fvdef == fvnone)
+ *c_extp = (*c_extp | C_PLPL) & ~C_AUTO;
+ /* FALLTHRU */
case st_C_struct:
case st_C_enum:
- if (typdef == tkeyseen
- || (typedefs_and_cplusplus && cblev == 0 && structdef == snone))
+ if (parlev == 0
+ && fvdef != vignore
+ && (typdef == tkeyseen
+ || (typedefs_or_cplusplus && structdef == snone)))
{
structdef = skeyseen;
structtype = toktype;
+ structcblev = cblev;
}
return FALSE;
}
if (structdef == skeyseen)
{
- /* Save the tag for struct/union/class, for functions and variables
- that may be defined inside. */
- if (structtype == st_C_struct)
- structtag = savenstr (str, len);
- else
- structtag = "<enum>";
structdef = stagseen;
return TRUE;
}
if (typdef != tnone)
definedef = dnone;
- /* Detect GNU macros.
-
- Writers of emacs code are recommended to put the
- first two args of a DEFUN on the same line.
-
- The DEFUN macro, used in emacs C source code, has a first arg
- that is a string (the lisp function name), and a second arg that
- is a C function name. Since etags skips strings, the second arg
- is tagged. This is unfortunate, as it would be better to tag the
- first arg. The simplest way to deal with this problem would be
- to name the tag with a name built from the function name, by
- removing the initial 'F' character and substituting '-' for '_'.
- Anyway, this assumes that the conventions of naming lisp
- functions will never change. Currently, this method is not
- implemented. */
- if (definedef == dnone && toktype == st_C_gnumacro)
- {
- next_token_is_func = TRUE;
- return FALSE;
- }
- if (next_token_is_func)
- {
- next_token_is_func = FALSE;
- fvdef = fignore;
- *is_func_or_var = TRUE;
- return TRUE;
- }
-
/* Detect Objective C constructs. */
switch (objdef)
{
if (parlev == 0)
{
objdef = omethodtag;
- methodlen = len;
- grow_linebuffer (&token_name, methodlen + 1);
+ linebuffer_setlen (&token_name, len);
strncpy (token_name.buffer, str, len);
- token_name.buffer[methodlen] = '\0';
- token_name.len = methodlen;
+ token_name.buffer[len] = '\0';
return TRUE;
}
return FALSE;
if (parlev == 0)
{
objdef = omethodtag;
- methodlen += len;
- grow_linebuffer (&token_name, methodlen + 1);
+ linebuffer_setlen (&token_name, token_name.len + len);
strncat (token_name.buffer, str, len);
- token_name.len = methodlen;
return TRUE;
}
return FALSE;
*is_func_or_var = TRUE;
return TRUE;
case st_none:
- if ((c_ext & C_PLPL) && strneq (str+len-10, "::operator", 10))
+ if (constantypedefs
+ && structdef == snone
+ && structtype == st_C_enum && cblev > structcblev)
+ return TRUE; /* enum constant */
+ switch (fvdef)
{
- fvdef = foperator;
+ case fdefunkey:
+ if (cblev > 0)
+ break;
+ fvdef = fdefunname; /* GNU macro */
*is_func_or_var = TRUE;
return TRUE;
- }
- if (constantypedefs && structdef == sinbody && structtype == st_C_enum)
- return TRUE;
- if (fvdef == fvnone)
- {
+ case fvnone:
+ if ((strneq (str, "asm", 3) && endtoken (str[3]))
+ || (strneq (str, "__asm__", 7) && endtoken (str[7])))
+ {
+ fvdef = vignore;
+ return FALSE;
+ }
+ if ((*c_extp & C_PLPL) && strneq (str+len-10, "::operator", 10))
+ {
+ fvdef = foperator;
+ *is_func_or_var = TRUE;
+ return TRUE;
+ }
+ if (cblev > 0 && !instruct)
+ break;
fvdef = fvnameseen; /* function or variable */
*is_func_or_var = TRUE;
return TRUE;
return FALSE;
}
+\f
/*
- * C_entries ()
- * This routine finds functions, variables, typedefs,
- * #define's, enum constants and struct/union/enum definitions in
- * C syntax and adds them to the list.
+ * C_entries often keeps pointers to tokens or lines which are older than
+ * the line currently read. By keeping two line buffers, and switching
+ * them at end of line, it is possible to use those pointers.
*/
+struct
+{
+ long linepos;
+ linebuffer lb;
+} lbs[2];
+
#define current_lb_is_new (newndx == curndx)
#define switch_line_buffers() (curndx = 1 - curndx)
#define curlb (lbs[curndx].lb)
-#define othlb (lbs[1-curndx].lb)
#define newlb (lbs[newndx].lb)
#define curlinepos (lbs[curndx].linepos)
-#define othlinepos (lbs[1-curndx].linepos)
#define newlinepos (lbs[newndx].linepos)
#define CNL_SAVE_DEFINEDEF() \
#define CNL() \
do { \
CNL_SAVE_DEFINEDEF(); \
- if (savetok.valid) \
+ if (savetoken.valid) \
{ \
- tok = savetok; \
- savetok.valid = FALSE; \
+ token = savetoken; \
+ savetoken.valid = FALSE; \
} \
definedef = dnone; \
} while (0)
make_C_tag (isfun)
bool isfun;
{
- /* This function should never be called when tok.valid is FALSE, but
+ /* This function should never be called when token.valid is FALSE, but
we must protect against invalid input or internal errors. */
- if (tok.valid)
+ if (DEBUG || token.valid)
{
if (traditional_tag_style)
{
which uses the new method for naming tags (see new_pfnote). */
char *name = NULL;
- if (CTAGS || tok.named)
+ if (CTAGS || token.named)
name = savestr (token_name.buffer);
- pfnote (name, isfun,
- tok.buffer, tok.linelen, tok.lineno, tok.linepos);
+ if (DEBUG && !token.valid)
+ {
+ if (token.named)
+ name = concat (name, "##invalid##", "");
+ else
+ name = savestr ("##invalid##");
+ }
+ pfnote (name, isfun, token.line,
+ token.offset+token.length+1, token.lineno, token.linepos);
}
else
- new_pfnote (token_name.buffer, token_name.len, isfun,
- tok.buffer, tok.linelen, tok.lineno, tok.linepos);
- tok.valid = FALSE;
+ new_pfnote (token_name.buffer, token_name.len, isfun, token.line,
+ token.offset+token.length+1, token.lineno, token.linepos);
+ token.valid = FALSE;
}
- else if (DEBUG)
- abort ();
}
+/*
+ * C_entries ()
+ * This routine finds functions, variables, typedefs,
+ * #define's, enum constants and struct/union/enum definitions in
+ * C syntax and adds them to the list.
+ */
static void
C_entries (c_ext, inf)
int c_ext; /* extension of C */
int qlen; /* length of qualifier */
int cblev; /* current curly brace level */
int parlev; /* current parenthesis level */
+ int typdefcblev; /* cblev where a typedef struct body begun */
bool incomm, inquote, inchar, quotednl, midtoken;
- bool purec, cplpl, cjava;
- token savetok; /* token saved during preprocessor handling */
+ bool cplpl, cjava;
+ bool yacc_rules; /* in the rules part of a yacc file */
+ struct tok savetoken; /* token saved during preprocessor handling */
+
+ initbuffer (&token_name);
+ initbuffer (&lbs[0].lb);
+ initbuffer (&lbs[1].lb);
+ if (cstack.size == 0)
+ {
+ cstack.size = (DEBUG) ? 1 : 4;
+ cstack.nl = 0;
+ cstack.cname = xnew (cstack.size, char *);
+ cstack.cblev = xnew (cstack.size, int);
+ }
tokoff = toklen = 0; /* keep compiler quiet */
curndx = newndx = 0;
fvdef = fvnone; fvextern = FALSE; typdef = tnone;
structdef = snone; definedef = dnone; objdef = onone;
- next_token_is_func = yacc_rules = FALSE;
+ yacc_rules = FALSE;
midtoken = inquote = inchar = incomm = quotednl = FALSE;
- tok.valid = savetok.valid = FALSE;
+ token.valid = savetoken.valid = FALSE;
cblev = 0;
parlev = 0;
- purec = !(c_ext & ~YACC); /* no extensions (apart from possibly yacc) */
cplpl = (c_ext & C_PLPL) == C_PLPL;
cjava = (c_ext & C_JAVA) == C_JAVA;
if (cjava)
else
{ qualifier = "::"; qlen = 2; }
+
while (!feof (inf))
{
c = *lp++;
{
case '"':
inquote = TRUE;
- if (fvdef != finlist && fvdef != fignore && fvdef !=vignore)
+ switch (fvdef)
{
+ case fdefunkey:
+ case fstartlist:
+ case finlist:
+ case fignore:
+ case vignore:
+ break;
+ default:
fvextern = FALSE;
fvdef = fvnone;
}
case '%':
if ((c_ext & YACC) && *lp == '%')
{
- /* entering or exiting rules section in yacc file */
+ /* Entering or exiting rules section in yacc file. */
lp++;
definedef = dnone; fvdef = fvnone; fvextern = FALSE;
typdef = tnone; structdef = snone;
- next_token_is_func = FALSE;
midtoken = inquote = inchar = incomm = quotednl = FALSE;
cblev = 0;
yacc_rules = !yacc_rules;
} /* switch (c) */
- /* Consider token only if some complicated conditions are satisfied. */
- if ((definedef != dnone
- || (cblev == 0 && structdef != scolonseen)
- || (cblev == 1 && cplpl && structdef == sinbody)
- || (structdef == sinbody && purec))
- && typdef != tignore
+ /* Consider token only if some involved conditions are satisfied. */
+ if (typdef != tignore
&& definedef != dignorerest
- && fvdef != finlist)
+ && fvdef != finlist
+ && structdef != sintemplate
+ && (definedef != dnone
+ || structdef != scolonseen))
{
if (midtoken)
{
if (endtoken (c))
{
- bool funorvar = FALSE;
-
if (c == ':' && cplpl && *lp == ':' && begtoken (lp[1]))
{
/*
lp += 2;
toklen += 2;
c = lp[-1];
- goto intok;
+ goto still_in_token;
}
else
{
+ bool funorvar = FALSE;
+
if (yacc_rules
|| consider_token (newlb.buffer + tokoff, toklen, c,
- c_ext, cblev, parlev, &funorvar))
+ &c_ext, cblev, parlev, &funorvar))
{
if (fvdef == foperator)
{
c = *lp++;
toklen += lp - oldlp;
}
- tok.named = FALSE;
- if (!purec
- && funorvar
- && definedef == dnone
- && structdef == sinbody)
- /* function or var defined in C++ class body */
+ token.named = FALSE;
+ if ((c_ext & C_EXT) /* not pure C */
+ && nestlev > 0 && definedef == dnone)
+ /* in struct body */
{
- int len = strlen (structtag) + qlen + toklen;
- grow_linebuffer (&token_name, len + 1);
- strcpy (token_name.buffer, structtag);
+ write_classname (&token_name, qualifier);
+ linebuffer_setlen (&token_name,
+ token_name.len+qlen+toklen);
strcat (token_name.buffer, qualifier);
strncat (token_name.buffer,
newlb.buffer + tokoff, toklen);
- token_name.len = len;
- tok.named = TRUE;
+ token.named = TRUE;
}
else if (objdef == ocatseen)
/* Objective C category */
{
int len = strlen (objtag) + 2 + toklen;
- grow_linebuffer (&token_name, len + 1);
+ linebuffer_setlen (&token_name, len);
strcpy (token_name.buffer, objtag);
strcat (token_name.buffer, "(");
strncat (token_name.buffer,
newlb.buffer + tokoff, toklen);
strcat (token_name.buffer, ")");
- token_name.len = len;
- tok.named = TRUE;
+ token.named = TRUE;
}
else if (objdef == omethodtag
|| objdef == omethodparm)
/* Objective C method */
{
- tok.named = TRUE;
+ token.named = TRUE;
+ }
+ else if (fvdef == fdefunname)
+ /* GNU DEFUN and similar macros */
+ {
+ bool defun = (newlb.buffer[tokoff] == 'F');
+ int off = tokoff;
+ int len = toklen;
+
+ /* Rewrite the tag so that emacs lisp DEFUNs
+ can be found by their elisp name */
+ if (defun)
+ {
+ off += 1;
+ len -= 1;
+ }
+ len = toklen;
+ linebuffer_setlen (&token_name, len);
+ strncpy (token_name.buffer,
+ newlb.buffer + off, len);
+ token_name.buffer[len] = '\0';
+ if (defun)
+ while (--len >= 0)
+ if (token_name.buffer[len] == '_')
+ token_name.buffer[len] = '-';
+ token.named = defun;
}
else
{
- grow_linebuffer (&token_name, toklen + 1);
+ linebuffer_setlen (&token_name, toklen);
strncpy (token_name.buffer,
newlb.buffer + tokoff, toklen);
token_name.buffer[toklen] = '\0';
- token_name.len = toklen;
/* Name macros and members. */
- tok.named = (structdef == stagseen
- || typdef == ttypeseen
- || typdef == tend
- || (funorvar
- && definedef == dignorerest)
- || (funorvar
- && definedef == dnone
- && structdef == sinbody));
+ token.named = (structdef == stagseen
+ || typdef == ttypeseen
+ || typdef == tend
+ || (funorvar
+ && definedef == dignorerest)
+ || (funorvar
+ && definedef == dnone
+ && structdef == snone
+ && cblev > 0));
}
- tok.lineno = lineno;
- tok.linelen = tokoff + toklen + 1;
- tok.buffer = newlb.buffer;
- tok.linepos = newlinepos;
- tok.valid = TRUE;
+ token.lineno = lineno;
+ token.offset = tokoff;
+ token.length = toklen;
+ token.line = newlb.buffer;
+ token.linepos = newlinepos;
+ token.valid = TRUE;
if (definedef == dnone
&& (fvdef == fvnameseen
|| fvdef == foperator
|| structdef == stagseen
|| typdef == tend
+ || typdef == ttypeseen
|| objdef != onone))
{
if (current_lb_is_new)
switch_line_buffers ();
}
- else
+ else if (definedef != dnone
+ || fvdef == fdefunname
+ || instruct)
make_C_tag (funorvar);
}
midtoken = FALSE;
}
} /* if (endtoken (c)) */
else if (intoken (c))
- intok:
+ still_in_token:
{
toklen++;
continue;
break;
}
if (structdef == stagseen && !cjava)
- structdef = snone;
+ {
+ popclass_above (cblev);
+ structdef = snone;
+ }
break;
case dsharpseen:
- savetok = tok;
+ savetoken = token;
}
if (!yacc_rules || lp == newlb.buffer + 1)
{
switch (c)
{
case ':':
+ if (yacc_rules && token.offset == 0 && token.valid)
+ {
+ make_C_tag (FALSE); /* a yacc function */
+ break;
+ }
if (definedef != dnone)
break;
switch (objdef)
case omethodtag:
case omethodparm:
objdef = omethodcolon;
- methodlen += 1;
- grow_linebuffer (&token_name, methodlen + 1);
+ linebuffer_setlen (&token_name, token_name.len + 1);
strcat (token_name.buffer, ":");
- token_name.len = methodlen;
break;
}
if (structdef == stagseen)
structdef = scolonseen;
- else
- switch (fvdef)
- {
- case fvnameseen:
- if (yacc_rules)
- {
- make_C_tag (FALSE); /* a yacc function */
- fvdef = fignore;
- }
- break;
- case fstartlist:
- fvextern = FALSE;
- fvdef = fvnone;
- break;
- }
break;
case ';':
if (definedef != dnone)
break;
- if (cblev == 0)
- switch (typdef)
- {
- case tend:
- make_C_tag (FALSE); /* a typedef */
- /* FALLTHRU */
- default:
- typdef = tnone;
- }
- switch (fvdef)
+ switch (typdef)
{
- case fignore:
- break;
- case fvnameseen:
- if ((members && cblev == 1)
- || (globals && cblev == 0 && (!fvextern || declarations)))
- make_C_tag (FALSE); /* a variable */
- fvextern = FALSE;
+ case tend:
+ case ttypeseen:
+ make_C_tag (FALSE); /* a typedef */
+ typdef = tnone;
fvdef = fvnone;
- tok.valid = FALSE;
break;
- case flistseen:
- if (declarations && (cblev == 0 || cblev == 1))
- make_C_tag (TRUE); /* a function declaration */
+ case tnone:
+ case tinbody:
+ case tignore:
+ switch (fvdef)
+ {
+ case fignore:
+ if (typdef == tignore)
+ fvdef = fvnone;
+ break;
+ case fvnameseen:
+ if ((globals && cblev == 0 && (!fvextern || declarations))
+ || (members && instruct))
+ make_C_tag (FALSE); /* a variable */
+ fvextern = FALSE;
+ fvdef = fvnone;
+ token.valid = FALSE;
+ break;
+ case flistseen:
+ if ((declarations && typdef == tnone && !instruct)
+ || (members && typdef != tignore && instruct))
+ make_C_tag (TRUE); /* a function declaration */
+ /* FALLTHRU */
+ default:
+ fvextern = FALSE;
+ fvdef = fvnone;
+ if (declarations
+ && structdef == stagseen && (c_ext & C_PLPL))
+ make_C_tag (FALSE); /* forward declaration */
+ else
+ /* The following instruction invalidates the token.
+ Probably the token should be invalidated in all other
+ cases where some state machine is reset prematurely. */
+ token.valid = FALSE;
+ } /* switch (fvdef) */
/* FALLTHRU */
default:
- fvextern = FALSE;
- fvdef = fvnone;
- /* The following instruction invalidates the token.
- Probably the token should be invalidated in all
- other cases where some state machine is reset. */
- tok.valid = FALSE;
+ if (!instruct)
+ typdef = tnone;
}
if (structdef == stagseen)
structdef = snone;
}
switch (fvdef)
{
+ case fdefunkey:
case foperator:
+ case fstartlist:
case finlist:
case fignore:
case vignore:
break;
- case fvnameseen:
- if ((members && cblev == 1)
- || (globals && cblev == 0 && (!fvextern || declarations)))
- make_C_tag (FALSE); /* a variable */
+ case fdefunname:
+ fvdef = fignore;
+ break;
+ case fvnameseen: /* a variable */
+ if ((globals && cblev == 0 && (!fvextern || declarations))
+ || (members && instruct))
+ make_C_tag (FALSE);
+ break;
+ case flistseen: /* a function */
+ if ((declarations && typdef == tnone && !instruct)
+ || (members && typdef != tignore && instruct))
+ {
+ make_C_tag (TRUE); /* a function declaration */
+ fvdef = fvnameseen;
+ }
+ else if (!declarations)
+ fvdef = fvnone;
+ token.valid = FALSE;
break;
default:
fvdef = fvnone;
case '[':
if (definedef != dnone)
break;
- if (cblev == 0 && typdef == tend)
+ if (structdef == stagseen)
+ structdef = snone;
+ switch (typdef)
{
+ case ttypeseen:
+ case tend:
typdef = tignore;
make_C_tag (FALSE); /* a typedef */
break;
- }
- switch (fvdef)
- {
- case foperator:
- case finlist:
- case fignore:
- case vignore:
+ case tnone:
+ case tinbody:
+ switch (fvdef)
+ {
+ case foperator:
+ case finlist:
+ case fignore:
+ case vignore:
+ break;
+ case fvnameseen:
+ if ((members && cblev == 1)
+ || (globals && cblev == 0
+ && (!fvextern || declarations)))
+ make_C_tag (FALSE); /* a variable */
+ /* FALLTHRU */
+ default:
+ fvdef = fvnone;
+ }
break;
- case fvnameseen:
- if ((members && cblev == 1)
- || (globals && cblev == 0 && (!fvextern || declarations)))
- make_C_tag (FALSE); /* a variable */
- /* FALLTHRU */
- default:
- fvdef = fvnone;
}
- if (structdef == stagseen)
- structdef = snone;
break;
case '(':
if (definedef != dnone)
{
case fvnameseen:
if (typdef == ttypeseen
- && tok.valid
&& *lp != '*'
- && structdef != sinbody)
+ && !instruct)
{
/* This handles constructs like:
typedef void OperatorFun (int fun); */
make_C_tag (FALSE);
typdef = tignore;
+ fvdef = fignore;
+ break;
}
/* FALLTHRU */
case foperator:
fvdef = flistseen;
break;
}
- if (cblev == 0 && (typdef == tend))
+ if (!instruct
+ && (typdef == tend
+ || typdef == ttypeseen))
{
typdef = tignore;
make_C_tag (FALSE); /* a typedef */
if (definedef != dnone)
break;
if (typdef == ttypeseen)
- typdef = tinbody;
- switch (structdef)
{
- case skeyseen: /* unnamed struct */
- structdef = sinbody;
- structtag = "_anonymous_";
- break;
- case stagseen:
- case scolonseen: /* named struct */
- structdef = sinbody;
- make_C_tag (FALSE); /* a struct */
- break;
+ typdefcblev = cblev;
+ typdef = tinbody;
}
switch (fvdef)
{
case flistseen:
- make_C_tag (TRUE); /* a function */
+ make_C_tag (TRUE); /* a function */
/* FALLTHRU */
case fignore:
fvdef = fvnone;
break;
default:
/* Neutralize `extern "C" {' grot. */
- if (cblev == 0 && structdef == snone && typdef == tnone)
+ if (cblev == 0 && structdef == snone && nestlev == 0
+ && typdef == tnone)
cblev = -1;
}
}
+ switch (structdef)
+ {
+ case skeyseen: /* unnamed struct */
+ pushclass_above (cblev, NULL, 0);
+ structdef = snone;
+ break;
+ case stagseen: /* named struct or enum */
+ case scolonseen: /* a class */
+ pushclass_above (cblev, token.line+token.offset, token.length);
+ structdef = snone;
+ make_C_tag (FALSE); /* a struct or enum */
+ break;
+ }
cblev++;
break;
case '*':
}
else if (cblev > 0)
cblev--;
- if (cblev == 0)
+ popclass_above (cblev);
+ structdef = snone;
+ if (typdef == tinbody && cblev <= typdefcblev)
{
- if (typdef == tinbody)
- typdef = tend;
- /* Memory leakage here: the string pointed by structtag is
- never released, because I fear to miss something and
- break things while freeing the area. The amount of
- memory leaked here is the sum of the lengths of the
- struct tags.
- if (structdef == sinbody)
- free (structtag); */
-
- structdef = snone;
- structtag = "<error>";
+ assert (cblev == typdefcblev);
+ typdef = tend;
}
break;
case '=':
fvdef = vignore;
}
break;
+ case '<':
+ if (cplpl && structdef == stagseen)
+ {
+ structdef = sintemplate;
+ break;
+ }
+ goto resetfvdef;
+ case '>':
+ if (structdef == sintemplate)
+ {
+ structdef = stagseen;
+ break;
+ }
+ goto resetfvdef;
case '+':
case '-':
if (objdef == oinbody && cblev == 0)
break;
}
/* FALLTHRU */
+ resetfvdef:
case '#': case '~': case '&': case '%': case '/': case '|':
- case '^': case '!': case '<': case '>': case '.': case '?': case ']':
+ case '^': case '!': case '.': case '?': case ']':
if (definedef != dnone)
break;
/* These surely cannot follow a function tag in C. */
} /* switch (c) */
} /* while not eof */
+
+ free (token_name.buffer);
+ free (lbs[0].lb.buffer);
+ free (lbs[1].lb.buffer);
}
/*
default_C_entries (inf)
FILE *inf;
{
- C_entries (cplusplus ? C_PLPL : 0, inf);
+ C_entries (cplusplus ? C_PLPL : C_AUTO, inf);
}
-/* Always do plain ANSI C. */
+/* Always do plain C. */
static void
plain_C_entries (inf)
FILE *inf;
{
C_entries (YACC, inf);
}
+
\f
/* A useful macro. */
#define LOOP_ON_INPUT_LINES(file_pointer, line_buffer, char_pointer) \
LOOP_ON_INPUT_LINES (inf, lb, dummy)
continue;
}
+
\f
/* Fortran parsing */
dbp += 3;
return;
}
- if (!isdigit ((unsigned char) *dbp))
+ if (!ISDIGIT (*dbp))
{
--dbp; /* force failure */
return;
}
do
dbp++;
- while (isdigit ((unsigned char) *dbp));
+ while (ISDIGIT (*dbp));
}
static void
dbp += 6;
dbp = skip_spaces (dbp);
}
- if (!isalpha ((unsigned char) *dbp) && *dbp != '_' && *dbp != '$')
+ if (!ISALPHA (*dbp) && *dbp != '_' && *dbp != '$')
return;
for (cp = dbp + 1; *cp != '\0' && intoken (*cp); cp++)
continue;
}
}
}
+
\f
/*
- * Philippe Waroquiers <philippe.waroquiers@eurocontrol.be>, 1998-04-24
* Ada parsing
+ * Philippe Waroquiers <philippe.waroquiers@eurocontrol.be> (1998)
*/
static void adagetit P_((FILE *, char *));
dbp = skip_spaces (dbp);
for (cp = dbp;
(*cp != '\0'
- && (isalpha ((unsigned char) *cp) || isdigit ((unsigned char) *cp) || *cp == '_' || *cp == '.'));
+ && (ISALPHA (*cp) || ISDIGIT (*cp) || *cp == '_' || *cp == '.'));
cp++)
continue;
if (cp == dbp)
} /* advance char */
} /* advance line */
}
+
\f
/*
* Bob Weiner, Motorola Inc., 4/3/94
{
/* If first char is alphabetic or one of [_.$], test for colon
following identifier. */
- if (isalpha ((unsigned char) *cp) || *cp == '_' || *cp == '.' || *cp == '$')
+ if (ISALPHA (*cp) || *cp == '_' || *cp == '.' || *cp == '$')
{
/* Read past label. */
cp++;
- while (isalnum ((unsigned char) *cp) || *cp == '_' || *cp == '.' || *cp == '$')
+ while (ISALNUM (*cp) || *cp == '_' || *cp == '.' || *cp == '$')
cp++;
if (*cp == ':' || iswhite (*cp))
{
}
}
}
+
\f
/*
- * Perl support by Bart Robinson <lomew@cs.utah.edu>
- * enhanced by Michael Ernst <mernst@alum.mit.edu>
+ * Perl support
* Perl sub names: look for /^sub[ \t\n]+[^ \t\n{]+/
* Perl variable names: /^(my|local).../
+ * Bart Robinson <lomew@cs.utah.edu> (1995)
+ * Michael Ernst <mernst@alum.mit.edu> (1997)
*/
static void
Perl_functions (inf)
if (*cp == '$' || *cp == '@' || *cp == '%')
{
char* varstart = ++cp;
- while (isalnum ((unsigned char) *cp) || *cp == '_')
+ while (ISALNUM (*cp) || *cp == '_')
cp++;
varname = savenstr (varstart, cp-varstart);
}
}
}
}
+
\f
/*
- * Python support by Eric S. Raymond <esr@thyrsus.com>
+ * Python support
* Look for /^def[ \t\n]+[^ \t\n(:]+/ or /^class[ \t\n]+[^ \t\n(:]+/
+ * Eric S. Raymond <esr@thyrsus.com> (1997)
*/
static void
Python_functions (inf)
}
}
}
+
\f
/* Idea by Corny de Souza
* Cobol tag functions
bp += 8;
/* If eoln, compiler option or comment ignore whole line. */
- if (bp[-1] != ' ' || !isalnum ((unsigned char) bp[0]))
+ if (bp[-1] != ' ' || !ISALNUM (bp[0]))
continue;
- for (ep = bp; isalnum ((unsigned char) *ep) || *ep == '-'; ep++)
+ for (ep = bp; ISALNUM (*ep) || *ep == '-'; ep++)
continue;
if (*ep++ == '.')
pfnote (savenstr (bp, ep-bp), TRUE,
lb.buffer, ep - lb.buffer + 1, lineno, linecharno);
}
}
+
+\f
+/*
+ * Makefile support
+ * Idea by Assar Westerlund <assar@sics.se> (2001)
+ */
+static void
+Makefile_targets (inf)
+ FILE *inf;
+{
+ register char *bp;
+
+ LOOP_ON_INPUT_LINES (inf, lb, bp)
+ {
+ if (*bp == '\t' || *bp == '#')
+ continue;
+ while (*bp != '\0' && *bp != '=' && *bp != ':')
+ bp++;
+ if (*bp == ':')
+ pfnote (savenstr (lb.buffer, bp - lb.buffer), TRUE,
+ lb.buffer, bp - lb.buffer + 1, lineno, linecharno);
+ }
+}
+
\f
/* Added by Mosur Mohan, 4/22/88 */
/* Pascal parsing */
continue;
/* save all values for later tagging */
- grow_linebuffer (&tline, lb.len + 1);
+ linebuffer_setlen (&tline, lb.len);
strcpy (tline.buffer, lb.buffer);
save_lineno = lineno;
save_lcno = linecharno;
free (tline.buffer);
}
+
\f
/*
- * lisp tag functions
+ * Lisp tag functions
* look for (def or (DEF, quote or QUOTE
*/
}
}
}
+
\f
/*
* Postscript tag functions
* Just look for lines where the first character is '/'
- * Richard Mlynarik <mly@adoc.xerox.com>
* Also look at "defineps" for PSWrap
- * suggested by Masatake YAMATO <masata-y@is.aist-nara.ac.jp>
+ * Richard Mlynarik <mly@adoc.xerox.com> (1997)
+ * Ideas by Masatake Yamato <masata-y@is.aist-nara.ac.jp> (1999)
*/
static void
Postscript_functions (inf)
}
}
}
+
\f
/* Find tags in TeX and LaTeX input files. */
* TeX/LaTeX scanning loop.
*/
static void
-TeX_functions (inf)
+TeX_commands (inf)
FILE *inf;
{
char *cp, *lasthit;
return i;
return -1;
}
+
+\f
+/* Texinfo support. Dave Love, Mar. 2000. */
+static void
+Texinfo_nodes (inf)
+ FILE * inf;
+{
+ char *cp, *start;
+ LOOP_ON_INPUT_LINES (inf, lb, cp)
+ {
+ if ((*cp++ == '@'
+ && *cp++ == 'n'
+ && *cp++ == 'o'
+ && *cp++ == 'd'
+ && *cp++ == 'e' && iswhite (*cp++)))
+ {
+ start = cp = skip_spaces(cp);
+ while (*cp != '\0' && *cp != ',')
+ cp++;
+ pfnote (savenstr (start, cp - start), TRUE,
+ lb.buffer, cp - lb.buffer + 1, lineno, linecharno);
+ }
+ }
+}
+
\f
/*
* Prolog support (rewritten) by Anders Lindgren, Mar. 96
if (last == NULL)
last = xnew(len + 1, char);
else if (len + 1 > allocated)
- last = xrnew (last, len + 1, char);
+ xrnew (last, len + 1, char);
allocated = len + 1;
strncpy (last, cp, len);
last[len] = '\0';
origpos = pos;
- if (islower((unsigned char) s[pos]) || (s[pos] == '_'))
+ if (ISLOWER(s[pos]) || (s[pos] == '_'))
{
/* The atom is unquoted. */
pos++;
- while (isalnum((unsigned char) s[pos]) || (s[pos] == '_'))
+ while (ISALNUM(s[pos]) || (s[pos] == '_'))
{
pos++;
}
else
return -1;
}
+
\f
/*
* Support for Erlang -- Anders Lindgren, Feb 1996.
if (last == NULL)
last = xnew (len + 1, char);
else if (len + 1 > allocated)
- last = xrnew (last, len + 1, char);
+ xrnew (last, len + 1, char);
allocated = len + 1;
strncpy (last, cp, len);
last[len] = '\0';
origpos = pos;
- if (isalpha ((unsigned char) s[pos]) || s[pos] == '_')
+ if (ISALPHA (s[pos]) || s[pos] == '_')
{
/* The atom is unquoted. */
pos++;
- while (isalnum ((unsigned char) s[pos]) || s[pos] == '_')
+ while (ISALNUM (s[pos]) || s[pos] == '_')
pos++;
return pos - origpos;
}
else
return -1;
}
+
\f
#ifdef ETAGS_REGEXPS
return;
}
*cp = '\0';
- lang = get_language_from_name (lang_name);
+ lang = get_language_from_langname (lang_name);
if (lang == NULL)
return;
add_regex (cp + 1, ignore_case, lang);
patbuf->buffer = NULL;
patbuf->allocated = 0;
-#if 0 /* useful when debugging windows quoting convention problems */
- printf ("Compiling regex pattern: %s\n", regexp_pattern);
-#endif
-
err = re_compile_pattern (regexp_pattern, strlen (regexp_pattern), patbuf);
if (err != NULL)
{
for (t = etags_strchr (out, '\\');
t != NULL;
t = etags_strchr (t + 2, '\\'))
- if (isdigit ((unsigned char) t[1]))
+ if (ISDIGIT (t[1]))
{
dig = t[1] - '0';
diglen = regs->end[dig] - regs->start[dig];
result = xnew (size + 1, char);
for (t = result; *out != '\0'; out++)
- if (*out == '\\' && isdigit ((unsigned char) *++out))
+ if (*out == '\\' && ISDIGIT (*++out))
{
- /* Using "dig2" satisfies my debugger. Bleah. */
dig = *out - '0';
diglen = regs->end[dig] - regs->start[dig];
strncpy (t, in + regs->start[dig], diglen);
*t++ = *out;
*t = '\0';
- if (DEBUG && (t > result + size || t - result != (int)strlen (result)))
- abort ();
+ assert (t <= result + size && t - result == (int)strlen (result));
return result;
}
}
return;
}
+#endif /* ETAGS_REGEXPS */
+
\f
static void
get_tag (bp)
lb.buffer, cp - lb.buffer + 1, lineno, linecharno);
}
-#endif /* ETAGS_REGEXPS */
/* Initialize a linebuffer for use */
static void
initbuffer (lbp)
linebuffer *lbp;
{
- lbp->size = 200;
- lbp->buffer = xnew (200, char);
+ lbp->size = (DEBUG) ? 3 : 200;
+ lbp->buffer = xnew (lbp->size, char);
+ lbp->buffer[0] = '\0';
+ lbp->len = 0;
}
/*
{
/* We're at the end of linebuffer: expand it. */
lbp->size *= 2;
- buffer = xrnew (buffer, lbp->size, char);
+ xrnew (buffer, lbp->size, char);
p += buffer - lbp->buffer;
pend = buffer + lbp->size;
lbp->buffer = buffer;
if (p > buffer && p[-1] == '\r')
{
p -= 1;
-#ifdef WIN32_NATIVE
+#ifdef DOS_NT
/* Assume CRLF->LF translation will be performed by Emacs
when loading this file, so CRs won't appear in the buffer.
It would be cleaner to compensate within Emacs;
return result;
}
+
\f
/*
* Return a pointer to a space of size strlen(cp)+1 allocated
}
/* Print error message and exit. */
-static void
+void
fatal (s1, s2)
char *s1, *s2;
{
return result;
}
+
\f
/* Does the same work as the system V getcwd, but does not need to
guess the buffer size in advance. */
return path;
#else /* not HAVE_GETCWD */
+#if MSDOS
+
+ char *p, path[MAXPATHLEN + 1]; /* Fixed size is safe on MSDOS. */
+
+ getwd (path);
+
+ for (p = path; *p != '\0'; p++)
+ if (*p == '\\')
+ *p = '/';
+ else
+ *p = lowcase (*p);
+
+ return strdup (path);
+#else /* not MSDOS */
linebuffer path;
FILE *pipe;
pclose (pipe);
return path.buffer;
+#endif /* not MSDOS */
#endif /* not HAVE_GETCWD */
}
while (*fp++ == *dp++)
continue;
fp--, dp--; /* back to the first differing char */
-#ifdef WIN32_NATIVE
+#ifdef DOS_NT
if (fp == afn && afn[0] != '/') /* cannot build a relative name */
return afn;
#endif
if (filename_is_absolute (file))
res = savestr (file);
-#ifdef WIN32_NATIVE
+#ifdef DOS_NT
/* We don't support non-absolute file names with a drive
letter, like `d:NAME' (it's too much hassle). */
else if (file[1] == ':')
while (cp >= res && !filename_is_absolute (cp));
if (cp < res)
cp = slashp; /* the absolute name begins with "/.." */
-#ifdef WIN32_NATIVE
- /* Under Windows we get `d:/NAME' as absolute
+#ifdef DOS_NT
+ /* Under MSDOS and NT we get `d:/NAME' as absolute
file name, so the luser could say `d:/../NAME'.
We silently treat this as `d:/NAME'. */
else if (cp[0] != '/')
char *fn;
{
return (fn[0] == '/'
-#ifdef WIN32_NATIVE
- || (isalpha(fn[0]) && fn[1] == ':' && fn[2] == '/')
+#ifdef DOS_NT
+ || (ISALPHA(fn[0]) && fn[1] == ':' && fn[2] == '/')
#endif
);
}
canonicalize_filename (fn)
register char *fn;
{
-#ifdef WIN32_NATIVE
+#ifdef DOS_NT
/* Canonicalize drive letter case. */
- if (islower (fn[0]) && fn[1] == ':')
- fn[0] = toupper (fn[0]);
+ if (fn[0] != '\0' && fn[1] == ':' && ISLOWER (fn[0]))
+ fn[0] = upcase (fn[0]);
/* Convert backslashes to slashes. */
for (; *fn != '\0'; fn++)
if (*fn == '\\')
#endif
}
-/* Increase the size of a linebuffer. */
+/* Set the minimum size of a string contained in a linebuffer. */
static void
-grow_linebuffer (lbp, toksize)
+linebuffer_setlen (lbp, toksize)
linebuffer *lbp;
int toksize;
{
- while (lbp->size < toksize)
- lbp->size *= 2;
- lbp->buffer = xrnew (lbp->buffer, lbp->size, char);
+ while (lbp->size <= toksize)
+ {
+ lbp->size *= 2;
+ xrnew (lbp->buffer, lbp->size, char);
+ }
+ lbp->len = toksize;
}
/* Like malloc but get fatal error if memory is exhausted. */
-static long *
+long *
xmalloc (size)
unsigned int size;
{
return result;
}
-static long *
+long *
xrealloc (ptr, size)
char *ptr;
unsigned int size;
signal(SIGCONT, tell_emacs_to_resume);
#endif
- connect_type = make_connection (NULL, (u_short) 0, &s);
+ connect_type = make_connection (NULL, 0, &s);
sprintf(buffer,"(gnuserv-eval '(resume-pid-console %d))", (int)getpid());
send_string(s, buffer);
{
if (cp == NULL)
{ /* haven't calculated it yet */
-#ifdef BSD
- if (getwd (cwd) == 0)
-#else /* !BSD */
+#ifdef HAVE_GETCWD
if (getcwd (cwd,MAXPATHLEN) == NULL)
-#endif /* !BSD */
+#else
+ if (getwd (cwd) == 0)
+#endif /* HAVE_GETCWD */
{
perror (progname);
fprintf (stderr, "%s: unable to get current working directory\n",
char *path;
int rflg = 0; /* pathname given on cmdline */
char *portarg;
- u_short port = 0; /* port to server */
+ unsigned short port = 0; /* port to server */
#endif /* INTERNET_DOMAIN_SOCKETS */
#ifdef SYSV_IPC
struct msgbuf *msgp; /* message */
#if defined(INTERNET_DOMAIN_SOCKETS)
connect_type = make_connection (hostarg, port, &s);
#else
- connect_type = make_connection (NULL, (u_short) 0, &s);
+ connect_type = make_connection (NULL, 0, &s);
#endif
sprintf (command, "(gnuserv-eval%s '(progn ", quick ? "-quickly" : "");
send_string (s, command);
#if defined(INTERNET_DOMAIN_SOCKETS)
connect_type = make_connection (hostarg, port, &s);
#else
- connect_type = make_connection (NULL, (u_short) 0, &s);
+ connect_type = make_connection (NULL, 0, &s);
#endif
sprintf (command, "(gnuserv-eval%s '(progn ", quick ? "-quickly" : "");
send_string (s, command);
#if defined(INTERNET_DOMAIN_SOCKETS)
connect_type = make_connection (hostarg, port, &s);
#else
- connect_type = make_connection (NULL, (u_short) 0, &s);
+ connect_type = make_connection (NULL, 0, &s);
#endif
send_string (s, "(gnuserv-eval '(emacs-pid))");
send_string (s, EOT_STR);
#if defined(INTERNET_DOMAIN_SOCKETS)
connect_type = make_connection (hostarg, port, &s);
#else
- connect_type = make_connection (NULL, (u_short) 0, &s);
+ connect_type = make_connection (NULL, 0, &s);
#endif
#ifdef INTERNET_DOMAIN_SOCKETS
#ifdef INTERNET_DOMAIN_SOCKETS
struct entry {
- u_long host_addr;
+ unsigned long host_addr;
struct entry *next;
};
permitted -- return whether a given host is allowed to connect to the server.
*/
static int
-permitted (u_long host_addr, int fd)
+permitted (unsigned long host_addr, int fd)
{
int key;
struct entry *entry;
already there.
*/
static void
-add_host (u_long host_addr)
+add_host (unsigned long host_addr)
{
int key;
struct entry *new_entry;
FILE *host_file;
char *file_name;
char hostname[HOSTNAMSZ];
- u_int host_addr;
+ unsigned int host_addr;
int i, hosts=0;
/* Make sure every entry is null */
static int connect_to_unix_server (void);
#endif
#ifdef INTERNET_DOMAIN_SOCKETS
-static int connect_to_internet_server (char *serverhost, u_short port);
+static int connect_to_internet_server (char *serverhost, unsigned short port);
#endif
/* On some systems, e.g. DGUX, inet_addr returns a 'struct in_addr'. */
descriptor for server if successful.
*/
static int
-connect_to_internet_server (char *serverhost, u_short port)
+connect_to_internet_server (char *serverhost, unsigned short port)
{
int s; /* connected socket descriptor */
struct servent *sp; /* pointer to service information */
#ifdef KERBEROS
#ifndef KRB5
extern int krb_sendauth (/* long, int, KTEXT, char *, char *, char *,
- u_long, MSG_DAT *, CREDENTIALS *, Key_schedule,
+ unsigned long, MSG_DAT *, CREDENTIALS *, Key_schedule,
struct sockaddr_in *, struct sockaddr_in *,
char * */);
extern char *krb_realmofhost (/* char * */);
+2001-02-08 Martin Buchholz <martin@xemacs.org>
+
+ * XEmacs 21.2.44 "Thalia" is released.
+
+2001-01-16 Mike Sperber <mike@xemacs.org>
+
+ * startup.el (normal-top-level): Work even if no installation root
+ is found.
+
+2001-01-30 Andy Piper <andy@xemacs.org>
+
+ * gutter-items.el (progress-abort-glyph): remove instantiator.
+ (set-progress-abort-instantiator): new function.
+ (abort-progress-feedback): use it.
+
+ * gutter.el (set-gutter-dirty-p): new function.
+
+2001-01-30 Didier Verna <didier@xemacs.org>
+
+ * mwheel.el (mwheel-scroll): unwind-protect the selected window.
+
+2001-01-24 Didier Verna <didier@xemacs.org>
+
+ * sound.el (sound-extension-list): give a better default value.
+ * sound.el (load-sound-file): improve the doc string, also find
+ files given by absolute names, pass a real extension list to
+ `locate-file'.
+
2001-01-26 Martin Buchholz <martin@xemacs.org>
* XEmacs 21.2.43 "Terspichore" is released.
:items items)
frame)
;; set-glyph-image will not make the gutter dirty
- (set-specifier-dirty-flag
- (eval (intern (concat
- (symbol-name gutter-buffers-tab-orientation)
- "-gutter"))))))))))
+ (set-gutter-dirty-p gutter-buffers-tab-orientation)))))))
;; A myriad of different update hooks all doing slightly different things
(add-one-shot-hook
;; 'quit is special and acts "asynchronously".
:descriptor "Stop" :callback 'quit]
,progress-text-instantiator)])
- (set-glyph-image progress-layout-glyph progress-layout-instantiator locale))
+ (set-glyph-image progress-layout-glyph progress-layout-instantiator
+ locale))
(t
(setq progress-glyph-height 24)
(setq progress-layout-instantiator
:descriptor " Stop "
;; 'quit is special and acts "asynchronously".
:callback 'quit])])])
- (set-glyph-image progress-layout-glyph progress-layout-instantiator locale))))
+ (set-glyph-image progress-layout-glyph progress-layout-instantiator
+ locale))))
+
+(defvar progress-abort-glyph (make-glyph))
+
+(defun set-progress-abort-instantiator (&optional locale)
+ (set-glyph-image progress-abort-glyph
+ `[layout :orientation vertical :justify left
+ :items (,progress-text-instantiator
+ [layout
+ :margin-width 4
+ :pixel-height progress-glyph-height
+ :orientation horizontal])]
+ locale))
(defvar progress-stack nil
"An alist of label/string pairs representing active progress gauges.
Do not modify this directly--use the `progress-feedback' or
`display-progress-feedback'/`clear-progress-feedback' functions.")
-(defvar progress-abort-glyph
- (make-glyph
- `[layout :orientation vertical :justify left
- :items (,progress-text-instantiator
- [layout
- :margin-width 4
- :pixel-height progress-glyph-height
- :orientation horizontal])]))
-
(defun progress-feedback-displayed-p (&optional return-string frame)
"Return a non-nil value if a progress gauge is presently displayed in the
gutter area. If optional argument RETURN-STRING is non-nil,
;; fixup the gutter specifiers
(set-gutter-element bottom-gutter 'progress gutter-string frame)
(set-specifier bottom-gutter-border-width 2 frame)
- (set-instantiator-property progress-text-instantiator :datat message)
- (set-progress-feedback-instantiator (frame-selected-window frame))
+ (set-instantiator-property progress-text-instantiator :data message)
+ (set-progress-abort-instantiator (frame-selected-window frame))
(set-specifier bottom-gutter-height 'autodetect frame)
(set-gutter-element-visible-p bottom-gutter-visible-p
'progress t frame)
(or (and (listp spec) (memq 'buffers-tab spec))
spec)))
+(defun set-gutter-dirty-p (gutter-or-location)
+ "Make GUTTER-OR-LOCATION dirty to force redisplay updates."
+ ;; set-glyph-image will not make the gutter dirty
+ (when (or (gutter-specifier-p gutter-or-location)
+ (eq gutter-or-location 'top)
+ (eq gutter-or-location 'bottom)
+ (eq gutter-or-location 'left)
+ (eq gutter-or-location 'right))
+ (or (gutter-specifier-p gutter-or-location)
+ (setq gutter-or-location
+ (eval (intern (concat
+ (symbol-name gutter-or-location)
+ "-gutter")))))
+ (set-specifier-dirty-flag gutter-or-location)))
+
(defun make-gutter-specifier (spec-list)
"Return a new `gutter' specifier object with the given specification list.
SPEC-LIST can be a list of specifications (each of which is a cons of a
;; General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with XEmacs; see the file COPYING. If not, write to the
+;; along with XEmacs; see the file COPYING. If not, write to the
;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
;; Boston, MA 02111-1307, USA.
(amt (if (memq 'shift (event-modifiers event))
(cdr mwheel-scroll-amount)
(car mwheel-scroll-amount))))
- (case (mwheel-event-button event)
- (4 (scroll-down amt))
- (5 (scroll-up amt))
- (otherwise (error "Bad binding in mwheel-scroll")))
- (if curwin (select-window curwin))))
+ (unwind-protect
+ (case (mwheel-event-button event)
+ (4 (scroll-down amt))
+ (5 (scroll-up amt))
+ (otherwise (error "Bad binding in mwheel-scroll")))
+ (if curwin (select-window curwin)))
+ ))
;;;###autoload
(defun mwheel-install ()
(define-key global-map (car keys) 'mwheel-scroll)
(setq keys (cdr keys)))
(error nil))))
-
+
(provide 'mwheel)
;;; mwheel.el ends here
)
;; #### This should really be a list. --hniksic
-(defcustom sound-extension-list (if (or (eq system-type 'cygwin32)
- (eq system-type 'windows-nt))
- ".wav:" ".au:")
+(defcustom sound-extension-list (cond ((or (eq system-type 'cygwin32)
+ (eq system-type 'windows-nt))
+ ".wav:")
+ ((eq system-type 'linux)
+ ".wav:.au:")
+ (t
+ ".au:"))
"Filename extensions to complete sound file name with. If more than one
extension is used, they should be separated by \":\". "
:group 'sound
:type 'string)
(defcustom default-sound-directory-list (locate-data-directory-list "sounds")
-
"List of directories which to search for sound files"
:group 'sound
:type '(repeat directory )
(defun load-sound-file (filename sound-name &optional volume)
"Read in an audio-file and add it to the sound-alist.
+FILENAME can either be absolute or relative, in which case the file will
+be searched in the directories given by `default-sound-directory-list'.
+When looking for the file, the extensions given by `sound-extension-list' are
+also tried in the given order.
+
You can only play sound files if you are running on display 0 of the
console of a machine with native sound support or running a NetAudio
server and XEmacs has the necessary sound support compiled in.
(error "sound-name not a symbol"))
(unless (or (null volume) (integerp volume))
(error "volume not an integer or nil"))
- (let (buf
- data
- (file (locate-file filename default-sound-directory-list
- sound-extension-list)))
+ (let ((file (if (file-name-absolute-p filename)
+ ;; For absolute file names, we don't have on choice on the
+ ;; location, but sound extensions however can still be tried
+ (setq file (locate-file filename
+ (list (file-name-directory filename))
+ (split-string sound-extension-list
+ ":")))
+ (setq file (locate-file filename
+ default-sound-directory-list
+ (split-string sound-extension-list
+ ":")))))
+ buf data)
(unless file
(error "Couldn't load sound file %s" filename))
(unwind-protect
'external-debugging-output))
(if (null emacs-roots)
- (startup-find-roots-warning)
- (startup-setup-paths emacs-roots
- user-init-directory
- inhibit-early-packages
- inhibit-site-lisp
- debug-paths))
+ (startup-find-roots-warning))
+ (startup-setup-paths emacs-roots
+ user-init-directory
+ inhibit-early-packages
+ inhibit-site-lisp
+ debug-paths)
(startup-setup-paths-warning))
(if (and (not inhibit-autoloads)
+2001-02-08 Martin Buchholz <martin@xemacs.org>
+
+ * XEmacs 21.2.44 "Thalia" is released.
+
+2001-02-06 Martin Buchholz <martin@xemacs.org>
+
+ * xlwgauge.c:
+ * xlwgcs.c:
+ * xlwgcs.c (XtAllocateGC): Fix typo for X11R4.
+ * xlwgcs.h:
+ * xlwradio.c (RadioExpose):
+ * xlwcheckbox.c:
+ Remove use of BSD-specific types.
+ s/u_(char|short|int_long)/unsigned $1/g
+
+2001-02-05 Martin Buchholz <martin@xemacs.org>
+
+ * lwlib-Xm.c (xm_update_one_value):
+ Obey the man page; use XtFree instead of free.
+
+2001-02-02 Martin Buchholz <martin@xemacs.org>
+
+ * config.h.in: Use "..." to include config.h
+
2001-01-26 Martin Buchholz <martin@xemacs.org>
* XEmacs 21.2.43 "Terspichore" is released.
#ifndef _LWLIB_CONFIG_H_
#define _LWLIB_CONFIG_H_
-#include <../src/config.h>
+#include "../src/config.h"
#undef NEED_MOTIF
#undef NEED_ATHENA
else if (class == xmTextWidgetClass)
{
if (val->value)
- free (val->value);
+ XtFree (val->value);
val->value = XmTextGetString (widget);
val->edited = True;
}
else if (class == xmTextFieldWidgetClass)
{
if (val->value)
- free (val->value);
+ XtFree (val->value);
val->value = XmTextFieldGetString (widget);
val->edited = True;
}
#if DRAW_CHECK
#define check_width 14
#define check_height 14
-static u_char check_bits[] = {
+static unsigned char check_bits[] = {
0x00, 0x00, 0x00, 0x20, 0x00, 0x18, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x03,
0x8c, 0x03, 0xde, 0x01, 0xff, 0x01, 0xfe, 0x00, 0xfc, 0x00, 0x78, 0x00,
0x70, 0x00, 0x20, 0x00};
static void GaugeMercury (Display *, Window, GC, GaugeWidget, Cardinal, Cardinal);
static Boolean GaugeConvert (Widget, Atom *, Atom *, Atom *,
- XtPointer *, u_long *, int *);
+ XtPointer *, unsigned long *, int *);
static void GaugeLoseSel (Widget, Atom *);
static void GaugeDoneSel (Widget, Atom *, Atom *);
static void GaugeGetSelCB (Widget, XtPointer, Atom *, Atom *,
- XtPointer, u_long *, int *);
+ XtPointer, unsigned long *, int *);
static GC Get_GC (GaugeWidget, Pixel);
Atom *target, /* requested target */
Atom *type, /* returned type */
XtPointer *value, /* returned value */
- u_long *length, /* returned length */
+ unsigned long *length, /* returned length */
int *format) /* returned format */
{
GaugeWidget gw = (GaugeWidget)w ;
if( *target == XA_TARGETS(XtDisplay(w)) )
{
Atom *rval, *stdTargets ;
- u_long stdLength ;
+ unsigned long stdLength ;
/* XmuConvertStandardSelection can handle this. This function
* will return a list of standard targets. We prepend TEXT,
Atom *selection,
Atom *type,
XtPointer value,
- u_long *length,
+ unsigned long *length,
int *format)
{
Display *dpy = XtDisplay(w) ;
#if XtSpecificationRelease < 5
-static GC XtAllocateGC(Widget, int, u_long, XGCValues *, u_long, u_long) ;
+static GC XtAllocateGC(Widget, int, unsigned long, XGCValues *,
+ unsigned long, unsigned long) ;
#endif
AllocFgGC(Widget w, Pixel fg, Font font)
{
XGCValues values ;
- u_long vmask, dcmask ;
+ unsigned long vmask, dcmask ;
values.foreground = fg ;
values.font = font ;
int contrast, Bool be_nice_to_cmap)
{
XGCValues values ;
- u_long vmask, dcmask ;
+ unsigned long vmask, dcmask ;
values.foreground = fg ;
values.background = bg ;
#if XtSpecificationRelease < 5
static GC
-XtAllocateGC(Widget w, int depth, u_long mask, XGCValues *values,
- u_long dynamic, du_long ontcare)
+XtAllocateGC(Widget w, int depth, unsigned long mask, XGCValues *values,
+ unsigned long dynamic, unsigned long dontcare)
{
return XtGetGC(w, mask, values) ;
}
#endif
-static u_char screen0[2] = {0,0} ;
-static u_char screen25[2] = {0,0xaa} ;
-static u_char screen75[2] = {0xaa,0xff} ;
-static u_char screen100[2] = {0xff,0xff} ;
+static unsigned char screen0[2] = {0,0} ;
+static unsigned char screen25[2] = {0,0xaa} ;
+static unsigned char screen75[2] = {0xaa,0xff} ;
+static unsigned char screen100[2] = {0xff,0xff} ;
static Pixmap
getDitherPixmap(Widget w, int contrast)
GC topgc, GC botgc) ;
#if XtSpecificationRelease < 5
-extern GC XtAllocateGC(Widget, int depth, u_long mask,
- XGCValues *, u_long dynamic, u_long dontcare) ;
+extern GC XtAllocateGC(Widget, int depth, unsigned long mask,
+ XGCValues *,
+ unsigned long dynamic, unsigned long dontcare) ;
#endif
#else
{
/* TODO: handle pixmaps */
XCopyPlane(dpy, left_bitmap, win, gc,
- 0,0, rw->label.lbm_width, rw->label.lbm_height,
- (int) rw->label.internal_width*2 + bs(rw),
- (int) rw->label.internal_height + rw->label.lbm_y,
- (u_long) 1L) ;
+ 0,0, rw->label.lbm_width, rw->label.lbm_height,
+ (int) rw->label.internal_width*2 + bs(rw),
+ (int) rw->label.internal_height + rw->label.lbm_y,
+ 1UL) ;
}
/* Finally, the button itself */
+2001-02-08 Martin Buchholz <martin@xemacs.org>
+
+ * XEmacs 21.2.44 "Thalia" is released.
+
+2001-02-04 Steve Youngs <youngs@xemacs.org>
+
+ * xemacs/xemacs.texi: Update to accomodate new and improved
+ packages.texi.
+
+ * xemacs/packages.texi: Basically, apart from a few things,
+ rewritten from scratch.
+
+2001-01-27 Martin Buchholz <martin@xemacs.org>
+
+ * lispref/variables.texi (max-specpdl-size): Correct default value.
+ * lispref/eval.texi (max-lisp-eval-depth): Correct default value.
+
2001-01-26 Martin Buchholz <martin@xemacs.org>
* XEmacs 21.2.43 "Terspichore" is released.
that Lisp avoids infinite recursion on an ill-defined function.
@cindex Lisp nesting error
-The default value of this variable is 500. If you set it to a value
+The default value of this variable is 1000. If you set it to a value
less than 100, Lisp will reset it to 100 if the given value is reached.
@code{max-specpdl-size} provides another limit on nesting.
This limit, with the associated error when it is exceeded, is one way
that Lisp avoids infinite recursion on an ill-defined function.
- The default value is 600.
+ The default value is 3000.
@code{max-lisp-eval-depth} provides another limit on depth of nesting.
@xref{Eval}.
@menu
* Package Terminology:: Understanding different kinds of packages.
-* Using Packages:: How to install and use packages.
-* Building Packages:: Building packages from sources.
+* Installing Packages:: How to install packages.
+* Building Packages:: Building packages from CVS sources.
+* Local.rules File:: This is an important file don't forget to create/edit it.
* Creating Packages:: The basics.
-* Available Packages:: A brief, out-of-date, directory of packaged LISP.
+* Available Packages:: A brief directory of packaged LISP.
@end menu
-@node Package Terminology, Using Packages, , Packages
+@node Package Terminology, Installing Packages, , Packages
@comment node-name, next, previous, up
-
+@heading Package Terminology:
@subsection Package Flavors
There are two main flavors of packages.
A single-file package is an aggregate collection of thematically
related but otherwise independent lisp files. These files are bundled
together for download convenience and individual files may be deleted at
-will without any loss of functionality.
+will without any loss of functionality. However, we would recommend
+that you follow this rule of thumb: "When in doubt, don't delete".
@end itemize
@subsection Package Distributions
-
+@cindex package distributions
XEmacs Lisp packages are distributed in two ways, depending on the
-intended use. Binary Packages are for installers and end-users and may
+intended use. Binary Packages are for installers and end-users that can
be installed directly into an XEmacs package directory. Source Packages
are for developers and include all files necessary for rebuilding
bytecompiled lisp and creating tarballs for distribution.
build distribution tarballs (Unix Tar format files, gzipped for space
savings).
-@node Using Packages, Building Packages, Package Terminology, Packages
+Currently, source packages are only available via CVS. See
+@url{http://cvs.xemacs.org/} for details.
+@node Installing Packages, Building Packages, Package Terminology, Packages
@comment node-name, next, previous, up
-
+@cindex installing packages
+@cindex install
+@heading Installing Packages:
@subsection Getting Started
When you first download XEmacs 21, you will usually first grab the
@dfn{core distribution},
@cindex core distribution
a file called
-@file{xemacs-21.0.tar.gz}. (Replace the @t{21.0} by the current version
+@file{xemacs-21.x.x.tar.gz}. (Replace the @t{21.x.x} by the current version
number.) The core distribution contains the sources of XEmacs and a
minimal set of Emacs Lisp files, which are in the subdirectory named
@file{lisp}. This subdirectory used to contain all Emacs Lisp files
non-essential packages were made optional.
@subsection Choosing the Packages You Need
-
-The available packages can currently be found in the same ftp directory
+@cindex choosing packages
+The @ref{Available Packages} can currently be found in the same ftp directory
where you grabbed the core distribution from, and are located in the
-subdirectory @file{packages/binary-packages}. Package file names follow
+subdirectory @file{packages}. Package file names follow
the naming convention @file{<package-name>-<version>-pkg.tar.gz}.
If you have EFS @ref{(EFS)}, packages can be installed over the network.
install packages from a local disk or CDROM.
The file @file{etc/PACKAGES} in the core distribution contains a list of
-the packages available at the time of the XEmacs release. Packages are
+the @ref{Available Packages} at the time of the XEmacs release. Packages are
also listed on the @code{Options} menu under:
@example
- Options->Customize->Emacs->Packages
+ Options -> Customize -> Emacs -> Packages
@end example
However, don't select any of these menu picks unless you actually want
access it via the menus:
@example
- Options->Manage Packages->List & Install
+ Options -> Manage Packages -> List & Install
@end example
Or, you can get to it via the keyboard:
M-x package-get-package-provider RET thingatpt
@end example
-which will return something like (fsf-compat "1.06"). You can the use
+which will return something like (fsf-compat "1.08"). You can the use
one of the methods above for installing the package you want.
@subsection XEmacs and Installing Packages
-Normally, packages are installed over the network, using EFS
-@ref{(EFS)}. However, you may not have network access, or you may
-already have some or all of the packages on a local disk, such as a
-CDROM. If you want to install from a local disk, you must first tell
-XEmacs where to find the package binaries. This is done by adding a line
-like the following to your init file:
+There are three main ways to install packages:
-@example
-(setq package-get-remote (cons (list nil "/my/path/to/package/binaries")
- package-get-remote))
-@end example
+@menu
+* Sumo:: All at once, using the 'Sumo Tarball'.
+* Manually:: Using individual package tarballs.
+* Automatically:: Using the package tools from XEmacs.
+* Which Packages:: Which packages to install.
+* Removing Packages:: Removing packages.
+@end menu
-@xref{Init File}.
+But regardless of the method you use to install packages, they can only
+be used by XEmacs after a restart.
-Here, you'd change @file{/my/path/to/package/binaries} to be the path
-to your local package binaries. Next, restart XEmacs, and you're ready
-to go (advanced users can just re-evaluate the sexp).
+@node Sumo, Manually, ,Installing Packages
+@comment node-name, next, previous, up
+@cindex sumo package install
+@heading Installing the Sumo Packages:
+Those with little time, cheap connections and plenty of disk space can
+install all the packages at once using the sumo tarballs.
+Download the file: @file{xemacs-sumo.tar.gz}
-If you are installing from a temporary, one-time directory, you can also
-add these directory names to @code{package-get-remote} using:
+For an XEmacs compiled with Mule you also need: @file{xemacs-mule-sumo.tar.gz}
-@example
- M-x pui-add-install-directory
-@end example
+N.B. They are called 'Sumo Tarballs' for good reason. They are
+currently about 19MB and 4.5MB (gzipped) respectively.
+
+Install them by:
+
+@code{cd $prefix/lib/xemacs ; gunzip -c <tarballname> | tar xvf - RET}
-Note, however, that any directories added using this function are not
-saved; this information will be lost when you quit XEmacs.
+Or, if you have GNU tar:
+
+@code{cd $prefix/lib/xemacs ; tar zxvf /path/to/<tarballname> RET}
+
+As the Sumo tarballs are not regenerated as often as the individual
+packages, it is recommended that you use the automatic package tools
+afterwards to pick up any recent updates.
+
+@node Manually, Automatically, Sumo, Installing Packages
+@comment node-name, next, previous, up
+@cindex manual package install
+@heading Manual Package Installation:
+Fetch the packages from the FTP site, CD-ROM whatever. The filenames
+have the form @file{name-<version>-pkg.tar.gz} and are gzipped tar files. For
+a fresh install it is sufficient to untar the file at the top of the
+package hierarchy.
-If you're going to install over the network, you only have to insure
-that EFS @ref{(EFS)} works, and that it can get outside a firewall, if
-you happen to be behind one. You shouldn't have to do anything else;
-XEmacs already knows where to go. However you can add your own mirrors
-to this list. See @code{package-get-remote}.
+Note: If you are upgrading packages already installed, it's best to
+remove the old package first @ref{Removing Packages}.
-The easiest way to install a package is to use the visual package
-browser and installer, using the menu pick:
+For example if we are installing the @file{xemacs-base}
+package (version 1.48):
@example
- Options->Manage Packages->List & Install
+ mkdir $prefix/lib/xemacs/xemacs-packages RET # if it does not exist yet
+ cd $prefix/lib/xemacs/xemacs-packages RET
+ gunzip -c /path/to/xemacs-base-1.48-pkg.tar.gz | tar xvf - RET
+
+Or if you have GNU tar, the last step can be:
+
+ tar zxvf /path/to/xemacs-base-1.48-pkg.tar.gz RET
@end example
-or
+
+For MULE related packages, it is best to untar into the mule-packages
+hierarchy, i.e. for the @file{mule-base} package, version 1.37:
+
@example
- Options->Manage Packages->Using Custom->Select-> ...
+ mkdir $prefix/lib/xemacs/mule-packages RET # if it does not exist yet
+ cd $prefix/lib/xemacs/mule-packages RET
+ gunzip -c /path/to/mule-base-1.37-pkg.tar.gz | tar xvf - RET
+
+Or if you have GNU tar, the last step can be:
+
+ tar zxvf /path/to/mule-base-1.37-pkg.tar.gz RET
@end example
-You can also access it using the keyboard:
+@node Automatically, Which Packages ,Manually, Installing Packages
+@comment node-name, next, previous, up
+@cindex automatic package install
+@cindex package tools
+@heading Automatic Package Installation:
+XEmacs comes with some tools to make the periodic updating and
+installing easier. It will notice if new packages or versions are
+available and will fetch them from the FTP site.
+
+Unfortunately this requires that a few packages are already in place.
+You will have to install them by hand as above or use a SUMO tarball.
+This requirement will hopefully go away in the future. The packages
+you need are:
@example
-M-x pui-list-packages
+ efs - To fetch the files from the FTP site or mirrors.
+ xemacs-base - Needed by efs.
+
+and optionally:
+
+ mule-base - Needed if you want to use XEmacs with MULE.
@end example
+After installing these by hand, fire up XEmacs and follow these
+steps.
+
+Note: The menus in XEmacs 21.2.x and up have changed slightly, so
+where I mention "Options -> Manage Packages", substitute "Tools ->
+Packages".
+
+@enumerate 1
+@item Choose a download site.
+via menu: Options -> Manages Packages -> Add Download Site
+via keyb: @code{M-x customize-variable RET package-get-remote RET}
+(put in the details of remote host and directory)
+
+If the package tarballs _AND_ the package-index file are in a
+local directory, you can: @code{M-x pui-add-install-directory RET}
+
+@item Obtain a list of packages and display the list in a buffer named
+@file{*Packages*}.
+menu: Options -> Manage Packages -> List & Install
+keyb: @code{M-x pui-list-packages RET}
+
+XEmacs will now connect to the remote site and download the
+latest package-index file. If you see an error about the
+package-index entries not being PGP signed, you can safely
+ignore this because PGP has not been integrated into the XEmacs
+package tools yet.
+
The visual package browser will then display a list of all packages.
Help information will be displayed at the very bottom of the buffer; you
may have to scroll down to see it. You can also press @kbd{?} to get
Moving the mouse over a package will also cause additional information
about the package to be displayed in the minibuffer.
-@subsection Other package installation interfaces
-For an alternative package interface, you can select packages from the
-customize menus, under:
+@item Choose the packages you wish to install.
+mouse: Click button 2 on the package name.
+ keyb: @kbd{RET} on the package name
-@example
- Options->Customize->Emacs->Packages-> ...
-@end example
-or
-@example
- Options->Manage Packages->Using Custom->Select-> ...
-@end example
+@item Make sure you have everything you need.
+menu: Packages -> Add Required
+keyb: @kbd{r}
-Set their state to on, and then do:
+XEmacs will now search for packages that are required by the
+ones that you have chosen to install and offer to select
+those packages also.
-@example
- Options->Manage Packages->Using Custom->Update Packages
-@end example
+For novices and gurus alike, this step can save your bacon.
+It's easy to forget to install a critical package.
-This will automatically retrieve the packages you have selected from the
-XEmacs ftp site or your local disk, and install them into
-XEmacs. Additionally it will update any packages you already have
-installed to the newest version. Note that if a package is newly
-installed you will have to restart XEmacs for the change to take effect.
+@item Download and install the packages.
+menu: Packages -> Install/Remove Selected
+keyb: @kbd{x}
+@end enumerate
You can also install packages using a semi-manual interface:
@end example
Enter the name of the package (e.g., @code{prog-modes}), and XEmacs
-will search for the latest version (as listed in the lisp file
-@file{lisp/package-get-base.el}), and install it and any packages that
+will search for the latest version and install it and any packages that
it depends upon.
-@subsection Manual Binary Package Installation
-
-Pre-compiled, binary packages can be installed in either a system
-package directory (this is determined when XEmacs is compiled), or in
-one of the following
-subdirectories of your @file{$HOME} directory:
-
-@example
-~/.xemacs/mule-packages
-~/.xemacs/xemacs-packages
-@end example
-
-Packages in the former directory will only be found by a Mule-enabled
-XEmacs.
-
-XEmacs does not have to be running to install binary packages, although
-XEmacs will not know about any newly-installed packages until you
-restart XEmacs. Note, however, that installing a newer version of a
-package while XEmacs is running could cause strange errors in XEmacs;
-it's best to exit XEmacs before upgrading an existing package.
-
-To install binary packages manually:
-
-@enumerate
-@item
-Download the package(s) that you want to install. Each binary package
-will typically be a gzip'd tarball.
-
-@item
-Decide where to install the packages: in the system package
-directory, or in @file{~/.xemacs/mule-packages} or
-@file{~/.xemacs/xemacs-packages}, respectively. If you want to install
-the packages in the system package directory, make sure you can write
-into that directory. If you want to install in your @file{$HOME}
-directory, create the directory, @file{~/.xemacs/mule-packages} or
-@file{~/.xemacs/xemacs-packages}, respectively.
-
-@item
-Next, @code{cd} to the directory under which you want to install the
-package(s).
-
-@item
-From this directory, uncompress and extract each of the gzip'd tarballs
-that you downloaded in step 1. Unix and Cygnus cygwin users will
-typically do this using the commands:
-
-@example
- gunzip < package.tar.gz | tar xvf -
-@end example
-
-Above, replace @file{package.tar.gz} with the filename of the
-package that you downloaded in step 1.
+@node Which Packages, Removing Packages, Automatically, Installing Packages
+@comment node-name, next, previous, up
+@cindex which packages
+@cindex choosing packages
+@heading Which Packages to Install:
+This is difficult to say. When in doubt install a package. If you
+administrate a big site it might be a good idea to just install
+everything. A good minimal set of packages for XEmacs-latin1 would be
-Of course, if you use GNU @code{tar}, you could also use:
+xemacs-base, xemacs-devel, c-support, cc-mode, debug, dired, efs,
+edit-utils, fsf-compat, mail-lib, net-utils, os-utils, prog-modes,
+text-modes, time
-@example
- tar xvzf package.tar.gz
-@end example
+If you are using the XEmacs package tools, don't forget to do:
-@comment What about native MS Windows users???
+ Packages -> Add Required
-@item
-That's it. Quit and restart XEmacs to get it to recognize any new or
-changed packages.
+To make sure you have everything that the packages you have chosen to
+install need.
-@end enumerate
+See also @ref{Available Packages} for further descriptions of the individual
+packages.
-@node Building Packages, Creating Packages, Using Packages, Packages
+@node Removing Packages, ,Which Packages, Installing Packages
@comment node-name, next, previous, up
-
-Source packages are available from the @file{packages/source-packages}
-subdirectory of your favorite XEmacs distribution site. Alternatively,
-they are available via CVS from @file{cvs.xemacs.org}. Look at
-@file{http://cvs.xemacs.org} for instructions.
+@cindex removing packages
+@cindex deleting packages
+@heading Removing Packages:
+Because the exact files and their locations contained in a package may
+change it is recommended to remove a package first before installing a
+new version. In order to facilitate removal each package contains an
+@file{pgkinfo/MANIFEST.pkgname} file which list all the files belonging
+to the package.
+
+No need to panic, you don't have to go through the
+@file{pkinfo/MANIFEST.pkgname} and manually delete the files. Instead, use
+@code{M-x package-admin-delete-binary-package RET}.
+
+Note that the interactive package tools included with XEmacs already do
+this for you.
+
+@node Building Packages, Local.rules File, Installing Packages, Packages
+@comment node-name, next, previous, up
+@cindex building packages
+@cindex package building
+@heading Building Packages:
+Currently, source packages are only available via anonymous CVS. See
+@url{http://cvs.xemacs.org/} for details of checking out the
+@file{xemacs-packages} module.
@subsection Prerequisites for Building Source Packages
-You must have GNU @code{cp}, GNU @code{install} (or a BSD compatible
-@code{install} program) GNU @code{make} (3.75 or later preferred),
-@code{makeinfo} (1.68 from @code{texinfo-3.11} or later required), GNU
-@code{tar} and XEmacs 21.0. The source packages will untar into a
-correct directory structure. At the top level you must have
-@file{XEmacs.rules} and @file{package-compile.el}. These files are
-available from the XEmacs FTP site from the same place you obtained your
-source package distributions.
+@table @code
+@item GNU cp
+@item GNU ginstall
+(or a BSD compatible install program).
+@item GNU make
+(3.75 or later preferred).
+@item makeinfo
+(1.68 from texinfo-3.11 or later required).
+@item GNU tar
+(or equivalent).
+@item GNU gzip
+(or equivalent).
+@item A properly configured @file{Local.rules} file.
+@ref{Local.rules File}.
+@end table
+And of course, XEmacs 21.0 or higher.
@subsection What You Can Do With Source Packages
-NB: A global build operation doesn't exist yet as of 13 January 1998.
-
-Source packages are most useful for creating XEmacs package tarballs
-for installation into your own XEmacs installations or for
+The packages CVS sources are most useful for creating XEmacs package
+tarballs for installation into your own XEmacs installations or for
distributing to others.
Supported operations from @file{make} are:
@table @code
-@item clean
-Remove all built files except @file{auto-autoloads.el} and @file{custom-load.el}.
-
-@item distclean
-Remove XEmacs backups as well as the files deleted by @code{make clean}.
-
@item all
Bytecompile all files, build and bytecompile byproduct files like
@file{auto-autoloads.el} and @file{custom-load.el}. Create info version
of TeXinfo documentation if present.
+@item bindist
+Does a @code{make all} as well as create a binary package tarball in the
+staging directory.
+
+@item install
+Bytecompile all files, build and bytecompile byproduct files like
+@file{auto-autoloads.el} and @file{custom-load.el}. Create info version
+of TeXinfo documentation if present. And install everything into the
+staging directory.
+
@item srckit
Usually aliased to @code{srckit-std}. This does a @code{make
distclean} and creates a package source tarball in the staging
Runs the rules @code{srckit} followed by @code{binkit}. This is
primarily of use by XEmacs maintainers producing files for distribution.
+@item clean
+Remove all built files except @file{auto-autoloads.el} and @file{custom-load.el}.
+
+@item distclean
+Remove all created files.
@end table
-@node Creating Packages, Available Packages, Building Packages, Packages
+@node Local.rules File, Creating Packages, Building Packages, Packages
@comment node-name, next, previous, up
+@cindex local.rules
+@heading The Local.rules File:
+This file is used when building and installing packages from source. In
+the top level of the CVS module, @file{xemacs-packages}, contains the
+file, @file{Local.rules.template}. Simply copy that to
+@file{Local.rules} and edit it to suit your needs.
+
+These are the variables in 'Local.rules' that you will need to
+address.
+
+@table @var
+@item symlink =
+Set this to 't' if you want to do a "run in place".
+Setting this doesn't work well with 'make bindist'
+
+@item XEMACS_PACKAGES =
+This is where you set the normal packages that you
+want to install. eg:
+@example
+ XEMACS_PACKAGES = libs/xemacs-base comm/bbdb
+@end example
+
+@item XEMACS_STAGING = $@{XEMACS_PACKAGES_BASE@}/../Packages
+Set this to where you want normal packages to be
+installed to.
+@item PACKAGE_INDEX = package-index
+If you want the package-index file to have a different
+name, change this.
+
+@item BUILD_WITHOUT_MULE =
+Building from CVS defaults to building the Mule
+packages. Set this to 't' if you don't want/have Mule
+
+@item MULE_PACKAGES =
+Same as for 'XEMACS_PACKAGES' except you list the Mule
+packages you want to install here. eg:
+@example
+ MULE_PACKAGES = mule/mule-base mule/skk
+@end example
+
+@item MULE_STAGING = $@{XEMACS_PACKAGES_BASE@}/../Mule-Packages
+Set this to where you want Mule packages installed
+to. Note: 'make bindist' does not use this variable.
+
+@item XEMACS = xemacs
+If your XEmacs isn't in your path, change this.
+
+@item XEMACS_NATIVE_NT =
+Set this to 't' if you are building on WinNT.
+
+@item INSTALL = install -c
+The path to your BSD compatible install program.
+
+@item TAR = tar
+The path to your tar program
+
+@item BZIP2 =
+If you want bzip2 tarballs, set this.
+
+@item MAKEINFO = makeinfo
+The path to your makeinfo program
+@end table
+
+
+@node Creating Packages, Available Packages, Local.rules File, Packages
+@comment node-name, next, previous, up
+@cindex creating packages
+@heading Creating Packages:
Creating a package from an existing Lisp library is not very difficult.
In addition to the Lisp libraries themselves, you need a
@node Available Packages, , Creating Packages, Packages
@comment node-name, next, previous, up
+@cindex available packages
+@cindex packages
+@heading Available Packages:
+This section lists the Lisp packages that are currently available from
+xemacs.org and it's mirrors. If a particular package that you are
+looking for isn't here, please send a message to the
+@email{xemacs-beta@@xemacs.org, XEmacs Beta list}.
-This section is surely out-of-date. If you're sure that XEmacs is
-able to do something, but your installed XEmacs won't do it for you,
-it's probably in a package. If you can't find it in this section,
-that's a bug---please report it. It is very hard to keep this section
-up-to-date; your reports, comments, and questions will help a lot.
-
-This data is up-to-date as of 10 February 1999. (Ouch! I told you!)
+This data is up-to-date as of January 17, 2001.
@subsection Library Packages (libs)
@item apel
A Portable Emacs Library. Used by XEmacs MIME support.
-@item edebug
-A Lisp debugger.
-
@item dired
The DIRectory EDitor is for manipulating, and running commands on
files in a directory.
+@item edebug
+A Lisp debugger.
+
@item efs
Treat files on remote systems the same as local files.
+@item elib
+Portable Emacs Lisp utilities library.
+
+@item fsf-compat
+FSF Emacs compatibility files.
+
@item mail-lib
Fundamental lisp files for providing email support.
+@item sounds-au
+XEmacs Sun sound files.
+
+@item sounds-wav
+XEmacs Microsoft sound files.
+
@item tooltalk
Support for building with Tooltalk.
email and usenet.
@table @file
+@item bbdb
+The Big Brother Data Base
+
+@item eicq
+ICQ Client developed and tested on Linux x86;
+only supported on that platform
+
+@item eudc
+Emacs Unified Directory Client (LDAP, PH).
+
@item footnote
Footnoting in mail message editing modes.
@item mailcrypt
Support for messaging encryption with PGP.
+@item mew
+Messaging in an Emacs World.
+
@item mh-e
Front end support for MH.
Miscellaneous Networking Utilities. This is a single-file package and
files may be deleted at will.
-@item ph
-Emacs implementation of the ph client to CCSO/qi directory servers.
-
@item rmail
An obsolete Emacs mailer. If you do not already use it don't start.
An Emacs citation tool. Useful with all Emacs Mailers and Newsreaders.
@item tm
-Emacs MIME support.
+Emacs MIME support. Not needed for Gnus >= 5.8.0
@item vm
An Emacs mailer.
@item w3
A Web browser.
+
+@item zenirc
+ZENIRC IRC Client.
@end table
@subsection Games and Amusements (games)
+All work and no play...
+
@table @file
@item cookie
Spook and Yow (Zippy quotes).
@subsection Mule Support (mule)
+MULti-lingual Enhancement. Support for world scripts such as
+Latin, Arabic, Cyrillic, Chinese, Japanese, Greek, Hebrew etc.
+To use these packages your XEmacs must be compiled with Mule
+support.
+
@table @file
+@item edict
+Lisp Interface to EDICT, Kanji Dictionary.
+
@item egg-its
Wnn (4.2 and 6) support. SJ3 support. Must be installed prior to
XEmacs build.
Used for localized menubars (French and Japanese) and localized splash
screens (Japanese).
+@item lookup
+Dictionary support. (This isn't an English dictionary program)
+
@item mule-base
Basic Mule support. Must be installed prior to building with Mule.
@subsection Productivity Packages (oa)
+Things to make life a little easier.
+
@table @file
+@item calc
+Emacs calculator.
+
@item calendar
Calendar and diary support.
weed out the junk you don't want.
@item forms
-Forms editing support (obsolete, use the builtin Widget instead).
+Forms editing support (obsolete, use the built-in Widget instead).
@item frame-icon
Provide a WM icon based on major mode.
User interface tool.
@item speedbar
-??? Document me.
+Provides a separate frame with convenient references.
@item strokes
Mouse enhancement utility.
@subsection Operating System Utilities (os)
+Tools for working with the operating system.
+
@table @file
+@item eshell
+Command shell implemented entirely in Emacs Lisp.
+
@item eterm
Terminal emulator.
Miscellaneous single-file O/S utilities, for printing, archiving,
compression, remote shells, etc.
+@item pcomplete
+Provides programmatic completion.
+
+@item ps-print-nomule
+Old, but no-Mule safe ps-print.
+
@item view-process
A Unix process browsing tool.
@end table
@subsection Program Editing Support (prog)
+XEmacs supports a multitude of programming languages. These
+packages will help your coding.
+
@table @file
@item ada
Ada language support.
@item emerge
Another interface over patch.
+@item idlwave
+Editing and Shell mode for the Interactive Data Language.
+
+@item jde
+Java language and development support.
+
@item pcl-cvs
CVS frontend.
@item prog-modes
-Miscellaneous Lisp libraries for various programming languages.
+Miscellaneous single-file lisp files for various programming languages.
@item scheme
Front-end support for Inferior Scheme.
+@item semantic
+Semantic bovinator.
+
@item sh-script
Support for editing shell scripts.
@item vc
-Version control for free systems.
+Version Control for Free systems.
@item vc-cc
-Version control for ClearCase.
+Version Control for ClearCase. This package will shortly be
+replaced with clearcase.el
@item vhdl
Support for VHDL.
@subsection Word Processing (wp)
+Working with text.
+
@table @file
@item auctex
Basic TeX/LaTeX support.
@item edt
DEC EDIT/EDT emulation.
+@item reftex
+Emacs support for LaTeX cross-references, citations.
+
@item texinfo
XEmacs TeXinfo support.
global variables, data types, and anything else convenient. Each name
recorded is called a @dfn{tag}.
+@cindex C++ class browser, tags
+@cindex tags, C++
+@cindex class browser, C++
+@cindex Ebrowse
+The Ebrowse is a separate facility tailored for C++, with tags and a
+class browser. @xref{,,, ebrowse, Ebrowse User's Manual}.
+
@menu
* Tag Syntax:: Tag syntax for various types of code and text files.
* Create Tags Table:: Creating a tags table with @code{etags}.
* List Tags:: Listing and finding tags defined in a file.
@end menu
-@node Tag Syntax, Create Tags Table, Tags, Tags
+@node Tag Syntax
@subsection Source File Tag Syntax
Here is how tag syntax is defined for the most popular languages:
tag.@refill
Other commands can make tags as well, if you specify them in the
-environment variable @code{TEXTAGS} before invoking @code{etags}. The
+environment variable @env{TEXTAGS} before invoking @code{etags}. The
value of this environment variable should be a colon-separated list of
command names. For example,
@item
In Ada code, functions, procedures, packages, tasks, and types are
-tags. Use the @samp{--packages-only} option to create tags for packages
-only.
+tags. Use the @samp{--packages-only} option to create tags for
+packages only.
+
+With Ada, it is possible to have the same name used for different
+entity kinds (e.g.@: the same name for a procedure and a function). Also,
+for things like packages, procedures and functions, there is the spec
+(i.e.@: the interface) and the body (i.e.@: the implementation). To
+facilitate the choice to the user, a tag value is appended with a
+qualifier:
+
+@table @asis
+@item function
+ @kbd{/f}
+@item procedure
+ @kbd{/p}
+@item package spec
+ @kbd{/s}
+@item package body
+ @kbd{/b}
+@item type
+ @kbd{/t}
+@item task
+ @kbd{/k}
+@end table
+
+So, as an example, @kbd{M-x find-tag bidule/b} will go directly to the
+body of the package @var{bidule} while @kbd{M-x find-tag bidule} will
+just search for any tag @var{bidule}.
@item
In assembler code, labels appearing at the beginning of a line,
In Fortran code, functions, subroutines and blockdata are tags.
@item
+In makefiles, targets are tags.
+
+@item
In Objective C code, tags include Objective C definitions for classes,
class categories, methods, and protocols.
to tag global variables.
@item
-In Postscript code, the tags are the functions.
+In PostScript code, the tags are the functions.
@item
In Prolog code, a tag name appears at the left margin.
generate a tag.
@end itemize
- You can also generate tags based on regexp matching
-(@pxref{Etags Regexps}) to handle other formats and languages.
+ You can also generate tags based on regexp matching (@pxref{Etags
+Regexps}) to handle other formats and languages.
-@node Create Tags Table, Etags Regexps, Tag Syntax, Tags
+@node Create Tags Table
@subsection Creating Tags Tables
@cindex @code{etags} program
a list of all the available @code{etags} options, together with a short
explanation.
-@node Etags Regexps, Select Tags Table, Create Tags Table, Tags
+@node Etags Regexps
@subsection Etags Regexps
The @samp{--regex} option provides a general way of recognizing tags
* Packages:: Introduction to XEmacs Packages.
* Package Terminology:: Understanding different kinds of packages.
-* Using Packages:: How to install and use packages.
+* Installing Packages:: How to install packages.
* Building Packages:: Building packages from sources.
+* Local.rules File:: An important part of building packages.
+* Creating Packages:: The basics.
+* Available Packages:: A brief directory of packaged LISP.
Basic Editing Commands
+2001-02-08 Martin Buchholz <martin@xemacs.org>
+
+ * XEmacs 21.2.44 "Thalia" is released.
+
+2001-02-02 Andy Piper <andy@xemacs.org>
+
+ * res.rc: update mirrors.lst location.
+
2001-01-26 Martin Buchholz <martin@xemacs.org>
* XEmacs 21.2.43 "Terspichore" is released.
* all: port from cygwin setup.
-%%% $Id: ChangeLog,v 1.1.2.14 2001/01/24 09:22:31 andyp Exp $
-$Revision: 1.1.2.14 $
+%%% $Id: ChangeLog,v 1.1.2.16 2001/02/02 19:47:47 andyp Exp $
+$Revision: 1.1.2.16 $
BEGIN\r
IDS_ROOT_SLASH "Warning: we recommend you do NOT use the root of your hard drive as the XEmacs root. Proceed anyway?"\r
IDS_ROOT_SPACE "You should not choose a root path that include spaces in directory names. Proceed anyway?"\r
- IDS_MIRROR_LST "http://ftp.xemacs.org/pub/xemacs/mirrors.lst"\r
+ IDS_MIRROR_LST "http://www.xemacs.org/Download/mirrors.lst"\r
IDS_DIALOG_FAILED "Unable to create Dialog Box"\r
IDS_CYGWIN_FUNC_MISSING "Error: unable to find function `%s' in %s"\r
IDS_DOWNLOAD_SHORT "Download error: %s too short (%d, wanted %d)"\r
IDS_ERR_OPEN_READ "Can't open %s for reading: %s"\r
IDS_ROOT_ABSOLUTE "The install directory must be absolute, with both a drive letter and leading slash, like C:\\Cygwin"\r
IDS_DOWNLOAD_COMPLETE "Download Complete"\r
- IDS_CVSID "\n%%% $Id: res.rc,v 1.1.2.4 2001/01/24 09:18:30 andyp Exp $\n"\r
+ IDS_CVSID "\n%%% $Id: res.rc,v 1.1.2.5 2001/02/02 19:47:47 andyp Exp $\n"\r
IDS_NOLOGFILE "Cannot open log file %s for writing"\r
IDS_UNINSTALL_COMPLETE "Uninstalls complete."\r
IDS_WININET "Unable to find or load the Internet Explorer 5 DLLs"\r
+2001-02-08 Martin Buchholz <martin@xemacs.org>
+
+ * XEmacs 21.2.44 "Thalia" is released.
+
2001-01-26 Martin Buchholz <martin@xemacs.org>
* XEmacs 21.2.43 "Terspichore" is released.
if $type == Lisp_Type_Record
set $lheader = ((struct lrecord_header *) $val)
set $lrecord_type = ($lheader->type)
- set $imp = lrecord_implementations_table[$lrecord_type]
+ set $imp = ((struct lrecord_implementation *) lrecord_implementations_table[(int) $lrecord_type])
else
set $lrecord_type = -1
set $lheader = -1
Use this when temacs builds successfully, but xemacs does not.
end
-# if you use Purify, do this:
-# export PURIFYOPTIONS='-pointer-mask=0x0fffffff'
-
define ldp
printf "%s", "Lisp => "
call debug_print($arg0)
+2001-02-08 Martin Buchholz <martin@xemacs.org>
+
+ * XEmacs 21.2.44 "Thalia" is released.
+
+2001-02-06 Martin Buchholz <martin@xemacs.org>
+
+ Fixes crashes in kill-emacs on some systems.
+ * process-unix.c (unix_kill_child_process):
+ It's OK for kill() to fail with ESRCH.
+
+2001-02-07 Martin Buchholz <martin@xemacs.org>
+
+ Contortions to make .gdbinit tricks work on most systems.
+ * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
+ * alloc.c (dbg_valmask): Make non-const.
+ * alloc.c (dbg_typemask): Make non-const.
+ * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
+ * alloc.c (dbg_valbits): Make non-const.
+ * alloc.c (dbg_gctypebits): Make non-const.
+ * .gdbinit (decode_object): Make it work with AIX cc.
+
+2001-02-06 Martin Buchholz <martin@xemacs.org>
+
+ * elhash.c (make_general_lisp_hash_table):
+ Use simpler and more efficient calloc to clear entries.
+
+2001-02-07 Martin Buchholz <martin@xemacs.org>
+
+ * window.c (window_scroll): Work around an AIX C compiler bug.
+ Fixes 'scroll-up' does nothing problem with xlC.
+
+2001-02-05 Martin Buchholz <martin@xemacs.org>
+
+ * .gdbinit: Remove obsolete comment.
+
+2001-01-31 Mike Alexander <mta@arbortext.com>
+
+ * select.c (Fown_selection_internal): Set owned_p for device
+ method correctly.
+
+2001-02-01 Martin Buchholz <martin@xemacs.org>
+
+ Port to g++ 2.97.
+ "not" cannot be used as a macro name as it is an operator in C++
+ * config.h.in: Stop #defining `not'.
+ * chartab.c (check_category_char): not ==> not_p
+ * chartab.h: Likewise.
+ * regex.c (re_match_2_internal): Likewise.
+
+2001-02-02 Martin Buchholz <martin@xemacs.org>
+
+ * lisp-disunion.h: Fix up comments.
+
+2001-01-31 Martin Buchholz <martin@xemacs.org>
+
+ * keymap.c (define_key_check_and_coerce_keysym):
+ (syms_of_keymap):
+ Support mouse-6 and mouse-7 bindings in the obvious way.
+
+2001-02-01 Martin Buchholz <martin@xemacs.org>
+
+ * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
+
+2001-01-30 Martin Buchholz <martin@xemacs.org>
+
+ Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
+ Previous patch missed DEFVAR_INT_MAGIC.
+ Make sure future DEFVAR_foo use correct types.
+ * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
+ * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
+ * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
+ * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
+ * (DEFVAR_INT): Likewise.
+ * redisplay.c (vertical_clip): Should be of type Fixnum.
+ * redisplay.c (horizontal_clip): Likewise.
+ * lisp.h (dump_add_opaque_int): New.
+ (dump_add_opaque_fixnum): New.
+
+2001-01-29 Andy Piper <andy@xemacs.org>
+
+ * glyphs-widget.c (check_valid_int_or_function): allow symbols
+ since they can be eval'ed
+
+2001-01-29 Martin Buchholz <martin@xemacs.org>
+
+ * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
+ Oops, XEmacs redefines `class'. Use `typename' instead.
+
+2001-01-28 Martin Buchholz <martin@xemacs.org>
+
+ * dumper.c: Fix C++ compile errors.
+
+2001-01-29 Martin Buchholz <martin@xemacs.org>
+
+ * tparam.c: Use correct prototypes.
+
+2001-01-28 Martin Buchholz <martin@xemacs.org>
+
+ * sysproc.h: #include util.h for NetBSD's openpty.
+
+2001-01-27 Martin Buchholz <martin@xemacs.org>
+
+ More 64-bit correctness.
+ The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
+ Use a typedef `fixnum' for the type used for DEFVAR_INT.
+ Fix up comments.
+ This finally finishes the 64-bit SGI port.
+ Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
+ * symbols.c: Fix up comments and type casts.
+ * symbols.c (do_symval_forwarding): s/int/Fixnum/g
+ * symbols.c (store_symval_forwarding): s/int/Fixnum/g
+ * symeval.h (Fixnum): New type.
+ * symeval.h (symbol_value_type): Fix up comment.
+
+ * commands.h:
+ * nt.c:
+ * emacs.c:
+ * data.c:
+ * redisplay.c:
+ * abbrev.c:
+ * dired-msw.c:
+ * event-Xt.c:
+ * eldap.c:
+ * window.c:
+ * sound.c:
+ * event-stream.c:
+ * eval.c:
+ * buffer.c:
+ * mule-canna.c: A million DEFVAR_INTs here...
+ * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
+ * extents.c:
+ * cmdloop.c:
+ * lisp.h:
+ * select-x.c:
+ * console-x.h:
+ * event-msw.c:
+ * mule-wnnfns.c:
+ * hpplay.c:
+ * ralloc.c:
+ * alloc.c:
+ * keymap.c:
+ * profile.c:
+ s/int/Fixnum/g in DEFVAR_INT declarations.
+
+2001-01-26 Martin Buchholz <martin@xemacs.org>
+
+ Port pdump to SGI alignment-sensitive environment.
+ Lisp Object sizeof methods now return aligned sizes. Rely on that.
+ Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
+ properly aligned.
+ Define and use aligned reading and writing macros.
+ Use buffered stdio instead of posix i/o for faster dumping.
+ Eliminate kludgy 256 byte space for header.
+ Read and write from dump file using structs for alignment safety.
+ * dumper.c (pdump_align_stream): New.
+ * dumper.c (PDUMP_ALIGN_OUTPUT): New.
+ * dumper.c (PDUMP_READ_ALIGNED): New.
+ * dumper.c (PDUMP_WRITE_ALIGNED): New.
+ * dumper.c (pdump_static_Lisp_Object): New struct.
+ * dumper.c (pdump_static_pointer): New struct.
+ * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
+ * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
+ * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
+ * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
+
+ * dumper.c (pdump_backtrace):
+ * dumper.c (pdump_get_indirect_count):
+ * dumper.c (pdump_register_object):
+ * dumper.c (pdump_register_struct):
+ * dumper.c (pdump_reloc_one):
+ * dumper.c (pdump_scan_by_alignment):
+ * dumper.c (pdump_dump_from_root_struct_ptrs):
+ * dumper.c (pdump_dump_opaques):
+ * dumper.c (pdump_dump_rtables):
+ * dumper.c (pdump_dump_from_root_objects):
+ * dumper.c (pdump):
+ * dumper.c (pdump_load_finish):
+ Use aligned reading and writing.
+
+ * dumper.c (pdump_free): Make static.
+ * dumper.c (pdump_hFile): Likewise.
+ * dumper.c (pdump_hMap): Likewise.
+
2001-01-26 Martin Buchholz <martin@xemacs.org>
* XEmacs 21.2.43 "Terspichore" is released.
Lisp_Object Vlast_abbrev_text;
/* Character address of start of last abbrev expanded */
-int last_abbrev_location;
+Fixnum last_abbrev_location;
/* Hook to run before expanding any abbrev. */
Lisp_Object Vpre_abbrev_expand_hook, Qpre_abbrev_expand_hook;
#endif
#ifdef DEBUG_XEMACS
-static int debug_allocation;
-static int debug_allocation_backtrace_length;
+static Fixnum debug_allocation;
+static Fixnum debug_allocation_backtrace_length;
#endif
/* Number of bytes of consing done since the last gc */
about expressions in src/.gdbinit. See src/.gdbinit or src/.dbxrc
to see how this is used. */
-const EMACS_UINT dbg_valmask = ((1UL << VALBITS) - 1) << GCBITS;
-const EMACS_UINT dbg_typemask = (1UL << GCTYPEBITS) - 1;
+EMACS_UINT dbg_valmask = ((1UL << VALBITS) - 1) << GCBITS;
+EMACS_UINT dbg_typemask = (1UL << GCTYPEBITS) - 1;
#ifdef USE_UNION_TYPE
-const unsigned char dbg_USE_UNION_TYPE = 1;
+unsigned char dbg_USE_UNION_TYPE = 1;
#else
-const unsigned char dbg_USE_UNION_TYPE = 0;
+unsigned char dbg_USE_UNION_TYPE = 0;
#endif
-const unsigned char dbg_valbits = VALBITS;
-const unsigned char dbg_gctypebits = GCTYPEBITS;
+unsigned char dbg_valbits = VALBITS;
+unsigned char dbg_gctypebits = GCTYPEBITS;
+
+/* On some systems, the above definitions will be optimized away by
+ the compiler or linker unless they are referenced in some function. */
+long dbg_inhibit_dbg_symbol_deletion (void);
+long
+dbg_inhibit_dbg_symbol_deletion (void)
+{
+ return
+ (dbg_valmask +
+ dbg_typemask +
+ dbg_USE_UNION_TYPE +
+ dbg_valbits +
+ dbg_gctypebits);
+}
/* Macros turned into functions for ease of debugging.
Debuggers don't know about macros! */
Lisp_Object Qswitch_to_buffer;
/* Two thresholds controlling how much undo information to keep. */
-int undo_threshold;
-int undo_high_threshold;
+Fixnum undo_threshold;
+Fixnum undo_high_threshold;
int find_file_compare_truenames;
int find_file_use_truenames;
int
check_category_char (Emchar ch, Lisp_Object table,
- unsigned int designator, unsigned int not)
+ unsigned int designator, unsigned int not_p)
{
REGISTER Lisp_Object temp;
Lisp_Char_Table *ctbl;
ctbl = XCHAR_TABLE (table);
temp = get_char_table (ch, ctbl);
if (NILP (temp))
- return not;
+ return not_p;
designator -= ' ';
- return bit_vector_bit (XBIT_VECTOR (temp), designator) ? !not : not;
+ return bit_vector_bit (XBIT_VECTOR (temp), designator) ? !not_p : not_p;
}
DEFUN ("check-category-at", Fcheck_category_at, 2, 4, 0, /*
#ifdef MULE
int check_category_char(Emchar ch, Lisp_Object ctbl,
- unsigned int designator, unsigned int not);
+ unsigned int designator, unsigned int not_p);
extern Lisp_Object Vstandard_category_table;
#include "window.h"
/* Current depth in recursive edits. */
-int command_loop_level;
+Fixnum command_loop_level;
#ifndef LISP_COMMAND_LOOP
/* Form to evaluate (if non-nil) when Emacs is started. */
/* #endif */
DECLARE_DOESNT_RETURN (initial_command_loop (Lisp_Object));
Lisp_Object call_command_loop (Lisp_Object catch_errors);
-extern int command_loop_level;
+extern Fixnum command_loop_level;
extern Lisp_Object Vkeyboard_translate_table;
extern Lisp_Object Vlast_input_time;
#undef HAVE_ISASTREAM /* SysV streams */
#undef HAVE_PTY_H /* Linux, Tru64 openpty */
#undef HAVE_LIBUTIL_H /* BSD openpty */
+#undef HAVE_UTIL_H /* NetBSD openpty */
#undef HAVE_STROPTS_H /* SysV streams */
#undef HAVE_STRTIO_H /* SysV streams TIOCSIGNAL */
# define new c_new
# define this c_this
# define catch c_catch
-# define not c_not
# define EXTERN_C extern "C"
# else /* C code */
/* Number of pixels below each line. */
extern int x_interline_space; /* #### implement me */
-extern int x_selection_timeout;
+extern Fixnum x_selection_timeout;
struct frame *x_any_window_to_frame (struct device *d, Window);
struct frame *x_any_widget_or_parent_to_frame (struct device *d,
int debug_issue_ebola_notices;
-int debug_ebola_backtrace_length;
+Fixnum debug_ebola_backtrace_length;
int
eq_with_ebola_notice (Lisp_Object obj1, Lisp_Object obj2)
static int mswindows_ls_sort_case_insensitive;
-static int mswindows_ls_round_file_size;
+static Fixnum mswindows_ls_round_file_size;
Lisp_Object Qmswindows_insert_directory;
/* Portable data dumper for XEmacs.
Copyright (C) 1999-2000 Olivier Galibert
+ Copyright (C) 2001 Martin Buchholz
This file is part of XEmacs.
Dynarr_declare (pdump_root_struct_ptr);
} pdump_root_struct_ptr_dynarr;
+typedef struct
+{
+ Lisp_Object *address;
+ Lisp_Object value;
+} pdump_static_Lisp_Object;
+
+typedef struct
+{
+ char **address; /* char * for ease of doing relocation */
+ char * value;
+} pdump_static_pointer;
+
static pdump_opaque_dynarr *pdump_opaques;
static pdump_root_struct_ptr_dynarr *pdump_root_struct_ptrs;
static Lisp_Object_ptr_dynarr *pdump_root_objects;
}
\f
+inline static void
+pdump_align_stream (FILE *stream, size_t alignment)
+{
+ long offset = ftell (stream);
+ long adjustment = ALIGN_SIZE (offset, alignment) - offset;
+ if (adjustment)
+ fseek (stream, adjustment, SEEK_CUR);
+}
+
+#define PDUMP_ALIGN_OUTPUT(type) pdump_align_stream (pdump_out, ALIGNOF (type))
+
+#define PDUMP_WRITE(type, object) \
+fwrite (&object, sizeof (object), 1, pdump_out);
+
+#define PDUMP_WRITE_ALIGNED(type, object) do { \
+ PDUMP_ALIGN_OUTPUT (type); \
+ PDUMP_WRITE (type, object); \
+} while (0)
+
+#define PDUMP_READ(ptr, type) \
+(((type *) (ptr = (char*) (((type *) ptr) + 1)))[-1])
+
+#define PDUMP_READ_ALIGNED(ptr, type) \
+((ptr = (char *) ALIGN_PTR (ptr, ALIGNOF (type))), PDUMP_READ (ptr, type))
+
+\f
+
typedef struct
{
const struct lrecord_description *desc;
/* The structure of the file
- *
- * 0 - header
- * 256 - dumped objects
- * stab_offset - nb_root_struct_ptrs*pair(void *, adr) for pointers to structures
- * - nb_opaques*pair(void *, size) for raw bits to restore
- * - relocation table
- * - wired variable address/value couples with the count preceding the list
+ 0 - header
+ - dumped objects
+ stab_offset - nb_root_struct_ptrs*pair(void *, adr)
+ for pointers to structures
+ - nb_opaques*pair(void *, size) for raw bits to restore
+ - relocation table
+ - root lisp object address/value couples with the count
+ preceding the list
*/
int nb_opaques;
} pdump_header;
-char *pdump_start, *pdump_end;
+char *pdump_start;
+char *pdump_end;
static size_t pdump_length;
#ifdef WIN32_NATIVE
/* Handle for the dump file */
-HANDLE pdump_hFile = INVALID_HANDLE_VALUE;
+static HANDLE pdump_hFile = INVALID_HANDLE_VALUE;
/* Handle for the file mapping object for the dump file */
-HANDLE pdump_hMap = INVALID_HANDLE_VALUE;
+static HANDLE pdump_hMap = INVALID_HANDLE_VALUE;
#endif
-void (*pdump_free) (void);
+static void (*pdump_free) (void);
static const unsigned char pdump_align_table[256] =
{
const void *obj;
size_t size;
int count;
- int is_lrecord;
EMACS_INT save_offset;
} pdump_entry_list_elmt;
static size_t max_size;
static int pdump_fd;
static void *pdump_buf;
+static FILE *pdump_out;
#define PDUMP_HASHSIZE 200001
}
static void
-pdump_add_entry (pdump_entry_list *list, const void *obj, size_t size, int count, int is_lrecord)
+pdump_add_entry (pdump_entry_list *list, const void *obj, size_t size,
+ int count)
{
pdump_entry_list_elmt *e;
int align;
e->obj = obj;
e->size = size;
e->count = count;
- e->is_lrecord = is_lrecord;
list->first = e;
list->count += count;
pdump_hash[pos] = e;
align = pdump_align_table[size & 255];
- if (align < 2 && is_lrecord)
- align = 2;
if (align < list->align)
list->align = align;
for (i=0;i<depth;i++)
{
if (!backtrace[i].obj)
- stderr_out (" - ind. (%d, %d)\n", backtrace[i].position, backtrace[i].offset);
+ stderr_out (" - ind. (%d, %d)\n",
+ backtrace[i].position,
+ backtrace[i].offset);
else
{
stderr_out (" - %s (%d, %d)\n",
- LHEADER_IMPLEMENTATION (backtrace[i].obj)->name,
- backtrace[i].position,
- backtrace[i].offset);
+ LHEADER_IMPLEMENTATION (backtrace[i].obj)->name,
+ backtrace[i].position,
+ backtrace[i].offset);
}
}
}
static void pdump_register_object (Lisp_Object obj);
-static void pdump_register_struct (const void *data, const struct struct_description *sdesc, int count);
+static void pdump_register_struct (const void *data,
+ const struct struct_description *sdesc,
+ int count);
static EMACS_INT
-pdump_get_indirect_count (EMACS_INT code, const struct lrecord_description *idesc, const void *idata)
+pdump_get_indirect_count (EMACS_INT code,
+ const struct lrecord_description *idesc,
+ const void *idata)
{
EMACS_INT count;
const void *irdata;
count = *(Bytecount *)irdata;
break;
default:
- stderr_out ("Unsupported count type : %d (line = %d, code=%ld)\n", idesc[line].type, line, (long)code);
+ stderr_out ("Unsupported count type : %d (line = %d, code=%ld)\n",
+ idesc[line].type, line, (long)code);
pdump_backtrace ();
abort ();
}
count = pdump_get_indirect_count (count, desc, data);
pdump_add_entry (&pdump_opaque_data_list,
- *(void **)rdata,
- count,
- 1,
- 0);
+ *(void **)rdata, count, 1);
break;
}
case XD_C_STRING:
{
const char *str = *(const char **)rdata;
if (str)
- pdump_add_entry (&pdump_opaque_data_list, str, strlen (str)+1, 1, 0);
+ pdump_add_entry (&pdump_opaque_data_list, str, strlen (str)+1, 1);
break;
}
case XD_DOC_STRING:
{
const char *str = *(const char **)rdata;
if ((EMACS_INT)str > 0)
- pdump_add_entry (&pdump_opaque_data_list, str, strlen (str)+1, 1, 0);
+ pdump_add_entry (&pdump_opaque_data_list, str, strlen (str)+1, 1);
break;
}
case XD_LISP_OBJECT:
pdump_register_object (Lisp_Object obj)
{
struct lrecord_header *objh;
+ const struct lrecord_implementation *imp;
if (!POINTER_TYPE_P (XTYPE (obj)))
return;
if (pdump_get_entry (objh))
return;
- if (LHEADER_IMPLEMENTATION (objh)->description)
+ imp = LHEADER_IMPLEMENTATION (objh);
+
+ if (imp->description)
{
int me = depth++;
if (me>65536)
pdump_add_entry (pdump_object_table + objh->type,
objh,
- LHEADER_IMPLEMENTATION (objh)->static_size ?
- LHEADER_IMPLEMENTATION (objh)->static_size :
- LHEADER_IMPLEMENTATION (objh)->size_in_bytes_method (objh),
- 1,
+ imp->static_size ?
+ imp->static_size :
+ imp->size_in_bytes_method (objh),
1);
- pdump_register_sub (objh,
- LHEADER_IMPLEMENTATION (objh)->description,
- me);
+ pdump_register_sub (objh, imp->description, me);
--depth;
}
else
{
pdump_alert_undump_object[objh->type]++;
- stderr_out ("Undumpable object type : %s\n", LHEADER_IMPLEMENTATION (objh)->name);
+ stderr_out ("Undumpable object type : %s\n", imp->name);
pdump_backtrace ();
}
}
static void
-pdump_register_struct (const void *data, const struct struct_description *sdesc, int count)
+pdump_register_struct (const void *data,
+ const struct struct_description *sdesc,
+ int count)
{
if (data && !pdump_get_entry (data))
{
backtrace[me].offset = 0;
pdump_add_entry (pdump_get_entry_list (sdesc),
- data,
- sdesc->size,
- count,
- 0);
+ data, sdesc->size, count);
for (i=0; i<count; i++)
{
pdump_register_sub (((char *)data) + sdesc->size*i,
}
static void
-pdump_dump_data (pdump_entry_list_elmt *elmt, const struct lrecord_description *desc)
+pdump_dump_data (pdump_entry_list_elmt *elmt,
+ const struct lrecord_description *desc)
{
size_t size = elmt->size;
int count = elmt->count;
default:
stderr_out ("Unsupported dump type : %d\n", desc[pos].type);
abort ();
- };
+ }
}
}
}
- write (pdump_fd, desc ? pdump_buf : elmt->obj, size*count);
- if (elmt->is_lrecord && ((size*count) & 3))
- write (pdump_fd, "\0\0\0", 4-((size*count) & 3));
+ fwrite (desc ? pdump_buf : elmt->obj, size, count, pdump_out);
}
static void
-pdump_reloc_one (void *data, EMACS_INT delta, const struct lrecord_description *desc)
+pdump_reloc_one (void *data, EMACS_INT delta,
+ const struct lrecord_description *desc)
{
int pos;
}
static void
-pdump_allocate_offset (pdump_entry_list_elmt *elmt, const struct lrecord_description *desc)
+pdump_allocate_offset (pdump_entry_list_elmt *elmt,
+ const struct lrecord_description *desc)
{
- size_t size = (elmt->is_lrecord ? (elmt->size + 3) & ~3 : elmt->size)*elmt->count;
+ size_t size = elmt->count * elmt->size;
elmt->save_offset = cur_offset;
if (size>max_size)
max_size = size;
}
static void
-pdump_scan_by_alignment (void (*f)(pdump_entry_list_elmt *, const struct lrecord_description *))
+pdump_scan_by_alignment (void (*f)(pdump_entry_list_elmt *,
+ const struct lrecord_description *))
{
int align, i;
const struct lrecord_description *idesc;
}
static void
-pdump_dump_from_root_struct_ptrs (void)
+pdump_dump_root_struct_ptrs (void)
{
int i;
- for (i = 0; i < Dynarr_length (pdump_root_struct_ptrs); i++)
+ size_t count = Dynarr_length (pdump_root_struct_ptrs);
+ pdump_static_pointer *data = alloca_array (pdump_static_pointer, count);
+ for (i = 0; i < count; i++)
{
- EMACS_INT adr;
- pdump_root_struct_ptr *info = Dynarr_atp (pdump_root_struct_ptrs, i);
- write (pdump_fd, &info->ptraddress, sizeof (info->ptraddress));
- adr = pdump_get_entry (*(info->ptraddress))->save_offset;
- write (pdump_fd, &adr, sizeof (adr));
+ data[i].address = (char **) Dynarr_atp (pdump_root_struct_ptrs, i)->ptraddress;
+ data[i].value = (char *) pdump_get_entry (* data[i].address)->save_offset;
}
+ PDUMP_ALIGN_OUTPUT (pdump_static_pointer);
+ fwrite (data, sizeof (pdump_static_pointer), count, pdump_out);
}
static void
for (i = 0; i < Dynarr_length (pdump_opaques); i++)
{
pdump_opaque *info = Dynarr_atp (pdump_opaques, i);
- write (pdump_fd, info, sizeof (*info));
- write (pdump_fd, info->varaddress, info->size);
+ PDUMP_WRITE_ALIGNED (pdump_opaque, *info);
+ fwrite (info->varaddress, info->size, 1, pdump_out);
}
}
continue;
rt.desc = lrecord_implementations_table[i]->description;
rt.count = pdump_object_table[i].count;
- write (pdump_fd, &rt, sizeof (rt));
+ PDUMP_WRITE_ALIGNED (pdump_reloc_table, rt);
while (elmt)
{
EMACS_INT rdata = pdump_get_entry (elmt->obj)->save_offset;
- write (pdump_fd, &rdata, sizeof (rdata));
+ PDUMP_WRITE_ALIGNED (EMACS_INT, rdata);
elmt = elmt->next;
}
}
rt.desc = 0;
rt.count = 0;
- write (pdump_fd, &rt, sizeof (rt));
+ PDUMP_WRITE_ALIGNED (pdump_reloc_table, rt);
for (i=0; i<pdump_struct_table.count; i++)
{
elmt = pdump_struct_table.list[i].list.first;
rt.desc = pdump_struct_table.list[i].sdesc->description;
rt.count = pdump_struct_table.list[i].list.count;
- write (pdump_fd, &rt, sizeof (rt));
+ PDUMP_WRITE_ALIGNED (pdump_reloc_table, rt);
while (elmt)
{
EMACS_INT rdata = pdump_get_entry (elmt->obj)->save_offset;
int j;
for (j=0; j<elmt->count; j++)
{
- write (pdump_fd, &rdata, sizeof (rdata));
+ PDUMP_WRITE_ALIGNED (EMACS_INT, rdata);
rdata += elmt->size;
}
elmt = elmt->next;
}
rt.desc = 0;
rt.count = 0;
- write (pdump_fd, &rt, sizeof (rt));
+ PDUMP_WRITE_ALIGNED (pdump_reloc_table, rt);
}
static void
-pdump_dump_from_root_objects (void)
+pdump_dump_root_objects (void)
{
- size_t count = Dynarr_length (pdump_root_objects) + Dynarr_length (pdump_weak_object_chains);
+ size_t count = (Dynarr_length (pdump_root_objects) +
+ Dynarr_length (pdump_weak_object_chains));
size_t i;
- write (pdump_fd, &count, sizeof (count));
+ PDUMP_WRITE_ALIGNED (size_t, count);
+ PDUMP_ALIGN_OUTPUT (pdump_static_Lisp_Object);
for (i=0; i<Dynarr_length (pdump_root_objects); i++)
{
- Lisp_Object obj = * Dynarr_at (pdump_root_objects, i);
- if (POINTER_TYPE_P (XTYPE (obj)))
- obj = wrap_object ((void *) pdump_get_entry (XRECORD_LHEADER (obj))->save_offset);
- write (pdump_fd, Dynarr_atp (pdump_root_objects, i), sizeof (Dynarr_atp (pdump_root_objects, i)));
- write (pdump_fd, &obj, sizeof (obj));
+ pdump_static_Lisp_Object obj;
+ obj.address = Dynarr_at (pdump_root_objects, i);
+ obj.value = * obj.address;
+
+ if (POINTER_TYPE_P (XTYPE (obj.value)))
+ obj.value = wrap_object ((void *) pdump_get_entry (XRECORD_LHEADER (obj.value))->save_offset);
+
+ PDUMP_WRITE (pdump_static_Lisp_Object, obj);
}
for (i=0; i<Dynarr_length (pdump_weak_object_chains); i++)
{
- Lisp_Object obj = * Dynarr_at (pdump_weak_object_chains, i);
pdump_entry_list_elmt *elmt;
+ pdump_static_Lisp_Object obj;
+ obj.address = Dynarr_at (pdump_weak_object_chains, i);
+ obj.value = * obj.address;
+
for (;;)
{
const struct lrecord_description *desc;
int pos;
- elmt = pdump_get_entry (XRECORD_LHEADER (obj));
+ elmt = pdump_get_entry (XRECORD_LHEADER (obj.value));
if (elmt)
break;
- desc = XRECORD_LHEADER_IMPLEMENTATION (obj)->description;
+ desc = XRECORD_LHEADER_IMPLEMENTATION (obj.value)->description;
for (pos = 0; desc[pos].type != XD_LO_LINK; pos++)
assert (desc[pos].type != XD_END);
- obj = *(Lisp_Object *)(desc[pos].offset + (char *)(XRECORD_LHEADER (obj)));
+ obj.value = *(Lisp_Object *)(desc[pos].offset + (char *)(XRECORD_LHEADER (obj.value)));
}
- obj = wrap_object ((void *) elmt->save_offset);
+ obj.value = wrap_object ((void *) elmt->save_offset);
- write (pdump_fd, Dynarr_atp (pdump_weak_object_chains, i), sizeof (Lisp_Object *));
- write (pdump_fd, &obj, sizeof (obj));
+ PDUMP_WRITE (pdump_static_Lisp_Object, obj);
}
}
int i;
Lisp_Object t_console, t_device, t_frame;
int none;
- pdump_header hd;
+ pdump_header header;
flush_all_buffer_local_cache ();
pdump_register_struct (*(info.ptraddress), info.desc, 1);
}
- memcpy (hd.signature, PDUMP_SIGNATURE, PDUMP_SIGNATURE_LEN);
- hd.id = dump_id;
- hd.reloc_address = 0;
- hd.nb_root_struct_ptrs = Dynarr_length (pdump_root_struct_ptrs);
- hd.nb_opaques = Dynarr_length (pdump_opaques);
+ memcpy (header.signature, PDUMP_SIGNATURE, PDUMP_SIGNATURE_LEN);
+ header.id = dump_id;
+ header.reloc_address = 0;
+ header.nb_root_struct_ptrs = Dynarr_length (pdump_root_struct_ptrs);
+ header.nb_opaques = Dynarr_length (pdump_opaques);
- cur_offset = 256;
+ cur_offset = ALIGN_SIZE (sizeof (header), ALIGNOF (max_align_t));
max_size = 0;
pdump_scan_by_alignment (pdump_allocate_offset);
+ cur_offset = ALIGN_SIZE (cur_offset, ALIGNOF (max_align_t));
+ header.stab_offset = cur_offset;
pdump_buf = xmalloc (max_size);
/* Avoid use of the `open' macro. We want the real function. */
#undef open
pdump_fd = open (EMACS_PROGNAME ".dmp",
O_WRONLY | O_CREAT | O_TRUNC | OPEN_BINARY, 0666);
- hd.stab_offset = (cur_offset + 3) & ~3;
+ pdump_out = fdopen (pdump_fd, "w");
- write (pdump_fd, &hd, sizeof (hd));
- lseek (pdump_fd, 256, SEEK_SET);
+ fwrite (&header, sizeof (header), 1, pdump_out);
+ PDUMP_ALIGN_OUTPUT (max_align_t);
pdump_scan_by_alignment (pdump_dump_data);
- lseek (pdump_fd, hd.stab_offset, SEEK_SET);
+ fseek (pdump_out, header.stab_offset, SEEK_SET);
- pdump_dump_from_root_struct_ptrs ();
+ pdump_dump_root_struct_ptrs ();
pdump_dump_opaques ();
pdump_dump_rtables ();
- pdump_dump_from_root_objects ();
+ pdump_dump_root_objects ();
+ fclose (pdump_out);
close (pdump_fd);
+
free (pdump_buf);
free (pdump_hash);
&& ((pdump_header *)pdump_start)->id == dump_id);
}
+/*----------------------------------------------------------------------*/
+/* Reading the dump file */
+/*----------------------------------------------------------------------*/
static int
pdump_load_finish (void)
{
char *p;
EMACS_INT delta;
EMACS_INT count;
+ pdump_header *header = (pdump_header *)pdump_start;
pdump_end = pdump_start + pdump_length;
-#define PDUMP_READ(p, type) (p = (char*) (((type *) p) + 1), *((type *) p - 1))
-
- delta = ((EMACS_INT)pdump_start) - ((pdump_header *)pdump_start)->reloc_address;
- p = pdump_start + ((pdump_header *)pdump_start)->stab_offset;
+ delta = ((EMACS_INT)pdump_start) - header->reloc_address;
+ p = pdump_start + header->stab_offset;
/* Put back the pdump_root_struct_ptrs */
- for (i=0; i<((pdump_header *)pdump_start)->nb_root_struct_ptrs; i++)
+ p = (char *) ALIGN_PTR (p, ALIGNOF (pdump_static_pointer));
+ for (i=0; i<header->nb_root_struct_ptrs; i++)
{
- void **adr = PDUMP_READ (p, void **);
- *adr = (void *) (PDUMP_READ (p, char *) + delta);
+ pdump_static_pointer ptr = PDUMP_READ (p, pdump_static_pointer);
+ (* ptr.address) = ptr.value + delta;
}
/* Put back the pdump_opaques */
- for (i=0; i<((pdump_header *)pdump_start)->nb_opaques; i++)
+ for (i=0; i<header->nb_opaques; i++)
{
- pdump_opaque info = PDUMP_READ (p, pdump_opaque);
+ pdump_opaque info = PDUMP_READ_ALIGNED (p, pdump_opaque);
memcpy (info.varaddress, p, info.size);
p += info.size;
}
count = 2;
for (;;)
{
- pdump_reloc_table rt = PDUMP_READ (p, pdump_reloc_table);
+ pdump_reloc_table rt = PDUMP_READ_ALIGNED (p, pdump_reloc_table);
+ p = (char *) ALIGN_PTR (p, ALIGNOF (char *));
if (rt.desc)
{
+ char **reloc = (char **)p;
for (i=0; i < rt.count; i++)
{
- char *adr = delta + *(char **)p;
- *(char **)p = adr;
- pdump_reloc_one (adr, delta, rt.desc);
- p += sizeof (char *);
+ reloc[i] += delta;
+ pdump_reloc_one (reloc[i], delta, rt.desc);
}
+ p += rt.count * sizeof (char *);
} else
if (!(--count))
break;
}
/* Put the pdump_root_objects variables in place */
- for (i = PDUMP_READ (p, size_t); i; i--)
+ i = PDUMP_READ_ALIGNED (p, size_t);
+ p = (char *) ALIGN_PTR (p, ALIGNOF (pdump_static_Lisp_Object));
+ while (i--)
{
- Lisp_Object *var = PDUMP_READ (p, Lisp_Object *);
- Lisp_Object obj = PDUMP_READ (p, Lisp_Object);
+ pdump_static_Lisp_Object obj = PDUMP_READ (p, pdump_static_Lisp_Object);
- if (POINTER_TYPE_P (XTYPE (obj)))
- obj = wrap_object ((char *) XPNTR (obj) + delta);
+ if (POINTER_TYPE_P (XTYPE (obj.value)))
+ obj.value = wrap_object ((char *) XPNTR (obj.value) + delta);
- *var = obj;
+ (* obj.address) = obj.value;
}
/* Final cleanups */
p = pdump_rt_list;
for (;;)
{
- pdump_reloc_table rt = PDUMP_READ (p, pdump_reloc_table);
+ pdump_reloc_table rt = PDUMP_READ_ALIGNED (p, pdump_reloc_table);
+ p = (char *) ALIGN_PTR (p, ALIGNOF (Lisp_Object));
if (!rt.desc)
break;
if (rt.desc == hash_table_description)
#include "eldap.h"
-static int ldap_default_port;
+static Fixnum ldap_default_port;
static Lisp_Object Vldap_default_base;
/* Needed by the lrecord definition */
double rehash_threshold,
enum hash_table_weakness weakness)
{
- hash_table_hash_function_t hash_function = 0;
+ hash_table_hash_function_t hash_function = 0;
hash_table_test_function_t test_function = 0;
switch (test)
compute_hash_table_derived_values (ht);
/* We leave room for one never-occupied sentinel hentry at the end. */
- ht->hentries = xnew_array (hentry, ht->size + 1);
-
- {
- hentry *e, *sentinel;
- for (e = ht->hentries, sentinel = e + ht->size; e <= sentinel; e++)
- CLEAR_HENTRY (e);
- }
+ ht->hentries = xnew_array_and_zero (hentry, ht->size + 1);
XSETHASH_TABLE (hash_table, ht);
/* If nonzero, set XEmacs to run at this priority. This is also used
in child_setup and sys_suspend to make sure subshells run at normal
priority. */
-int emacs_priority;
+Fixnum emacs_priority;
/* Some FSF junk with running_asynch_code, to preserve the match
data. Not necessary because we don't call process filters
int specpdl_depth_counter;
/* Maximum size allowed for specpdl allocation */
-int max_specpdl_size;
+Fixnum max_specpdl_size;
/* Depth in Lisp evaluations and function calls. */
static int lisp_eval_depth;
/* Maximum allowed depth in Lisp evaluations and function calls. */
-int max_lisp_eval_depth;
+Fixnum max_lisp_eval_depth;
/* Nonzero means enter debugger before next function call */
static int debug_on_next_call;
int x_allow_sendevents;
#ifdef DEBUG_XEMACS
-int debug_x_events;
+Fixnum debug_x_events;
#endif
static int process_events_occurred;
/* These are Lisp integers; see DEFVARS in this file for description. */
int mswindows_dynamic_frame_resize;
int mswindows_alt_by_itself_activates_menu;
-int mswindows_num_mouse_buttons;
-int mswindows_mouse_button_max_skew_x;
-int mswindows_mouse_button_max_skew_y;
-int mswindows_mouse_button_tolerance;
+Fixnum mswindows_num_mouse_buttons;
+Fixnum mswindows_mouse_button_max_skew_x;
+Fixnum mswindows_mouse_button_max_skew_y;
+Fixnum mswindows_mouse_button_tolerance;
#ifdef DEBUG_XEMACS
-int debug_mswindows_events;
+Fixnum debug_mswindows_events;
#endif
/* This is the event signaled by the event pump.
#include <errno.h>
/* The number of keystrokes between auto-saves. */
-static int auto_save_interval;
+static Fixnum auto_save_interval;
Lisp_Object Qundefined_keystroke_sequence;
extern Lisp_Object Fmake_keymap (Lisp_Object name);
#ifdef DEBUG_XEMACS
-int debug_emacs_events;
+Fixnum debug_emacs_events;
static void
external_debugging_print_event (char *event_description, Lisp_Object event)
#define DE_MUST_BE_ATTACHED 2
Lisp_Object Vlast_highlighted_extent;
-int mouse_highlight_priority;
+Fixnum mouse_highlight_priority;
Lisp_Object Qextentp;
Lisp_Object Qextent_live_p;
static void
check_valid_int_or_function (Lisp_Object data)
{
- if (!INTP (data) && !CONSP (data))
+ if (!INTP (data) && !CONSP (data) && !SYMBOLP (data))
invalid_argument ("must be an integer or expresssion", data);
}
/* Instantiate any new glyphs. */
for (; !NILP (items); items = XCDR (items))
{
+ /* #### We really want to use call_with_suspended_errors
+ here, but it won't allow us to call lisp. */
border = Fcons (call1 (Qmake_glyph, XCAR (items)), border);
}
IMAGE_INSTANCE_LAYOUT_CHILDREN (ii) = Fnreverse (border);
Lisp_Object Vhp_play_server;
Lisp_Object Vhp_play_speaker;
-int hp_play_gain;
+Fixnum hp_play_gain;
/* Functions */
so that things which care (such as the menubar code) can recompute
privately-cached data when the user has changed keybindings.
*/
-int keymap_tick;
+Fixnum keymap_tick;
/* Prefixing a key with this character is the same as sending a meta bit. */
Lisp_Object Vmeta_prefix_char;
Lisp_Object Qmenu_selection;
/* Emacs compatibility */
-Lisp_Object Qdown_mouse_1, Qdown_mouse_2, Qdown_mouse_3, Qdown_mouse_4,
- Qdown_mouse_5;
-Lisp_Object Qmouse_1, Qmouse_2, Qmouse_3, Qmouse_4, Qmouse_5;
+Lisp_Object Qdown_mouse_1, Qmouse_1;
+Lisp_Object Qdown_mouse_2, Qmouse_2;
+Lisp_Object Qdown_mouse_3, Qmouse_3;
+Lisp_Object Qdown_mouse_4, Qmouse_4;
+Lisp_Object Qdown_mouse_5, Qmouse_5;
+Lisp_Object Qdown_mouse_6, Qmouse_6;
+Lisp_Object Qdown_mouse_7, Qmouse_7;
/* Kludge kludge kludge */
Lisp_Object QLFD, QTAB, QRET, QESC, QDEL, QSPC, QBS;
*keysym = Qbutton4;
else if (EQ(*keysym, Qdown_mouse_5))
*keysym = Qbutton5;
+ else if (EQ(*keysym, Qdown_mouse_6))
+ *keysym = Qbutton6;
+ else if (EQ(*keysym, Qdown_mouse_7))
+ *keysym = Qbutton7;
else if (EQ(*keysym, Qmouse_1))
*keysym = Qbutton1up;
else if (EQ(*keysym, Qmouse_2))
*keysym = Qbutton4up;
else if (EQ(*keysym, Qmouse_5))
*keysym = Qbutton5up;
+ else if (EQ(*keysym, Qmouse_6))
+ *keysym = Qbutton6up;
+ else if (EQ(*keysym, Qmouse_7))
+ *keysym = Qbutton7up;
}
}
defsymbol (&Qmouse_3, "mouse-3");
defsymbol (&Qmouse_4, "mouse-4");
defsymbol (&Qmouse_5, "mouse-5");
+ defsymbol (&Qmouse_6, "mouse-6");
+ defsymbol (&Qmouse_7, "mouse-7");
defsymbol (&Qdown_mouse_1, "down-mouse-1");
defsymbol (&Qdown_mouse_2, "down-mouse-2");
defsymbol (&Qdown_mouse_3, "down-mouse-3");
defsymbol (&Qdown_mouse_4, "down-mouse-4");
defsymbol (&Qdown_mouse_5, "down-mouse-5");
+ defsymbol (&Qdown_mouse_6, "down-mouse-6");
+ defsymbol (&Qdown_mouse_7, "down-mouse-7");
defsymbol (&Qmenu_selection, "menu-selection");
defsymbol (&QLFD, "LFD");
defsymbol (&QTAB, "TAB");
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVT
For integral Lisp types, i.e. integers and characters, the value
- bits are the Lisp object.
+ bits are the Lisp object. Some people call such Lisp_Objects "immediate".
- The object is obtained by masking off the type and mark bits.
- Bit 1 is used as a value bit by splitting the Lisp integer type
- into two subtypes, Lisp_Type_Int_Even and Lisp_Type_Int_Odd. By
- this trickery we get 31 bits for integers instead of 30.
+ The object is obtained by masking off the type bits.
+ Bit 1 is used as a value bit by splitting the Lisp integer type
+ into two subtypes, Lisp_Type_Int_Even and Lisp_Type_Int_Odd.
+ By this trickery we get 31 bits for integers instead of 30.
For non-integral types, the value bits of a Lisp_Object contain
a pointer to a structure containing the object. The pointer is
obtained by masking off the type and mark bits.
- All pointer-based types are coalesced under a single type called
- Lisp_Type_Record. The type bits for this type are required
- by the implementation to be 00, just like the least
- significant bits of word-aligned struct pointers on 32-bit
- hardware. Because of this, Lisp_Object pointers don't have
- to be masked and are full-sized.
+ All pointer-based types are coalesced under a single type called
+ Lisp_Type_Record. The type bits for this type are required by the
+ implementation to be 00, just like the least significant bits of
+ word-aligned struct pointers on 32-bit hardware. This requires that
+ all structs implementing Lisp_Objects have an alignment of at least 4
+ bytes. Because of this, Lisp_Object pointers don't have to be masked
+ and are full-sized.
- There are no mark bits.
- Integers and characters don't need to be marked. All other types
- are lrecord-based, which means they get marked by incrementing
- their ->implementation pointer.
+ There are no mark bits in the Lisp_Object itself (there used to be).
+
+ Integers and characters don't need to be marked. All other types are
+ lrecord-based, which means they get marked by setting the mark bit in
+ the struct lrecord_header.
Here is a brief description of the following macros:
XCHARVAL The value bits of a Lisp_Object storing a Emchar
XREALINT The value bits of a Lisp_Object storing an integer, signed
XUINT The value bits of a Lisp_Object storing an integer, unsigned
- INTP Non-zero if this Lisp_Object an integer?
+ INTP Non-zero if this Lisp_Object is an integer
Qzero Lisp Integer 0
- EQ Non-zero if two Lisp_Objects are identical */
+ EQ Non-zero if two Lisp_Objects are identical, not merely equal. */
typedef EMACS_INT Lisp_Object;
# else
/* C++ is annoying, but it has a big bag of tricks.
The following doesn't have the "inside out" declaration bug C does. */
-template<class T> struct alignment_trick { char c; T member; };
+template<typename T> struct alignment_trick { char c; T member; };
# define ALIGNOF(type) offsetof (alignment_trick<type>, member)
# endif
#endif /* ALIGNOF */
/* threshold for doing another gc */
-extern EMACS_INT gc_cons_threshold;
+extern Fixnum gc_cons_threshold;
/* Structure for recording stack slots that need marking */
/* var will not be saved at dump time */
void staticpro_nodump (Lisp_Object *);
-/* Call dump_add_root_struct_ptr (&var, &desc) to dump the structure pointed to by `var'. */
+/* dump_add_root_struct_ptr (&var, &desc) dumps the structure pointed to by `var'. */
#ifdef PDUMP
void dump_add_root_struct_ptr (void *, const struct struct_description *);
#else
#define dump_add_root_struct_ptr(varaddr,descaddr) DO_NOTHING
#endif
-/* Call dump_add_opaque (&var, size) to dump the opaque static structure `var'. */
+/* dump_add_opaque (&var, size) dumps the opaque static structure `var'. */
#ifdef PDUMP
void dump_add_opaque (void *, size_t);
#else
#define dump_add_opaque(varaddr,size) DO_NOTHING
#endif
+/* Call dump_add_opaque_int (&int_var) to dump `int_var', of type `int'. */
+#ifdef PDUMP
+#define dump_add_opaque_int(int_varaddr) do { \
+ int *dao_ = (int_varaddr); /* type check */ \
+ dump_add_opaque (dao_, sizeof (*dao_)); \
+} while (0)
+#else
+#define dump_add_opaque_int(int_varaddr) DO_NOTHING
+#endif
+
+/* Call dump_add_opaque_fixnum (&fixnum_var) to dump `fixnum_var', of type `Fixnum'. */
+#ifdef PDUMP
+#define dump_add_opaque_fixnum(fixnum_varaddr) do { \
+ Fixnum *dao_ = (fixnum_varaddr); /* type check */ \
+ dump_add_opaque (dao_, sizeof (*dao_)); \
+} while (0)
+#else
+#define dump_add_opaque_fixnum(fixnum_varaddr) DO_NOTHING
+#endif
+
/* Call dump_add_root_object (&var) to ensure that var is properly updated after pdump. */
#ifdef PDUMP
void dump_add_root_object (Lisp_Object *);
extern int noninteractive, noninteractive1;
extern int fatal_error_in_progress;
extern int preparing_for_armageddon;
-extern int emacs_priority;
+extern Fixnum emacs_priority;
extern int running_asynch_code;
extern int suppress_early_error_handler_backtrace;
/* #define CANNOT_DUMP */
-/* XEmacs: Richard Cognot <cognot@ensg.u-nancy.fr> says we need this for
- HPUX; but eeide@asylum.cs.utah.edu (Eric Eide) says it loses on BSD. */
-#ifndef BSD
+/* Let the OS header file determine this if not HPUX. */
+#ifdef HPUX
# define UNEXEC "unexhp9k3.o"
#endif
/* XEmacs change: from Thomas.Tornblom@nexus.comm.se */
#ifdef USE_GCC
-#define C_SWITCH_MACHINE "-static -Dmode_t=\"u_short\"" /* avoid dynamic linking */
+#define C_SWITCH_MACHINE "-static -Dmode_t=\"unsigned short\"" /* avoid dynamic linking */
#define LD_SWITCH_MACHINE "-Wl,-N -static"
#else
-#define C_SWITCH_MACHINE "-Bstatic -Dmode_t=\"u_short\""/* avoid dynamic linking */
+#define C_SWITCH_MACHINE "-Bstatic -Dmode_t=\"unsigned short\""/* avoid dynamic linking */
#define LD_SWITCH_MACHINE "-N -Bstatic"
#endif
static Lisp_Object Vcanna_kakutei_yomi;
static Lisp_Object Vcanna_kakutei_romaji;
static Lisp_Object Vcanna_henkan_string;
-static int canna_henkan_length;
-static int canna_henkan_revPos;
-static int canna_henkan_revLen;
+static Fixnum canna_henkan_length;
+static Fixnum canna_henkan_revPos;
+static Fixnum canna_henkan_revLen;
static Lisp_Object Vcanna_ichiran_string;
-static int canna_ichiran_length;
-static int canna_ichiran_revPos;
-static int canna_ichiran_revLen;
+static Fixnum canna_ichiran_length;
+static Fixnum canna_ichiran_revPos;
+static Fixnum canna_ichiran_revLen;
static Lisp_Object Vcanna_mode_string;
static int IRCP_context;
static void m2c (unsigned char *, int, unsigned char *);
static Lisp_Object mule_make_string (unsigned char *, int);
static int mule_strlen (unsigned char *, int);
-static void count_char (unsigned char *,int, int, int, int *, int *, int *);
+static void count_char (unsigned char *,int, int, int, Fixnum *, Fixnum *, Fixnum *);
#define make_string mule_make_string
#endif
/* variables below this line is constants of Canna */
-static int canna_mode_AlphaMode;
-static int canna_mode_EmptyMode;
-static int canna_mode_KigoMode;
-static int canna_mode_YomiMode;
-static int canna_mode_JishuMode;
-static int canna_mode_TankouhoMode;
-static int canna_mode_IchiranMode;
-static int canna_mode_YesNoMode;
-static int canna_mode_OnOffMode;
+static Fixnum canna_mode_AlphaMode;
+static Fixnum canna_mode_EmptyMode;
+static Fixnum canna_mode_KigoMode;
+static Fixnum canna_mode_YomiMode;
+static Fixnum canna_mode_JishuMode;
+static Fixnum canna_mode_TankouhoMode;
+static Fixnum canna_mode_IchiranMode;
+static Fixnum canna_mode_YesNoMode;
+static Fixnum canna_mode_OnOffMode;
#ifdef CANNA_MODE_AdjustBunsetsuMode
-static int canna_mode_AdjustBunsetsuMode;
+static Fixnum canna_mode_AdjustBunsetsuMode;
#endif
#ifdef CANNA_MODE_ChikujiYomiMode
-static int canna_mode_ChikujiYomiMode;
-static int canna_mode_ChikujiTanMode;
+static Fixnum canna_mode_ChikujiYomiMode;
+static Fixnum canna_mode_ChikujiTanMode;
#endif
-static int canna_mode_HenkanMode;
+static Fixnum canna_mode_HenkanMode;
#ifdef CANNA_MODE_HenkanNyuryokuMode
-static int canna_mode_HenkanNyuryokuMode;
+static Fixnum canna_mode_HenkanNyuryokuMode;
#endif
#ifdef CANNA_MODE_ZenHiraHenkanMode
-static int canna_mode_ZenHiraHenkanMode;
+static Fixnum canna_mode_ZenHiraHenkanMode;
#ifdef CANNA_MODE_HanHiraHenkanMode
-static int canna_mode_HanHiraHenkanMode;
+static Fixnum canna_mode_HanHiraHenkanMode;
#endif
-static int canna_mode_ZenKataHenkanMode;
-static int canna_mode_HanKataHenkanMode;
-static int canna_mode_ZenAlphaHenkanMode;
-static int canna_mode_HanAlphaHenkanMode;
+static Fixnum canna_mode_ZenKataHenkanMode;
+static Fixnum canna_mode_HanKataHenkanMode;
+static Fixnum canna_mode_ZenAlphaHenkanMode;
+static Fixnum canna_mode_HanAlphaHenkanMode;
#endif
-static int canna_mode_ZenHiraKakuteiMode;
+static Fixnum canna_mode_ZenHiraKakuteiMode;
#ifdef CANNA_MODE_HanHiraKakuteiMode
-static int canna_mode_HanHiraKakuteiMode;
+static Fixnum canna_mode_HanHiraKakuteiMode;
#endif
-static int canna_mode_ZenKataKakuteiMode;
-static int canna_mode_HanKataKakuteiMode;
-static int canna_mode_ZenAlphaKakuteiMode;
-static int canna_mode_HanAlphaKakuteiMode;
-static int canna_mode_HexMode;
-static int canna_mode_BushuMode;
-static int canna_mode_ExtendMode;
-static int canna_mode_RussianMode;
-static int canna_mode_GreekMode;
-static int canna_mode_LineMode;
-static int canna_mode_ChangingServerMode;
-static int canna_mode_HenkanMethodMode;
-static int canna_mode_DeleteDicMode;
-static int canna_mode_TourokuMode;
-static int canna_mode_TourokuEmptyMode;
-static int canna_mode_TourokuHinshiMode;
-static int canna_mode_TourokuDicMode;
-static int canna_mode_QuotedInsertMode;
-static int canna_mode_BubunMuhenkanMode;
-static int canna_mode_MountDicMode;
-
-static int canna_fn_SelfInsert;
-static int canna_fn_FunctionalInsert;
-static int canna_fn_QuotedInsert;
-static int canna_fn_JapaneseMode;
-static int canna_fn_AlphaMode;
-static int canna_fn_HenkanNyuryokuMode;
-static int canna_fn_Forward;
-static int canna_fn_Backward;
-static int canna_fn_Next;
-static int canna_fn_Prev;
-static int canna_fn_BeginningOfLine;
-static int canna_fn_EndOfLine;
-static int canna_fn_DeleteNext;
-static int canna_fn_DeletePrevious;
-static int canna_fn_KillToEndOfLine;
-static int canna_fn_Henkan;
-static int canna_fn_Kakutei;
-static int canna_fn_Extend;
-static int canna_fn_Shrink;
+static Fixnum canna_mode_ZenKataKakuteiMode;
+static Fixnum canna_mode_HanKataKakuteiMode;
+static Fixnum canna_mode_ZenAlphaKakuteiMode;
+static Fixnum canna_mode_HanAlphaKakuteiMode;
+static Fixnum canna_mode_HexMode;
+static Fixnum canna_mode_BushuMode;
+static Fixnum canna_mode_ExtendMode;
+static Fixnum canna_mode_RussianMode;
+static Fixnum canna_mode_GreekMode;
+static Fixnum canna_mode_LineMode;
+static Fixnum canna_mode_ChangingServerMode;
+static Fixnum canna_mode_HenkanMethodMode;
+static Fixnum canna_mode_DeleteDicMode;
+static Fixnum canna_mode_TourokuMode;
+static Fixnum canna_mode_TourokuEmptyMode;
+static Fixnum canna_mode_TourokuHinshiMode;
+static Fixnum canna_mode_TourokuDicMode;
+static Fixnum canna_mode_QuotedInsertMode;
+static Fixnum canna_mode_BubunMuhenkanMode;
+static Fixnum canna_mode_MountDicMode;
+
+static Fixnum canna_fn_SelfInsert;
+static Fixnum canna_fn_FunctionalInsert;
+static Fixnum canna_fn_QuotedInsert;
+static Fixnum canna_fn_JapaneseMode;
+static Fixnum canna_fn_AlphaMode;
+static Fixnum canna_fn_HenkanNyuryokuMode;
+static Fixnum canna_fn_Forward;
+static Fixnum canna_fn_Backward;
+static Fixnum canna_fn_Next;
+static Fixnum canna_fn_Prev;
+static Fixnum canna_fn_BeginningOfLine;
+static Fixnum canna_fn_EndOfLine;
+static Fixnum canna_fn_DeleteNext;
+static Fixnum canna_fn_DeletePrevious;
+static Fixnum canna_fn_KillToEndOfLine;
+static Fixnum canna_fn_Henkan;
+static Fixnum canna_fn_Kakutei;
+static Fixnum canna_fn_Extend;
+static Fixnum canna_fn_Shrink;
#ifdef CANNA_FN_AdjustBunsetsu
-static int canna_fn_AdjustBunsetsu;
+static Fixnum canna_fn_AdjustBunsetsu;
#endif
-static int canna_fn_Quit;
-static int canna_fn_ConvertAsHex;
-static int canna_fn_ConvertAsBushu;
-static int canna_fn_KouhoIchiran;
-static int canna_fn_BubunMuhenkan;
-static int canna_fn_Zenkaku;
-static int canna_fn_Hankaku;
-static int canna_fn_ToUpper;
-static int canna_fn_Capitalize;
-static int canna_fn_ToLower;
-static int canna_fn_Hiragana;
-static int canna_fn_Katakana;
-static int canna_fn_Romaji;
+static Fixnum canna_fn_Quit;
+static Fixnum canna_fn_ConvertAsHex;
+static Fixnum canna_fn_ConvertAsBushu;
+static Fixnum canna_fn_KouhoIchiran;
+static Fixnum canna_fn_BubunMuhenkan;
+static Fixnum canna_fn_Zenkaku;
+static Fixnum canna_fn_Hankaku;
+static Fixnum canna_fn_ToUpper;
+static Fixnum canna_fn_Capitalize;
+static Fixnum canna_fn_ToLower;
+static Fixnum canna_fn_Hiragana;
+static Fixnum canna_fn_Katakana;
+static Fixnum canna_fn_Romaji;
#ifdef CANNA_FN_BaseHiragana
-static int canna_fn_BaseHiragana;
-static int canna_fn_BaseKatakana;
-static int canna_fn_BaseEisu;
-static int canna_fn_BaseZenkaku;
-static int canna_fn_BaseHankaku;
-static int canna_fn_BaseKana;
-static int canna_fn_BaseKakutei;
-static int canna_fn_BaseHenkan;
-static int canna_fn_BaseHiraKataToggle;
-static int canna_fn_BaseZenHanToggle;
-static int canna_fn_BaseKanaEisuToggle;
-static int canna_fn_BaseKakuteiHenkanToggle;
-static int canna_fn_BaseRotateForward;
-static int canna_fn_BaseRotateBackward;
+static Fixnum canna_fn_BaseHiragana;
+static Fixnum canna_fn_BaseKatakana;
+static Fixnum canna_fn_BaseEisu;
+static Fixnum canna_fn_BaseZenkaku;
+static Fixnum canna_fn_BaseHankaku;
+static Fixnum canna_fn_BaseKana;
+static Fixnum canna_fn_BaseKakutei;
+static Fixnum canna_fn_BaseHenkan;
+static Fixnum canna_fn_BaseHiraKataToggle;
+static Fixnum canna_fn_BaseZenHanToggle;
+static Fixnum canna_fn_BaseKanaEisuToggle;
+static Fixnum canna_fn_BaseKakuteiHenkanToggle;
+static Fixnum canna_fn_BaseRotateForward;
+static Fixnum canna_fn_BaseRotateBackward;
#endif
-static int canna_fn_ExtendMode;
-static int canna_fn_Touroku;
-static int canna_fn_HexMode;
-static int canna_fn_BushuMode;
-static int canna_fn_KigouMode;
+static Fixnum canna_fn_ExtendMode;
+static Fixnum canna_fn_Touroku;
+static Fixnum canna_fn_HexMode;
+static Fixnum canna_fn_BushuMode;
+static Fixnum canna_fn_KigouMode;
#ifdef CANNA_FN_Mark
-static int canna_fn_Mark;
+static Fixnum canna_fn_Mark;
#endif
#ifdef CANNA_FN_TemporalMode
-static int canna_fn_TemporalMode;
+static Fixnum canna_fn_TemporalMode;
#endif
-static int canna_key_Nfer;
-static int canna_key_Xfer;
-static int canna_key_Up;
-static int canna_key_Left;
-static int canna_key_Right;
-static int canna_key_Down;
-static int canna_key_Insert;
-static int canna_key_Rollup;
-static int canna_key_Rolldown;
-static int canna_key_Home;
-static int canna_key_Help;
-static int canna_key_KP_Key;
-static int canna_key_Shift_Nfer;
-static int canna_key_Shift_Xfer;
-static int canna_key_Shift_Up;
-static int canna_key_Shift_Left;
-static int canna_key_Shift_Right;
-static int canna_key_Shift_Down;
-static int canna_key_Cntrl_Nfer;
-static int canna_key_Cntrl_Xfer;
-static int canna_key_Cntrl_Up;
-static int canna_key_Cntrl_Left;
-static int canna_key_Cntrl_Right;
-static int canna_key_Cntrl_Down;
+static Fixnum canna_key_Nfer;
+static Fixnum canna_key_Xfer;
+static Fixnum canna_key_Up;
+static Fixnum canna_key_Left;
+static Fixnum canna_key_Right;
+static Fixnum canna_key_Down;
+static Fixnum canna_key_Insert;
+static Fixnum canna_key_Rollup;
+static Fixnum canna_key_Rolldown;
+static Fixnum canna_key_Home;
+static Fixnum canna_key_Help;
+static Fixnum canna_key_KP_Key;
+static Fixnum canna_key_Shift_Nfer;
+static Fixnum canna_key_Shift_Xfer;
+static Fixnum canna_key_Shift_Up;
+static Fixnum canna_key_Shift_Left;
+static Fixnum canna_key_Shift_Right;
+static Fixnum canna_key_Shift_Down;
+static Fixnum canna_key_Cntrl_Nfer;
+static Fixnum canna_key_Cntrl_Xfer;
+static Fixnum canna_key_Cntrl_Up;
+static Fixnum canna_key_Cntrl_Left;
+static Fixnum canna_key_Cntrl_Right;
+static Fixnum canna_key_Cntrl_Down;
Lisp_Object VCANNA; /* by MORIOKA Tomohiko <morioka@jaist.ac.jp>
1996/6/7 */
/* count number of characters */
static void
-count_char (unsigned char *p, int len, int pos, int rev, int *clen, int *cpos,
- int *crev)
+count_char (unsigned char *p, int len, int pos, int rev,
+ Fixnum *clen, Fixnum *cpos, Fixnum *crev)
{
unsigned char *q = p;
Lisp_Object Vcwnn_zhuyin;
Lisp_Object Vwnnenv_sticky;
Lisp_Object Vwnn_uniq_level;
-int lb_sisheng;
+Fixnum lb_sisheng;
/* Lisp functions definition */
#endif
extern Lisp_Object Vmswindows_get_true_file_attributes;
-int nt_fake_unix_uid;
+Fixnum nt_fake_unix_uid;
static char startup_dir[ MAXPATHLEN ];
/* Finally send the signal. */
if (EMACS_KILLPG (pgid, signo) == -1)
- error ("kill (%ld, %ld) failed: %s",
- (long) pgid, (long) signo, strerror (errno));
+ {
+ /* It's not an error if our victim is already dead.
+ And we can't rely on the result of killing a zombie, since
+ XPG 4.2 requires that killing a zombie fail with ESRCH,
+ while FIPS 151-2 requires that it succeeds! */
+#ifdef ESRCH
+ if (errno != ESRCH)
+#endif
+ error ("kill (%ld, %ld) failed: %s",
+ (long) pgid, (long) signo, strerror (errno));
+ }
}
/* Send signal SIGCODE to any process in the system given its PID.
static struct hash_table *big_profile_table;
Lisp_Object Vcall_count_profile_table;
-int default_profiling_interval;
+Fixnum default_profiling_interval;
int profiling_active;
static MMAP_HANDLE mmap_start = 0; /* Head of linked list */
static size_t page_size = 0; /* Size of VM pages */
-static int mmap_hysteresis; /* Should be size_t, really. */
+static Fixnum mmap_hysteresis; /* Logically a "size_t" */
/* Get a new handle for a fresh block. */
static MMAP_HANDLE
/* #### probably temporary */
-int cache_adjustment;
+Fixnum cache_adjustment;
/* This holds a string representing the text corresponding to a single
modeline % spec. */
static int preemption_count;
/* Minimum pixel height of clipped bottom display line. */
-int vertical_clip;
+Fixnum vertical_clip;
/* Minimum visible pixel width of clipped glyphs at right margin. */
-int horizontal_clip;
+Fixnum horizontal_clip;
/* Nonzero means reading single-character input with prompt
so put cursor on minibuffer after the prompt. */
/* The number of lines scroll a window by when point leaves the window; if
it is <=0 then point is centered in the window */
-int scroll_step;
+Fixnum scroll_step;
/* Scroll up to this many lines, to bring point back on screen. */
-int scroll_conservatively;
+Fixnum scroll_conservatively;
/* Marker for where to display an arrow on top of the buffer text. */
Lisp_Object Voverlay_arrow_position;
Lisp_Object Qpre_redisplay_hook, Qpost_redisplay_hook;
#endif /* INHIBIT_REDISPLAY_HOOKS */
-static int last_display_warning_tick, display_warning_tick;
+static Fixnum last_display_warning_tick;
+static Fixnum display_warning_tick;
Lisp_Object Qdisplay_warning_buffer;
int inhibit_warning_display;
case charset_not:
{
REGISTER unsigned char c;
- boolean not = (re_opcode_t) *(p - 1) == charset_not;
+ boolean not_p = (re_opcode_t) *(p - 1) == charset_not;
- DEBUG_PRINT2 ("EXECUTING charset%s.\n", not ? "_not" : "");
+ DEBUG_PRINT2 ("EXECUTING charset%s.\n", not_p ? "_not" : "");
REGEX_PREFETCH ();
c = TRANSLATE (*d); /* The character to match. */
bit list is a full 32 bytes long. */
if (c < (unsigned) (*p * BYTEWIDTH)
&& p[1 + c / BYTEWIDTH] & (1 << (c % BYTEWIDTH)))
- not = !not;
+ not_p = !not_p;
p += 1 + *p;
- if (!not) goto fail;
+ if (!not_p) goto fail;
SET_REGS_MATCHED ();
INC_CHARPTR (d); /* XEmacs change */
case charset_mule_not:
{
REGISTER Emchar c;
- boolean not = (re_opcode_t) *(p - 1) == charset_mule_not;
+ boolean not_p = (re_opcode_t) *(p - 1) == charset_mule_not;
- DEBUG_PRINT2 ("EXECUTING charset_mule%s.\n", not ? "_not" : "");
+ DEBUG_PRINT2 ("EXECUTING charset_mule%s.\n", not_p ? "_not" : "");
REGEX_PREFETCH ();
c = charptr_emchar ((const Bufbyte *) d);
c = TRANSLATE_EXTENDED_UNSAFE (c); /* The character to match. */
if (EQ (Qt, unified_range_table_lookup (p, c, Qnil)))
- not = !not;
+ not_p = !not_p;
p += unified_range_table_bytes_used (p);
- if (!not) goto fail;
+ if (!not_p) goto fail;
SET_REGS_MATCHED ();
INC_CHARPTR (d);
else if ((re_opcode_t) p1[3] == charset
|| (re_opcode_t) p1[3] == charset_not)
{
- int not = (re_opcode_t) p1[3] == charset_not;
+ int not_p = (re_opcode_t) p1[3] == charset_not;
if (c < (unsigned char) (p1[4] * BYTEWIDTH)
&& p1[5 + c / BYTEWIDTH] & (1 << (c % BYTEWIDTH)))
- not = !not;
+ not_p = !not_p;
- /* `not' is equal to 1 if c would match, which means
+ /* `not_p' is equal to 1 if c would match, which means
that we can't change to pop_failure_jump. */
- if (!not)
+ if (!not_p)
{
p[-3] = (unsigned char) pop_failure_jump;
DEBUG_PRINT1 (" No match => pop_failure_jump.\n");
/* If the selection owner takes too long to reply to a selection request,
we give up on it. This is in seconds (0 = no timeout).
*/
-int x_selection_timeout;
+Fixnum x_selection_timeout;
/* Enable motif selection optimizations. */
int x_selection_strict_motif_ownership;
value_list = Qnil;
Lisp_Object prev_real_value = Qnil;
struct gcpro gcpro1;
+ int owned_p = 0;
CHECK_SYMBOL (selection_name);
if (NILP (selection_value)) error ("selection-value may not be nil.");
if (!NILP (local_selection_data))
{
+ owned_p = 1;
/* Don't use Fdelq() as that may QUIT;. */
if (EQ (local_selection_data, Fcar (Vselection_alist)))
Vselection_alist = Fcdr (Vselection_alist);
prev_value = assq_no_quit (selection_name, Vselection_alist);
if (!NILP (prev_value))
- value_list = XCAR (XCDR (prev_value));
+ {
+ owned_p = 1;
+ value_list = XCAR (XCDR (prev_value));
+ }
if (!NILP (value_list))
prev_real_value = assq_no_quit (data_type, value_list);
if (HAS_DEVMETH_P (XDEVICE (device), own_selection))
selection_time = DEVMETH (XDEVICE (device), own_selection,
(selection_name, selection_value,
- how_to_add, data_type, !NILP (prev_value)));
+ how_to_add, data_type, owned_p));
else
selection_time = Qnil;
# define DEVICE_CONNECTED_TO_ESD_P(x) 1 /* FIXME: better check */
#endif
-int bell_volume;
-int bell_inhibit_time;
+Fixnum bell_volume;
+Fixnum bell_inhibit_time;
Lisp_Object Vsound_alist;
Lisp_Object Vsynchronous_sounds;
Lisp_Object Vnative_sound_only_on_console;
the symbol-value-forward. (See below.)
SYMVAL_FIXNUM_FORWARD:
+ (declare with DEFVAR_INT)
+ Similar to SYMVAL_OBJECT_FORWARD except that the C variable
+ is of type "Fixnum", a typedef for "EMACS_INT", and the corresponding
+ lisp variable is always the corresponding integer.
+
SYMVAL_BOOLEAN_FORWARD:
- (declare with DEFVAR_INT or DEFVAR_BOOL)
+ (declare with DEFVAR_BOOL)
Similar to SYMVAL_OBJECT_FORWARD except that the C variable
- is of type "int" and is an integer or boolean, respectively.
+ is of type "int" and is a boolean.
SYMVAL_CONST_OBJECT_FORWARD:
SYMVAL_CONST_FIXNUM_FORWARD:
{
case SYMVAL_FIXNUM_FORWARD:
case SYMVAL_CONST_FIXNUM_FORWARD:
- return make_int (*((int *)symbol_value_forward_forward (fwd)));
+ return make_int (*((Fixnum *)symbol_value_forward_forward (fwd)));
case SYMVAL_BOOLEAN_FORWARD:
case SYMVAL_CONST_BOOLEAN_FORWARD:
CHECK_INT (newval);
if (magicfun)
magicfun (sym, &newval, Qnil, 0);
- *((int *) symbol_value_forward_forward (fwd)) = XINT (newval);
+ *((Fixnum *) symbol_value_forward_forward (fwd)) = XINT (newval);
return;
case SYMVAL_BOOLEAN_FORWARD:
{
/* The following tags use the 'symbol_value_forward' structure
and are strictly for variables DEFVARed on the C level. */
- SYMVAL_FIXNUM_FORWARD, /* Forward C "int" */
+ SYMVAL_FIXNUM_FORWARD, /* Forward C "Fixnum", really "EMACS_INT" */
SYMVAL_CONST_FIXNUM_FORWARD, /* Same, but can't be set */
SYMVAL_BOOLEAN_FORWARD, /* Forward C boolean ("int") */
SYMVAL_CONST_BOOLEAN_FORWARD, /* Same, but can't be set */
#endif
};
+/* Underlying C type used to implement DEFVAR_INT */
+typedef EMACS_INT Fixnum;
+
struct symbol_value_magic
{
struct lcrecord_header lcheader;
#define DEFVAR_SYMVAL_FWD_INT(lname, c_location, forward_type, magicfun) do{ \
DEFVAR_SYMVAL_FWD (lname, c_location, forward_type, magicfun); \
- dump_add_opaque (c_location, sizeof(int)); \
+ dump_add_opaque_int (c_location); \
+} while (0)
+
+#define DEFVAR_SYMVAL_FWD_FIXNUM(lname, c_location, forward_type, magicfun) do{ \
+ DEFVAR_SYMVAL_FWD (lname, c_location, forward_type, magicfun); \
+ dump_add_opaque_fixnum (c_location); \
} while (0)
-#define DEFVAR_SYMVAL_FWD_OBJECT(lname, c_location, forward_type, magicfun) do{ \
+#define DEFVAR_SYMVAL_FWD_OBJECT(lname, c_location, forward_type, magicfun) do{ \
DEFVAR_SYMVAL_FWD (lname, c_location, forward_type, magicfun); \
- staticpro (c_location); \
- if (EQ (*c_location, Qnull_pointer)) *c_location = Qnil; \
+ { \
+ Lisp_Object *DSF_location = c_location; /* Type check */ \
+ staticpro (DSF_location); \
+ if (EQ (*DSF_location, Qnull_pointer)) *DSF_location = Qnil; \
+ } \
} while (0)
#define DEFVAR_LISP(lname, c_location) \
#define DEFVAR_SPECIFIER(lname, c_location) \
DEFVAR_SYMVAL_FWD_OBJECT (lname, c_location, SYMVAL_CONST_SPECIFIER_FORWARD, 0)
#define DEFVAR_INT(lname, c_location) \
- DEFVAR_SYMVAL_FWD_INT (lname, c_location, SYMVAL_FIXNUM_FORWARD, 0)
+ DEFVAR_SYMVAL_FWD_FIXNUM (lname, c_location, SYMVAL_FIXNUM_FORWARD, 0)
#define DEFVAR_CONST_INT(lname, c_location) \
- DEFVAR_SYMVAL_FWD_INT (lname, c_location, SYMVAL_CONST_FIXNUM_FORWARD, 0)
+ DEFVAR_SYMVAL_FWD_FIXNUM (lname, c_location, SYMVAL_CONST_FIXNUM_FORWARD, 0)
#define DEFVAR_BOOL(lname, c_location) \
DEFVAR_SYMVAL_FWD_INT (lname, c_location, SYMVAL_BOOLEAN_FORWARD, 0)
#define DEFVAR_CONST_BOOL(lname, c_location) \
#define DEFVAR_LISP_MAGIC(lname, c_location, magicfun) \
DEFVAR_SYMVAL_FWD_OBJECT (lname, c_location, SYMVAL_OBJECT_FORWARD, magicfun)
#define DEFVAR_INT_MAGIC(lname, c_location, magicfun) \
- DEFVAR_SYMVAL_FWD_INT (lname, c_location, SYMVAL_FIXNUM_FORWARD, magicfun)
+ DEFVAR_SYMVAL_FWD_FIXNUM (lname, c_location, SYMVAL_FIXNUM_FORWARD, magicfun)
#define DEFVAR_BOOL_MAGIC(lname, c_location, magicfun) \
DEFVAR_SYMVAL_FWD_INT (lname, c_location, SYMVAL_BOOLEAN_FORWARD, magicfun)
#endif
#ifdef HAVE_LIBUTIL_H
-#include <libutil.h> /* openpty() on BSD */
+#include <libutil.h> /* openpty() on FreeBSD */
+#endif
+
+#ifdef HAVE_UTIL_H
+#include <util.h> /* openpty() on NetBSD */
#endif
#ifdef FD_SET
#define realloc xrealloc
#define malloc xmalloc
#define free xfree
-extern void *xmalloc (int size);
-extern void *xrealloc (void *, int size);
+extern void *xmalloc (size_t size);
+extern void *xrealloc (void *, size_t size);
#else /* emacs */
Lisp_Object Vtemp_buffer_show_hook;
/* If a window gets smaller than either of these, it is removed. */
-int window_min_height;
-int window_min_width;
+Fixnum window_min_height;
+Fixnum window_min_width;
/* Hook run at end of temp_output_buffer_show. */
Lisp_Object Qtemp_buffer_show_hook;
/* Number of lines of continuity in scrolling by screenfuls. */
-int next_screen_context_lines;
+Fixnum next_screen_context_lines;
/* List of freed window configurations with 1 - 10 windows. */
static Lisp_Object Vwindow_configuration_free_list[10];
&&
Dynarr_length (dla) >= (1 + modeline)
&&
- (dl->ascent - dl->top_clip) - fheight * value > 0)
+ (dl->ascent - dl->top_clip) > fheight * value)
{
WINDOW_TEXT_TOP_CLIP (w) += value * fheight;
MARK_WINDOWS_CHANGED (w);
+2001-02-08 Martin Buchholz <martin@xemacs.org>
+
+ * XEmacs 21.2.44 "Thalia" is released.
+
2001-01-26 Martin Buchholz <martin@xemacs.org>
* XEmacs 21.2.43 "Terspichore" is released.
emacs_is_beta=t
emacs_major_version=21
emacs_minor_version=2
-emacs_beta_version=43
-xemacs_codename="Terspichore"
+emacs_beta_version=44
+xemacs_codename="Thalia"
infodock_major_version=4
infodock_minor_version=0
infodock_build_version=8