From 40402600969429d5253e62c6314a3eebbb21f027 Mon Sep 17 00:00:00 2001 From: tomo Date: Mon, 31 Dec 2001 20:02:55 +0000 Subject: [PATCH] XEmacs 21.2.44 "Thalia". --- CHANGES-beta | 18 + ChangeLog | 28 + Makefile.in.in | 8 - config.guess | 254 ++++++-- config.sub | 144 +++-- configure | 1510 +++++++++++++++++++++++--------------------- configure.in | 69 +- etc/etags.1 | 56 +- info/lispref.info | 1430 ++++++++++++++++++++--------------------- info/lispref.info-7 | 2 +- info/lispref.info-9 | 2 +- info/xemacs.info | 791 +++++++++++------------ info/xemacs.info-1 | 5 +- lib-src/ChangeLog | 131 ++++ lib-src/etags.c | 1376 +++++++++++++++++++++++++--------------- lib-src/gnuclient.c | 20 +- lib-src/gnuserv.c | 8 +- lib-src/gnuslib.c | 4 +- lib-src/pop.c | 2 +- lisp/ChangeLog | 28 + lisp/gutter-items.el | 36 +- lisp/gutter.el | 15 + lisp/mwheel.el | 16 +- lisp/sound.el | 32 +- lisp/startup.el | 12 +- lwlib/ChangeLog | 24 + lwlib/config.h.in | 2 +- lwlib/lwlib-Xm.c | 4 +- lwlib/xlwcheckbox.c | 2 +- lwlib/xlwgauge.c | 10 +- lwlib/xlwgcs.c | 19 +- lwlib/xlwgcs.h | 5 +- lwlib/xlwradio.c | 8 +- man/ChangeLog | 17 + man/lispref/eval.texi | 2 +- man/lispref/variables.texi | 2 +- man/xemacs/packages.texi | 561 ++++++++++------ man/xemacs/programs.texi | 54 +- man/xemacs/xemacs.texi | 5 +- netinstall/ChangeLog | 12 +- netinstall/res.rc | 4 +- nt/ChangeLog | 4 + src/.gdbinit | 5 +- src/ChangeLog | 183 ++++++ src/abbrev.c | 2 +- src/alloc.c | 30 +- src/buffer.c | 4 +- src/chartab.c | 6 +- src/chartab.h | 2 +- src/cmdloop.c | 2 +- src/commands.h | 2 +- src/config.h.in | 2 +- src/console-x.h | 2 +- src/data.c | 2 +- src/dired-msw.c | 2 +- src/dumper.c | 295 +++++---- src/eldap.c | 2 +- src/elhash.c | 10 +- src/emacs.c | 2 +- src/eval.c | 4 +- src/event-Xt.c | 2 +- src/event-msw.c | 10 +- src/event-stream.c | 4 +- src/extents.c | 2 +- src/glyphs-widget.c | 4 +- src/hpplay.c | 2 +- src/keymap.c | 24 +- src/lisp-disunion.h | 36 +- src/lisp.h | 30 +- src/m/hp9000s300.h | 5 +- src/m/sun386.h | 4 +- src/mule-canna.c | 260 ++++---- src/mule-wnnfns.c | 2 +- src/nt.c | 2 +- src/process-unix.c | 13 +- src/profile.c | 2 +- src/ralloc.c | 2 +- src/redisplay.c | 13 +- src/regex.c | 24 +- src/select-x.c | 2 +- src/select.c | 9 +- src/sound.c | 4 +- src/symbols.c | 13 +- src/symeval.h | 27 +- src/sysproc.h | 6 +- src/tparam.c | 4 +- src/window.c | 8 +- tests/ChangeLog | 4 + version.sh | 4 +- 89 files changed, 4617 insertions(+), 3194 deletions(-) diff --git a/CHANGES-beta b/CHANGES-beta index ed3607b..1421817 100644 --- a/CHANGES-beta +++ b/CHANGES-beta @@ -1,3 +1,21 @@ +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 diff --git a/ChangeLog b/ChangeLog index 8310742..b81197a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,31 @@ +2001-02-08 Martin Buchholz + + * XEmacs 21.2.44 "Thalia" is released. + +2001-01-16 Mike Sperber + + * configure.in: Remove bogus path variable definitions. + Reflect the fact that specifying --datadir also affects docdir and + archlibdir. + +2001-02-06 Martin Buchholz + + * configure.in: Only use -Wpointer-arith on non-glibc systems. + +2001-02-02 Martin Buchholz + + * 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 + + * configure.in: Check for util.h for NetBSD's openpty. + +2001-01-28 Martin Buchholz + + * config.sub: Upgrade to offical version 2001-01-12. + * config.guess: Upgrade to offical version 2001-01-17. + 2001-01-26 Martin Buchholz * XEmacs 21.2.43 "Terspichore" is released. diff --git a/Makefile.in.in b/Makefile.in.in index 04c1805..10150e6 100644 --- a/Makefile.in.in +++ b/Makefile.in.in @@ -300,14 +300,6 @@ lisp/auto-autoloads.el: FRC.lisp.auto.autoloads.el ${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 diff --git a/config.guess b/config.guess index b4faaed..32a779b 100755 --- a/config.guess +++ b/config.guess @@ -1,9 +1,9 @@ #! /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 @@ -32,7 +32,7 @@ version='2000-05-30' # 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). @@ -43,19 +43,34 @@ me=`echo "$0" | sed -e 's,.*/,,'` 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 ." + +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 ;; @@ -64,9 +79,7 @@ while test $# -gt 0 ; do - ) # Use stdin as input. break ;; -* ) - exec >&2 - echo "$me: invalid option $1" - echo "$help" + echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; @@ -78,19 +91,30 @@ if test $# != 0; then 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.) @@ -100,12 +124,9 @@ fi 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 @@ -119,7 +140,7 @@ 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 ;; @@ -129,16 +150,24 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in 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: @@ -215,7 +244,7 @@ EOF 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} @@ -247,7 +276,7 @@ EOF 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*:*:*) @@ -473,6 +502,19 @@ EOF 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 ;; @@ -495,10 +537,28 @@ EOF 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 @@ -533,11 +593,16 @@ EOF } 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 @@ -628,23 +693,24 @@ EOF 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 ;; @@ -669,6 +735,9 @@ EOF 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 @@ -687,13 +756,15 @@ EOF *: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: *// @@ -709,8 +780,7 @@ EOF 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" @@ -720,6 +790,10 @@ EOF 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 @@ -853,14 +927,30 @@ EOF 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) @@ -897,6 +987,7 @@ EOF 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. @@ -974,7 +1065,7 @@ EOF 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` @@ -997,9 +1088,12 @@ EOF 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 ;; @@ -1033,7 +1127,7 @@ EOF 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:*:*) @@ -1076,15 +1170,52 @@ EOF *: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 @@ -1227,8 +1358,9 @@ fi cat >&2 < 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` @@ -1264,7 +1396,7 @@ exit 1 # 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: diff --git a/config.sub b/config.sub index cb86fe1..fe8d4ac 100755 --- a/config.sub +++ b/config.sub @@ -1,9 +1,9 @@ #! /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 @@ -29,7 +29,6 @@ version='2000-05-31' # 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 . # Please send patches to . # # Configuration subroutine to validate and canonicalize a configuration type. @@ -61,16 +60,30 @@ Usage: $0 [OPTION] CPU-MFR-OPSYS 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 ." + +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 ;; @@ -79,9 +92,7 @@ while test $# -gt 0 ; do - ) # Use stdin as input. break ;; -* ) - exec >&2 - echo "$me: invalid option $1" - echo "$help" + echo "$me: invalid option $1$help" exit 1 ;; *local*) @@ -106,7 +117,7 @@ esac # 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/'` ;; @@ -132,7 +143,7 @@ case $os in -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 ;; @@ -204,30 +215,38 @@ esac 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. @@ -237,27 +256,28 @@ case $basic_machine in ;; # 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. @@ -294,14 +314,14 @@ case $basic_machine in 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) @@ -355,6 +375,9 @@ case $basic_machine in crds | unos) basic_machine=m68k-crds ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; da30 | da30-*) basic_machine=m68k-da30 ;; @@ -402,6 +425,10 @@ case $basic_machine in basic_machine=tron-gmicro os=-sysv ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 @@ -501,14 +528,6 @@ case $basic_machine in 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 @@ -534,6 +553,10 @@ case $basic_machine in basic_machine=ns32k-utek os=-sysv ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; miniframe) basic_machine=m68000-convergent ;; @@ -564,7 +587,7 @@ case $basic_machine in os=-coff ;; msdos) - basic_machine=i386-unknown + basic_machine=i386-pc os=-msdos ;; mvs) @@ -628,6 +651,10 @@ case $basic_machine in basic_machine=i960-intel os=-mon960 ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; np1) basic_machine=np1-gould ;; @@ -663,28 +690,28 @@ case $basic_machine in 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 ;; @@ -699,6 +726,10 @@ case $basic_machine in ps2) basic_machine=i386-ibm ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; rom68k) basic_machine=m68k-rom68k os=-coff @@ -790,6 +821,10 @@ case $basic_machine in basic_machine=t3e-cray os=-unicos ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; tx39) basic_machine=mipstx39-unknown ;; @@ -885,12 +920,19 @@ case $basic_machine in 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 ;; @@ -972,7 +1014,8 @@ case $os in | -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*) @@ -1033,7 +1076,7 @@ case $os in -ns2 ) os=-nextstep2 ;; - -nsk) + -nsk*) os=-nsk ;; # Preserve the version number of sinix5. @@ -1070,7 +1113,7 @@ case $os in -xenix) os=-xenix ;; - -*mint | -*MiNT) + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -none) @@ -1104,6 +1147,9 @@ case $basic_machine in arm*-semi) os=-aout ;; + pdp10-*) + os=-tops20 + ;; pdp11-*) os=-none ;; @@ -1212,7 +1258,7 @@ case $basic_machine in *-masscomp) os=-rtu ;; - f301-fujitsu) + f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) @@ -1290,7 +1336,7 @@ case $basic_machine in -mpw* | -macos*) vendor=apple ;; - -*mint | -*MiNT) + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; esac @@ -1303,7 +1349,7 @@ exit 0 # 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: diff --git a/configure b/configure index 5353c07..873d9c3 100755 --- a/configure +++ b/configure @@ -77,19 +77,6 @@ verbose= 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} @@ -662,7 +649,7 @@ EOF } ;; datadir ) - { test "$extra_verbose" = "yes" && cat << \EOF + { test "$extra_verbose" = "yes" && cat << \EOF Defining INFODIR_USER_DEFINED EOF cat >> confdefs.h <<\EOF @@ -670,7 +657,7 @@ 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 @@ -678,7 +665,7 @@ 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 @@ -693,6 +680,22 @@ 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 @@ -832,7 +835,7 @@ echo " Use \`$progname --help' to show usage.") >&2 && exit 1 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 @@ -1097,7 +1100,7 @@ EOF 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/'` @@ -1616,7 +1619,7 @@ xe_save_CFLAGS="$CFLAGS" # 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. @@ -1643,7 +1646,7 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $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. @@ -1691,7 +1694,7 @@ fi # 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. @@ -1720,7 +1723,7 @@ fi 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' @@ -1733,12 +1736,12 @@ cross_compiling=no 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 @@ -1766,19 +1769,19 @@ if test $ac_cv_prog_cc_works = no; 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 <&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 @@ -1796,7 +1799,7 @@ ac_test_CFLAGS="${CFLAGS+set}" 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 @@ -1829,7 +1832,7 @@ if test "$with_gcc" = "no" -a "$GCC" = "yes"; 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. @@ -1856,7 +1859,7 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $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. @@ -1904,7 +1907,7 @@ fi # 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. @@ -1933,7 +1936,7 @@ fi 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' @@ -1946,12 +1949,12 @@ cross_compiling=no 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 @@ -1979,19 +1982,19 @@ if test $ac_cv_prog_cc_works = no; 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 <&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 @@ -2009,7 +2012,7 @@ ac_test_CFLAGS="${CFLAGS+set}" 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 @@ -2042,7 +2045,7 @@ elif test "$with_gcc" = "yes" -a "$GCC" != "yes" ; 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. @@ -2069,7 +2072,7 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $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. @@ -2117,7 +2120,7 @@ fi # 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. @@ -2146,7 +2149,7 @@ fi 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' @@ -2159,12 +2162,12 @@ cross_compiling=no 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 @@ -2192,19 +2195,19 @@ if test $ac_cv_prog_cc_works = no; 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 <&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 @@ -2222,7 +2225,7 @@ ac_test_CFLAGS="${CFLAGS+set}" 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 @@ -2259,7 +2262,7 @@ test -n "$CPP" -a -d "$CPP" && CPP= 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= @@ -2272,13 +2275,13 @@ if test -z "$CPP"; then # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure: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 : @@ -2289,13 +2292,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure: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 : @@ -2306,13 +2309,13 @@ else rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure: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 : @@ -2338,9 +2341,9 @@ echo "$ac_t""$CPP" 1>&6 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 <&6 -echo "configure:2371: checking for GNU libc" >&5 +echo "configure:2374: checking for GNU libc" >&5 cat > conftest.$ac_ext < int main() { @@ -2381,7 +2384,7 @@ 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 @@ -2458,7 +2461,7 @@ EOF esac cat > conftest.$ac_ext <&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 @@ -2688,15 +2691,15 @@ fi 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" @@ -2706,17 +2709,17 @@ test "$__DECC" = "yes" && c_switch_site="$c_switch_site -std1" && if test "$ext 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 <&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 @@ -2727,14 +2730,14 @@ else xe_save_c_switch_system="$c_switch_system" c_switch_system="$c_switch_system -Kalloca" cat > conftest.$ac_ext <&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 @@ -2751,7 +2754,8 @@ fi 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" ;; @@ -2767,7 +2771,7 @@ fi 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.*) @@ -2890,7 +2894,7 @@ test "$pdump" = "yes" && extra_objs="$extra_objs dumper.o" && if test "$extra_v 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 @@ -2928,12 +2932,12 @@ if test "$unexec" = "unexaix.o"; then 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 <&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 @@ -3052,7 +3056,7 @@ fi 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 " ;; @@ -3074,14 +3078,14 @@ if test "$GCC" = "yes"; then done fi cat > conftest.$ac_ext <&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 @@ -3183,10 +3187,10 @@ 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 <&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 @@ -3229,16 +3233,16 @@ doug_lea_malloc=no 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 <&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 @@ -3294,7 +3298,7 @@ fi # 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. @@ -3349,7 +3353,7 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. # 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=":" @@ -3403,7 +3407,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $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. @@ -3435,15 +3439,15 @@ for ac_hdr in a.out.h elf.h cygwin/version.h fcntl.h inttypes.h libg 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 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* @@ -3473,10 +3477,10 @@ fi 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 < #include @@ -3492,7 +3496,7 @@ wait (&s); 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 @@ -3516,10 +3520,10 @@ EOF 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 < #include @@ -3527,7 +3531,7 @@ cat > conftest.$ac_ext < 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* @@ -3544,7 +3548,7 @@ rm -f 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 @@ -3562,7 +3566,7 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -3580,7 +3584,7 @@ fi 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 < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -3591,7 +3595,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); 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 @@ -3617,10 +3621,10 @@ EOF 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 < #include @@ -3629,7 +3633,7 @@ int main() { 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 @@ -3653,10 +3657,10 @@ EOF 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 < #include @@ -3668,7 +3672,7 @@ int main() { 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 @@ -3693,9 +3697,9 @@ fi 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 < @@ -3714,7 +3718,7 @@ int main() { 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 @@ -3734,10 +3738,10 @@ fi 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 < #include @@ -3754,7 +3758,7 @@ int main() { 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 @@ -3776,10 +3780,10 @@ EOF 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 < #if STDC_HEADERS @@ -3810,10 +3814,10 @@ EOF 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 < #if STDC_HEADERS @@ -3844,10 +3848,10 @@ EOF 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 @@ -3883,10 +3887,10 @@ 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 < #if STDC_HEADERS @@ -3917,10 +3921,10 @@ EOF 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 < #if STDC_HEADERS @@ -3951,10 +3955,10 @@ EOF 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 < #if STDC_HEADERS @@ -3986,9 +3990,9 @@ fi 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 < socklen_t x; @@ -3997,7 +4001,7 @@ int main() { ; 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 @@ -4006,7 +4010,7 @@ else rm -rf conftest* cat > conftest.$ac_ext < int accept (int, struct sockaddr *, size_t *); @@ -4015,7 +4019,7 @@ int main() { ; 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 @@ -4047,9 +4051,9 @@ fi 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 < @@ -4065,7 +4069,7 @@ int main() { 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 @@ -4087,10 +4091,10 @@ fi 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 < #include @@ -4098,7 +4102,7 @@ int main() { 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 @@ -4122,10 +4126,10 @@ EOF 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 < #include <$ac_cv_struct_tm> @@ -4133,7 +4137,7 @@ int main() { 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 @@ -4156,10 +4160,10 @@ EOF 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 < #ifndef tzname /* For SGI. */ @@ -4169,7 +4173,7 @@ int main() { 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 @@ -4195,10 +4199,10 @@ fi 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 <&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 @@ -4272,7 +4276,7 @@ fi 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 @@ -4297,12 +4301,12 @@ fi 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 < #include @@ -4313,11 +4317,11 @@ int main() { #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 < #include @@ -4328,7 +4332,7 @@ int main() { #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 @@ -4345,7 +4349,7 @@ fi rm -f conftest* if test $ac_cv_c_bigendian = unknown; then cat > conftest.$ac_ext <&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 @@ -4385,10 +4389,10 @@ fi 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 < main() @@ -4399,7 +4403,7 @@ 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 @@ -4427,10 +4431,10 @@ if test "$ac_cv_sizeof_short" = 0; then 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 < main() @@ -4441,7 +4445,7 @@ 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 @@ -4463,10 +4467,10 @@ EOF 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 < main() @@ -4477,7 +4481,7 @@ 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 @@ -4499,10 +4503,10 @@ EOF 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 < main() @@ -4513,7 +4517,7 @@ 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 @@ -4535,10 +4539,10 @@ EOF 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 < main() @@ -4549,7 +4553,7 @@ 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 @@ -4572,7 +4576,7 @@ EOF 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: @@ -4618,10 +4622,10 @@ fi 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 <&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 @@ -4662,12 +4666,12 @@ 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 <&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 @@ -4722,14 +4726,14 @@ EOF cat > conftest.$ac_ext < 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 @@ -4746,14 +4750,14 @@ fi 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 <&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 @@ -4858,12 +4862,12 @@ test "$mail_locking" = "locking" -a "$ac_cv_func_locking" != "yes" && \ 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 <&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 @@ -4910,7 +4914,7 @@ fi 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; @@ -4922,7 +4926,7 @@ fi 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 ;; @@ -4933,7 +4937,7 @@ 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" && \ @@ -4966,7 +4970,7 @@ if test "$with_x11" != "no"; then # 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 @@ -5026,12 +5030,12 @@ if test "$ac_x_includes" = NO; then # First, try using that file with no special directory specified. cat > conftest.$ac_ext < 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* @@ -5100,14 +5104,14 @@ if test "$ac_x_libraries" = NO; then ac_save_LIBS="$LIBS" LIBS="-l$x_direct_test_library $LIBS" cat > conftest.$ac_ext <&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. @@ -5216,17 +5220,17 @@ else 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 <&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 @@ -5242,14 +5246,14 @@ rm -f conftest* else LIBS="$ac_xsave_LIBS -R $x_libraries" cat > conftest.$ac_ext <&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 @@ -5285,12 +5289,12 @@ ac_cv_lib_dnet_dnet_ntoa=no 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 <&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 @@ -5325,12 +5329,12 @@ fi 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 <&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 @@ -5370,10 +5374,10 @@ fi # 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 <&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 @@ -5417,12 +5421,12 @@ fi 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 <&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 @@ -5463,10 +5467,10 @@ fi # -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 <&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 @@ -5512,12 +5516,12 @@ fi 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 <&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 @@ -5552,10 +5556,10 @@ fi # 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 <&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 @@ -5599,12 +5603,12 @@ fi 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 <&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 @@ -5639,10 +5643,10 @@ fi # 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 <&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 @@ -5686,12 +5690,12 @@ fi 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 <&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 @@ -5738,12 +5742,12 @@ fi 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 <&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 @@ -5925,7 +5929,7 @@ EOF 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 @@ -5972,15 +5976,15 @@ EOF 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 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* @@ -6004,12 +6008,12 @@ fi 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 <&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 @@ -6045,12 +6049,12 @@ fi 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 <&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 @@ -6088,12 +6092,12 @@ fi 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 <&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 @@ -6127,12 +6131,12 @@ fi 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 <&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 @@ -6166,14 +6170,14 @@ fi 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 < 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 @@ -6204,10 +6208,10 @@ EOF 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 <&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 @@ -6262,15 +6266,15 @@ done 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 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* @@ -6303,10 +6307,10 @@ done 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 <&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 @@ -6357,9 +6361,9 @@ fi 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 <&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 @@ -6392,12 +6396,12 @@ rm -f conftest* 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 <&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 @@ -6447,19 +6451,19 @@ EOF 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 <&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 @@ -6496,22 +6500,22 @@ fi 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 <&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 @@ -6544,7 +6548,7 @@ EOF 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 @@ -6582,12 +6586,12 @@ EOF fi fi cat > conftest.$ac_ext < 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 @@ -6651,15 +6655,15 @@ fi 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 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* @@ -6706,7 +6710,7 @@ case "$x_libraries" in *X11R4* ) 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 @@ -6721,15 +6725,15 @@ fi 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 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* @@ -6752,12 +6756,12 @@ fi } 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 <&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 @@ -6813,15 +6817,15 @@ if test "$with_tooltalk" != "no" ; then 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 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* @@ -6857,12 +6861,12 @@ if test "$with_tooltalk" != "no" ; then 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 <&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 @@ -6930,15 +6934,15 @@ fi 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 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* @@ -6961,12 +6965,12 @@ fi } 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 <&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 @@ -7047,7 +7051,7 @@ fi 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 @@ -7067,18 +7071,18 @@ EOF 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 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* @@ -7101,15 +7105,15 @@ fi } 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 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* @@ -7133,12 +7137,12 @@ fi 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 <&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 @@ -7174,12 +7178,12 @@ fi 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 <&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 @@ -7215,12 +7219,12 @@ fi 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 <&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 @@ -7256,12 +7260,12 @@ fi 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 <&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 @@ -7323,10 +7327,10 @@ EOF 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 <&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 @@ -7380,20 +7384,20 @@ fi 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 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* @@ -7417,12 +7421,12 @@ fi 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 <&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 @@ -7466,12 +7470,12 @@ EOF 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 <&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 @@ -7530,15 +7534,15 @@ fi 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 < @@ -7547,7 +7551,7 @@ echo "configure:7539: checking for Xpm - no older than 3.4f" >&5 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 @@ -7579,7 +7583,7 @@ rm -fr conftest* 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 @@ -7589,17 +7593,17 @@ 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 <&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 @@ -7625,15 +7629,15 @@ EOF 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 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* @@ -7656,12 +7660,12 @@ fi } 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 <&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 @@ -7724,12 +7728,12 @@ EOF 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 <&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 @@ -7759,12 +7763,12 @@ 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 <&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 @@ -7794,12 +7798,12 @@ 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 <&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 @@ -7840,15 +7844,15 @@ fi 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 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* @@ -7871,12 +7875,12 @@ fi } 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 <&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 @@ -7923,10 +7927,10 @@ EOF 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 <&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 @@ -7970,15 +7974,15 @@ fi } 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 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* @@ -8001,12 +8005,12 @@ fi } 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 <&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 @@ -8040,10 +8044,10 @@ fi } 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 < int main(int c, char **v) { @@ -8051,7 +8055,7 @@ echo "configure:8044: checking for workable png version information" >&5 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 @@ -8094,15 +8098,15 @@ EOF 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 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* @@ -8125,12 +8129,12 @@ fi } 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 <&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 @@ -8180,10 +8184,10 @@ fi 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 ;; @@ -8197,12 +8201,12 @@ echo "configure:8187: checking for the Athena widgets" >&5 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 <&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 @@ -8229,12 +8233,12 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then 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 <&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 @@ -8276,12 +8280,12 @@ fi 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 <&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 @@ -8310,12 +8314,12 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then 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 <&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 @@ -8357,15 +8361,15 @@ fi 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 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* @@ -8385,15 +8389,15 @@ else 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 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* @@ -8419,15 +8423,15 @@ fi 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 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* @@ -8444,15 +8448,15 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then 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 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* @@ -8480,15 +8484,15 @@ fi 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 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* @@ -8505,15 +8509,15 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then 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 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* @@ -8542,15 +8546,15 @@ fi 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 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* @@ -8567,15 +8571,15 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then 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 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* @@ -8607,15 +8611,15 @@ fi 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 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* @@ -8632,15 +8636,15 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then 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 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* @@ -8672,15 +8676,15 @@ fi 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 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* @@ -8715,15 +8719,15 @@ fi 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 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* @@ -8740,12 +8744,12 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then 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 <&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 @@ -8785,9 +8789,9 @@ fi 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 < #ifdef LESSTIF_VERSION @@ -9193,7 +9197,7 @@ fi 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 @@ -9218,15 +9222,15 @@ 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 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* @@ -9257,12 +9261,12 @@ done 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 <&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 @@ -9306,18 +9310,18 @@ fi 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 <&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 @@ -9352,12 +9356,12 @@ fi 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 <&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 @@ -9433,15 +9437,15 @@ EOF 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 <&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 @@ -9492,15 +9496,46 @@ EOF 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 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 +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* @@ -9525,10 +9560,10 @@ fi 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 <&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 @@ -9580,12 +9615,12 @@ done 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 <&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 @@ -9631,12 +9666,12 @@ fi 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 <&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 @@ -9665,12 +9700,12 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then 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 <&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 @@ -9699,12 +9734,12 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then 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 <&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 @@ -9733,12 +9768,12 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then 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 <&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 @@ -9797,12 +9832,12 @@ EOF 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 <&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 @@ -9848,15 +9883,15 @@ EOF 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 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* @@ -9883,15 +9918,15 @@ fi 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 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* @@ -9919,15 +9954,15 @@ fi 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 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* @@ -9950,12 +9985,12 @@ fi } 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 <&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 @@ -9989,12 +10024,12 @@ fi } 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 <&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 @@ -10054,12 +10089,12 @@ if test "$need_motif" = "yes" ; then 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 <&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 @@ -10156,10 +10191,10 @@ fi 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 <&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 @@ -10210,13 +10245,14 @@ fi 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 <&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 @@ -10268,10 +10304,10 @@ done 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 <&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 @@ -10313,12 +10349,12 @@ 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 <&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 @@ -10360,19 +10396,19 @@ cat >> confdefs.h <<\EOF 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 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* @@ -10395,7 +10431,7 @@ cat >> confdefs.h <&6 fi @@ -10408,15 +10444,15 @@ for ac_hdr in stropts.h 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 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* @@ -10449,10 +10485,10 @@ if test "$ac_cv_header_stropts_h" = "yes"; then 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 <&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 @@ -10506,15 +10542,15 @@ done 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 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* @@ -10551,10 +10587,10 @@ extra_objs="$extra_objs realpath.o" && if test "$extra_verbose" = "yes"; then 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 <&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 @@ -10610,15 +10646,15 @@ if test "$ac_cv_func_getloadavg" = "yes"; then 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 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* @@ -10654,12 +10690,12 @@ else 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 <&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 @@ -10705,15 +10741,15 @@ fi 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 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* @@ -10745,12 +10781,12 @@ done 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 <&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 @@ -10795,16 +10831,16 @@ fi 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 < 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 @@ -10824,16 +10860,16 @@ fi 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 < 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 @@ -10853,11 +10889,11 @@ fi 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 < #if STDC_HEADERS @@ -10892,7 +10928,7 @@ main() 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 @@ -10922,9 +10958,9 @@ fi 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 <&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 @@ -10967,19 +11003,19 @@ fi 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 <&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 @@ -11020,17 +11056,17 @@ if test "$__DECC" != "yes"; then # 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 < 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 @@ -11054,10 +11090,10 @@ EOF 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 <&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 @@ -11124,10 +11160,10 @@ EOF 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 <&6 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 <&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 @@ -11207,10 +11243,10 @@ done 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 <&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 @@ -11259,15 +11295,15 @@ fi 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 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* @@ -11295,10 +11331,10 @@ else 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 < @@ -11393,7 +11429,7 @@ main() { } } 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 @@ -11419,10 +11455,10 @@ fi 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 < main () @@ -11432,7 +11468,7 @@ 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 @@ -11460,10 +11496,10 @@ fi 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 <&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 @@ -11514,10 +11550,10 @@ fi 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 <&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 @@ -11599,10 +11635,10 @@ fi 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 < #include @@ -11635,7 +11671,7 @@ int main (int argc, char *argv[]) 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 @@ -11661,9 +11697,9 @@ test "$GNU_MALLOC" != "yes" -a "$have_mmap" != "yes" && rel_alloc=no 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 < int main() { @@ -11675,7 +11711,7 @@ 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 @@ -11700,15 +11736,15 @@ EOF 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 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* @@ -11751,15 +11787,15 @@ else 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 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* @@ -11791,10 +11827,10 @@ fi 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 <&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 @@ -11832,15 +11868,15 @@ if eval "test \"`echo '$ac_cv_func_'socket`\" = yes"; then 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 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* @@ -11857,15 +11893,15 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then 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 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* @@ -11890,9 +11926,9 @@ EOF } 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 < @@ -11903,7 +11939,7 @@ int main() { 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 @@ -11921,9 +11957,9 @@ else 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 < @@ -11933,7 +11969,7 @@ int main() { 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 @@ -11964,10 +12000,10 @@ fi 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 <&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 @@ -12005,15 +12041,15 @@ if eval "test \"`echo '$ac_cv_func_'msgget`\" = yes"; then 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 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* @@ -12030,15 +12066,15 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then 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 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* @@ -12076,15 +12112,15 @@ fi 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 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* @@ -12111,15 +12147,15 @@ else 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 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* @@ -12152,15 +12188,15 @@ fi 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 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* @@ -12190,22 +12226,22 @@ fi 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 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* @@ -12253,12 +12289,12 @@ fi 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 <&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 @@ -12300,12 +12336,12 @@ fi 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 <&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 @@ -12354,15 +12390,15 @@ fi 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 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* @@ -12423,15 +12459,15 @@ fi 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 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* @@ -12449,12 +12485,12 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then 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 <&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 @@ -12504,7 +12540,7 @@ EOF fi libs_x="-laudio $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-laudio\" to \$libs_x"; fi cat > conftest.$ac_ext < EOF @@ -12535,7 +12571,7 @@ if test "$with_esd_sound" != "no"; then # 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. @@ -12564,10 +12600,10 @@ fi 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 <&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 @@ -12641,7 +12677,7 @@ test -z "$with_tty" && with_tty=yes 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 @@ -12657,12 +12693,12 @@ 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 <&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 @@ -12706,15 +12742,15 @@ EOF 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 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* @@ -12736,15 +12772,15 @@ fi 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 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* @@ -12774,15 +12810,15 @@ fi 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 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* @@ -12817,12 +12853,12 @@ fi 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 <&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 @@ -12864,12 +12900,12 @@ fi 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 <&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 @@ -12898,12 +12934,12 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then 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 <&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 @@ -12962,15 +12998,15 @@ EOF 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 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* @@ -12993,12 +13029,12 @@ fi } 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 <&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 @@ -13059,20 +13095,20 @@ test "$with_x11" = "yes" -o "$with_tty" = "yes" && extra_objs="$extra_objs event 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 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* @@ -13102,12 +13138,12 @@ fi 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 <&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 @@ -13146,10 +13182,10 @@ fi 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 <&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 @@ -13191,12 +13227,12 @@ 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 <&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 @@ -13248,10 +13284,10 @@ EOF 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 < @@ -13273,7 +13309,7 @@ int main() { ; 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 @@ -13289,9 +13325,9 @@ rm -f conftest* 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 < #if DB_VERSION_MAJOR > 1 @@ -13303,7 +13339,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | egrep "yes" >/dev/null 2>&1; then rm -rf conftest* cat > conftest.$ac_ext < #if DB_VERSION_MAJOR > 2 @@ -13330,10 +13366,10 @@ fi 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 <&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 @@ -13375,12 +13411,12 @@ 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 <&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 @@ -13455,12 +13491,12 @@ fi 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 <&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 @@ -13526,22 +13562,22 @@ fi 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 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* @@ -13558,16 +13594,16 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then 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 < 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 @@ -13576,18 +13612,18 @@ 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 < 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 @@ -13616,12 +13652,12 @@ EOF 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 <&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 @@ -13659,12 +13695,12 @@ 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 <&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 @@ -13720,7 +13756,7 @@ xehost=$canonical 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*) ;; @@ -13748,9 +13784,9 @@ if test "$GCC" = "yes"; then 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 <&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 @@ -13868,18 +13904,18 @@ if test -n "$dll_cflags"; then # 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 <&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 @@ -13910,7 +13946,7 @@ cc_produces_so=no 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" @@ -13961,14 +13997,14 @@ if test -n "$xcldf"; then xe_libs= ac_link='${CC-cc} -o conftest $CFLAGS '"$xe_cppflags $xe_ldflags"' conftest.$ac_ext '"$xe_libs"' 1>&5' cat > conftest.$ac_ext <&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 @@ -13993,7 +14029,7 @@ if test -z "$LTLD"; then 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. @@ -14018,7 +14054,7 @@ echo "configure:13997: checking for ld used by GCC" >&5 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 @@ -14056,7 +14092,7 @@ ld_dynamic_link_flags= # 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 &5; then xe_gnu_ld=yes @@ -14084,7 +14120,7 @@ else # 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 @@ -14299,10 +14335,10 @@ EOF 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 <&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 @@ -14364,11 +14400,11 @@ done fi cat > conftest.$ac_ext <&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 diff --git a/configure.in b/configure.in index ebad6d6..c7ab828 100644 --- a/configure.in +++ b/configure.in @@ -284,26 +284,6 @@ verbose= 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= @@ -770,10 +750,12 @@ The default is to autodetect all sound support."]) 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 @@ -1866,15 +1848,15 @@ test "$extra_verbose" = "yes" && \ 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 @@ -1906,7 +1888,10 @@ if test "$cflags_specified" = "no"; then 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" @@ -2726,7 +2711,7 @@ dnl Avoid re-AC_DEFINE-ing xmkmf symbols we've already defined above. #include extern Bool XRegisterIMInstantiateCallback( Display*, struct _XrmHashBucketRec*, char*, char*, XIMProc, XPointer*); -], [], +], [], [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no) AC_DEFINE(XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE)]) @@ -2772,7 +2757,7 @@ if test "$with_msw" != "no"; then 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) @@ -3087,6 +3072,9 @@ if test "$window_system" != "none"; then 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) @@ -3502,6 +3490,8 @@ if test "$with_mule" = "yes" ; then 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) @@ -3571,19 +3561,26 @@ fi 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 diff --git a/etc/etags.1 b/etc/etags.1 index 735b187..3ae60ec 100644 --- a/etc/etags.1 +++ b/etc/etags.1 @@ -1,6 +1,6 @@ .\" 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 @@ -16,28 +16,28 @@ etags, ctags \- generate tag file for Emacs, vi .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 @@ -48,10 +48,10 @@ understood by \&; 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. @@ -81,11 +81,6 @@ The default is to use the delimiter `\|\fB/\fP\|', to search \fIforwards\fP 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. @@ -125,7 +120,7 @@ Parse the following files according to the given language. More than 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 @@ -143,8 +138,7 @@ Only tag packages in Ada files. 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 @@ -187,9 +181,9 @@ Tag TCL files (this last example shows the usage of a \fItagregexp\fP): .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. diff --git a/info/lispref.info b/info/lispref.info index f9132e6..2f1244d 100644 --- a/info/lispref.info +++ b/info/lispref.info @@ -58,47 +58,47 @@ lispref.info-4: 147443 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  Tag Table: (Indirect) @@ -241,679 +241,679 @@ Node: Evaluation332738 Node: Intro Eval333543 Ref: Intro Eval-Footnote-1336896 Node: Eval337031 -Node: Forms341449 -Node: Self-Evaluating Forms342608 -Node: Symbol Forms344121 -Node: Classifying Lists345038 -Node: Function Indirection345794 -Node: Function Forms348893 -Node: Macro Forms349890 -Node: Special Forms351490 -Node: Autoloading353799 -Node: Quoting354297 -Node: Control Structures355658 -Node: Sequencing357278 -Node: Conditionals360143 -Node: Combining Conditions363566 -Node: Iteration366836 -Node: Nonlocal Exits368615 -Node: Catch and Throw369317 -Node: Examples of Catch373156 -Node: Errors375175 -Node: Signaling Errors376664 -Node: Processing of Errors385411 -Node: Handling Errors387690 -Node: Error Symbols394931 -Node: Cleanups398887 -Node: Variables402665 -Node: Global Variables404434 -Node: Constant Variables405510 -Node: Local Variables406136 -Node: Void Variables411073 -Node: Defining Variables414589 -Node: Accessing Variables421753 -Node: Setting Variables423178 -Node: Variable Scoping427697 -Node: Scope429296 -Node: Extent430821 -Node: Impl of Scope432300 -Node: Using Scoping434263 -Node: Buffer-Local Variables435785 -Node: Intro to Buffer-Local436621 -Node: Creating Buffer-Local439164 -Node: Default Value445063 -Node: Variable Aliases448206 -Node: Functions450057 -Node: What Is a Function451151 -Node: Lambda Expressions455197 -Node: Lambda Components456107 -Node: Simple Lambda457939 -Node: Argument List459596 -Node: Function Documentation463324 -Node: Function Names465266 -Node: Defining Functions467839 -Node: Calling Functions470879 -Node: Mapping Functions474727 -Node: Anonymous Functions477415 -Node: Function Cells480660 -Node: Inline Functions485478 -Node: Related Topics487288 -Node: Macros488341 -Node: Simple Macro489625 -Node: Expansion490360 -Node: Compiling Macros493364 -Node: Defining Macros495200 -Node: Backquote496517 -Node: Problems with Macros498914 -Node: Argument Evaluation499609 -Node: Surprising Local Vars502524 -Node: Eval During Expansion504592 -Node: Repeated Expansion506285 -Node: Customization508201 -Node: Common Keywords508670 -Node: Group Definitions511515 -Node: Variable Definitions513707 -Node: Customization Types518697 -Node: Simple Types520132 -Node: Composite Types522289 -Node: Splicing into Lists526979 -Node: Type Keywords528814 -Node: Loading532334 -Node: How Programs Do Loading534009 -Node: Autoload543135 -Node: Repeated Loading549205 -Node: Named Features551318 -Node: Unloading557748 -Node: Hooks for Loading559904 -Node: Byte Compilation560621 -Node: Speed of Byte-Code562614 -Node: Compilation Functions563821 -Node: Docs and Compilation570478 -Node: Dynamic Loading573131 -Node: Eval During Compile575495 -Node: Compiled-Function Objects576760 -Node: Disassembly581561 -Node: Different Behavior588842 -Node: Debugging590187 -Node: Debugger591599 -Node: Error Debugging592744 -Node: Infinite Loops595497 -Node: Function Debugging596741 -Node: Explicit Debug599541 -Node: Using Debugger600312 -Node: Debugger Commands602174 -Node: Invoking the Debugger606491 -Node: Internals of Debugger610406 -Node: Syntax Errors615293 -Node: Excess Open616541 -Node: Excess Close618416 -Node: Compilation Errors619837 -Node: Edebug621125 -Node: Using Edebug623233 -Node: Instrumenting625930 -Node: Edebug Execution Modes629419 -Node: Jumping632529 -Node: Edebug Misc634872 -Node: Breakpoints636261 -Node: Global Break Condition639067 -Node: Embedded Breakpoints640022 -Node: Trapping Errors640977 -Node: Edebug Views643053 -Node: Edebug Eval645018 -Node: Eval List646195 -Node: Reading in Edebug649580 -Node: Printing in Edebug650379 -Node: Tracing652094 -Node: Coverage Testing653982 -Node: The Outside Context656023 -Node: Checking Whether to Stop656972 -Node: Edebug Display Update657619 -Node: Edebug Recursive Edit659642 -Node: Instrumenting Macro Calls661297 -Node: Specification List663779 -Node: Backtracking673190 -Node: Debugging Backquote675128 -Node: Specification Examples678834 -Node: Edebug Options680901 -Node: Read and Print686240 -Node: Streams Intro687217 -Node: Input Streams689235 -Node: Input Functions694136 -Node: Output Streams696196 -Node: Output Functions700247 -Node: Output Variables704547 -Node: Minibuffers709348 -Node: Intro to Minibuffers710500 -Node: Text from Minibuffer712688 -Node: Object from Minibuffer717782 -Node: Minibuffer History721875 -Node: Completion724854 -Node: Basic Completion726829 -Node: Minibuffer Completion731712 -Node: Completion Commands735289 -Node: High-Level Completion739946 -Node: Reading File Names744695 -Node: Programmed Completion748387 -Node: Yes-or-No Queries750769 -Node: Multiple Queries756506 -Node: Reading a Password760573 -Node: Minibuffer Misc761916 -Node: Command Loop766796 -Node: Command Overview768140 -Node: Defining Commands771418 -Node: Using Interactive772166 -Node: Interactive Codes776939 -Node: Interactive Examples782731 -Node: Interactive Call784045 -Node: Command Loop Info789460 -Node: Events794439 -Node: Event Types795900 -Node: Event Contents797823 -Node: Event Predicates802299 -Node: Accessing Mouse Event Positions803617 -Node: Frame-Level Event Position Info804316 -Node: Window-Level Event Position Info805356 -Node: Event Text Position Info807120 -Node: Event Glyph Position Info809612 -Node: Event Toolbar Position Info810935 -Node: Other Event Position Info811606 -Node: Accessing Other Event Info812015 -Node: Working With Events813635 -Node: Converting Events819636 -Node: Reading Input823035 -Node: Key Sequence Input824037 -Node: Reading One Event826672 -Node: Dispatching an Event829496 -Node: Quoted Character Input829947 -Node: Peeking and Discarding831295 -Node: Waiting835199 -Node: Quitting837513 -Node: Prefix Command Arguments841921 -Node: Recursive Editing847008 -Node: Disabling Commands851803 -Node: Command History853871 -Node: Keyboard Macros855608 -Node: Keymaps857825 -Node: Keymap Terminology859402 -Node: Format of Keymaps862331 -Node: Creating Keymaps862742 -Node: Inheritance and Keymaps864822 -Node: Key Sequences867194 -Node: Prefix Keys871990 -Node: Active Keymaps875575 -Node: Key Lookup884946 -Node: Functions for Key Lookup890109 -Node: Changing Key Bindings895810 -Node: Key Binding Commands902972 -Node: Scanning Keymaps905037 -Node: Other Keymap Functions913606 -Node: Menus914228 -Node: Menu Format914820 -Node: Menubar Format923466 -Node: Menubar924091 -Node: Modifying Menus927204 -Node: Menu Filters932548 -Node: Pop-Up Menus934444 -Node: Menu Accelerators936772 -Node: Creating Menu Accelerators937528 -Node: Keyboard Menu Traversal938888 -Node: Menu Accelerator Functions939615 -Node: Buffers Menu942691 -Node: Dialog Boxes943985 -Node: Dialog Box Format944152 -Node: Dialog Box Functions945577 -Node: Toolbar945974 -Node: Toolbar Intro946409 -Node: Creating Toolbar948809 -Node: Toolbar Descriptor Format949726 -Node: Specifying the Toolbar954223 -Node: Other Toolbar Variables957830 -Node: Gutter962258 -Node: Gutter Intro962847 -Node: Creating Gutter964850 -Node: Gutter Descriptor Format967737 -Node: Specifying a Gutter972194 -Node: Other Gutter Variables975729 -Node: Common Gutter Widgets980116 -Node: Buffer Tabs981108 -Node: Progress Bars981249 -Node: Scrollbars981394 -Node: Drag and Drop981529 -Node: Supported Protocols982605 -Node: OffiX DND983108 -Node: CDE dt984115 -Node: MSWindows OLE984706 -Node: Loose ends984877 -Node: Drop Interface985269 -Node: Drag Interface986291 -Node: Modes986465 -Node: Major Modes987416 -Node: Major Mode Conventions990331 -Node: Example Major Modes996286 -Node: Auto Major Mode1004319 -Node: Mode Help1011769 -Node: Derived Modes1012870 -Node: Minor Modes1015061 -Node: Minor Mode Conventions1016363 -Node: Keymaps and Minor Modes1019226 -Node: Modeline Format1020061 -Node: Modeline Data1021829 -Node: Modeline Variables1026982 -Node: %-Constructs1031698 -Node: Hooks1034685 -Node: Documentation1041445 -Node: Documentation Basics1042868 -Node: Accessing Documentation1045919 -Node: Keys in Documentation1052200 -Node: Describing Characters1055683 -Node: Help Functions1058032 -Node: Obsoleteness1064482 -Node: Files1067474 -Node: Visiting Files1069399 -Node: Visiting Functions1070904 -Node: Subroutines of Visiting1076062 -Node: Saving Buffers1078135 -Node: Reading from Files1084228 -Node: Writing to Files1086389 -Node: File Locks1089106 -Node: Information about Files1092173 -Node: Testing Accessibility1092934 -Node: Kinds of Files1096674 -Node: Truenames1098355 -Node: File Attributes1099357 -Node: Changing File Attributes1104496 -Node: File Names1109918 -Node: File Name Components1111491 -Node: Directory Names1113936 -Node: Relative File Names1117166 -Node: File Name Expansion1118136 -Node: Unique File Names1121890 -Node: File Name Completion1123505 -Node: User Name Completion1126773 -Node: Contents of Directories1128180 -Node: Create/Delete Dirs1131493 -Node: Magic File Names1132599 -Node: Partial Files1138247 -Node: Intro to Partial Files1138475 -Node: Creating a Partial File1139715 -Node: Detached Partial Files1140651 -Node: Format Conversion1141773 -Node: Files and MS-DOS1147271 -Node: Backups and Auto-Saving1149335 -Node: Backup Files1150010 -Node: Making Backups1151407 -Node: Rename or Copy1154156 -Node: Numbered Backups1156649 -Node: Backup Names1158884 -Node: Auto-Saving1162176 -Node: Reverting1170338 -Node: Buffers1173674 -Node: Buffer Basics1175090 -Node: Current Buffer1177143 -Node: Buffer Names1181847 -Node: Buffer File Name1185054 -Node: Buffer Modification1189173 -Node: Modification Time1191416 -Node: Read Only Buffers1194791 -Node: The Buffer List1198030 -Node: Creating Buffers1202847 -Node: Killing Buffers1204993 -Node: Indirect Buffers1208825 -Node: Windows1211399 -Node: Basic Windows1212877 -Node: Splitting Windows1215975 -Node: Deleting Windows1221301 -Node: Selecting Windows1225219 -Node: Cyclic Window Ordering1229442 -Node: Buffers and Windows1234597 -Node: Displaying Buffers1236375 -Node: Choosing Window1241714 -Node: Window Point1249632 -Node: Window Start1251702 -Node: Vertical Scrolling1256501 -Node: Horizontal Scrolling1262699 -Node: Size of Window1266228 -Node: Position of Window1270946 -Node: Resizing Windows1273199 -Node: Window Configurations1278637 -Node: Frames1282134 -Node: Creating Frames1284475 -Node: Frame Properties1285815 -Node: Property Access1286631 -Node: Initial Properties1287538 -Node: X Frame Properties1290024 -Node: Size and Position1294658 -Node: Frame Name1296656 -Node: Frame Titles1297570 -Node: Deleting Frames1299394 -Node: Finding All Frames1300369 -Node: Frames and Windows1303597 -Node: Minibuffers and Frames1306379 -Node: Input Focus1307297 -Node: Visibility of Frames1310402 -Node: Raising and Lowering1312392 -Node: Frame Configurations1314768 -Node: Frame Hooks1315825 -Node: Consoles and Devices1317630 -Node: Basic Console Functions1320373 -Node: Basic Device Functions1320796 -Node: Console Types and Device Classes1321642 -Node: Connecting to a Console or Device1323909 -Node: The Selected Console and Device1326093 -Node: Console and Device I/O1327119 -Node: Positions1327883 -Node: Point1328852 -Node: Motion1331942 -Node: Character Motion1332709 -Node: Word Motion1334946 -Node: Buffer End Motion1336336 -Node: Text Lines1337873 -Node: Screen Lines1342774 -Node: List Motion1346837 -Node: Skipping Characters1350320 -Node: Excursions1352539 -Node: Narrowing1355579 -Node: Markers1360910 -Node: Overview of Markers1361816 -Node: Predicates on Markers1366508 -Node: Creating Markers1367754 -Node: Information from Markers1371954 -Node: Changing Markers1373052 -Node: The Mark1374580 -Node: The Region1383083 -Node: Text1388769 -Node: Near Point1391468 -Node: Buffer Contents1395655 -Node: Comparing Text1397061 -Node: Insertion1398469 -Node: Commands for Insertion1402379 -Node: Deletion1405273 -Node: User-Level Deletion1408923 -Node: The Kill Ring1413083 -Node: Kill Ring Concepts1415257 -Node: Kill Functions1416311 -Node: Yank Commands1418234 -Node: Low-Level Kill Ring1420105 -Node: Internals of Kill Ring1423191 -Node: Undo1425971 -Node: Maintaining Undo1430308 -Node: Filling1432926 -Node: Margins1438920 -Node: Auto Filling1442943 -Node: Sorting1444124 -Node: Columns1453438 -Node: Indentation1456519 -Node: Primitive Indent1457298 -Node: Mode-Specific Indent1458623 -Node: Region Indent1461155 -Node: Relative Indent1464102 -Node: Indent Tabs1466484 -Node: Motion by Indent1467805 -Node: Case Changes1468584 -Node: Text Properties1471937 -Node: Examining Properties1473750 -Node: Changing Properties1475633 -Node: Property Search1479224 -Node: Special Properties1483943 -Node: Saving Properties1484224 -Node: Substitution1487366 -Node: Registers1490636 -Node: Transposition1493219 -Node: Change Hooks1494113 -Node: Transformations1496153 -Node: Searching and Matching1501257 -Node: String Search1502388 -Node: Regular Expressions1507369 -Node: Syntax of Regexps1508736 -Node: Regexp Example1523339 -Node: Regexp Search1525509 -Node: POSIX Regexps1531846 -Node: Search and Replace1533923 -Node: Match Data1537288 -Node: Simple Match Data1538418 -Node: Replacing Match1542683 -Node: Entire Match Data1545364 -Node: Saving Match Data1547602 -Node: Searching and Case1548990 -Node: Standard Regexps1551024 -Node: Syntax Tables1553222 -Node: Syntax Basics1554336 -Node: Syntax Descriptors1557308 -Node: Syntax Class Table1559158 -Node: Syntax Flags1565196 -Node: Syntax Table Functions1568413 -Node: Motion and Syntax1572701 -Node: Parsing Expressions1574153 -Node: Standard Syntax Tables1580251 -Node: Syntax Table Internals1581095 -Node: Abbrevs1582121 -Node: Abbrev Mode1583925 -Node: Abbrev Tables1584645 -Node: Defining Abbrevs1586184 -Node: Abbrev Files1588105 -Node: Abbrev Expansion1589888 -Node: Standard Abbrev Tables1594519 -Node: Extents1595678 -Node: Intro to Extents1596921 -Node: Creating and Modifying Extents1600913 -Node: Extent Endpoints1602494 -Node: Finding Extents1605757 -Node: Mapping Over Extents1609879 -Node: Extent Properties1616002 -Node: Detached Extents1626163 -Node: Extent Parents1628022 -Node: Duplicable Extents1629716 -Node: Extents and Events1632937 -Node: Atomic Extents1634844 -Node: Specifiers1635291 -Node: Introduction to Specifiers1637404 -Node: Specifiers In-Depth1639714 -Node: Specifier Instancing1644626 -Node: Specifier Types1647888 -Node: Adding Specifications1652962 -Node: Retrieving Specifications1662383 -Node: Specifier Tag Functions1666128 -Node: Specifier Instancing Functions1669362 -Node: Specifier Example1672769 -Node: Creating Specifiers1675925 -Node: Specifier Validation Functions1680242 -Node: Other Specification Functions1682628 -Node: Faces and Window-System Objects1686449 -Node: Faces1686773 -Node: Merging Faces1688390 -Node: Basic Face Functions1690351 -Node: Face Properties1692499 -Node: Face Convenience Functions1702772 -Node: Other Face Display Functions1705992 -Node: Fonts1706804 -Node: Font Specifiers1707505 -Node: Font Instances1708690 -Node: Font Instance Names1709657 -Node: Font Instance Size1710498 -Node: Font Instance Characteristics1711784 -Node: Font Convenience Functions1712962 -Node: Colors1714252 -Node: Color Specifiers1714692 -Node: Color Instances1717052 -Node: Color Instance Properties1717796 -Node: Color Convenience Functions1718422 -Node: Glyphs1719475 -Node: Glyph Functions1721076 -Node: Creating Glyphs1721483 -Node: Glyph Properties1734123 -Node: Glyph Convenience Functions1743290 -Node: Glyph Dimensions1747237 -Node: Images1748317 -Node: Image Specifiers1748766 -Node: Image Instantiator Conversion1764257 -Node: Image Instances1765622 -Node: Image Instance Types1766373 -Node: Image Instance Functions1769138 -Node: Glyph Types1776195 -Node: Mouse Pointer1777967 -Node: Redisplay Glyphs1780970 -Node: Subwindows1782003 -Node: Annotations1782246 -Node: Annotation Basics1783262 -Node: Annotation Primitives1787200 -Node: Annotation Properties1788539 -Node: Locating Annotations1791579 -Node: Margin Primitives1792416 -Node: Annotation Hooks1794310 -Node: Display1794970 -Node: Refresh Screen1795948 -Node: Truncation1798142 -Node: The Echo Area1800667 -Node: Warnings1807110 -Node: Invisible Text1811546 -Node: Selective Display1814125 -Node: Overlay Arrow1818251 -Node: Temporary Displays1819604 -Node: Blinking1823725 -Node: Usual Display1825909 -Node: Display Tables1828458 -Node: Display Table Format1829262 -Node: Active Display Table1830704 -Node: Character Descriptors1834699 -Node: Beeping1835456 -Node: Hash Tables1840222 -Node: Introduction to Hash Tables1840830 -Node: Working With Hash Tables1847389 -Node: Weak Hash Tables1848506 -Node: Range Tables1850523 -Node: Introduction to Range Tables1851212 -Node: Working With Range Tables1851658 -Node: Databases1852617 -Node: Connecting to a Database1852916 -Node: Working With a Database1854023 -Node: Other Database Functions1854897 -Node: Processes1855466 -Node: Subprocess Creation1857690 -Node: Synchronous Processes1861141 -Node: MS-DOS Subprocesses1867863 -Node: Asynchronous Processes1868937 -Node: Deleting Processes1873294 -Node: Process Information1875165 -Node: Input to Processes1879257 -Node: Signals to Processes1881952 -Node: Output from Processes1886767 -Node: Process Buffers1887579 -Node: Filter Functions1890458 -Node: Accepting Output1896049 -Node: Sentinels1897576 -Node: Process Window Size1901066 -Node: Transaction Queues1901415 -Node: Network1903113 -Node: System Interface1905747 -Node: Starting Up1907017 -Node: Start-up Summary1907611 -Node: Init File1911165 -Node: Terminal-Specific1913546 -Node: Command Line Arguments1916705 -Node: Getting Out1920194 -Node: Killing XEmacs1920763 -Node: Suspending XEmacs1922431 -Node: System Environment1925810 -Node: User Identification1931991 -Node: Time of Day1935520 -Node: Time Conversion1938307 -Node: Timers1943549 -Node: Terminal Input1945722 -Node: Input Modes1946225 -Node: Translating Input1948684 -Node: Recording Input1952849 -Node: Terminal Output1954949 -Node: Flow Control1958570 -Node: Batch Mode1962532 -Node: X-Windows1963914 -Node: X Selections1964785 -Node: X Server1967536 -Node: Resources1967987 -Node: Server Data1973298 -Node: Grabs1974505 -Node: X Miscellaneous1976085 -Node: ToolTalk Support1978470 -Node: XEmacs ToolTalk API Summary1978687 -Node: Sending Messages1979987 -Node: Example of Sending Messages1980238 -Node: Elisp Interface for Sending Messages1981300 -Node: Receiving Messages1987896 -Node: Example of Receiving Messages1988119 -Node: Elisp Interface for Receiving Messages1988955 -Node: LDAP Support1992812 -Node: Building XEmacs with LDAP support1993306 -Node: XEmacs LDAP API1994283 -Node: LDAP Variables1995335 -Node: The High-Level LDAP API1997935 -Node: The Low-Level LDAP API2001408 -Node: The LDAP Lisp Object2002239 -Node: Opening and Closing a LDAP Connection2002794 -Node: Low-level Operations on a LDAP Server2004600 -Node: LDAP Internationalization2007324 -Node: LDAP Internationalization Variables2008229 -Node: Encoder/Decoder Functions2009960 -Node: Syntax of Search Filters2010997 -Node: PostgreSQL Support2012295 -Node: Building XEmacs with PostgreSQL support2012690 -Node: XEmacs PostgreSQL libpq API2014037 -Node: libpq Lisp Variables2015916 -Node: libpq Lisp Symbols and DataTypes2018880 -Node: Synchronous Interface Functions2032120 -Node: Asynchronous Interface Functions2036611 -Node: Large Object Support2040116 -Node: Other libpq Functions2040743 -Node: Unimplemented libpq Functions2043778 -Node: XEmacs PostgreSQL libpq Examples2049097 -Node: Internationalization2055188 -Node: I18N Levels 1 and 22055531 -Node: I18N Level 32056237 -Node: Level 3 Basics2056518 -Node: Level 3 Primitives2057351 -Node: Dynamic Messaging2058957 -Node: Domain Specification2059420 -Node: Documentation String Extraction2061090 -Node: I18N Level 42062008 -Node: MULE2062200 -Node: Internationalization Terminology2063249 -Node: Charsets2075448 -Node: Charset Properties2076144 -Node: Basic Charset Functions2080859 -Node: Charset Property Functions2083040 -Node: Predefined Charsets2085110 -Node: MULE Characters2088030 -Node: Composite Characters2088905 -Node: Coding Systems2090172 -Node: Coding System Types2092312 -Node: ISO 20222096296 -Node: EOL Conversion2108571 -Node: Coding System Properties2109743 -Node: Basic Coding System Functions2114066 -Node: Coding System Property Functions2116100 -Node: Encoding and Decoding Text2116658 -Node: Detection of Textual Encoding2117794 -Node: Big5 and Shift-JIS Functions2119330 -Node: Predefined Coding Systems2120482 -Node: CCL2132576 -Node: CCL Syntax2135680 -Node: CCL Statements2137256 -Node: CCL Expressions2141904 -Node: Calling CCL2144443 -Node: CCL Examples2147448 -Node: Category Tables2147585 -Node: Tips2149944 -Node: Style Tips2150585 -Node: Compilation Tips2160104 -Node: Documentation Tips2162018 -Node: Comment Tips2167527 -Node: Library Headers2170530 -Node: Building XEmacs and Object Allocation2174502 -Node: Building XEmacs2175385 -Node: Pure Storage2181963 -Node: Garbage Collection2184751 -Node: Standard Errors2195594 -Node: Standard Buffer-Local Variables2199803 -Node: Standard Keymaps2202438 -Node: Standard Hooks2206172 -Node: Index2213672 +Node: Forms341450 +Node: Self-Evaluating Forms342609 +Node: Symbol Forms344122 +Node: Classifying Lists345039 +Node: Function Indirection345795 +Node: Function Forms348894 +Node: Macro Forms349891 +Node: Special Forms351491 +Node: Autoloading353800 +Node: Quoting354298 +Node: Control Structures355659 +Node: Sequencing357279 +Node: Conditionals360144 +Node: Combining Conditions363567 +Node: Iteration366837 +Node: Nonlocal Exits368616 +Node: Catch and Throw369318 +Node: Examples of Catch373157 +Node: Errors375176 +Node: Signaling Errors376665 +Node: Processing of Errors385412 +Node: Handling Errors387691 +Node: Error Symbols394932 +Node: Cleanups398888 +Node: Variables402666 +Node: Global Variables404435 +Node: Constant Variables405511 +Node: Local Variables406137 +Node: Void Variables411075 +Node: Defining Variables414591 +Node: Accessing Variables421755 +Node: Setting Variables423180 +Node: Variable Scoping427699 +Node: Scope429298 +Node: Extent430823 +Node: Impl of Scope432302 +Node: Using Scoping434265 +Node: Buffer-Local Variables435787 +Node: Intro to Buffer-Local436623 +Node: Creating Buffer-Local439166 +Node: Default Value445065 +Node: Variable Aliases448208 +Node: Functions450059 +Node: What Is a Function451153 +Node: Lambda Expressions455199 +Node: Lambda Components456109 +Node: Simple Lambda457941 +Node: Argument List459598 +Node: Function Documentation463326 +Node: Function Names465268 +Node: Defining Functions467841 +Node: Calling Functions470881 +Node: Mapping Functions474729 +Node: Anonymous Functions477417 +Node: Function Cells480662 +Node: Inline Functions485480 +Node: Related Topics487290 +Node: Macros488343 +Node: Simple Macro489627 +Node: Expansion490362 +Node: Compiling Macros493366 +Node: Defining Macros495202 +Node: Backquote496519 +Node: Problems with Macros498916 +Node: Argument Evaluation499611 +Node: Surprising Local Vars502526 +Node: Eval During Expansion504594 +Node: Repeated Expansion506287 +Node: Customization508203 +Node: Common Keywords508672 +Node: Group Definitions511517 +Node: Variable Definitions513709 +Node: Customization Types518699 +Node: Simple Types520134 +Node: Composite Types522291 +Node: Splicing into Lists526981 +Node: Type Keywords528816 +Node: Loading532336 +Node: How Programs Do Loading534011 +Node: Autoload543137 +Node: Repeated Loading549207 +Node: Named Features551320 +Node: Unloading557750 +Node: Hooks for Loading559906 +Node: Byte Compilation560623 +Node: Speed of Byte-Code562616 +Node: Compilation Functions563823 +Node: Docs and Compilation570480 +Node: Dynamic Loading573133 +Node: Eval During Compile575497 +Node: Compiled-Function Objects576762 +Node: Disassembly581563 +Node: Different Behavior588844 +Node: Debugging590189 +Node: Debugger591601 +Node: Error Debugging592746 +Node: Infinite Loops595499 +Node: Function Debugging596743 +Node: Explicit Debug599543 +Node: Using Debugger600314 +Node: Debugger Commands602176 +Node: Invoking the Debugger606493 +Node: Internals of Debugger610408 +Node: Syntax Errors615295 +Node: Excess Open616543 +Node: Excess Close618418 +Node: Compilation Errors619839 +Node: Edebug621127 +Node: Using Edebug623235 +Node: Instrumenting625932 +Node: Edebug Execution Modes629421 +Node: Jumping632531 +Node: Edebug Misc634874 +Node: Breakpoints636263 +Node: Global Break Condition639069 +Node: Embedded Breakpoints640024 +Node: Trapping Errors640979 +Node: Edebug Views643055 +Node: Edebug Eval645020 +Node: Eval List646197 +Node: Reading in Edebug649582 +Node: Printing in Edebug650381 +Node: Tracing652096 +Node: Coverage Testing653984 +Node: The Outside Context656025 +Node: Checking Whether to Stop656974 +Node: Edebug Display Update657621 +Node: Edebug Recursive Edit659644 +Node: Instrumenting Macro Calls661299 +Node: Specification List663781 +Node: Backtracking673192 +Node: Debugging Backquote675130 +Node: Specification Examples678836 +Node: Edebug Options680903 +Node: Read and Print686242 +Node: Streams Intro687219 +Node: Input Streams689237 +Node: Input Functions694138 +Node: Output Streams696198 +Node: Output Functions700249 +Node: Output Variables704549 +Node: Minibuffers709350 +Node: Intro to Minibuffers710502 +Node: Text from Minibuffer712690 +Node: Object from Minibuffer717784 +Node: Minibuffer History721877 +Node: Completion724856 +Node: Basic Completion726831 +Node: Minibuffer Completion731714 +Node: Completion Commands735291 +Node: High-Level Completion739948 +Node: Reading File Names744697 +Node: Programmed Completion748389 +Node: Yes-or-No Queries750771 +Node: Multiple Queries756508 +Node: Reading a Password760575 +Node: Minibuffer Misc761918 +Node: Command Loop766798 +Node: Command Overview768142 +Node: Defining Commands771420 +Node: Using Interactive772168 +Node: Interactive Codes776941 +Node: Interactive Examples782733 +Node: Interactive Call784047 +Node: Command Loop Info789462 +Node: Events794441 +Node: Event Types795902 +Node: Event Contents797825 +Node: Event Predicates802301 +Node: Accessing Mouse Event Positions803619 +Node: Frame-Level Event Position Info804318 +Node: Window-Level Event Position Info805358 +Node: Event Text Position Info807122 +Node: Event Glyph Position Info809614 +Node: Event Toolbar Position Info810937 +Node: Other Event Position Info811608 +Node: Accessing Other Event Info812017 +Node: Working With Events813637 +Node: Converting Events819638 +Node: Reading Input823037 +Node: Key Sequence Input824039 +Node: Reading One Event826674 +Node: Dispatching an Event829498 +Node: Quoted Character Input829949 +Node: Peeking and Discarding831297 +Node: Waiting835201 +Node: Quitting837515 +Node: Prefix Command Arguments841923 +Node: Recursive Editing847010 +Node: Disabling Commands851805 +Node: Command History853873 +Node: Keyboard Macros855610 +Node: Keymaps857827 +Node: Keymap Terminology859404 +Node: Format of Keymaps862333 +Node: Creating Keymaps862744 +Node: Inheritance and Keymaps864824 +Node: Key Sequences867196 +Node: Prefix Keys871992 +Node: Active Keymaps875577 +Node: Key Lookup884948 +Node: Functions for Key Lookup890111 +Node: Changing Key Bindings895812 +Node: Key Binding Commands902974 +Node: Scanning Keymaps905039 +Node: Other Keymap Functions913608 +Node: Menus914230 +Node: Menu Format914822 +Node: Menubar Format923468 +Node: Menubar924093 +Node: Modifying Menus927206 +Node: Menu Filters932550 +Node: Pop-Up Menus934446 +Node: Menu Accelerators936774 +Node: Creating Menu Accelerators937530 +Node: Keyboard Menu Traversal938890 +Node: Menu Accelerator Functions939617 +Node: Buffers Menu942693 +Node: Dialog Boxes943987 +Node: Dialog Box Format944154 +Node: Dialog Box Functions945579 +Node: Toolbar945976 +Node: Toolbar Intro946411 +Node: Creating Toolbar948811 +Node: Toolbar Descriptor Format949728 +Node: Specifying the Toolbar954225 +Node: Other Toolbar Variables957832 +Node: Gutter962260 +Node: Gutter Intro962849 +Node: Creating Gutter964852 +Node: Gutter Descriptor Format967739 +Node: Specifying a Gutter972196 +Node: Other Gutter Variables975731 +Node: Common Gutter Widgets980118 +Node: Buffer Tabs981110 +Node: Progress Bars981251 +Node: Scrollbars981396 +Node: Drag and Drop981531 +Node: Supported Protocols982607 +Node: OffiX DND983110 +Node: CDE dt984117 +Node: MSWindows OLE984708 +Node: Loose ends984879 +Node: Drop Interface985271 +Node: Drag Interface986293 +Node: Modes986467 +Node: Major Modes987418 +Node: Major Mode Conventions990333 +Node: Example Major Modes996288 +Node: Auto Major Mode1004321 +Node: Mode Help1011771 +Node: Derived Modes1012872 +Node: Minor Modes1015063 +Node: Minor Mode Conventions1016365 +Node: Keymaps and Minor Modes1019228 +Node: Modeline Format1020063 +Node: Modeline Data1021831 +Node: Modeline Variables1026984 +Node: %-Constructs1031700 +Node: Hooks1034687 +Node: Documentation1041447 +Node: Documentation Basics1042870 +Node: Accessing Documentation1045921 +Node: Keys in Documentation1052202 +Node: Describing Characters1055685 +Node: Help Functions1058034 +Node: Obsoleteness1064484 +Node: Files1067476 +Node: Visiting Files1069401 +Node: Visiting Functions1070906 +Node: Subroutines of Visiting1076064 +Node: Saving Buffers1078137 +Node: Reading from Files1084230 +Node: Writing to Files1086391 +Node: File Locks1089108 +Node: Information about Files1092175 +Node: Testing Accessibility1092936 +Node: Kinds of Files1096676 +Node: Truenames1098357 +Node: File Attributes1099359 +Node: Changing File Attributes1104498 +Node: File Names1109920 +Node: File Name Components1111493 +Node: Directory Names1113938 +Node: Relative File Names1117168 +Node: File Name Expansion1118138 +Node: Unique File Names1121892 +Node: File Name Completion1123507 +Node: User Name Completion1126775 +Node: Contents of Directories1128182 +Node: Create/Delete Dirs1131495 +Node: Magic File Names1132601 +Node: Partial Files1138249 +Node: Intro to Partial Files1138477 +Node: Creating a Partial File1139717 +Node: Detached Partial Files1140653 +Node: Format Conversion1141775 +Node: Files and MS-DOS1147273 +Node: Backups and Auto-Saving1149337 +Node: Backup Files1150012 +Node: Making Backups1151409 +Node: Rename or Copy1154158 +Node: Numbered Backups1156651 +Node: Backup Names1158886 +Node: Auto-Saving1162178 +Node: Reverting1170340 +Node: Buffers1173676 +Node: Buffer Basics1175092 +Node: Current Buffer1177145 +Node: Buffer Names1181849 +Node: Buffer File Name1185056 +Node: Buffer Modification1189175 +Node: Modification Time1191418 +Node: Read Only Buffers1194793 +Node: The Buffer List1198032 +Node: Creating Buffers1202849 +Node: Killing Buffers1204995 +Node: Indirect Buffers1208827 +Node: Windows1211401 +Node: Basic Windows1212879 +Node: Splitting Windows1215977 +Node: Deleting Windows1221303 +Node: Selecting Windows1225221 +Node: Cyclic Window Ordering1229444 +Node: Buffers and Windows1234599 +Node: Displaying Buffers1236377 +Node: Choosing Window1241716 +Node: Window Point1249634 +Node: Window Start1251704 +Node: Vertical Scrolling1256503 +Node: Horizontal Scrolling1262701 +Node: Size of Window1266230 +Node: Position of Window1270948 +Node: Resizing Windows1273201 +Node: Window Configurations1278639 +Node: Frames1282136 +Node: Creating Frames1284477 +Node: Frame Properties1285817 +Node: Property Access1286633 +Node: Initial Properties1287540 +Node: X Frame Properties1290026 +Node: Size and Position1294660 +Node: Frame Name1296658 +Node: Frame Titles1297572 +Node: Deleting Frames1299396 +Node: Finding All Frames1300371 +Node: Frames and Windows1303599 +Node: Minibuffers and Frames1306381 +Node: Input Focus1307299 +Node: Visibility of Frames1310404 +Node: Raising and Lowering1312394 +Node: Frame Configurations1314770 +Node: Frame Hooks1315827 +Node: Consoles and Devices1317632 +Node: Basic Console Functions1320375 +Node: Basic Device Functions1320798 +Node: Console Types and Device Classes1321644 +Node: Connecting to a Console or Device1323911 +Node: The Selected Console and Device1326095 +Node: Console and Device I/O1327121 +Node: Positions1327885 +Node: Point1328854 +Node: Motion1331944 +Node: Character Motion1332711 +Node: Word Motion1334948 +Node: Buffer End Motion1336338 +Node: Text Lines1337875 +Node: Screen Lines1342776 +Node: List Motion1346839 +Node: Skipping Characters1350322 +Node: Excursions1352541 +Node: Narrowing1355581 +Node: Markers1360912 +Node: Overview of Markers1361818 +Node: Predicates on Markers1366510 +Node: Creating Markers1367756 +Node: Information from Markers1371956 +Node: Changing Markers1373054 +Node: The Mark1374582 +Node: The Region1383085 +Node: Text1388771 +Node: Near Point1391470 +Node: Buffer Contents1395657 +Node: Comparing Text1397063 +Node: Insertion1398471 +Node: Commands for Insertion1402381 +Node: Deletion1405275 +Node: User-Level Deletion1408925 +Node: The Kill Ring1413085 +Node: Kill Ring Concepts1415259 +Node: Kill Functions1416313 +Node: Yank Commands1418236 +Node: Low-Level Kill Ring1420107 +Node: Internals of Kill Ring1423193 +Node: Undo1425973 +Node: Maintaining Undo1430310 +Node: Filling1432928 +Node: Margins1438922 +Node: Auto Filling1442945 +Node: Sorting1444126 +Node: Columns1453440 +Node: Indentation1456521 +Node: Primitive Indent1457300 +Node: Mode-Specific Indent1458625 +Node: Region Indent1461157 +Node: Relative Indent1464104 +Node: Indent Tabs1466486 +Node: Motion by Indent1467807 +Node: Case Changes1468586 +Node: Text Properties1471939 +Node: Examining Properties1473752 +Node: Changing Properties1475635 +Node: Property Search1479226 +Node: Special Properties1483945 +Node: Saving Properties1484226 +Node: Substitution1487368 +Node: Registers1490638 +Node: Transposition1493221 +Node: Change Hooks1494115 +Node: Transformations1496155 +Node: Searching and Matching1501259 +Node: String Search1502390 +Node: Regular Expressions1507371 +Node: Syntax of Regexps1508738 +Node: Regexp Example1523341 +Node: Regexp Search1525511 +Node: POSIX Regexps1531848 +Node: Search and Replace1533925 +Node: Match Data1537290 +Node: Simple Match Data1538420 +Node: Replacing Match1542685 +Node: Entire Match Data1545366 +Node: Saving Match Data1547604 +Node: Searching and Case1548992 +Node: Standard Regexps1551026 +Node: Syntax Tables1553224 +Node: Syntax Basics1554338 +Node: Syntax Descriptors1557310 +Node: Syntax Class Table1559160 +Node: Syntax Flags1565198 +Node: Syntax Table Functions1568415 +Node: Motion and Syntax1572703 +Node: Parsing Expressions1574155 +Node: Standard Syntax Tables1580253 +Node: Syntax Table Internals1581097 +Node: Abbrevs1582123 +Node: Abbrev Mode1583927 +Node: Abbrev Tables1584647 +Node: Defining Abbrevs1586186 +Node: Abbrev Files1588107 +Node: Abbrev Expansion1589890 +Node: Standard Abbrev Tables1594521 +Node: Extents1595680 +Node: Intro to Extents1596923 +Node: Creating and Modifying Extents1600915 +Node: Extent Endpoints1602496 +Node: Finding Extents1605759 +Node: Mapping Over Extents1609881 +Node: Extent Properties1616004 +Node: Detached Extents1626165 +Node: Extent Parents1628024 +Node: Duplicable Extents1629718 +Node: Extents and Events1632939 +Node: Atomic Extents1634846 +Node: Specifiers1635293 +Node: Introduction to Specifiers1637406 +Node: Specifiers In-Depth1639716 +Node: Specifier Instancing1644628 +Node: Specifier Types1647890 +Node: Adding Specifications1652964 +Node: Retrieving Specifications1662385 +Node: Specifier Tag Functions1666130 +Node: Specifier Instancing Functions1669364 +Node: Specifier Example1672771 +Node: Creating Specifiers1675927 +Node: Specifier Validation Functions1680244 +Node: Other Specification Functions1682630 +Node: Faces and Window-System Objects1686451 +Node: Faces1686775 +Node: Merging Faces1688392 +Node: Basic Face Functions1690353 +Node: Face Properties1692501 +Node: Face Convenience Functions1702774 +Node: Other Face Display Functions1705994 +Node: Fonts1706806 +Node: Font Specifiers1707507 +Node: Font Instances1708692 +Node: Font Instance Names1709659 +Node: Font Instance Size1710500 +Node: Font Instance Characteristics1711786 +Node: Font Convenience Functions1712964 +Node: Colors1714254 +Node: Color Specifiers1714694 +Node: Color Instances1717054 +Node: Color Instance Properties1717798 +Node: Color Convenience Functions1718424 +Node: Glyphs1719477 +Node: Glyph Functions1721078 +Node: Creating Glyphs1721485 +Node: Glyph Properties1734125 +Node: Glyph Convenience Functions1743292 +Node: Glyph Dimensions1747239 +Node: Images1748319 +Node: Image Specifiers1748768 +Node: Image Instantiator Conversion1764259 +Node: Image Instances1765624 +Node: Image Instance Types1766375 +Node: Image Instance Functions1769140 +Node: Glyph Types1776197 +Node: Mouse Pointer1777969 +Node: Redisplay Glyphs1780972 +Node: Subwindows1782005 +Node: Annotations1782248 +Node: Annotation Basics1783264 +Node: Annotation Primitives1787202 +Node: Annotation Properties1788541 +Node: Locating Annotations1791581 +Node: Margin Primitives1792418 +Node: Annotation Hooks1794312 +Node: Display1794972 +Node: Refresh Screen1795950 +Node: Truncation1798144 +Node: The Echo Area1800669 +Node: Warnings1807112 +Node: Invisible Text1811548 +Node: Selective Display1814127 +Node: Overlay Arrow1818253 +Node: Temporary Displays1819606 +Node: Blinking1823727 +Node: Usual Display1825911 +Node: Display Tables1828460 +Node: Display Table Format1829264 +Node: Active Display Table1830706 +Node: Character Descriptors1834701 +Node: Beeping1835458 +Node: Hash Tables1840224 +Node: Introduction to Hash Tables1840832 +Node: Working With Hash Tables1847391 +Node: Weak Hash Tables1848508 +Node: Range Tables1850525 +Node: Introduction to Range Tables1851214 +Node: Working With Range Tables1851660 +Node: Databases1852619 +Node: Connecting to a Database1852918 +Node: Working With a Database1854025 +Node: Other Database Functions1854899 +Node: Processes1855468 +Node: Subprocess Creation1857692 +Node: Synchronous Processes1861143 +Node: MS-DOS Subprocesses1867865 +Node: Asynchronous Processes1868939 +Node: Deleting Processes1873296 +Node: Process Information1875167 +Node: Input to Processes1879259 +Node: Signals to Processes1881954 +Node: Output from Processes1886769 +Node: Process Buffers1887581 +Node: Filter Functions1890460 +Node: Accepting Output1896051 +Node: Sentinels1897578 +Node: Process Window Size1901068 +Node: Transaction Queues1901417 +Node: Network1903115 +Node: System Interface1905749 +Node: Starting Up1907019 +Node: Start-up Summary1907613 +Node: Init File1911167 +Node: Terminal-Specific1913548 +Node: Command Line Arguments1916707 +Node: Getting Out1920196 +Node: Killing XEmacs1920765 +Node: Suspending XEmacs1922433 +Node: System Environment1925812 +Node: User Identification1931993 +Node: Time of Day1935522 +Node: Time Conversion1938309 +Node: Timers1943551 +Node: Terminal Input1945724 +Node: Input Modes1946227 +Node: Translating Input1948686 +Node: Recording Input1952851 +Node: Terminal Output1954951 +Node: Flow Control1958572 +Node: Batch Mode1962534 +Node: X-Windows1963916 +Node: X Selections1964787 +Node: X Server1967538 +Node: Resources1967989 +Node: Server Data1973300 +Node: Grabs1974507 +Node: X Miscellaneous1976087 +Node: ToolTalk Support1978472 +Node: XEmacs ToolTalk API Summary1978689 +Node: Sending Messages1979989 +Node: Example of Sending Messages1980240 +Node: Elisp Interface for Sending Messages1981302 +Node: Receiving Messages1987898 +Node: Example of Receiving Messages1988121 +Node: Elisp Interface for Receiving Messages1988957 +Node: LDAP Support1992814 +Node: Building XEmacs with LDAP support1993308 +Node: XEmacs LDAP API1994285 +Node: LDAP Variables1995337 +Node: The High-Level LDAP API1997937 +Node: The Low-Level LDAP API2001410 +Node: The LDAP Lisp Object2002241 +Node: Opening and Closing a LDAP Connection2002796 +Node: Low-level Operations on a LDAP Server2004602 +Node: LDAP Internationalization2007326 +Node: LDAP Internationalization Variables2008231 +Node: Encoder/Decoder Functions2009962 +Node: Syntax of Search Filters2010999 +Node: PostgreSQL Support2012297 +Node: Building XEmacs with PostgreSQL support2012692 +Node: XEmacs PostgreSQL libpq API2014039 +Node: libpq Lisp Variables2015918 +Node: libpq Lisp Symbols and DataTypes2018882 +Node: Synchronous Interface Functions2032122 +Node: Asynchronous Interface Functions2036613 +Node: Large Object Support2040118 +Node: Other libpq Functions2040745 +Node: Unimplemented libpq Functions2043780 +Node: XEmacs PostgreSQL libpq Examples2049099 +Node: Internationalization2055190 +Node: I18N Levels 1 and 22055533 +Node: I18N Level 32056239 +Node: Level 3 Basics2056520 +Node: Level 3 Primitives2057353 +Node: Dynamic Messaging2058959 +Node: Domain Specification2059422 +Node: Documentation String Extraction2061092 +Node: I18N Level 42062010 +Node: MULE2062202 +Node: Internationalization Terminology2063251 +Node: Charsets2075450 +Node: Charset Properties2076146 +Node: Basic Charset Functions2080861 +Node: Charset Property Functions2083042 +Node: Predefined Charsets2085112 +Node: MULE Characters2088032 +Node: Composite Characters2088907 +Node: Coding Systems2090174 +Node: Coding System Types2092314 +Node: ISO 20222096298 +Node: EOL Conversion2108573 +Node: Coding System Properties2109745 +Node: Basic Coding System Functions2114068 +Node: Coding System Property Functions2116102 +Node: Encoding and Decoding Text2116660 +Node: Detection of Textual Encoding2117796 +Node: Big5 and Shift-JIS Functions2119332 +Node: Predefined Coding Systems2120484 +Node: CCL2132578 +Node: CCL Syntax2135682 +Node: CCL Statements2137258 +Node: CCL Expressions2141906 +Node: Calling CCL2144445 +Node: CCL Examples2147450 +Node: Category Tables2147587 +Node: Tips2149946 +Node: Style Tips2150587 +Node: Compilation Tips2160106 +Node: Documentation Tips2162020 +Node: Comment Tips2167529 +Node: Library Headers2170532 +Node: Building XEmacs and Object Allocation2174504 +Node: Building XEmacs2175387 +Node: Pure Storage2181965 +Node: Garbage Collection2184753 +Node: Standard Errors2195596 +Node: Standard Buffer-Local Variables2199805 +Node: Standard Keymaps2202440 +Node: Standard Hooks2206174 +Node: Index2213674  End Tag Table diff --git a/info/lispref.info-7 b/info/lispref.info-7 index 15f63b7..f680a25 100644 --- a/info/lispref.info-7 +++ b/info/lispref.info-7 @@ -1202,7 +1202,7 @@ values. Loading a file also does evaluation (*note Loading::). 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. diff --git a/info/lispref.info-9 b/info/lispref.info-9 index a0554c4..5e15da6 100644 --- a/info/lispref.info-9 +++ b/info/lispref.info-9 @@ -583,7 +583,7 @@ rather than localized in time. 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::. diff --git a/info/xemacs.info b/info/xemacs.info index b2ba08b..459dc9d 100644 --- a/info/xemacs.info +++ b/info/xemacs.info @@ -32,401 +32,408 @@ translation approved by the author instead of in the original English.  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  Tag Table: (Indirect) Node: Top1350 -Node: License22790 -Node: Distrib36072 -Node: Intro37736 -Node: Frame40607 -Node: Point44652 -Node: Echo Area46619 -Node: Mode Line48996 -Node: GUI Components53427 -Node: Menubar Basics54708 -Node: Scrollbar Basics56624 -Node: Mode Line Basics57517 -Node: Toolbar Basics58349 -Node: Gutter Basics59016 -Node: Inhibiting61070 -Node: Customizing63441 -Node: XEmacs under X63690 -Node: XEmacs under MS Windows66904 -Node: Keystrokes67319 -Node: Intro to Keystrokes68163 -Node: Representing Keystrokes70266 -Node: Key Sequences71623 -Node: String Key Sequences74964 -Node: Meta Key75347 -Node: Super and Hyper Keys76820 -Node: Character Representation83065 -Node: Commands84085 -Node: Pull-down Menus86934 -Node: File Menu90283 -Node: Edit Menu94105 -Node: Apps Menu96488 -Node: Options Menu96978 -Node: Buffers Menu100996 -Node: Tools Menu101303 -Node: Help Menu101794 -Node: Menu Customization102195 -Node: Entering Emacs106425 -Node: Exiting109322 -Node: Command Switches113795 -Node: Startup Paths123817 -Node: Basic131147 -Node: Inserting Text132551 -Node: Moving Point135547 -Node: Erasing139153 -Node: Basic Files140458 -Node: Basic Help142380 -Node: Blank Lines142975 -Node: Continuation Lines144551 -Node: Position Info146218 -Node: Arguments149634 -Node: Undo153733 -Node: Minibuffer156680 -Node: Minibuffer File159290 -Node: Minibuffer Edit161095 -Node: Completion164036 -Node: Completion Example165967 -Node: Completion Commands167062 -Node: Strict Completion170038 -Node: Completion Options171819 -Node: Minibuffer History173327 -Node: Repetition176511 -Node: M-x179356 -Node: Help184450 -Node: Help Summary185860 -Node: Key Help188646 -Node: Name Help189605 -Node: Apropos192250 -Node: Library Keywords195369 -Node: Help Mode197690 -Node: Misc Help198187 -Node: Mark201335 -Node: Setting Mark203189 -Node: Using Region206311 -Node: Marking Objects207048 -Node: Mark Ring208886 -Node: Mouse Selection210602 -Node: Additional Mouse Operations212609 -Node: Killing216813 -Node: Yanking222449 -Node: Kill Ring223252 -Node: Appending Kills224854 -Node: Earlier Kills226891 -Node: Using X Selections229504 -Node: X Clipboard Selection230754 -Node: X Selection Commands232931 -Node: X Cut Buffers234017 -Node: Active Regions235376 -Node: Accumulating Text239956 -Node: Rectangles243029 -Node: Registers246548 -Node: RegPos248002 -Node: RegText249158 -Node: RegRect250264 -Node: RegConfig251143 -Node: RegNumbers252083 -Node: RegFiles252801 -Node: Bookmarks253459 -Node: Display256831 -Node: Scrolling258326 -Node: Horizontal Scrolling262469 -Node: Selective Display263664 -Node: Display Vars264883 -Node: Search267561 -Node: Incremental Search268754 -Node: Non-Incremental Search277682 -Node: Word Search279124 -Node: Regexp Search280742 -Node: Regexps283112 -Node: Search Case297109 -Node: Replace297890 -Node: Unconditional Replace298838 -Node: Regexp Replace299973 -Node: Replacement and Case300908 -Node: Query Replace301888 -Node: Other Repeating Search305115 -Node: Fixit306370 -Node: Kill Errors306950 -Node: Transpose308283 -Node: Fixing Case310687 -Node: Spelling311333 -Node: Files312794 -Node: File Names314104 -Node: Visiting318441 -Node: Saving325273 -Node: Backup330196 -Node: Backup Names331592 -Node: Backup Deletion333075 -Node: Backup Copying334225 -Node: Interlocking335931 -Node: Reverting340059 -Node: Auto Save341971 -Node: Auto Save Files342938 -Node: Auto Save Control344779 -Node: Recover346617 -Node: Version Control347772 -Node: Concepts of VC349810 -Node: Editing with VC351420 -Node: Variables for Check-in/out356676 -Node: Log Entries358575 -Node: Change Logs and VC359755 -Node: Old Versions363022 -Node: VC Status365025 -Node: Renaming and VC366739 -Node: Snapshots367418 -Node: Making Snapshots367919 -Node: Snapshot Caveats369212 -Node: Version Headers371021 -Node: ListDir373720 -Node: Comparing Files375769 -Node: Dired377302 -Node: Dired Enter377973 -Node: Dired Edit378798 -Node: Dired Deletion380545 -Node: Dired Immed383768 -Node: Misc File Ops385044 -Node: Buffers387532 -Node: Select Buffer389690 -Node: List Buffers391485 -Node: Misc Buffer393243 -Node: Kill Buffer394886 -Node: Several Buffers396016 -Node: Windows399883 -Node: Basic Window400594 -Node: Split Window402313 -Node: Other Window404446 -Node: Pop Up Window406877 -Node: Change Window408382 -Node: Mule411290 -Node: Mule Intro412553 -Node: Language Environments413569 -Node: Input Methods415676 -Node: Select Input Method419396 -Node: Coding Systems421551 -Node: Recognize Coding425737 -Node: Specify Coding429063 -Node: Major Modes433994 -Node: Choosing Modes436213 -Node: Indentation438603 -Node: Indentation Commands440698 -Node: Tab Stops443427 -Node: Just Spaces445276 -Node: Text446091 -Node: Text Mode448074 -Node: Nroff Mode450153 -Node: TeX Mode451796 -Node: TeX Editing454048 -Node: TeX Print457482 -Node: Outline Mode460701 -Node: Outline Format462182 -Node: Outline Motion464982 -Node: Outline Visibility466535 -Node: Words469456 -Node: Sentences472403 -Node: Paragraphs474599 -Node: Pages476887 -Node: Filling479487 -Node: Auto Fill480058 -Node: Fill Commands482205 -Node: Fill Prefix484370 -Node: Case486558 -Node: Programs488586 -Node: Program Modes491136 -Node: Lists493368 -Node: Defuns499208 -Node: Grinding501861 -Node: Basic Indent502489 -Node: Multi-line Indent504510 -Node: Lisp Indent506126 -Node: C Indent509576 -Node: Matching514816 -Node: Comments516338 -Node: Balanced Editing522790 -Node: Lisp Completion523804 -Node: Documentation524819 -Node: Change Log526058 -Node: Tags528636 -Node: Tag Syntax530285 -Node: Create Tags Table534229 -Node: Etags Regexps538289 -Node: Select Tags Table542947 -Node: Find Tag546720 -Node: Tags Search549684 -Node: List Tags553140 -Node: Fortran554169 -Node: Fortran Motion555245 -Node: Fortran Indent556065 -Node: ForIndent Commands556750 -Node: ForIndent Num557895 -Node: ForIndent Conv559169 -Node: ForIndent Vars559945 -Node: Fortran Comments561113 -Node: Fortran Columns564711 -Node: Fortran Abbrev566134 -Node: Asm Mode567043 -Node: Running567595 -Node: Compilation568564 -Node: Lisp Modes573414 -Node: Lisp Libraries574687 -Node: Loading575241 -Node: Compiling Libraries579701 -Node: Mocklisp582592 -Node: Lisp Eval583269 -Node: Lisp Debug586909 -Node: Lisp Interaction592336 -Node: External Lisp593691 -Node: Packages595765 -Node: Package Terminology596620 -Node: Using Packages597978 -Node: Building Packages606856 -Node: Creating Packages609399 -Node: Available Packages614399 -Node: Abbrevs619672 -Node: Defining Abbrevs621871 -Node: Expanding Abbrevs624318 -Node: Editing Abbrevs627020 -Node: Saving Abbrevs628893 -Node: Dynamic Abbrevs630848 -Node: Picture632150 -Node: Basic Picture634583 -Node: Insert in Picture636868 -Node: Tabs in Picture638290 -Node: Rectangles in Picture639811 -Node: Sending Mail641719 -Node: Mail Format643430 -Node: Mail Headers644780 -Node: Mail Mode651188 -Node: Reading Mail654801 -Node: Calendar/Diary656376 -Node: Calendar Motion658050 -Node: Calendar Unit Motion658933 -Node: Move to Beginning or End661256 -Node: Specified Dates662389 -Node: Scroll Calendar663277 -Node: Mark and Region665068 -Node: General Calendar666974 -Node: LaTeX Calendar668582 -Node: Holidays670596 -Node: Sunrise/Sunset673698 -Node: Lunar Phases676737 -Node: Other Calendars678122 -Node: Calendar Systems679609 -Node: To Other Calendar682720 -Node: From Other Calendar684711 -Node: Mayan Calendar687016 -Node: Diary690211 -Node: Diary Commands691960 -Node: Format of Diary File695283 -Node: Date Formats698153 -Node: Adding to Diary700727 -Node: Special Diary Entries702358 -Node: Calendar Customization707697 -Node: Calendar Customizing708559 -Node: Holiday Customizing711794 -Node: Date Display Format718281 -Node: Time Display Format719239 -Node: Daylight Savings720377 -Node: Diary Customizing723565 -Node: Hebrew/Islamic Entries728186 -Node: Fancy Diary Display731526 -Node: Included Diary Files733442 -Node: Sexp Diary Entries734423 -Node: Appt Customizing739513 -Node: Sorting740559 -Node: Shell745365 -Node: Single Shell746658 -Node: Interactive Shell748272 -Node: Shell Mode752037 -Node: Terminal emulator754528 -Node: Term Mode756837 -Node: Paging in Term757751 -Node: Narrowing758549 -Node: Hardcopy760499 -Node: Recursive Edit761471 -Node: Dissociated Press764458 -Node: CONX767021 -Node: Amusements768045 -Node: Emulation768525 -Node: Customization770385 -Node: Minor Modes772201 -Node: Variables773833 -Node: Examining775789 -Node: Easy Customization777250 -Node: Customization Groups778264 -Node: Changing an Option781193 -Node: Face Customization787463 -Node: Specific Customization789227 -Node: Edit Options791834 -Node: Locals793418 -Node: File Variables796597 -Node: Keyboard Macros801147 -Node: Basic Kbd Macro803318 -Node: Save Kbd Macro805250 -Node: Kbd Macro Query806908 -Node: Key Bindings808850 -Node: Keymaps809724 -Node: Rebinding813574 -Node: Interactive Rebinding814273 -Node: Programmatic Rebinding816462 -Node: Key Bindings Using Strings819269 -Node: Disabling820896 -Node: Syntax822675 -Node: Syntax Entry823556 -Node: Syntax Change827640 -Node: Init File829809 -Node: Init Syntax831273 -Node: Init Examples833624 -Node: Terminal Init837814 -Node: Audible Bell839551 -Node: Faces842982 -Node: Frame Components847824 -Node: X Resources848269 -Node: Geometry Resources849928 -Node: Iconic Resources852376 -Node: Resource List852848 -Node: Face Resources859355 -Node: Widgets863032 -Node: Menubar Resources863971 -Node: Quitting865485 -Node: Lossage868463 -Node: Stuck Recursive869107 -Node: Screen Garbled869813 -Node: Text Garbled870947 -Node: Unasked-for Search871586 -Node: Emergency Escape872371 -Node: Total Frustration874150 -Node: Bugs874781 -Node: Glossary884342 -Node: Manifesto915996 -Node: Key Index939473 -Node: Command Index965400 -Node: Variable Index1007986 -Node: Concept Index1024072 +Node: License22942 +Node: Distrib36224 +Node: Intro37888 +Node: Frame40759 +Node: Point44804 +Node: Echo Area46771 +Node: Mode Line49148 +Node: GUI Components53579 +Node: Menubar Basics54860 +Node: Scrollbar Basics56776 +Node: Mode Line Basics57669 +Node: Toolbar Basics58501 +Node: Gutter Basics59168 +Node: Inhibiting61222 +Node: Customizing63593 +Node: XEmacs under X63842 +Node: XEmacs under MS Windows67056 +Node: Keystrokes67471 +Node: Intro to Keystrokes68315 +Node: Representing Keystrokes70418 +Node: Key Sequences71775 +Node: String Key Sequences75116 +Node: Meta Key75499 +Node: Super and Hyper Keys76972 +Node: Character Representation83217 +Node: Commands84237 +Node: Pull-down Menus87086 +Node: File Menu90435 +Node: Edit Menu94257 +Node: Apps Menu96640 +Node: Options Menu97130 +Node: Buffers Menu101148 +Node: Tools Menu101455 +Node: Help Menu101946 +Node: Menu Customization102347 +Node: Entering Emacs106577 +Node: Exiting109474 +Node: Command Switches113947 +Node: Startup Paths123969 +Node: Basic131299 +Node: Inserting Text132703 +Node: Moving Point135699 +Node: Erasing139305 +Node: Basic Files140610 +Node: Basic Help142532 +Node: Blank Lines143127 +Node: Continuation Lines144703 +Node: Position Info146370 +Node: Arguments149786 +Node: Undo153885 +Node: Minibuffer156832 +Node: Minibuffer File159442 +Node: Minibuffer Edit161247 +Node: Completion164188 +Node: Completion Example166119 +Node: Completion Commands167214 +Node: Strict Completion170190 +Node: Completion Options171971 +Node: Minibuffer History173479 +Node: Repetition176663 +Node: M-x179508 +Node: Help184602 +Node: Help Summary186012 +Node: Key Help188798 +Node: Name Help189757 +Node: Apropos192402 +Node: Library Keywords195521 +Node: Help Mode197842 +Node: Misc Help198339 +Node: Mark201487 +Node: Setting Mark203341 +Node: Using Region206463 +Node: Marking Objects207200 +Node: Mark Ring209038 +Node: Mouse Selection210754 +Node: Additional Mouse Operations212761 +Node: Killing216965 +Node: Yanking222601 +Node: Kill Ring223404 +Node: Appending Kills225006 +Node: Earlier Kills227043 +Node: Using X Selections229656 +Node: X Clipboard Selection230906 +Node: X Selection Commands233083 +Node: X Cut Buffers234169 +Node: Active Regions235528 +Node: Accumulating Text240108 +Node: Rectangles243181 +Node: Registers246700 +Node: RegPos248154 +Node: RegText249310 +Node: RegRect250416 +Node: RegConfig251295 +Node: RegNumbers252235 +Node: RegFiles252953 +Node: Bookmarks253611 +Node: Display256983 +Node: Scrolling258478 +Node: Horizontal Scrolling262621 +Node: Selective Display263816 +Node: Display Vars265035 +Node: Search267713 +Node: Incremental Search268906 +Node: Non-Incremental Search277834 +Node: Word Search279276 +Node: Regexp Search280894 +Node: Regexps283264 +Node: Search Case297261 +Node: Replace298042 +Node: Unconditional Replace298990 +Node: Regexp Replace300125 +Node: Replacement and Case301060 +Node: Query Replace302040 +Node: Other Repeating Search305267 +Node: Fixit306522 +Node: Kill Errors307102 +Node: Transpose308435 +Node: Fixing Case310839 +Node: Spelling311485 +Node: Files312946 +Node: File Names314256 +Node: Visiting318593 +Node: Saving325425 +Node: Backup330348 +Node: Backup Names331744 +Node: Backup Deletion333227 +Node: Backup Copying334377 +Node: Interlocking336083 +Node: Reverting340211 +Node: Auto Save342123 +Node: Auto Save Files343090 +Node: Auto Save Control344931 +Node: Recover346769 +Node: Version Control347924 +Node: Concepts of VC349962 +Node: Editing with VC351572 +Node: Variables for Check-in/out356828 +Node: Log Entries358727 +Node: Change Logs and VC359907 +Node: Old Versions363174 +Node: VC Status365177 +Node: Renaming and VC366891 +Node: Snapshots367570 +Node: Making Snapshots368071 +Node: Snapshot Caveats369364 +Node: Version Headers371173 +Node: ListDir373872 +Node: Comparing Files375921 +Node: Dired377454 +Node: Dired Enter378125 +Node: Dired Edit378950 +Node: Dired Deletion380697 +Node: Dired Immed383920 +Node: Misc File Ops385196 +Node: Buffers387684 +Node: Select Buffer389842 +Node: List Buffers391637 +Node: Misc Buffer393395 +Node: Kill Buffer395038 +Node: Several Buffers396168 +Node: Windows400035 +Node: Basic Window400746 +Node: Split Window402465 +Node: Other Window404598 +Node: Pop Up Window407029 +Node: Change Window408534 +Node: Mule411442 +Node: Mule Intro412705 +Node: Language Environments413721 +Node: Input Methods415828 +Node: Select Input Method419548 +Node: Coding Systems421703 +Node: Recognize Coding425889 +Node: Specify Coding429215 +Node: Major Modes434146 +Node: Choosing Modes436365 +Node: Indentation438755 +Node: Indentation Commands440850 +Node: Tab Stops443579 +Node: Just Spaces445428 +Node: Text446243 +Node: Text Mode448226 +Node: Nroff Mode450305 +Node: TeX Mode451948 +Node: TeX Editing454200 +Node: TeX Print457634 +Node: Outline Mode460853 +Node: Outline Format462334 +Node: Outline Motion465134 +Node: Outline Visibility466687 +Node: Words469608 +Node: Sentences472555 +Node: Paragraphs474751 +Node: Pages477039 +Node: Filling479639 +Node: Auto Fill480210 +Node: Fill Commands482357 +Node: Fill Prefix484522 +Node: Case486710 +Node: Programs488738 +Node: Program Modes491288 +Node: Lists493520 +Node: Defuns499360 +Node: Grinding502013 +Node: Basic Indent502641 +Node: Multi-line Indent504662 +Node: Lisp Indent506278 +Node: C Indent509728 +Node: Matching514968 +Node: Comments516490 +Node: Balanced Editing522942 +Node: Lisp Completion523956 +Node: Documentation524971 +Node: Change Log526210 +Node: Tags528788 +Node: Tag Syntax530545 +Node: Create Tags Table535245 +Node: Etags Regexps539305 +Node: Select Tags Table543963 +Node: Find Tag547736 +Node: Tags Search550700 +Node: List Tags554156 +Node: Fortran555185 +Node: Fortran Motion556261 +Node: Fortran Indent557081 +Node: ForIndent Commands557766 +Node: ForIndent Num558911 +Node: ForIndent Conv560185 +Node: ForIndent Vars560961 +Node: Fortran Comments562129 +Node: Fortran Columns565727 +Node: Fortran Abbrev567150 +Node: Asm Mode568059 +Node: Running568611 +Node: Compilation569580 +Node: Lisp Modes574430 +Node: Lisp Libraries575703 +Node: Loading576257 +Node: Compiling Libraries580717 +Node: Mocklisp583608 +Node: Lisp Eval584285 +Node: Lisp Debug587925 +Node: Lisp Interaction593352 +Node: External Lisp594707 +Node: Packages596781 +Node: Package Terminology597700 +Node: Installing Packages599310 +Node: Sumo602230 +Node: Manually603111 +Node: Automatically604481 +Node: Which Packages609044 +Node: Removing Packages609853 +Node: Building Packages610549 +Node: Local.rules File613190 +Node: Creating Packages615044 +Node: Available Packages620082 +Node: Abbrevs626797 +Node: Defining Abbrevs628996 +Node: Expanding Abbrevs631443 +Node: Editing Abbrevs634145 +Node: Saving Abbrevs636018 +Node: Dynamic Abbrevs637973 +Node: Picture639275 +Node: Basic Picture641708 +Node: Insert in Picture643993 +Node: Tabs in Picture645415 +Node: Rectangles in Picture646936 +Node: Sending Mail648844 +Node: Mail Format650555 +Node: Mail Headers651905 +Node: Mail Mode658313 +Node: Reading Mail661926 +Node: Calendar/Diary663501 +Node: Calendar Motion665175 +Node: Calendar Unit Motion666058 +Node: Move to Beginning or End668381 +Node: Specified Dates669514 +Node: Scroll Calendar670402 +Node: Mark and Region672193 +Node: General Calendar674099 +Node: LaTeX Calendar675707 +Node: Holidays677721 +Node: Sunrise/Sunset680823 +Node: Lunar Phases683862 +Node: Other Calendars685247 +Node: Calendar Systems686734 +Node: To Other Calendar689845 +Node: From Other Calendar691836 +Node: Mayan Calendar694141 +Node: Diary697336 +Node: Diary Commands699085 +Node: Format of Diary File702408 +Node: Date Formats705278 +Node: Adding to Diary707852 +Node: Special Diary Entries709483 +Node: Calendar Customization714822 +Node: Calendar Customizing715684 +Node: Holiday Customizing718919 +Node: Date Display Format725406 +Node: Time Display Format726364 +Node: Daylight Savings727502 +Node: Diary Customizing730690 +Node: Hebrew/Islamic Entries735311 +Node: Fancy Diary Display738651 +Node: Included Diary Files740567 +Node: Sexp Diary Entries741548 +Node: Appt Customizing746638 +Node: Sorting747684 +Node: Shell752490 +Node: Single Shell753783 +Node: Interactive Shell755397 +Node: Shell Mode759162 +Node: Terminal emulator761653 +Node: Term Mode763962 +Node: Paging in Term764876 +Node: Narrowing765674 +Node: Hardcopy767624 +Node: Recursive Edit768596 +Node: Dissociated Press771583 +Node: CONX774146 +Node: Amusements775170 +Node: Emulation775650 +Node: Customization777510 +Node: Minor Modes779326 +Node: Variables780958 +Node: Examining782914 +Node: Easy Customization784375 +Node: Customization Groups785389 +Node: Changing an Option788318 +Node: Face Customization794588 +Node: Specific Customization796352 +Node: Edit Options798959 +Node: Locals800543 +Node: File Variables803722 +Node: Keyboard Macros808272 +Node: Basic Kbd Macro810443 +Node: Save Kbd Macro812375 +Node: Kbd Macro Query814033 +Node: Key Bindings815975 +Node: Keymaps816849 +Node: Rebinding820699 +Node: Interactive Rebinding821398 +Node: Programmatic Rebinding823587 +Node: Key Bindings Using Strings826394 +Node: Disabling828021 +Node: Syntax829800 +Node: Syntax Entry830681 +Node: Syntax Change834765 +Node: Init File836934 +Node: Init Syntax838398 +Node: Init Examples840749 +Node: Terminal Init844939 +Node: Audible Bell846676 +Node: Faces850107 +Node: Frame Components854949 +Node: X Resources855394 +Node: Geometry Resources857053 +Node: Iconic Resources859501 +Node: Resource List859973 +Node: Face Resources866480 +Node: Widgets870157 +Node: Menubar Resources871096 +Node: Quitting872610 +Node: Lossage875588 +Node: Stuck Recursive876232 +Node: Screen Garbled876938 +Node: Text Garbled878072 +Node: Unasked-for Search878711 +Node: Emergency Escape879496 +Node: Total Frustration881275 +Node: Bugs881906 +Node: Glossary891467 +Node: Manifesto923121 +Node: Key Index946598 +Node: Command Index972525 +Node: Variable Index1015111 +Node: Concept Index1031197  End Tag Table diff --git a/info/xemacs.info-1 b/info/xemacs.info-1 index b87fb89..b45fedf 100644 --- a/info/xemacs.info-1 +++ b/info/xemacs.info-1 @@ -179,8 +179,11 @@ Packages * 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 diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 9b88cc1..ae5c8af 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,134 @@ +2001-02-08 Martin Buchholz + + * XEmacs 21.2.44 "Thalia" is released. + +2001-01-31 Francesco Potorti` + + * 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` + + * 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` + + * 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` + + * 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` + + * etags.c (print_language_names): Print filenames in addition to + suffixes. + +2001-01-12 Francesco Potorti` + + * 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 + . + +2000-11-07 Francesco Potortì + + * 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` + + * 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` + + * etags.c (many functions): Add prototypes. + +2000-01-31 Francesco Potorti` + + * 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 + + * 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 + + * gnuclient.c (get_current_working_directory): Use HAVE_GETCWD. + warning: getwd() possibly used unsafely, consider using getcwd(). + 2001-01-26 Martin Buchholz * XEmacs 21.2.43 "Terspichore" is released. diff --git a/lib-src/etags.c b/lib-src/etags.c index ce7d1c2..7ae810d 100644 --- a/lib-src/etags.c +++ b/lib-src/etags.c @@ -1,5 +1,5 @@ -/* 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. @@ -24,20 +24,25 @@ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ * 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ì 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)) @@ -59,29 +64,54 @@ char pot_etags_version[] = "@(#) pot revision number is 13.44"; # 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 +# include +# include +# ifndef HAVE_CONFIG_H +# define DOS_NT +# include +# endif +#else +# define MSDOS FALSE +#endif /* MSDOS */ + +#ifdef WINDOWSNT # include # include # include # include # include # 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 # include # else extern char *getenv (); # endif -#endif /* !WIN32_NATIVE */ +#endif /* !WINDOWSNT */ #ifdef HAVE_UNISTD_H # include #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 */ @@ -95,6 +125,12 @@ char pot_etags_version[] = "@(#) pot revision number is 13.44"; #include #include +#include +#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 @@ -130,43 +166,42 @@ char pot_etags_version[] = "@(#) pot revision number is 13.44"; # 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; @@ -183,6 +218,7 @@ typedef struct { char *name; Lang_function *function; + char **filenames; char **suffixes; char **interpreters; } language; @@ -229,13 +265,15 @@ static void Erlang_functions P_((FILE *)); 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)); @@ -245,9 +283,9 @@ int main P_((int, char **)); 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 *)); @@ -260,7 +298,7 @@ static void free_patterns P_((void)); #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 **)); @@ -287,9 +325,9 @@ static char *absolute_filename P_((char *, char *)); 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)); char searchar = '/'; /* use /.../ searches */ @@ -311,12 +349,6 @@ char *dbp; /* pointer to start of current tag */ 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]; @@ -335,7 +367,7 @@ char 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 */ @@ -445,12 +477,13 @@ char *Asm_suffixes [] = { "a", /* Unix assembler */ }; /* 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 }; @@ -471,7 +504,10 @@ char *Fortran_suffixes [] = { "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 }; @@ -482,9 +518,9 @@ char *Perl_interpreters [] = { "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 [] = @@ -498,13 +534,16 @@ char *Python_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. @@ -515,41 +554,47 @@ char *Yacc_suffixes [] = 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 */ }; + 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); @@ -561,6 +606,7 @@ If no language is specified and no matching suffix is found,\n\ 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."); } @@ -609,8 +655,13 @@ Relative ones are stored relative to the output file's directory."); 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,"); @@ -870,9 +921,9 @@ main (argc, argv) 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; @@ -894,13 +945,14 @@ main (argc, argv) /* * 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; } @@ -958,7 +1010,7 @@ main (argc, argv) 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; @@ -995,7 +1047,7 @@ main (argc, argv) typedefs = TRUE; break; case 'T': - typedefs = typedefs_and_cplusplus = TRUE; + typedefs = typedefs_or_cplusplus = TRUE; break; #if (!CTAGS) /* Etags options */ @@ -1046,9 +1098,6 @@ main (argc, argv) init (); /* set up boolean "functions" */ initbuffer (&lb); - initbuffer (&token_name); - initbuffer (&lbs[0].lb); - initbuffer (&lbs[1].lb); initbuffer (&filename_lb); if (!CTAGS) @@ -1056,12 +1105,12 @@ main (argc, argv) 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"); @@ -1180,7 +1229,7 @@ main (argc, argv) * 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 + * Idea by Vladimir Alexiev (1998) */ static compressor * get_compressor_from_suffix (file, extptr) @@ -1191,7 +1240,7 @@ 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) @@ -1201,13 +1250,13 @@ get_compressor_from_suffix (file, extptr) 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; @@ -1221,7 +1270,7 @@ get_compressor_from_suffix (file, extptr) * Return a language given the name. */ static language * -get_language_from_name (name) +get_language_from_langname (name) char *name; { language *lang; @@ -1267,12 +1316,20 @@ get_language_from_interpreter (interpreter) * 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; @@ -1354,7 +1411,22 @@ process_file (file) 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; } @@ -1380,7 +1452,7 @@ process_file (file) if (real_name == compressed_name) { char *cmd = concat (compr->command, " ", real_name); - inf = popen (cmd, "r"); + inf = (FILE *) popen (cmd, "r"); free (cmd); } else @@ -1485,7 +1557,7 @@ find_entries (file, inf) } /* 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; @@ -1530,7 +1602,7 @@ find_entries (file, inf) /* 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. */ @@ -1539,11 +1611,12 @@ find_entries (file, inf) /* 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; } + /* Record a tag. */ static void @@ -1597,10 +1670,9 @@ pfnote (name, is_func, linestart, linelen, lno, cno) add_node (np, &head); } -/* Date: Wed, 22 Jan 1997 02:56:31 -0500 [last amended 18 Sep 1997] - * From: Sam Kendall - * Subject: Proposal for firming up the TAGS format specification - * To: F.Potorti@cnuce.cnr.it +/* + * TAGS format specification + * Idea by Sam Kendall (1997) * * pfnote should emit the optimized form [unnamed tag] only if: * 1. name does not contain any of the characters " \t\r\n(),;"; @@ -1740,6 +1812,7 @@ add_node (np, cur_node_p) add_node (np, dif < 0 ? &cur_node->left : &cur_node->right); } } + static void put_entries (np) @@ -1848,7 +1921,17 @@ total_size_of_entries (np) return total; } + +/* 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. */ @@ -1860,6 +1943,7 @@ enum sym_type 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 }; @@ -1869,6 +1953,7 @@ static enum sym_type C_symtype P_((char *, int, int)); /* 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; } %% @@ -1887,7 +1972,7 @@ friend, C_PLPL, st_C_ignore 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 @@ -1924,7 +2009,8 @@ PSEUDO, 0, st_C_gnumacro #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 */ @@ -1934,8 +2020,8 @@ struct C_stab_entry { char *name; int c_ext; enum sym_type type; }; #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 @@ -1947,32 +2033,32 @@ hash (str, len) { 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; @@ -2001,77 +2087,76 @@ in_word_set (str, 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) @@ -2102,14 +2187,17 @@ C_symtype (str, len, c_ext) return st_none; return se->type; } + - /* - * 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 */ @@ -2121,10 +2209,10 @@ enum 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 */ @@ -2135,30 +2223,22 @@ enum 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 = ""; -enum sym_type structtype; - -/* * When objdef is different from onone, objtag is the name of the class. */ char *objtag = ""; @@ -2176,7 +2256,7 @@ enum /* * State machine for Objective C protocols and implementations. - * Tom R.Hageman + * Idea by Tom R.Hageman (1995) */ enum { @@ -2199,36 +2279,114 @@ 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 (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); + } +} + + +static bool consider_token P_((char *, int, int, int *, int, int, bool *)); static void make_C_tag P_((bool)); /* @@ -2238,7 +2396,7 @@ 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 @@ -2246,20 +2404,27 @@ static void make_C_tag P_((bool)); * 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. @@ -2268,6 +2433,11 @@ consider_token (str, len, c, c_ext, cblev, parlev, is_func_or_var) { 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) @@ -2316,17 +2486,25 @@ consider_token (str, len, c, c_ext, cblev, parlev, is_func_or_var) { 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; @@ -2335,11 +2513,6 @@ consider_token (str, len, c, c_ext, cblev, parlev, is_func_or_var) } /* - * 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. @@ -2350,25 +2523,29 @@ consider_token (str, len, c, c_ext, cblev, parlev, is_func_or_var) 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 = ""; structdef = stagseen; return TRUE; } @@ -2376,34 +2553,6 @@ consider_token (str, len, c, c_ext, cblev, parlev, is_func_or_var) 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) { @@ -2439,11 +2588,9 @@ consider_token (str, len, c, c_ext, cblev, parlev, is_func_or_var) 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; @@ -2455,10 +2602,8 @@ consider_token (str, len, c, c_ext, cblev, parlev, is_func_or_var) 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; @@ -2495,16 +2640,33 @@ consider_token (str, len, c, c_ext, cblev, parlev, is_func_or_var) *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; @@ -2515,20 +2677,24 @@ consider_token (str, len, c, c_ext, cblev, parlev, is_func_or_var) return FALSE; } + /* - * 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() \ @@ -2545,10 +2711,10 @@ do { \ #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) @@ -2558,9 +2724,9 @@ static void 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) { @@ -2568,21 +2734,32 @@ make_C_tag (isfun) 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 */ @@ -2597,10 +2774,23 @@ C_entries (c_ext, inf) 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; @@ -2611,12 +2801,11 @@ C_entries (c_ext, inf) 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) @@ -2624,6 +2813,7 @@ C_entries (c_ext, inf) else { qualifier = "::"; qlen = 2; } + while (!feof (inf)) { c = *lp++; @@ -2694,8 +2884,15 @@ C_entries (c_ext, inf) { 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; } @@ -2725,11 +2922,10 @@ C_entries (c_ext, inf) 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; @@ -2765,21 +2961,18 @@ C_entries (c_ext, inf) } /* 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])) { /* @@ -2790,13 +2983,15 @@ C_entries (c_ext, inf) 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) { @@ -2810,82 +3005,107 @@ C_entries (c_ext, inf) 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; @@ -2910,10 +3130,13 @@ C_entries (c_ext, inf) 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) { @@ -2931,6 +3154,11 @@ C_entries (c_ext, inf) 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) @@ -2942,65 +3170,62 @@ C_entries (c_ext, inf) 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; @@ -3018,15 +3243,31 @@ C_entries (c_ext, inf) } 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; @@ -3037,29 +3278,35 @@ C_entries (c_ext, inf) 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) @@ -3070,14 +3317,15 @@ C_entries (c_ext, inf) { 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: @@ -3106,7 +3354,9 @@ C_entries (c_ext, inf) fvdef = flistseen; break; } - if (cblev == 0 && (typdef == tend)) + if (!instruct + && (typdef == tend + || typdef == ttypeseen)) { typdef = tignore; make_C_tag (FALSE); /* a typedef */ @@ -3119,23 +3369,14 @@ C_entries (c_ext, inf) 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; @@ -3154,10 +3395,24 @@ C_entries (c_ext, inf) 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 '*': @@ -3176,20 +3431,12 @@ C_entries (c_ext, inf) } 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 = ""; + assert (cblev == typdefcblev); + typdef = tend; } break; case '=': @@ -3211,6 +3458,20 @@ C_entries (c_ext, inf) 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) @@ -3219,8 +3480,9 @@ C_entries (c_ext, inf) 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. */ @@ -3250,6 +3512,10 @@ C_entries (c_ext, inf) } /* switch (c) */ } /* while not eof */ + + free (token_name.buffer); + free (lbs[0].lb.buffer); + free (lbs[1].lb.buffer); } /* @@ -3260,10 +3526,10 @@ static void 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; @@ -3302,6 +3568,7 @@ Yacc_entries (inf) { C_entries (YACC, inf); } + /* A useful macro. */ #define LOOP_ON_INPUT_LINES(file_pointer, line_buffer, char_pointer) \ @@ -3328,6 +3595,7 @@ just_read_file (inf) LOOP_ON_INPUT_LINES (inf, lb, dummy) continue; } + /* Fortran parsing */ @@ -3364,14 +3632,14 @@ takeprec () 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 @@ -3392,7 +3660,7 @@ getit (inf) 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; @@ -3473,10 +3741,11 @@ Fortran_functions (inf) } } } + /* - * Philippe Waroquiers , 1998-04-24 * Ada parsing + * Philippe Waroquiers (1998) */ static void adagetit P_((FILE *, char *)); @@ -3533,7 +3802,7 @@ adagetit (inf, name_qualifier) 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) @@ -3641,6 +3910,7 @@ Ada_funcs (inf) } /* advance char */ } /* advance line */ } + /* * Bob Weiner, Motorola Inc., 4/3/94 @@ -3657,11 +3927,11 @@ Asm_labels (inf) { /* 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)) { @@ -3672,12 +3942,14 @@ Asm_labels (inf) } } } + /* - * Perl support by Bart Robinson - * enhanced by Michael Ernst + * Perl support * Perl sub names: look for /^sub[ \t\n]+[^ \t\n{]+/ * Perl variable names: /^(my|local).../ + * Bart Robinson (1995) + * Michael Ernst (1997) */ static void Perl_functions (inf) @@ -3721,7 +3993,7 @@ 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); } @@ -3740,10 +4012,12 @@ Perl_functions (inf) } } } + /* - * Python support by Eric S. Raymond + * Python support * Look for /^def[ \t\n]+[^ \t\n(:]+/ or /^class[ \t\n]+[^ \t\n(:]+/ + * Eric S. Raymond (1997) */ static void Python_functions (inf) @@ -3779,6 +4053,7 @@ Python_functions (inf) } } } + /* Idea by Corny de Souza * Cobol tag functions @@ -3798,16 +4073,40 @@ Cobol_paragraphs (inf) 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); } } + + +/* + * Makefile support + * Idea by Assar Westerlund (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); + } +} + /* Added by Mosur Mohan, 4/22/88 */ /* Pascal parsing */ @@ -3954,7 +4253,7 @@ Pascal_functions (inf) 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; @@ -3990,9 +4289,10 @@ Pascal_functions (inf) free (tline.buffer); } + /* - * lisp tag functions + * Lisp tag functions * look for (def or (DEF, quote or QUOTE */ @@ -4086,13 +4386,14 @@ Lisp_functions (inf) } } } + /* * Postscript tag functions * Just look for lines where the first character is '/' - * Richard Mlynarik * Also look at "defineps" for PSWrap - * suggested by Masatake YAMATO + * Richard Mlynarik (1997) + * Ideas by Masatake Yamato (1999) */ static void Postscript_functions (inf) @@ -4161,6 +4462,7 @@ Scheme_functions (inf) } } } + /* Find tags in TeX and LaTeX input files. */ @@ -4194,7 +4496,7 @@ char TEX_clgrp = '}'; * TeX/LaTeX scanning loop. */ static void -TeX_functions (inf) +TeX_commands (inf) FILE *inf; { char *cp, *lasthit; @@ -4343,6 +4645,31 @@ TEX_Token (cp) return i; return -1; } + + +/* 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); + } + } +} + /* * Prolog support (rewritten) by Anders Lindgren, Mar. 96 @@ -4381,7 +4708,7 @@ Prolog_functions (inf) 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'; @@ -4468,11 +4795,11 @@ prolog_atom (s, pos) 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++; } @@ -4508,6 +4835,7 @@ prolog_atom (s, pos) else return -1; } + /* * Support for Erlang -- Anders Lindgren, Feb 1996. @@ -4556,7 +4884,7 @@ Erlang_functions (inf) 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'; @@ -4649,11 +4977,11 @@ erlang_atom (s, pos) 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; } @@ -4685,6 +5013,7 @@ erlang_atom (s, pos) else return -1; } + #ifdef ETAGS_REGEXPS @@ -4792,7 +5121,7 @@ analyse_regex (regex_arg, ignore_case) 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); @@ -4840,10 +5169,6 @@ add_regex (regexp_pattern, 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) { @@ -4882,7 +5207,7 @@ substitute (in, out, regs) 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]; @@ -4895,9 +5220,8 @@ substitute (in, out, regs) 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); @@ -4907,8 +5231,7 @@ substitute (in, out, regs) *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; } @@ -4928,6 +5251,8 @@ free_patterns () } return; } +#endif /* ETAGS_REGEXPS */ + static void get_tag (bp) @@ -4946,14 +5271,15 @@ 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; } /* @@ -4985,7 +5311,7 @@ readline_internal (lbp, stream) { /* 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; @@ -5001,7 +5327,7 @@ readline_internal (lbp, stream) 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; @@ -5086,6 +5412,7 @@ readline (lbp, stream) return result; } + /* * Return a pointer to a space of size strlen(cp)+1 allocated @@ -5178,7 +5505,7 @@ skip_non_spaces (cp) } /* Print error message and exit. */ -static void +void fatal (s1, s2) char *s1, *s2; { @@ -5234,6 +5561,7 @@ concat (s1, s2, s3) return result; } + /* Does the same work as the system V getcwd, but does not need to guess the buffer size in advance. */ @@ -5257,6 +5585,20 @@ etags_getcwd () 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; @@ -5267,6 +5609,7 @@ etags_getcwd () pclose (pipe); return path.buffer; +#endif /* not MSDOS */ #endif /* not HAVE_GETCWD */ } @@ -5286,7 +5629,7 @@ relative_filename (file, dir) 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 @@ -5320,7 +5663,7 @@ absolute_filename (file, dir) 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] == ':') @@ -5344,8 +5687,8 @@ absolute_filename (file, dir) 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] != '/') @@ -5400,8 +5743,8 @@ filename_is_absolute (fn) 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 ); } @@ -5411,10 +5754,10 @@ static void 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 == '\\') @@ -5425,19 +5768,22 @@ canonicalize_filename (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; { @@ -5447,7 +5793,7 @@ xmalloc (size) return result; } -static long * +long * xrealloc (ptr, size) char *ptr; unsigned int size; diff --git a/lib-src/gnuclient.c b/lib-src/gnuclient.c index 9901186..d4c1630 100644 --- a/lib-src/gnuclient.c +++ b/lib-src/gnuclient.c @@ -103,7 +103,7 @@ tell_emacs_to_resume (int sig) 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); @@ -156,11 +156,11 @@ get_current_working_directory (void) { 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", @@ -337,7 +337,7 @@ main (int argc, char *argv[]) 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 */ @@ -488,7 +488,7 @@ main (int argc, char *argv[]) #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); @@ -526,7 +526,7 @@ main (int argc, char *argv[]) #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); @@ -560,7 +560,7 @@ main (int argc, char *argv[]) #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); @@ -585,7 +585,7 @@ main (int argc, char *argv[]) #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 diff --git a/lib-src/gnuserv.c b/lib-src/gnuserv.c index b90443d..2ba5785 100644 --- a/lib-src/gnuserv.c +++ b/lib-src/gnuserv.c @@ -378,7 +378,7 @@ handle_response (void) #ifdef INTERNET_DOMAIN_SOCKETS struct entry { - u_long host_addr; + unsigned long host_addr; struct entry *next; }; @@ -450,7 +450,7 @@ timed_read (int fd, char *buf, int max, int timeout, int one_line) 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; @@ -560,7 +560,7 @@ permitted (u_long host_addr, int fd) already there. */ static void -add_host (u_long host_addr) +add_host (unsigned long host_addr) { int key; struct entry *new_entry; @@ -596,7 +596,7 @@ setup_table (void) 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 */ diff --git a/lib-src/gnuslib.c b/lib-src/gnuslib.c index c16aa31..f0226e6 100644 --- a/lib-src/gnuslib.c +++ b/lib-src/gnuslib.c @@ -43,7 +43,7 @@ static int connect_to_ipc_server (void); 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'. */ @@ -313,7 +313,7 @@ static Xauth *server_xauth = NULL; 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 */ diff --git a/lib-src/pop.c b/lib-src/pop.c index 79160eb..0bf05de 100644 --- a/lib-src/pop.c +++ b/lib-src/pop.c @@ -95,7 +95,7 @@ extern struct servent *hes_getservbyname (/* char *, char * */); #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 * */); diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 28af59c..4a77940 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,31 @@ +2001-02-08 Martin Buchholz + + * XEmacs 21.2.44 "Thalia" is released. + +2001-01-16 Mike Sperber + + * startup.el (normal-top-level): Work even if no installation root + is found. + +2001-01-30 Andy Piper + + * 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 + + * mwheel.el (mwheel-scroll): unwind-protect the selected window. + +2001-01-24 Didier Verna + + * 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 * XEmacs 21.2.43 "Terspichore" is released. diff --git a/lisp/gutter-items.el b/lisp/gutter-items.el index b63504a..054aa59 100644 --- a/lisp/gutter-items.el +++ b/lisp/gutter-items.el @@ -348,10 +348,7 @@ redefining the function `format-buffers-menu-line'." :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 @@ -426,7 +423,8 @@ side-by-side." ;; '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 @@ -442,7 +440,20 @@ side-by-side." :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. @@ -450,15 +461,6 @@ The first element in the list is currently displayed in the gutter area. 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, @@ -570,8 +572,8 @@ you should just use (progress 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) diff --git a/lisp/gutter.el b/lisp/gutter.el index 19283da..a6dad1e 100644 --- a/lisp/gutter.el +++ b/lisp/gutter.el @@ -108,6 +108,21 @@ non-nil if it is visible in optional DOMAIN." (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 diff --git a/lisp/mwheel.el b/lisp/mwheel.el index 03d4392..094ca43 100644 --- a/lisp/mwheel.el +++ b/lisp/mwheel.el @@ -17,7 +17,7 @@ ;; 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. @@ -91,11 +91,13 @@ This can be slightly disconcerting, but some people may prefer it." (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 () @@ -112,7 +114,7 @@ This can be slightly disconcerting, but some people may prefer it." (define-key global-map (car keys) 'mwheel-scroll) (setq keys (cdr keys))) (error nil)))) - + (provide 'mwheel) ;;; mwheel.el ends here diff --git a/lisp/sound.el b/lisp/sound.el index 2857165..46e277c 100644 --- a/lisp/sound.el +++ b/lisp/sound.el @@ -106,16 +106,19 @@ ) ;; #### 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 ) @@ -130,6 +133,11 @@ (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. @@ -143,10 +151,18 @@ nVolume (0 for default): ") (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 diff --git a/lisp/startup.el b/lisp/startup.el index 27298b9..c821f84 100644 --- a/lisp/startup.el +++ b/lisp/startup.el @@ -413,12 +413,12 @@ Type ^H^H^H (Control-h Control-h Control-h) to get more help options.\n") '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) diff --git a/lwlib/ChangeLog b/lwlib/ChangeLog index d81bceb..d3dad72 100644 --- a/lwlib/ChangeLog +++ b/lwlib/ChangeLog @@ -1,3 +1,27 @@ +2001-02-08 Martin Buchholz + + * XEmacs 21.2.44 "Thalia" is released. + +2001-02-06 Martin Buchholz + + * 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 + + * lwlib-Xm.c (xm_update_one_value): + Obey the man page; use XtFree instead of free. + +2001-02-02 Martin Buchholz + + * config.h.in: Use "..." to include config.h + 2001-01-26 Martin Buchholz * XEmacs 21.2.43 "Terspichore" is released. diff --git a/lwlib/config.h.in b/lwlib/config.h.in index 0a7be10..00d3af1 100644 --- a/lwlib/config.h.in +++ b/lwlib/config.h.in @@ -23,7 +23,7 @@ Boston, MA 02111-1307, USA. */ #ifndef _LWLIB_CONFIG_H_ #define _LWLIB_CONFIG_H_ -#include <../src/config.h> +#include "../src/config.h" #undef NEED_MOTIF #undef NEED_ATHENA diff --git a/lwlib/lwlib-Xm.c b/lwlib/lwlib-Xm.c index 2903ede..3e25262 100644 --- a/lwlib/lwlib-Xm.c +++ b/lwlib/lwlib-Xm.c @@ -889,14 +889,14 @@ xm_update_one_value (widget_instance* instance, Widget widget, 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; } diff --git a/lwlib/xlwcheckbox.c b/lwlib/xlwcheckbox.c index 686d86f..9c685bc 100644 --- a/lwlib/xlwcheckbox.c +++ b/lwlib/xlwcheckbox.c @@ -65,7 +65,7 @@ Boston, MA 02111-1307, USA. */ #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}; diff --git a/lwlib/xlwgauge.c b/lwlib/xlwgauge.c index de71df0..074a6c7 100644 --- a/lwlib/xlwgauge.c +++ b/lwlib/xlwgauge.c @@ -135,11 +135,11 @@ static void GaugeGetValue (XtPointer, XtIntervalId *); 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); @@ -636,7 +636,7 @@ GaugeConvert (Widget w, 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 ; @@ -650,7 +650,7 @@ GaugeConvert (Widget 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, @@ -774,7 +774,7 @@ GaugeGetSelCB (Widget w, Atom *selection, Atom *type, XtPointer value, - u_long *length, + unsigned long *length, int *format) { Display *dpy = XtDisplay(w) ; diff --git a/lwlib/xlwgcs.c b/lwlib/xlwgcs.c index ed5c480..3b6cd7e 100644 --- a/lwlib/xlwgcs.c +++ b/lwlib/xlwgcs.c @@ -169,7 +169,8 @@ #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 @@ -186,7 +187,7 @@ GC AllocFgGC(Widget w, Pixel fg, Font font) { XGCValues values ; - u_long vmask, dcmask ; + unsigned long vmask, dcmask ; values.foreground = fg ; values.font = font ; @@ -233,7 +234,7 @@ AllocShadeGC(Widget w, Pixel fg, Pixel bg, 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 ; @@ -513,18 +514,18 @@ Draw3dBox(Widget w, int x, int y, int wid, int hgt, int s, GC topgc, GC botgc) #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) diff --git a/lwlib/xlwgcs.h b/lwlib/xlwgcs.h index aed49d4..30b9b86 100644 --- a/lwlib/xlwgcs.h +++ b/lwlib/xlwgcs.h @@ -117,8 +117,9 @@ extern void Draw3dBox(Widget w, int x, int y, int wid, int hgt, int s, 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 diff --git a/lwlib/xlwradio.c b/lwlib/xlwradio.c index a6430b9..207a1ff 100644 --- a/lwlib/xlwradio.c +++ b/lwlib/xlwradio.c @@ -328,10 +328,10 @@ RadioExpose (Widget w, { /* 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 */ diff --git a/man/ChangeLog b/man/ChangeLog index e59e0ef..e92f405 100644 --- a/man/ChangeLog +++ b/man/ChangeLog @@ -1,3 +1,20 @@ +2001-02-08 Martin Buchholz + + * XEmacs 21.2.44 "Thalia" is released. + +2001-02-04 Steve Youngs + + * 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 + + * lispref/variables.texi (max-specpdl-size): Correct default value. + * lispref/eval.texi (max-lisp-eval-depth): Correct default value. + 2001-01-26 Martin Buchholz * XEmacs 21.2.43 "Terspichore" is released. diff --git a/man/lispref/eval.texi b/man/lispref/eval.texi index 71ce6d2..3b378cd 100644 --- a/man/lispref/eval.texi +++ b/man/lispref/eval.texi @@ -182,7 +182,7 @@ This limit, with the associated error when it is exceeded, is one way 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. diff --git a/man/lispref/variables.texi b/man/lispref/variables.texi index 6d3cc9d..21aa3af 100644 --- a/man/lispref/variables.texi +++ b/man/lispref/variables.texi @@ -251,7 +251,7 @@ binding depth exceeds max-specpdl-size"}). 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}. diff --git a/man/xemacs/packages.texi b/man/xemacs/packages.texi index e2202d8..5aaeeaf 100644 --- a/man/xemacs/packages.texi +++ b/man/xemacs/packages.texi @@ -17,15 +17,16 @@ local needs with safe removal of unnecessary code. @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. @@ -41,13 +42,14 @@ may not in general safely remove any of them. 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. @@ -64,16 +66,20 @@ in regular packages) source code plus all of the files necessary to 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 @@ -81,10 +87,10 @@ distributed with XEmacs. Now, to conserve disk space, most 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{--pkg.tar.gz}. If you have EFS @ref{(EFS)}, packages can be installed over the network. @@ -92,11 +98,11 @@ Alternatively, if you have copies of the packages locally, you can 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 @@ -108,7 +114,7 @@ are installed, using the visual package browser and installer. You can 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: @@ -129,62 +135,137 @@ that you need @code{thingatpt}, type: 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 | 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/ 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--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 @@ -237,30 +318,26 @@ Kill the package buffer. 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: @@ -269,118 +346,102 @@ M-x package-get-all @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 @@ -401,11 +462,84 @@ beyond the basic templates so this is not yet complete. 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 @@ -530,14 +664,15 @@ or a future revision of this manual for details. @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) @@ -552,19 +687,31 @@ Support for Sparcworks. @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. @@ -584,6 +731,16 @@ These packages provide support for various communications, primarily 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. @@ -596,6 +753,9 @@ The Gnus Newsreader and Mailreader. @item mailcrypt Support for messaging encryption with PGP. +@item mew +Messaging in an Emacs World. + @item mh-e Front end support for MH. @@ -603,9 +763,6 @@ 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. @@ -613,17 +770,22 @@ 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). @@ -640,7 +802,15 @@ Other amusements and diversions. @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. @@ -652,6 +822,9 @@ Quail. Used for everything other than English and Japanese. 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. @@ -662,7 +835,12 @@ separate process running as a dictionary server. @subsection Productivity Packages (oa) +Things to make life a little easier. + @table @file +@item calc +Emacs calculator. + @item calendar Calendar and diary support. @@ -671,7 +849,7 @@ Single file lisp packages for various XEmacs goodies. Load this and 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. @@ -695,7 +873,7 @@ SGML/Linuxdoc-SGML editing. User interface tool. @item speedbar -??? Document me. +Provides a separate frame with convenient references. @item strokes Mouse enhancement utility. @@ -709,7 +887,12 @@ Display time & date on the modeline. @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. @@ -723,12 +906,21 @@ Front-end for Inferior Lisp. 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. @@ -748,23 +940,33 @@ Interface over patch. @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. @@ -772,6 +974,8 @@ Support for VHDL. @subsection Word Processing (wp) +Working with text. + @table @file @item auctex Basic TeX/LaTeX support. @@ -782,6 +986,9 @@ Crisp/Brief emulation. @item edt DEC EDIT/EDT emulation. +@item reftex +Emacs support for LaTeX cross-references, citations. + @item texinfo XEmacs TeXinfo support. diff --git a/man/xemacs/programs.texi b/man/xemacs/programs.texi index 9103a2d..87b61c4 100644 --- a/man/xemacs/programs.texi +++ b/man/xemacs/programs.texi @@ -1028,6 +1028,13 @@ normally include all functions and subroutines, and may also include 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}. @@ -1038,7 +1045,7 @@ recorded is called a @dfn{tag}. * 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: @@ -1077,7 +1084,7 @@ In La@TeX{} text, the argument of any of the commands @code{\chapter}, 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, @@ -1108,8 +1115,34 @@ set with @code{set!} at top level in the file. @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, @@ -1132,6 +1165,9 @@ in the file. 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. @@ -1145,7 +1181,7 @@ In Perl code, the tags are the procedures defined by the @code{sub}, 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. @@ -1155,10 +1191,10 @@ In Python code, @code{def} or @code{class} at the beginning of a line 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 @@ -1251,7 +1287,7 @@ knows, and the file name rules for guessing the language. It also prints 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 diff --git a/man/xemacs/xemacs.texi b/man/xemacs/xemacs.texi index abb9efb..d5d83b6 100644 --- a/man/xemacs/xemacs.texi +++ b/man/xemacs/xemacs.texi @@ -238,8 +238,11 @@ Packages * 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 diff --git a/netinstall/ChangeLog b/netinstall/ChangeLog index b8abee8..f5ec0e4 100644 --- a/netinstall/ChangeLog +++ b/netinstall/ChangeLog @@ -1,3 +1,11 @@ +2001-02-08 Martin Buchholz + + * XEmacs 21.2.44 "Thalia" is released. + +2001-02-02 Andy Piper + + * res.rc: update mirrors.lst location. + 2001-01-26 Martin Buchholz * XEmacs 21.2.43 "Terspichore" is released. @@ -187,5 +195,5 @@ * 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 $ diff --git a/netinstall/res.rc b/netinstall/res.rc index 170aa9d..a6a523d 100644 --- a/netinstall/res.rc +++ b/netinstall/res.rc @@ -461,7 +461,7 @@ STRINGTABLE DISCARDABLE BEGIN IDS_ROOT_SLASH "Warning: we recommend you do NOT use the root of your hard drive as the XEmacs root. Proceed anyway?" IDS_ROOT_SPACE "You should not choose a root path that include spaces in directory names. Proceed anyway?" - IDS_MIRROR_LST "http://ftp.xemacs.org/pub/xemacs/mirrors.lst" + IDS_MIRROR_LST "http://www.xemacs.org/Download/mirrors.lst" IDS_DIALOG_FAILED "Unable to create Dialog Box" IDS_CYGWIN_FUNC_MISSING "Error: unable to find function `%s' in %s" IDS_DOWNLOAD_SHORT "Download error: %s too short (%d, wanted %d)" @@ -478,7 +478,7 @@ BEGIN IDS_ERR_OPEN_READ "Can't open %s for reading: %s" IDS_ROOT_ABSOLUTE "The install directory must be absolute, with both a drive letter and leading slash, like C:\\Cygwin" IDS_DOWNLOAD_COMPLETE "Download Complete" - IDS_CVSID "\n%%% $Id: res.rc,v 1.1.2.4 2001/01/24 09:18:30 andyp Exp $\n" + IDS_CVSID "\n%%% $Id: res.rc,v 1.1.2.5 2001/02/02 19:47:47 andyp Exp $\n" IDS_NOLOGFILE "Cannot open log file %s for writing" IDS_UNINSTALL_COMPLETE "Uninstalls complete." IDS_WININET "Unable to find or load the Internet Explorer 5 DLLs" diff --git a/nt/ChangeLog b/nt/ChangeLog index e103bcd..dc6c984 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog @@ -1,3 +1,7 @@ +2001-02-08 Martin Buchholz + + * XEmacs 21.2.44 "Thalia" is released. + 2001-01-26 Martin Buchholz * XEmacs 21.2.43 "Terspichore" is released. diff --git a/src/.gdbinit b/src/.gdbinit index e3804b6..03720ca 100644 --- a/src/.gdbinit +++ b/src/.gdbinit @@ -69,7 +69,7 @@ define decode_object 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 @@ -178,9 +178,6 @@ Use when debugging temacs, not xemacs! 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) diff --git a/src/ChangeLog b/src/ChangeLog index 8c0c82a..16e7d55 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,186 @@ +2001-02-08 Martin Buchholz + + * XEmacs 21.2.44 "Thalia" is released. + +2001-02-06 Martin Buchholz + + 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 + + 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 + + * elhash.c (make_general_lisp_hash_table): + Use simpler and more efficient calloc to clear entries. + +2001-02-07 Martin Buchholz + + * window.c (window_scroll): Work around an AIX C compiler bug. + Fixes 'scroll-up' does nothing problem with xlC. + +2001-02-05 Martin Buchholz + + * .gdbinit: Remove obsolete comment. + +2001-01-31 Mike Alexander + + * select.c (Fown_selection_internal): Set owned_p for device + method correctly. + +2001-02-01 Martin Buchholz + + 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 + + * lisp-disunion.h: Fix up comments. + +2001-01-31 Martin Buchholz + + * 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 + + * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD. + +2001-01-30 Martin Buchholz + + 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 + + * glyphs-widget.c (check_valid_int_or_function): allow symbols + since they can be eval'ed + +2001-01-29 Martin Buchholz + + * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers. + Oops, XEmacs redefines `class'. Use `typename' instead. + +2001-01-28 Martin Buchholz + + * dumper.c: Fix C++ compile errors. + +2001-01-29 Martin Buchholz + + * tparam.c: Use correct prototypes. + +2001-01-28 Martin Buchholz + + * sysproc.h: #include util.h for NetBSD's openpty. + +2001-01-27 Martin Buchholz + + 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 + + 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 * XEmacs 21.2.43 "Terspichore" is released. diff --git a/src/abbrev.c b/src/abbrev.c index 30b5993..34bf815 100644 --- a/src/abbrev.c +++ b/src/abbrev.c @@ -69,7 +69,7 @@ Lisp_Object Vlast_abbrev; 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; diff --git a/src/alloc.c b/src/alloc.c index 37bc28a..7c71faf 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -85,8 +85,8 @@ EXFUN (Fgarbage_collect, 0); #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 */ @@ -447,17 +447,31 @@ disksave_object_finalization_1 (void) 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! */ diff --git a/src/buffer.c b/src/buffer.c index df789f2..0777574 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -208,8 +208,8 @@ Lisp_Object Qfind_file_compare_truenames; 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; diff --git a/src/chartab.c b/src/chartab.c index ec6ab0f..3743698 100644 --- a/src/chartab.c +++ b/src/chartab.c @@ -1611,7 +1611,7 @@ check_category_table (Lisp_Object object, Lisp_Object default_) 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; @@ -1622,10 +1622,10 @@ check_category_char (Emchar ch, Lisp_Object table, 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, /* diff --git a/src/chartab.h b/src/chartab.h index 3866640..f96aa7d 100644 --- a/src/chartab.h +++ b/src/chartab.h @@ -201,7 +201,7 @@ extern Lisp_Object Vall_syntax_tables; #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; diff --git a/src/cmdloop.c b/src/cmdloop.c index 80a99dc..024ed8a 100644 --- a/src/cmdloop.c +++ b/src/cmdloop.c @@ -38,7 +38,7 @@ Boston, MA 02111-1307, USA. */ #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. */ diff --git a/src/commands.h b/src/commands.h index 0c1d755..ef5bcb7 100644 --- a/src/commands.h +++ b/src/commands.h @@ -110,7 +110,7 @@ extern Lisp_Object Vcommand_loop; /* #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; diff --git a/src/config.h.in b/src/config.h.in index 81d0e55..8857fa9 100644 --- a/src/config.h.in +++ b/src/config.h.in @@ -345,6 +345,7 @@ void *alloca (); #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 */ @@ -831,7 +832,6 @@ on various systems. */ # define new c_new # define this c_this # define catch c_catch -# define not c_not # define EXTERN_C extern "C" # else /* C code */ diff --git a/src/console-x.h b/src/console-x.h index bd36a64..31252dd 100644 --- a/src/console-x.h +++ b/src/console-x.h @@ -373,7 +373,7 @@ extern Lisp_Object Vdefault_x_device; /* 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, diff --git a/src/data.c b/src/data.c index 09cc4fd..b90b3ca 100644 --- a/src/data.c +++ b/src/data.c @@ -71,7 +71,7 @@ Lisp_Object Qfloatp; 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) diff --git a/src/dired-msw.c b/src/dired-msw.c index 73dfe42..73c5d10 100644 --- a/src/dired-msw.c +++ b/src/dired-msw.c @@ -90,7 +90,7 @@ Boston, MA 02111-1307, USA. */ 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; diff --git a/src/dumper.c b/src/dumper.c index 137ce96..d4bf7db 100644 --- a/src/dumper.c +++ b/src/dumper.c @@ -1,5 +1,6 @@ /* Portable data dumper for XEmacs. Copyright (C) 1999-2000 Olivier Galibert + Copyright (C) 2001 Martin Buchholz This file is part of XEmacs. @@ -64,6 +65,18 @@ typedef struct 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; @@ -116,6 +129,33 @@ dump_add_weak_object_chain (Lisp_Object *varaddress) } +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)) + + + typedef struct { const struct lrecord_description *desc; @@ -150,13 +190,14 @@ pdump_objects_unmark (void) /* 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 */ @@ -173,17 +214,18 @@ typedef struct 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] = { @@ -211,7 +253,6 @@ typedef struct pdump_entry_list_elmt const void *obj; size_t size; int count; - int is_lrecord; EMACS_INT save_offset; } pdump_entry_list_elmt; @@ -245,6 +286,7 @@ static unsigned long cur_offset; static size_t max_size; static int pdump_fd; static void *pdump_buf; +static FILE *pdump_out; #define PDUMP_HASHSIZE 200001 @@ -278,7 +320,8 @@ pdump_get_entry (const void *obj) } 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; @@ -300,15 +343,12 @@ pdump_add_entry (pdump_entry_list *list, const void *obj, size_t size, int count 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; @@ -357,22 +397,28 @@ pdump_backtrace (void) for (i=0;iname, - 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; @@ -396,7 +442,8 @@ pdump_get_indirect_count (EMACS_INT code, const struct lrecord_description *ides 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 (); } @@ -437,24 +484,21 @@ pdump_register_sub (const void *data, const struct lrecord_description *desc, in 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: @@ -510,6 +554,7 @@ static void pdump_register_object (Lisp_Object obj) { struct lrecord_header *objh; + const struct lrecord_implementation *imp; if (!POINTER_TYPE_P (XTYPE (obj))) return; @@ -521,7 +566,9 @@ pdump_register_object (Lisp_Object obj) if (pdump_get_entry (objh)) return; - if (LHEADER_IMPLEMENTATION (objh)->description) + imp = LHEADER_IMPLEMENTATION (objh); + + if (imp->description) { int me = depth++; if (me>65536) @@ -535,26 +582,25 @@ pdump_register_object (Lisp_Object obj) 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)) { @@ -570,10 +616,7 @@ pdump_register_struct (const void *data, const struct struct_description *sdesc, backtrace[me].offset = 0; pdump_add_entry (pdump_get_entry_list (sdesc), - data, - sdesc->size, - count, - 0); + data, sdesc->size, count); for (i=0; isize*i, @@ -585,7 +628,8 @@ pdump_register_struct (const void *data, const struct struct_description *sdesc, } 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; @@ -679,17 +723,16 @@ pdump_dump_data (pdump_entry_list_elmt *elmt, const struct lrecord_description * 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; @@ -763,9 +806,10 @@ pdump_reloc_one (void *data, EMACS_INT delta, const struct lrecord_description * } 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; @@ -773,7 +817,8 @@ pdump_allocate_offset (pdump_entry_list_elmt *elmt, const struct lrecord_descrip } 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; @@ -817,17 +862,18 @@ pdump_scan_by_alignment (void (*f)(pdump_entry_list_elmt *, const struct lrecord } 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 @@ -837,8 +883,8 @@ pdump_dump_opaques (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); } } @@ -856,32 +902,32 @@ pdump_dump_rtables (void) 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; idescription; 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; jcount; j++) { - write (pdump_fd, &rdata, sizeof (rdata)); + PDUMP_WRITE_ALIGNED (EMACS_INT, rdata); rdata += elmt->size; } elmt = elmt->next; @@ -889,48 +935,55 @@ pdump_dump_rtables (void) } 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; isave_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; idescription; + 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); } } @@ -940,7 +993,7 @@ pdump (void) int i; Lisp_Object t_console, t_device, t_frame; int none; - pdump_header hd; + pdump_header header; flush_all_buffer_local_cache (); @@ -992,37 +1045,41 @@ pdump (void) 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); @@ -1040,6 +1097,9 @@ pdump_load_check (void) && ((pdump_header *)pdump_start)->id == dump_id); } +/*----------------------------------------------------------------------*/ +/* Reading the dump file */ +/*----------------------------------------------------------------------*/ static int pdump_load_finish (void) { @@ -1047,25 +1107,25 @@ 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; inb_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; inb_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; } @@ -1075,31 +1135,33 @@ pdump_load_finish (void) 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 */ @@ -1107,7 +1169,8 @@ pdump_load_finish (void) 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) diff --git a/src/eldap.c b/src/eldap.c index 70a8603..16756e5 100644 --- a/src/eldap.c +++ b/src/eldap.c @@ -40,7 +40,7 @@ Boston, MA 02111-1307, USA. */ #include "eldap.h" -static int ldap_default_port; +static Fixnum ldap_default_port; static Lisp_Object Vldap_default_base; /* Needed by the lrecord definition */ diff --git a/src/elhash.c b/src/elhash.c index 8677f95..5bf3476 100644 --- a/src/elhash.c +++ b/src/elhash.c @@ -440,7 +440,7 @@ make_standard_lisp_hash_table (enum hash_table_test test, 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) @@ -500,13 +500,7 @@ make_general_lisp_hash_table (hash_table_hash_function_t hash_function, 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); diff --git a/src/emacs.c b/src/emacs.c index d10e505..2659e88 100644 --- a/src/emacs.c +++ b/src/emacs.c @@ -304,7 +304,7 @@ Lisp_Object Vconfigure_exec_prefix_directory, Vconfigure_prefix_directory; /* 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 diff --git a/src/eval.c b/src/eval.c index cf07fc2..00d15e9 100644 --- a/src/eval.c +++ b/src/eval.c @@ -163,13 +163,13 @@ struct specbinding *specpdl_ptr; 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; diff --git a/src/event-Xt.c b/src/event-Xt.c index 04b54d3..8c55b2b 100644 --- a/src/event-Xt.c +++ b/src/event-Xt.c @@ -87,7 +87,7 @@ XtAppContext Xt_app_con; int x_allow_sendevents; #ifdef DEBUG_XEMACS -int debug_x_events; +Fixnum debug_x_events; #endif static int process_events_occurred; diff --git a/src/event-msw.c b/src/event-msw.c index 7055984..f098d73 100644 --- a/src/event-msw.c +++ b/src/event-msw.c @@ -146,13 +146,13 @@ int mswindows_quit_chars_count = 0; /* 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. diff --git a/src/event-stream.c b/src/event-stream.c index 063b9e2..847ab65 100644 --- a/src/event-stream.c +++ b/src/event-stream.c @@ -100,7 +100,7 @@ Boston, MA 02111-1307, USA. */ #include /* The number of keystrokes between auto-saves. */ -static int auto_save_interval; +static Fixnum auto_save_interval; Lisp_Object Qundefined_keystroke_sequence; @@ -250,7 +250,7 @@ Lisp_Object Qself_insert_defer_undo; 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) diff --git a/src/extents.c b/src/extents.c index a79f7d6..95a059b 100644 --- a/src/extents.c +++ b/src/extents.c @@ -406,7 +406,7 @@ typedef int Endpoint_Index; #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; diff --git a/src/glyphs-widget.c b/src/glyphs-widget.c index fd754c6..be7b5fa 100644 --- a/src/glyphs-widget.c +++ b/src/glyphs-widget.c @@ -150,7 +150,7 @@ check_valid_callback (Lisp_Object data) 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); } @@ -1021,6 +1021,8 @@ layout_update (Lisp_Object image_instance, Lisp_Object instantiator) /* 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); diff --git a/src/hpplay.c b/src/hpplay.c index 9036452..9499385 100644 --- a/src/hpplay.c +++ b/src/hpplay.c @@ -66,7 +66,7 @@ Boston, MA 02111-1307, USA. */ Lisp_Object Vhp_play_server; Lisp_Object Vhp_play_speaker; -int hp_play_gain; +Fixnum hp_play_gain; /* Functions */ diff --git a/src/keymap.c b/src/keymap.c index cd66cef..4aa26f7 100644 --- a/src/keymap.c +++ b/src/keymap.c @@ -189,7 +189,7 @@ static Lisp_Object Vvertical_divider_map; 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; @@ -221,9 +221,13 @@ Lisp_Object Qbutton4up, Qbutton5up, Qbutton6up, Qbutton7up; 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; @@ -1366,6 +1370,10 @@ define_key_check_and_coerce_keysym (Lisp_Object spec, *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)) @@ -1376,6 +1384,10 @@ define_key_check_and_coerce_keysym (Lisp_Object spec, *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; } } @@ -4281,11 +4293,15 @@ syms_of_keymap (void) 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"); diff --git a/src/lisp-disunion.h b/src/lisp-disunion.h index a42cad6..2343e04 100644 --- a/src/lisp-disunion.h +++ b/src/lisp-disunion.h @@ -38,28 +38,30 @@ Boston, MA 02111-1307, USA. */ 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: @@ -68,9 +70,9 @@ Boston, MA 02111-1307, USA. */ 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; diff --git a/src/lisp.h b/src/lisp.h index 2f16b85..9f04fe7 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -218,7 +218,7 @@ typedef union # 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 struct alignment_trick { char c; T member; }; +template struct alignment_trick { char c; T member; }; # define ALIGNOF(type) offsetof (alignment_trick, member) # endif #endif /* ALIGNOF */ @@ -1903,7 +1903,7 @@ extern EMACS_INT consing_since_gc; /* threshold for doing another gc */ -extern EMACS_INT gc_cons_threshold; +extern Fixnum gc_cons_threshold; /* Structure for recording stack slots that need marking */ @@ -2150,20 +2150,40 @@ void staticpro (Lisp_Object *); /* 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 *); @@ -2426,7 +2446,7 @@ Lisp_Object decode_path (const char *); 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; diff --git a/src/m/hp9000s300.h b/src/m/hp9000s300.h index 100dbed..858f5f1 100644 --- a/src/m/hp9000s300.h +++ b/src/m/hp9000s300.h @@ -52,9 +52,8 @@ NOTE-END */ /* #define CANNOT_DUMP */ -/* XEmacs: Richard Cognot 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 diff --git a/src/m/sun386.h b/src/m/sun386.h index 005ab13..26b086b 100644 --- a/src/m/sun386.h +++ b/src/m/sun386.h @@ -74,10 +74,10 @@ NOTE-END */ /* 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 diff --git a/src/mule-canna.c b/src/mule-canna.c index f9102bf..78e9eb3 100644 --- a/src/mule-canna.c +++ b/src/mule-canna.c @@ -180,13 +180,13 @@ static Lisp_Object Vcanna_kakutei_string; 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; @@ -199,7 +199,7 @@ static Lisp_Object CANNA_mode_keys (void); 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 @@ -887,149 +887,149 @@ Quit conversion. /* 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 1996/6/7 */ @@ -1896,8 +1896,8 @@ mule_strlen (unsigned char *p, int l) /* 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; diff --git a/src/mule-wnnfns.c b/src/mule-wnnfns.c index 6b40300..a393b25 100644 --- a/src/mule-wnnfns.c +++ b/src/mule-wnnfns.c @@ -321,7 +321,7 @@ Lisp_Object Vwnn_server_type; Lisp_Object Vcwnn_zhuyin; Lisp_Object Vwnnenv_sticky; Lisp_Object Vwnn_uniq_level; -int lb_sisheng; +Fixnum lb_sisheng; /* Lisp functions definition */ diff --git a/src/nt.c b/src/nt.c index 27d3ae3..0824e2a 100644 --- a/src/nt.c +++ b/src/nt.c @@ -48,7 +48,7 @@ extern Lisp_Object Vwin32_generate_fake_inodes; #endif extern Lisp_Object Vmswindows_get_true_file_attributes; -int nt_fake_unix_uid; +Fixnum nt_fake_unix_uid; static char startup_dir[ MAXPATHLEN ]; diff --git a/src/process-unix.c b/src/process-unix.c index 0063a6e..d50028e 100644 --- a/src/process-unix.c +++ b/src/process-unix.c @@ -1541,8 +1541,17 @@ unix_kill_child_process (Lisp_Object proc, int signo, /* 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. diff --git a/src/profile.c b/src/profile.c index 5f2fbf6..4d097bc 100644 --- a/src/profile.c +++ b/src/profile.c @@ -60,7 +60,7 @@ Boston, MA 02111-1307, USA. */ static struct hash_table *big_profile_table; Lisp_Object Vcall_count_profile_table; -int default_profiling_interval; +Fixnum default_profiling_interval; int profiling_active; diff --git a/src/ralloc.c b/src/ralloc.c index ea8f8f8..2938971 100644 --- a/src/ralloc.c +++ b/src/ralloc.c @@ -1438,7 +1438,7 @@ typedef struct alloc_dll 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 diff --git a/src/redisplay.c b/src/redisplay.c index 6f71812..54a39ab 100644 --- a/src/redisplay.c +++ b/src/redisplay.c @@ -300,7 +300,7 @@ static Bytecount_dynarr *formatted_string_extent_end_dynarr; /* #### probably temporary */ -int cache_adjustment; +Fixnum cache_adjustment; /* This holds a string representing the text corresponding to a single modeline % spec. */ @@ -315,10 +315,10 @@ int disable_preemption; /* Used for debugging redisplay and for 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. */ @@ -425,10 +425,10 @@ Lisp_Object Vglobal_mode_string; /* 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; @@ -451,7 +451,8 @@ Lisp_Object Vpre_redisplay_hook, Vpost_redisplay_hook; 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; diff --git a/src/regex.c b/src/regex.c index 14ce963..151e80d 100644 --- a/src/regex.c +++ b/src/regex.c @@ -4759,9 +4759,9 @@ re_match_2_internal (struct re_pattern_buffer *bufp, re_char *string1, 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. */ @@ -4770,11 +4770,11 @@ re_match_2_internal (struct re_pattern_buffer *bufp, re_char *string1, 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 */ @@ -4786,20 +4786,20 @@ re_match_2_internal (struct re_pattern_buffer *bufp, re_char *string1, 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); @@ -5269,15 +5269,15 @@ re_match_2_internal (struct re_pattern_buffer *bufp, re_char *string1, 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"); diff --git a/src/select-x.c b/src/select-x.c index e2e003f..06a16c8 100644 --- a/src/select-x.c +++ b/src/select-x.c @@ -73,7 +73,7 @@ Lisp_Object Vx_sent_selection_hooks; /* 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; diff --git a/src/select.c b/src/select.c index 9c6191a..9e6447e 100644 --- a/src/select.c +++ b/src/select.c @@ -151,6 +151,7 @@ It defaults to the selected device. 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."); @@ -180,6 +181,7 @@ It defaults to the selected device. 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); @@ -201,7 +203,10 @@ It defaults to the selected device. 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); @@ -280,7 +285,7 @@ It defaults to the selected device. 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; diff --git a/src/sound.c b/src/sound.c index fe31b7b..acb272b 100644 --- a/src/sound.c +++ b/src/sound.c @@ -50,8 +50,8 @@ extern int esd_play_sound_data (unsigned char *data, size_t length, int vol); # 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; diff --git a/src/symbols.c b/src/symbols.c index 906637c..ae1dc92 100644 --- a/src/symbols.c +++ b/src/symbols.c @@ -790,10 +790,15 @@ Set SYMBOL's property list to NEWPLIST, and return NEWPLIST. 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: @@ -1073,7 +1078,7 @@ do_symval_forwarding (Lisp_Object valcontents, struct buffer *buffer, { 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: @@ -1246,7 +1251,7 @@ store_symval_forwarding (Lisp_Object sym, Lisp_Object ovalue, 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: diff --git a/src/symeval.h b/src/symeval.h index 44a5849..141430b 100644 --- a/src/symeval.h +++ b/src/symeval.h @@ -31,7 +31,7 @@ enum symbol_value_type { /* 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 */ @@ -70,6 +70,9 @@ enum symbol_value_type #endif }; +/* Underlying C type used to implement DEFVAR_INT */ +typedef EMACS_INT Fixnum; + struct symbol_value_magic { struct lcrecord_header lcheader; @@ -345,13 +348,21 @@ void defvar_magic (const char *symbol_name, const struct symbol_value_forward *m #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) \ @@ -361,9 +372,9 @@ void defvar_magic (const char *symbol_name, const struct symbol_value_forward *m #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) \ @@ -371,7 +382,7 @@ void defvar_magic (const char *symbol_name, const struct symbol_value_forward *m #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) diff --git a/src/sysproc.h b/src/sysproc.h index fc23d27..a6b9cb3 100644 --- a/src/sysproc.h +++ b/src/sysproc.h @@ -131,7 +131,11 @@ Boston, MA 02111-1307, USA. */ #endif #ifdef HAVE_LIBUTIL_H -#include /* openpty() on BSD */ +#include /* openpty() on FreeBSD */ +#endif + +#ifdef HAVE_UTIL_H +#include /* openpty() on NetBSD */ #endif #ifdef FD_SET diff --git a/src/tparam.c b/src/tparam.c index c4b6bfd..eb7fcf2 100644 --- a/src/tparam.c +++ b/src/tparam.c @@ -30,8 +30,8 @@ Boston, MA 02111-1307, USA. */ #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 */ diff --git a/src/window.c b/src/window.c index a3ad1b1..ccddef8 100644 --- a/src/window.c +++ b/src/window.c @@ -111,14 +111,14 @@ Lisp_Object Vtemp_buffer_show_function; 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]; @@ -4331,7 +4331,7 @@ window_scroll (Lisp_Object window, Lisp_Object count, int direction, && 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); diff --git a/tests/ChangeLog b/tests/ChangeLog index 877dc91..7a7f6da 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,7 @@ +2001-02-08 Martin Buchholz + + * XEmacs 21.2.44 "Thalia" is released. + 2001-01-26 Martin Buchholz * XEmacs 21.2.43 "Terspichore" is released. diff --git a/version.sh b/version.sh index a9e37c3..336189a 100644 --- a/version.sh +++ b/version.sh @@ -2,8 +2,8 @@ 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 -- 1.7.10.4