# This is a patch for xemacs-21.5.16 to update it to xemacs-21.5.17 # # To apply this patch: # STEP 1: Chdir to the source directory. # STEP 2: Run the 'applypatch' program with this patch file as input. # # If you do not have 'applypatch', it is part of the 'makepatch' package # that you can fetch from the Comprehensive Perl Archive Network: # http://www.perl.com/CPAN/authors/Johan_Vromans/makepatch-x.y.tar.gz # In the above URL, 'x' should be 2 or higher. # # To apply this patch without the use of 'applypatch': # STEP 1: Chdir to the source directory. # If you have a decent Bourne-type shell: # STEP 2: Run the shell with this file as input. # If you don't have such a shell, you may need to manually create # the files as shown below. # STEP 3: Run the 'patch' program with this file as input. # # These are the commands needed to create/delete files/directories: # touch './src/compiler.h' chmod 0644 './src/compiler.h' # # This command terminates the shell and need not be executed manually. exit # #### End of Preamble #### #### Patch data follows #### diff --text -u 'xemacs-21.5.16/CHANGES-beta' 'xemacs-21.5.17/CHANGES-beta' Index: ./CHANGES-beta --- ./CHANGES-beta Fri Sep 26 14:56:29 2003 +++ ./CHANGES-beta Mon Mar 22 16:55:40 2004 @@ -1,3 +1,79 @@ +to 21.5.17 "chayote" + +Build + +-- New: configure reports cc and libc versions - Kletnieks, Turnbull. +-- New: configure supports icc - James. +-- New: configure supports typeof extension - James. +-- New: use XCFLAGS to allow different flags for XEMACS_CC - Turnbull. +-- Improve: module build process - James.-- Fix: compiler warnings - Turnbull. +-- Fix: configure CFLAGS detection - James, Turnbull. +-- Fix: configure arg parsing on Solaris - Niksic, Shelton, Turnbull. +-- Fix: configure warning and progress messages - Turnbull. +-- Fix: force regeneration of Lisp on every build - Turnbull. +-- Fix: minitar compiler warnings, errors - Aichner. +-- Fix: mislocation of installexe.sh - James. +-- Fix: missing $(ldflags) in libsrc - James. +-- Fix: remove dead references to GNU DLD - James. +-- Fix: remove obsolete makefile cruft - Turnbull. + +Documentation + +-- Improve: charset registry docs - Golubev. +-- Improve: specifier and internals docs - Turnbull. +-- Improve: test-harness reporting - Aichner, Shelton, Turnbull. +-- New: weak data structure testing - Kaltenbach. +-- Remove: own photos and personal information - Youngs. +-- Update: library versions in Windows docs - James. +-- Update: package list - Koch. +-- Fix: TeXinfo syntax - Golubev, Turnbull. +-- Fix: clarifications - Turnbull. +-- Fix: typos - Aichner, Golubev, Turnbull. +-- Fix: workaround version issues in NAS headers - Turnbull. + +Lisp API + +-- New: device-num-screens, device-backing-store, device-save-under, + add-to-invisibility-spec, remove-from-invisibility-spec - James. +-- New: lazy (widget), widget-child-value-get, widget-child-value-inline, + widget-child-validate, widget-type-value-create, widget-type-default-get, + widget-type-match - Abrahamsen, Youngs. +-- New: package-get-list-packages-where - Youngs. +-- New: pui-display-maintainer command - Youngs. +-- New: pui-help-echo displays both installed and available versions - Youngs. +-- Synch: frame.el to GNU Emacs 21.3 - James. +-- Fix: cl-do-prettyprint formatting of prog* - Youngs. +-- Fix: update coding system name usage - James. + +Internals + +-- Improve: KKCC - Kaltenbach. +-- Improve: compiler.h for use with modules - James. +-- Improve: make QUIT-related APIs visible to modules - James. +-- New: support more device metrics on X11 - James. +-- New: support symbols in Darwin shared libraries - Purvis. +-- New: widget-default-create uses char-table - Haddock. +-- New: xfree gets a type parameter for error-checking - James. +-- Fix: (remove) duplicated code - James. +-- Fix: GCPRO_STACK in byte interpreter - Turnbull. +-- Fix: GTK marshalling code - Purvis. +-- Fix: aliasing problems - Turnbull. +-- Fix: bad interaction in initialization of args with pdumper - Benson. +-- Fix: bit fields need to be unsigned in unicode detectors - James. +-- Fix: coding system for GPG verification - Youngs. +-- Fix: hard-coded options to use APIs - Pakoulin. +-- Fix: improper use of XSetArg in frame-x.c - Turnbull. +-- Fix: lstream close code - Euler. +-- Fix: paragraph detection in Japanese - Yamaoka, Turnbull. +-- Fix: regexps using \{ - Monnier, Turnbull. +-- Fix: set dirty flag in mirror window at proper time - Galibert. +-- Fix: several missing GC wrappers which caused crashes - James. +-- Fix: some GCPROed variables were declared register - McPherson. +-- Fix: stale info in realpath computation - James. +-- Fix: two infloops in GC - James. +-- Fix: usage of prin1 and princ in help - Eide, Shelton. + + to 21.5.16 "celeriac" Build diff --text -u 'xemacs-21.5.16/ChangeLog' 'xemacs-21.5.17/ChangeLog' Index: ./ChangeLog --- ./ChangeLog Fri Sep 26 14:56:29 2003 +++ ./ChangeLog Mon Mar 22 17:12:48 2004 @@ -1,3 +1,59 @@ +2004-03-22 Stephen J. Turnbull + + * XEmacs 21.5.17 "chayote" is released. + +2004-03-18 Stephen J. Turnbull + + * configure.in (Compiler feature macros): Define _POSIX_C_SOURCE + for FreeBSD 4.9 to shut up viteno's compiler, and _XOPEN_SOURCE to + 500 since apparently we'll use it if available. + +2004-03-05 Stephen J. Turnbull + + * configure.in (libc detection): Fix progress message. + +2004-02-21 Stephen J. Turnbull + + * configure.in (CFLAGS): Do XE_CFLAGS before adding warning flags to + CFLAGS. Thanks to Jerry James for reporting the bug. + +2004-02-18 Stephen J. Turnbull + + * configure.in (AC_INIT_PARSE_ARGS): Use Solaris-compatible `for'. + Thanks to Vin Shelton for noticing the bug, and Hrvoje Niksic for + the more elegant fix. + +2004-01-28 Stephen J. Turnbull + + * configure.in: Use XE_CFLAGS for XEMACS_CC. + Kludge: warn about CC and XEMACS_CC not from same vendor (gcc only). + Various comment fixups. + Delete dead code for finding srcdir. + + * Makefile.in.in (clean): Force deletion of generated Lisp load files. + +2003-11-06 Stephen J. Turnbull + + * configure.in: Report cc and libc version info. Detection code + by Valdis Kletnieks . Tweaked for Debian. + +2004-01-20 Jerry James + + * configure.in: The icc compiler pretends to be gcc. It isn't. + +2003-11-18 Jerry James + + * configure.in: Check for the typeof extension. + +2003-10-15 Jerry James + + * aclocal.m4: Add icc (Intel compiler) support. + * configure.in: Ditto. + +2003-10-11 Jerry James + + * configure.in: installexe.sh is under srcdir, not blddir. + 2003-09-26 Steve Youngs * XEmacs 21.5.16 "celeriac" is released. diff --text -u 'xemacs-21.5.16/Makefile.in.in' 'xemacs-21.5.17/Makefile.in.in' Index: ./Makefile.in.in --- ./Makefile.in.in Tue Aug 19 11:11:47 2003 +++ ./Makefile.in.in Wed Jan 28 20:20:34 2004 @@ -532,8 +532,15 @@ ## with them. ## Delete `.dvi' files here if they are not part of the distribution. + +## Remove the generated load files here; they cause lots of problems +## when they don't work right. (beta can't depend on distclean, which +## removes necessary files generated by configure.) clean: FRC.clean for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done + $(RM) core lisp/auto-autoloads.el* lisp/custom-load.el* + $(RM) lisp/mule/auto-autoloads.el* lisp/mule/custom-load.el* + $(RM) modules/auto-autoloads.el* modules/custom-load.el* ## `distclean' ## Delete all files from the current directory that are created by diff --text -u 'xemacs-21.5.16/aclocal.m4' 'xemacs-21.5.17/aclocal.m4' Index: ./aclocal.m4 --- ./aclocal.m4 Fri Sep 12 11:02:07 2003 +++ ./aclocal.m4 Fri Oct 17 04:44:34 2003 @@ -84,7 +84,7 @@ wl= can_build_shared=yes -if test "$XEGCC" = yes; then +if test "$XEGCC" = yes -o "$__ICC" = yes; then wl='-Wl,' case "$xehost_os" in @@ -246,7 +246,7 @@ xldf= xcldf= AC_MSG_CHECKING(if C compiler can produce shared libraries) -if test "$XEGCC" = yes; then +if test "$XEGCC" = yes -o "$__ICC" = yes; then case "$xehost_os" in *darwin*) xcldf='-bundle' diff --text -u 'xemacs-21.5.16/configure' 'xemacs-21.5.17/configure' Index: ./configure --- ./configure Mon Sep 22 12:22:14 2003 +++ ./configure Mon Mar 22 17:12:48 2004 @@ -62,10 +62,11 @@ if test -n "$CDPATH"; then CDPATH="."; export CDPATH; fi fi -for xe_parse_arg in ""; do +for xe_parse_arg +do case $xe_parse_arg in --srcdir) (echo "$progname: Usage error:" -echo " " "The \`--srcdir' option requires a boolean value: \`yes' or \`no'." +echo " " "The \`--srcdir' option requires a string value." echo " Use \`$progname --help' to show usage.") >&2 && exit 1 ;; --srcdir=*) srcdir=`echo $xe_parse_arg | sed -e 's/--srcdir=//'` ;; *) ;; @@ -89,7 +90,8 @@ x_libraries=NONE subdirs= -MFLAGS= MAKEFLAGS= +MFLAGS= +MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} ac_max_here_lines=12 @@ -213,6 +215,7 @@ fi + progname="`echo $0 | sed 's:^\./\./:\./:'`" @@ -292,8 +295,7 @@ arg="$1"; shift case "$arg" in --no-create|--no-recursion) ;; - --srcdir=*) ;; - -* ) + --srcdir=*) ;; -* ) case "$arg" in -*=*) opt=`echo '' $arg | sed -e 's:^ ::' -e 's:^-*\([^=]*\)=.*$:\1:'` @@ -600,7 +602,6 @@ done ;; - prefix | exec_prefix | bindir | datadir | statedir | libdir | \ mandir | infodir | infopath | lispdir | etcdir | \ archlibdir | docdir | package_path | moduledir ) @@ -823,40 +824,6 @@ fi -case "$srcdir" in - - "" ) - for dir in "`echo $0 | sed 's|//|/|' | sed 's|/[^/]*$||'`" "." ".." ; do - if test -f "$dir/src/lisp.h" -a \ - -f "$dir/lisp/version.el" ; then - srcdir="$dir" - break - fi - done - if test -z "$srcdir" ; then - (echo "$progname: Usage error:" -echo " " "None of the path to configure, the current directory, - and its parent seem to contain the XEmacs sources. If you do not want - to build XEmacs in its source tree, you should run \`$progname' in the - directory in which you wish to build XEmacs, using the \`--srcdir' option - to say where the sources may be found." -echo " Use \`$progname --help' to show usage.") >&2 && exit 1 - fi - ;; - - * ) - if test ! -f "$srcdir/src/lisp.h" -o \ - ! -f "$srcdir/lisp/version.el" ; then - (echo "$progname: Usage error:" -echo " " "The directory specified with the \`--srcdir' option, - \`$srcdir', doesn't seem to contain the XEmacs sources. You should - either run the \`$progname' script at the top of the XEmacs source - tree, or use the \`--srcdir' option to specify the XEmacs source directory." -echo " Use \`$progname --help' to show usage.") >&2 && exit 1 - fi - ;; -esac - if test -z "$configuration"; then configuration=`${CONFIG_SHELL-/bin/sh} $srcdir/config.guess` if test -z "$configuration"; then @@ -868,7 +835,7 @@ fi echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -echo "configure:872: 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 @@ -983,7 +950,7 @@ EOF } -if test "X$xemacs_extra_name" != "X"; then +if test "$xemacs_extra_name" != ""; then { test "$extra_verbose" = "yes" && cat << EOF Defining XEMACS_EXTRA_NAME = "$xemacs_extra_name" EOF @@ -1154,7 +1121,7 @@ echo $ac_n "checking "host system type"""... $ac_c" 1>&6 -echo "configure:1158: checking "host system type"" >&5 +echo "configure:1125: 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/'` @@ -1692,7 +1659,7 @@ # 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:1696: checking for $ac_word" >&5 +echo "configure:1663: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1719,7 +1686,7 @@ # 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:1723: checking for $ac_word" >&5 +echo "configure:1690: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1767,7 +1734,7 @@ # 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:1771: checking for $ac_word" >&5 +echo "configure:1738: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1796,7 +1763,7 @@ fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1800: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1767: 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' @@ -1809,12 +1776,12 @@ cat > conftest.$ac_ext << EOF -#line 1813 "configure" +#line 1780 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:1818: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1785: \"$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 @@ -1842,19 +1809,19 @@ { 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:1846: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1813: 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:1851: checking whether we are using GNU C" >&5 +echo "configure:1818: 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:1825: \"$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 @@ -1872,7 +1839,7 @@ ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1876: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1843: checking whether ${CC-cc} accepts -g" >&5 echo 'void f(){}' > conftest.c if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then @@ -1905,7 +1872,7 @@ # 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:1909: checking for $ac_word" >&5 +echo "configure:1876: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1932,7 +1899,7 @@ # 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:1936: checking for $ac_word" >&5 +echo "configure:1903: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1980,7 +1947,7 @@ # 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:1984: checking for $ac_word" >&5 +echo "configure:1951: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -2009,7 +1976,7 @@ fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:2013: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1980: 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' @@ -2022,12 +1989,12 @@ cat > conftest.$ac_ext << EOF -#line 2026 "configure" +#line 1993 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:2031: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1998: \"$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 @@ -2055,19 +2022,19 @@ { 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:2059: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:2026: 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:2064: checking whether we are using GNU C" >&5 +echo "configure:2031: 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:2038: \"$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 @@ -2085,7 +2052,7 @@ ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:2089: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:2056: checking whether ${CC-cc} accepts -g" >&5 echo 'void f(){}' > conftest.c if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then @@ -2118,7 +2085,7 @@ # 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:2122: checking for $ac_word" >&5 +echo "configure:2089: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -2145,7 +2112,7 @@ # 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:2149: checking for $ac_word" >&5 +echo "configure:2116: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -2193,7 +2160,7 @@ # 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:2197: checking for $ac_word" >&5 +echo "configure:2164: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -2222,7 +2189,7 @@ fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:2226: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:2193: 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' @@ -2235,12 +2202,12 @@ cat > conftest.$ac_ext << EOF -#line 2239 "configure" +#line 2206 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:2244: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2211: \"$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 @@ -2268,19 +2235,19 @@ { 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:2272: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:2239: 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:2277: checking whether we are using GNU C" >&5 +echo "configure:2244: 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:2251: \"$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 @@ -2298,7 +2265,7 @@ ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:2302: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:2269: checking whether ${CC-cc} accepts -g" >&5 echo 'void f(){}' > conftest.c if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then @@ -2331,7 +2298,7 @@ if test "$GCC" = "yes"; then cat > conftest.$ac_ext <= 3 @@ -2341,7 +2308,7 @@ #endif } EOF -if { (eval echo configure:2345: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:2312: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then : else @@ -2357,12 +2324,17 @@ fi + +test -n "$xemacs_compiler" && XEMACS_CC="$xemacs_compiler" +: ${XEMACS_CC:="$CC"} + + 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:2366: checking how to run the C preprocessor" >&5 +echo "configure:2338: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -2375,13 +2347,13 @@ # 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:2385: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2357: \"$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 : @@ -2392,13 +2364,13 @@ 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:2402: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2374: \"$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 : @@ -2409,13 +2381,13 @@ 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:2419: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2391: \"$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 : @@ -2441,9 +2413,9 @@ echo $ac_n "checking for AIX""... $ac_c" 1>&6 -echo "configure:2445: checking for AIX" >&5 +echo "configure:2417: checking for AIX" >&5 cat > conftest.$ac_ext <&6 -echo "configure:2474: checking for GNU libc" >&5 +echo "configure:2446: checking for GNU libc" >&5 cat > conftest.$ac_ext < int main() { @@ -2484,7 +2456,7 @@ ; return 0; } EOF -if { (eval echo configure:2488: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2460: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* have_glibc=yes else @@ -2541,7 +2513,7 @@ EOF } - { test "$extra_verbose" = "yes" && cat << \EOF + { test "$extra_verbose" = "yes" && cat << \EOF Defining _XOPEN_SOURCE = 500 EOF cat >> confdefs.h <<\EOF @@ -2558,10 +2530,28 @@ } ;; + freebsd4.9) + { test "$extra_verbose" = "yes" && cat << \EOF + Defining _POSIX_C_SOURCE = 199506L +EOF +cat >> confdefs.h <<\EOF +#define _POSIX_C_SOURCE 199506L +EOF +} + + { test "$extra_verbose" = "yes" && cat << \EOF + Defining _XOPEN_SOURCE = 500 +EOF +cat >> confdefs.h <<\EOF +#define _XOPEN_SOURCE 500 +EOF +} + + ;; esac cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:2571: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then : else @@ -2584,9 +2576,11 @@ cat conftest.$ac_ext >&5 rm -fr conftest* case "$conftest_rc" in - 11) echo "You appear to be using the SunPro C compiler."; __SUNPRO_C=yes ;; - 12) echo "You appear to be using the DEC C compiler." ; __DECC=yes ;; - 13) echo "You appear to be using the SCO C compiler." ; __USLC__=yes ;; + 11) echo "You appear to be using the SunPro C compiler." ; __SUNPRO_C=yes ;; + 12) echo "You appear to be using the DEC C compiler." ; __DECC=yes ;; + 13) echo "You appear to be using the SCO C compiler." ; __USLC__=yes ;; + 14) echo "You appear to be using the Intel C++ compiler."; __ICC=yes + GCC=no ;; esac fi rm -fr conftest* @@ -2827,17 +2821,17 @@ if test "$__USLC__" = yes; then echo $ac_n "checking for whether the -Kalloca compiler flag is needed""... $ac_c" 1>&6 -echo "configure:2831: checking for whether the -Kalloca compiler flag is needed" >&5 +echo "configure:2825: 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:2835: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* : else @@ -2848,14 +2842,14 @@ 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:2853: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* need_kalloca=yes else @@ -2870,10 +2864,23 @@ test "$need_kalloca" = "yes" && c_switch_system="$c_switch_system -Kalloca" && if test "$extra_verbose" = "yes"; then echo " Appending \"-Kalloca\" to \$c_switch_system"; fi fi +if test "$CC" != "$XEMACS_CC"; then + if test "$XEMACS_CC" = "g++" -a "$GCC" != "yes"; then + echo "configure: warning: CC and g++ are mismatched; XE_CFLAGS may be wrong" 1>&2 + xemacs_cc_cc_mismatch=yes + elif test -n "$GCC" -a "$XEMACS_CC" != "g++"; then + echo "configure: warning: gcc and XEMACS_CC are mismatched; XE_CFLAGS may be wrong" 1>&2 + xemacs_cc_cc_mismatch=yes + else + xemacs_cc_cc_mismatch=no + fi +fi + + if test "$cflags_specified" = "no"; then if test "$GCC" = "yes"; then CFLAGS="-g -O3" - elif test "$__SUNPRO_C" = "yes"; then + elif test "$__SUNPRO_C" = "yes"; then case "$opsys" in sol2 ) CFLAGS="-xO4" ;; sunos4* ) CFLAGS="-xO2" ;; @@ -2882,40 +2889,46 @@ CFLAGS="-O3" elif test "$CC" = "xlc"; then CFLAGS="-g -O3 -qstrict -qnoansialias -qlibansi -qro -qmaxmem=20000" + elif test "$__ICC" = "yes"; then + CFLAGS="-g -O3 -Ob2" else CFLAGS="-O" ; fi fi +xe_cflags_warning="" + if test "$cflags_warning_specified" = "no"; then - if test "$GCC" = "yes"; then + if test "$__SUNPRO_C" = "yes"; then + case "$opsys" in + sol2 ) cflags_warning="-v" ;; + esac + elif test "$CC" = "xlc"; then + cflags_warning="-qinfo" + elif test "$GCC" = "yes"; then cflags_warning="-Wall -Wno-switch -Winline -Wmissing-prototypes" cflags_warning="$cflags_warning -Wsign-compare" - cflags_warning="$cflags_warning -Wundef -Wstrict-prototypes" + cflags_warning="$cflags_warning -Wundef -Wstrict-prototypes" if test "$__GCC3" = "yes"; then cflags_warning="$cflags_warning -Wpacked" fi - if test "$xemacs_compiler" != "g++"; then - cflags_warning="$cflags_warning -Wshadow -Wmissing-declarations" - else - cflags_warning="$cflags_warning -Weffc++" - fi + test "$xemacs_compiler" = "g++" && \ + xe_cflags_warning="$cflags_warning -Weffc++" + cflags_warning="$cflags_warning -Wshadow -Wmissing-declarations" test "$have_glibc" != "yes" && \ cflags_warning="$cflags_warning -Wpointer-arith" - elif test "$__SUNPRO_C" = "yes"; then - case "$opsys" in - sol2 ) cflags_warning="-v" ;; - esac - elif test "$CC" = "xlc"; then - cflags_warning="-qinfo" - fi + elif test "$__ICC" = "yes"; then + cflags_warning="-Wall -w1" + fi fi +test -z "xe_cflags_warning" && xe_cflags_warning=cflags_warning +XE_CFLAGS="$xe_cflags_warning $CFLAGS" CFLAGS="$cflags_warning $CFLAGS" if test "$GCC" = "yes"; then echo $ac_n "checking for buggy gcc versions""... $ac_c" 1>&6 -echo "configure:2919: checking for buggy gcc versions" >&5 +echo "configure:2932: 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.*) @@ -2973,7 +2986,7 @@ if test "$pdump" != "yes"; then echo $ac_n "checking for \"-z nocombreloc\" linker flag""... $ac_c" 1>&6 -echo "configure:2977: checking for \"-z nocombreloc\" linker flag" >&5 +echo "configure:2990: checking for \"-z nocombreloc\" linker flag" >&5 case "`ld --help 2>&1`" in *-z\ nocombreloc* ) echo "$ac_t""yes" 1>&6 ld_switch_site="-z nocombreloc $ld_switch_site" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-z nocombreloc\" to \$ld_switch_site"; fi ;; @@ -3062,7 +3075,7 @@ fi echo $ac_n "checking for dynodump""... $ac_c" 1>&6 -echo "configure:3066: checking for dynodump" >&5 +echo "configure:3079: checking for dynodump" >&5 if test "$unexec" != "unexsol2.o"; then echo "$ac_t""no" 1>&6 else @@ -3100,12 +3113,12 @@ done echo $ac_n "checking for terminateAndUnload in -lC""... $ac_c" 1>&6 -echo "configure:3104: checking for terminateAndUnload in -lC" >&5 +echo "configure:3117: 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:3133: \"$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 @@ -3153,6 +3166,103 @@ +compiler_version="" +gcc_compiler_specs="" +libc_version="" + +echo $ac_n "checking for compiler version information""... $ac_c" 1>&6 +echo "configure:3175: checking for compiler version information" >&5 + +if test "$GCC" = "yes"; then + compiler_version=`$XEMACS_CC --version | head -1` + gcc_compiler_specs=`$XEMACS_CC -v 2>&1 | sed 's/.* \([^ ]\)/\1/' | head -1` +else case "$XEMACS_CC" in + icc*) + compiler_version=`icc -V 2>&1 | head -1` + ;; + *) case "$canonical" in + *-*-aix* ) + realcc=`which $XEMACS_CC` + if test -L $realcc ; then + ccdir=`dirname $realcc` + ccprog=`/bin/ls -l $realcc | sed 's/.* \([^ ]\)/\1/'` + case $ccprog in + */*) realcc=$ccprog;; + *) realcc=$ccdir/$ccprog;; + esac + fi + lpp=`lslpp -wqc $realcc | cut -f2 -d:` + if test ! -z "$lpp" ; then + lppstr=`lslpp -Lqc $lpp` + lpplev=`echo "$lppstr" | cut -f3 -d:` + lppdesc=`echo "$lppstr" | cut -f8 -d:` + fi + if test ! -z "$lpplev" ; then + compiler_version="$lpp $lpplev - $lppdesc" + fi + ;; + + *-*-solaris*) + compiler_version=`$XEMACS_CC -V 2>&1 | head -1` + ;; + + alpha*-dec-osf*) + compiler_version=`$XEMACS_CC -V | tr '\n' ' '` + ;; + + mips-sgi-irix*) + compiler_version=`$XEMACS_CC -version` + ;; + esac + esac +fi + +if test -z "$compiler_version"; then + compiler_version="detection failed (please report this)" +fi + +echo $ac_n "checking for standard C library version information""... $ac_c" 1>&6 +echo "configure:3226: checking for standard C library version information" >&5 + +case "$canonical" in + *-*-linux*) + if test -f /etc/redhat-release ; then + libc_version=`rpm -q glibc` + elif test -f /etc/debian_version ; then + libc_version=`dpkg-query --showformat='${version}' --show libc6` + libc_version="GNU libc $libc_version (Debian)" + fi + if test -z "$libc_version"; then + libc_version=`ls /lib/libc-*.so | sed -e 's,/lib/libc-\(.*\)\.so,\1,'` + fi + ;; + + *-*-aix*) + libc_version="bos.rte.libc `lslpp -Lqc bos.rte.libc | cut -f3 -d:`" + ;; + + *-*-solaris*) + libc=`pkginfo -l SUNWcsl | grep VERSION: | awk '{print $2}'` + libc_version="SUNWcsl $libc" + + ;; + + mips-sgi-irix*) + libc_version="IRIX libc `uname -sRm`" + ;; + + alpha*-dec-osf*) + (cd /usr/.smdb.; + libc_version=` grep -h libc.so *.inv | awk '$9 == "f" {print $12}' | tr '\n' ','` + ) + ;; +esac + +if test -z "libc_version"; then + libc_version="detection failed (please report this)" +fi + + case "$site_libraries" in *:* ) site_libraries="`echo '' $site_libraries | sed -e 's/^ //' -e 's/:/ /g'`";; esac if test -n "$site_libraries"; then @@ -3224,7 +3334,7 @@ if test "$add_runtime_path" = "yes"; then echo $ac_n "checking "for runtime libraries flag"""... $ac_c" 1>&6 -echo "configure:3228: checking "for runtime libraries flag"" >&5 +echo "configure:3338: checking "for runtime libraries flag"" >&5 case "$opsys" in sol2 ) dash_r="-R" ;; decosf* | linux* | irix*) dash_r="-rpath " ;; @@ -3246,14 +3356,14 @@ done fi cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3367: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* dash_r="$try_dash_r" else @@ -3354,10 +3464,10 @@ fi after_morecore_hook_exists=yes echo $ac_n "checking for malloc_set_state""... $ac_c" 1>&6 -echo "configure:3358: checking for malloc_set_state" >&5 +echo "configure:3468: 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:3494: \"$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 @@ -3400,16 +3510,16 @@ fi echo $ac_n "checking whether __after_morecore_hook exists""... $ac_c" 1>&6 -echo "configure:3404: checking whether __after_morecore_hook exists" >&5 +echo "configure:3514: 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:3523: \"$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 @@ -3465,7 +3575,7 @@ # 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:3469: checking for $ac_word" >&5 +echo "configure:3579: checking for $ac_word" >&5 if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. @@ -3520,7 +3630,7 @@ # 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:3524: checking for a BSD compatible install" >&5 +echo "configure:3634: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":" @@ -3574,7 +3684,7 @@ # 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:3578: checking for $ac_word" >&5 +echo "configure:3688: checking for $ac_word" >&5 if test -n "$YACC"; then ac_cv_prog_YACC="$YACC" # Let the user override the test. @@ -3606,15 +3716,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3610: checking for $ac_hdr" >&5 +echo "configure:3720: 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:3618: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3728: \"$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* @@ -3644,10 +3754,10 @@ done echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 -echo "configure:3648: checking for sys/wait.h that is POSIX.1 compatible" >&5 +echo "configure:3758: checking for sys/wait.h that is POSIX.1 compatible" >&5 cat > conftest.$ac_ext < #include @@ -3663,7 +3773,7 @@ s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } EOF -if { (eval echo configure:3667: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3777: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_sys_wait_h=yes else @@ -3687,10 +3797,10 @@ fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:3691: checking for ANSI C header files" >&5 +echo "configure:3801: checking for ANSI C header files" >&5 cat > conftest.$ac_ext < #include @@ -3698,7 +3808,7 @@ #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3702: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3812: \"$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* @@ -3715,7 +3825,7 @@ if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -3733,7 +3843,7 @@ if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -3751,7 +3861,7 @@ 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') @@ -3762,7 +3872,7 @@ exit (0); } EOF -if { (eval echo configure:3766: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:3876: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then : else @@ -3788,10 +3898,10 @@ fi echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:3792: checking whether time.h and sys/time.h may both be included" >&5 +echo "configure:3902: checking whether time.h and sys/time.h may both be included" >&5 cat > conftest.$ac_ext < #include @@ -3800,7 +3910,7 @@ struct tm *tp; ; return 0; } EOF -if { (eval echo configure:3804: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3914: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else @@ -3824,10 +3934,10 @@ fi echo $ac_n "checking for sys_siglist declaration in signal.h or unistd.h""... $ac_c" 1>&6 -echo "configure:3828: checking for sys_siglist declaration in signal.h or unistd.h" >&5 +echo "configure:3938: checking for sys_siglist declaration in signal.h or unistd.h" >&5 cat > conftest.$ac_ext < #include @@ -3839,7 +3949,7 @@ char *msg = *(sys_siglist + 1); ; return 0; } EOF -if { (eval echo configure:3843: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3953: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_decl_sys_siglist=yes else @@ -3865,9 +3975,9 @@ echo $ac_n "checking for utime""... $ac_c" 1>&6 -echo "configure:3869: checking for utime" >&5 +echo "configure:3979: checking for utime" >&5 cat > conftest.$ac_ext < #include @@ -3875,7 +3985,7 @@ struct utimbuf x; x.actime = x.modtime = 0; utime ("/", &x); ; return 0; } EOF -if { (eval echo configure:3879: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3989: \"$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 @@ -3894,10 +4004,10 @@ for ac_func in utimes do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3898: checking for $ac_func" >&5 +echo "configure:4008: 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:4034: \"$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 @@ -3952,10 +4062,10 @@ echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:3956: checking return type of signal handlers" >&5 +echo "configure:4066: checking return type of signal handlers" >&5 cat > conftest.$ac_ext < #include @@ -3972,7 +4082,7 @@ int i; ; return 0; } EOF -if { (eval echo configure:3976: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4086: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else @@ -3994,10 +4104,10 @@ echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:3998: checking for size_t" >&5 +echo "configure:4108: checking for size_t" >&5 cat > conftest.$ac_ext < #if STDC_HEADERS @@ -4028,10 +4138,10 @@ fi echo $ac_n "checking for pid_t""... $ac_c" 1>&6 -echo "configure:4032: checking for pid_t" >&5 +echo "configure:4142: checking for pid_t" >&5 cat > conftest.$ac_ext < #if STDC_HEADERS @@ -4062,10 +4172,10 @@ fi echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6 -echo "configure:4066: checking for uid_t in sys/types.h" >&5 +echo "configure:4176: checking for uid_t in sys/types.h" >&5 cat > conftest.$ac_ext < EOF @@ -4101,10 +4211,10 @@ fi echo $ac_n "checking for mode_t""... $ac_c" 1>&6 -echo "configure:4105: checking for mode_t" >&5 +echo "configure:4215: checking for mode_t" >&5 cat > conftest.$ac_ext < #if STDC_HEADERS @@ -4135,10 +4245,10 @@ fi echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:4139: checking for off_t" >&5 +echo "configure:4249: checking for off_t" >&5 cat > conftest.$ac_ext < #if STDC_HEADERS @@ -4169,10 +4279,10 @@ fi echo $ac_n "checking for ssize_t""... $ac_c" 1>&6 -echo "configure:4173: checking for ssize_t" >&5 +echo "configure:4283: checking for ssize_t" >&5 cat > conftest.$ac_ext < #if STDC_HEADERS @@ -4205,9 +4315,9 @@ if test "$ac_cv_header_inttypes_h" != "yes"; then echo $ac_n "checking for intptr_t in sys/types.h""... $ac_c" 1>&6 -echo "configure:4209: checking for intptr_t in sys/types.h" >&5 +echo "configure:4319: checking for intptr_t in sys/types.h" >&5 cat > conftest.$ac_ext < intptr_t x; @@ -4216,7 +4326,7 @@ ; return 0; } EOF -if { (eval echo configure:4220: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4330: \"$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 @@ -4237,9 +4347,9 @@ fi echo $ac_n "checking for socklen_t""... $ac_c" 1>&6 -echo "configure:4241: checking for socklen_t" >&5 +echo "configure:4351: checking for socklen_t" >&5 cat > conftest.$ac_ext < #include @@ -4249,7 +4359,7 @@ ; return 0; } EOF -if { (eval echo configure:4253: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4363: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 else @@ -4258,7 +4368,7 @@ rm -rf conftest* cat > conftest.$ac_ext < #include @@ -4268,7 +4378,7 @@ ; return 0; } EOF -if { (eval echo configure:4272: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4382: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""size_t" 1>&6 @@ -4300,9 +4410,9 @@ rm -f conftest* echo $ac_n "checking for struct timeval""... $ac_c" 1>&6 -echo "configure:4304: checking for struct timeval" >&5 +echo "configure:4414: checking for struct timeval" >&5 cat > conftest.$ac_ext < @@ -4318,7 +4428,7 @@ static struct timeval x; x.tv_sec = x.tv_usec; ; return 0; } EOF -if { (eval echo configure:4322: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4432: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 HAVE_TIMEVAL=yes @@ -4340,10 +4450,10 @@ rm -f conftest* echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6 -echo "configure:4344: checking whether struct tm is in sys/time.h or time.h" >&5 +echo "configure:4454: checking whether struct tm is in sys/time.h or time.h" >&5 cat > conftest.$ac_ext < #include @@ -4351,7 +4461,7 @@ struct tm *tp; tp->tm_sec; ; return 0; } EOF -if { (eval echo configure:4355: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4465: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm=time.h else @@ -4375,10 +4485,10 @@ fi echo $ac_n "checking for tm_zone in struct tm""... $ac_c" 1>&6 -echo "configure:4379: checking for tm_zone in struct tm" >&5 +echo "configure:4489: checking for tm_zone in struct tm" >&5 cat > conftest.$ac_ext < #include <$ac_cv_struct_tm> @@ -4386,7 +4496,7 @@ struct tm tm; tm.tm_zone; ; return 0; } EOF -if { (eval echo configure:4390: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4500: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm_zone=yes else @@ -4409,10 +4519,10 @@ else echo $ac_n "checking for tzname""... $ac_c" 1>&6 -echo "configure:4413: checking for tzname" >&5 +echo "configure:4523: checking for tzname" >&5 cat > conftest.$ac_ext < #ifndef tzname /* For SGI. */ @@ -4422,7 +4532,7 @@ atoi(*tzname); ; return 0; } EOF -if { (eval echo configure:4426: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4536: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_var_tzname=yes else @@ -4448,10 +4558,10 @@ echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:4452: checking for working const" >&5 +echo "configure:4562: checking for working const" >&5 cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4614: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -4525,7 +4635,7 @@ echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:4529: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:4639: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` cat > conftestmake <<\EOF @@ -4550,12 +4660,12 @@ echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6 -echo "configure:4554: checking whether byte ordering is bigendian" >&5 +echo "configure:4664: 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 @@ -4566,11 +4676,11 @@ #endif ; return 0; } EOF -if { (eval echo configure:4570: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4680: \"$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 @@ -4581,7 +4691,7 @@ #endif ; return 0; } EOF -if { (eval echo configure:4585: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4695: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_bigendian=yes else @@ -4598,7 +4708,7 @@ 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:4725: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_c_bigendian=no else @@ -4638,21 +4748,22 @@ echo $ac_n "checking size of short""... $ac_c" 1>&6 -echo "configure:4642: checking size of short" >&5 +echo "configure:4752: checking size of short" >&5 cat > conftest.$ac_ext < -int main() +#include +main() { FILE *f=fopen("conftestval", "w"); - if (!f) return(1); + if (!f) exit(1); fprintf(f, "%d\n", sizeof(short)); - return(0); + exit(0); } EOF -if { (eval echo configure:4656: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:4767: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_sizeof_short=`cat conftestval` else @@ -4680,21 +4791,22 @@ exit 1 fi echo $ac_n "checking size of int""... $ac_c" 1>&6 -echo "configure:4684: checking size of int" >&5 +echo "configure:4795: checking size of int" >&5 cat > conftest.$ac_ext < -int main() +#include +main() { FILE *f=fopen("conftestval", "w"); - if (!f) return(1); + if (!f) exit(1); fprintf(f, "%d\n", sizeof(int)); - return(0); + exit(0); } EOF -if { (eval echo configure:4698: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:4810: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_sizeof_int=`cat conftestval` else @@ -4716,21 +4828,22 @@ echo $ac_n "checking size of long""... $ac_c" 1>&6 -echo "configure:4720: checking size of long" >&5 +echo "configure:4832: checking size of long" >&5 cat > conftest.$ac_ext < -int main() +#include +main() { FILE *f=fopen("conftestval", "w"); - if (!f) return(1); + if (!f) exit(1); fprintf(f, "%d\n", sizeof(long)); - return(0); + exit(0); } EOF -if { (eval echo configure:4734: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:4847: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_sizeof_long=`cat conftestval` else @@ -4752,21 +4865,22 @@ echo $ac_n "checking size of long long""... $ac_c" 1>&6 -echo "configure:4756: checking size of long long" >&5 +echo "configure:4869: checking size of long long" >&5 cat > conftest.$ac_ext < -int main() +#include +main() { FILE *f=fopen("conftestval", "w"); - if (!f) return(1); + if (!f) exit(1); fprintf(f, "%d\n", sizeof(long long)); - return(0); + exit(0); } EOF -if { (eval echo configure:4770: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:4884: \"$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 @@ -4788,21 +4902,22 @@ echo $ac_n "checking size of void *""... $ac_c" 1>&6 -echo "configure:4792: checking size of void *" >&5 +echo "configure:4906: checking size of void *" >&5 cat > conftest.$ac_ext < -int main() +#include +main() { FILE *f=fopen("conftestval", "w"); - if (!f) return(1); + if (!f) exit(1); fprintf(f, "%d\n", sizeof(void *)); - return(0); + exit(0); } EOF -if { (eval echo configure:4806: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:4921: \"$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 @@ -4825,7 +4940,7 @@ echo $ac_n "checking for long file names""... $ac_c" 1>&6 -echo "configure:4829: checking for long file names" >&5 +echo "configure:4944: 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: @@ -4871,10 +4986,10 @@ echo $ac_n "checking for sin""... $ac_c" 1>&6 -echo "configure:4875: checking for sin" >&5 +echo "configure:4990: checking for sin" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5016: \"$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 @@ -4915,12 +5030,12 @@ echo "$ac_t""no" 1>&6 echo $ac_n "checking for sin in -lm""... $ac_c" 1>&6 -echo "configure:4919: checking for sin in -lm" >&5 +echo "configure:5034: 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:5050: \"$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 @@ -4966,14 +5081,14 @@ cat > conftest.$ac_ext < int main() { return atanh(1.0) + asinh(1.0) + acosh(1.0); ; return 0; } EOF -if { (eval echo configure:4977: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5092: \"$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 @@ -4992,10 +5107,10 @@ for ac_func in mkstemp do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4996: checking for $ac_func" >&5 +echo "configure:5111: 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:5137: \"$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 @@ -5047,14 +5162,14 @@ echo "checking type of mail spool file locking" 1>&6 -echo "configure:5051: checking type of mail spool file locking" >&5 +echo "configure:5166: 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:5055: checking for $ac_func" >&5 +echo "configure:5170: 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:5196: \"$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 @@ -5159,12 +5274,12 @@ case "$opsys" in decosf*) echo $ac_n "checking for cma_open in -lpthreads""... $ac_c" 1>&6 -echo "configure:5163: checking for cma_open in -lpthreads" >&5 +echo "configure:5278: 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:5294: \"$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 @@ -5212,7 +5327,7 @@ echo $ac_n "checking whether the -xildoff compiler flag is required""... $ac_c" 1>&6 -echo "configure:5216: checking whether the -xildoff compiler flag is required" >&5 +echo "configure:5331: 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; @@ -5224,7 +5339,7 @@ if test "$opsys" = "sol2"; then if test "$os_release" -ge 506; then echo $ac_n "checking for \"-z ignore\" linker flag""... $ac_c" 1>&6 -echo "configure:5228: checking for \"-z ignore\" linker flag" >&5 +echo "configure:5343: 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 ;; @@ -5235,7 +5350,7 @@ echo "checking "for specified window system"" 1>&6 -echo "configure:5239: checking "for specified window system"" >&5 +echo "configure:5354: checking "for specified window system"" >&5 GNOME_CONFIG=no @@ -5243,7 +5358,7 @@ if test "$with_gnome" != "no"; then echo $ac_n "checking for GNOME configuration script""... $ac_c" 1>&6 -echo "configure:5247: checking for GNOME configuration script" >&5 +echo "configure:5362: checking for GNOME configuration script" >&5 for possible in gnome-config do possible_version=`${possible} --version 2> /dev/null` @@ -5274,7 +5389,7 @@ if test "$with_gtk" != "no";then echo $ac_n "checking for GTK configuration script""... $ac_c" 1>&6 -echo "configure:5278: checking for GTK configuration script" >&5 +echo "configure:5393: checking for GTK configuration script" >&5 for possible in gtk12-config gtk14-config gtk-config do possible_version=`${possible} --version 2> /dev/null` @@ -5296,18 +5411,18 @@ if test "${GTK_CONFIG}" != "no"; then echo $ac_n "checking gtk version""... $ac_c" 1>&6 -echo "configure:5300: checking gtk version" >&5 +echo "configure:5415: checking gtk version" >&5 GTK_VERSION=`${GTK_CONFIG} --version` echo "$ac_t""${GTK_VERSION}" 1>&6 echo $ac_n "checking gtk libs""... $ac_c" 1>&6 -echo "configure:5305: checking gtk libs" >&5 +echo "configure:5420: checking gtk libs" >&5 GTK_LIBS=`${GTK_CONFIG} --libs` libs_gtk="$libs_gtk ${GTK_LIBS}" && if test "$extra_verbose" = "yes"; then echo " Appending \"${GTK_LIBS}\" to \$libs_gtk"; fi echo "$ac_t""${GTK_LIBS}" 1>&6 echo $ac_n "checking gtk cflags""... $ac_c" 1>&6 -echo "configure:5311: checking gtk cflags" >&5 +echo "configure:5426: checking gtk cflags" >&5 GTK_CFLAGS=`${GTK_CONFIG} --cflags` if test "$GCC" = "yes"; then GTK_CFLAGS="${GTK_CFLAGS} -Wno-shadow" @@ -5317,19 +5432,19 @@ echo $ac_n "checking for main in -lgdk_imlib""... $ac_c" 1>&6 -echo "configure:5321: checking for main in -lgdk_imlib" >&5 +echo "configure:5436: checking for main in -lgdk_imlib" >&5 ac_lib_var=`echo gdk_imlib'_'main | sed 'y%./+-%__p_%'` xe_check_libs=" -lgdk_imlib " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5448: \"$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 @@ -5351,12 +5466,12 @@ echo $ac_n "checking for Imlib_init in -lImlib""... $ac_c" 1>&6 -echo "configure:5355: checking for Imlib_init in -lImlib" >&5 +echo "configure:5470: checking for Imlib_init in -lImlib" >&5 ac_lib_var=`echo Imlib'_'Imlib_init | sed 'y%./+-%__p_%'` xe_check_libs=" -lImlib " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5486: \"$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 @@ -5390,10 +5505,10 @@ for ac_func in gdk_imlib_init do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5394: checking for $ac_func" >&5 +echo "configure:5509: 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:5535: \"$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 @@ -5482,15 +5597,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5486: checking for $ac_hdr" >&5 +echo "configure:5601: 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:5494: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5609: \"$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* @@ -5521,19 +5636,19 @@ echo $ac_n "checking for main in -lxml""... $ac_c" 1>&6 -echo "configure:5525: checking for main in -lxml" >&5 +echo "configure:5640: checking for main in -lxml" >&5 ac_lib_var=`echo xml'_'main | sed 'y%./+-%__p_%'` xe_check_libs=" -lxml " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5652: \"$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 @@ -5555,19 +5670,19 @@ echo $ac_n "checking for main in -lglade""... $ac_c" 1>&6 -echo "configure:5559: checking for main in -lglade" >&5 +echo "configure:5674: checking for main in -lglade" >&5 ac_lib_var=`echo glade'_'main | sed 'y%./+-%__p_%'` xe_check_libs=" -lglade " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5686: \"$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 @@ -5589,19 +5704,19 @@ echo $ac_n "checking for main in -lglade-gnome""... $ac_c" 1>&6 -echo "configure:5593: checking for main in -lglade-gnome" >&5 +echo "configure:5708: checking for main in -lglade-gnome" >&5 ac_lib_var=`echo glade-gnome'_'main | sed 'y%./+-%__p_%'` xe_check_libs=" -lglade-gnome " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5720: \"$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 @@ -5622,7 +5737,7 @@ cat > conftest.$ac_ext < EOF @@ -5681,7 +5796,7 @@ # 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:5685: checking for X" >&5 +echo "configure:5800: checking for X" >&5 # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then @@ -5741,12 +5856,12 @@ # 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:5750: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5865: \"$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* @@ -5815,14 +5930,14 @@ 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:5941: \"$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. @@ -5931,17 +6046,17 @@ 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:5935: checking whether -R must be followed by a space" >&5 +echo "configure:6050: 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:6060: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_R_nospace=yes else @@ -5957,14 +6072,14 @@ 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:6083: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_R_space=yes else @@ -6000,12 +6115,12 @@ else echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6 -echo "configure:6004: checking for dnet_ntoa in -ldnet" >&5 +echo "configure:6119: 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:6135: \"$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 @@ -6040,12 +6155,12 @@ 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:6044: checking for dnet_ntoa in -ldnet_stub" >&5 +echo "configure:6159: 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:6175: \"$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 @@ -6085,10 +6200,10 @@ # 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:6089: checking for gethostbyname" >&5 +echo "configure:6204: checking for gethostbyname" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6230: \"$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 @@ -6132,12 +6247,12 @@ if test $ac_cv_func_gethostbyname = no; then echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:6136: checking for gethostbyname in -lnsl" >&5 +echo "configure:6251: 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:6267: \"$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 @@ -6178,10 +6293,10 @@ # -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:6182: checking for connect" >&5 +echo "configure:6297: checking for connect" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6323: \"$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 @@ -6227,12 +6342,12 @@ 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:6231: checking "$xe_msg_checking"" >&5 +echo "configure:6346: 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:6362: \"$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 @@ -6267,10 +6382,10 @@ # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX. echo $ac_n "checking for remove""... $ac_c" 1>&6 -echo "configure:6271: checking for remove" >&5 +echo "configure:6386: checking for remove" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6412: \"$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 @@ -6314,12 +6429,12 @@ if test $ac_cv_func_remove = no; then echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6 -echo "configure:6318: checking for remove in -lposix" >&5 +echo "configure:6433: 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:6449: \"$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 @@ -6354,10 +6469,10 @@ # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. echo $ac_n "checking for shmat""... $ac_c" 1>&6 -echo "configure:6358: checking for shmat" >&5 +echo "configure:6473: checking for shmat" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6499: \"$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 @@ -6401,12 +6516,12 @@ if test $ac_cv_func_shmat = no; then echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6 -echo "configure:6405: checking for shmat in -lipc" >&5 +echo "configure:6520: 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:6536: \"$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 @@ -6453,12 +6568,12 @@ 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:6457: checking "$xe_msg_checking"" >&5 +echo "configure:6572: 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:6588: \"$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 @@ -6515,15 +6630,15 @@ ac_safe=`echo "Xm/Xm.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for Xm/Xm.h""... $ac_c" 1>&6 -echo "configure:6519: checking for Xm/Xm.h" >&5 +echo "configure:6634: 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:6527: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6642: \"$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* @@ -6540,12 +6655,12 @@ echo "$ac_t""yes" 1>&6 echo $ac_n "checking for XmStringFree in -lXm""... $ac_c" 1>&6 -echo "configure:6544: checking for XmStringFree in -lXm" >&5 +echo "configure:6659: 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:6675: \"$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 @@ -6708,7 +6823,7 @@ echo "checking for X defines extracted by xmkmf" 1>&6 -echo "configure:6712: checking for X defines extracted by xmkmf" >&5 +echo "configure:6827: checking for X defines extracted by xmkmf" >&5 rm -fr conftestdir if mkdir conftestdir; then cd conftestdir @@ -6757,15 +6872,15 @@ ac_safe=`echo "X11/Intrinsic.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/Intrinsic.h""... $ac_c" 1>&6 -echo "configure:6761: checking for X11/Intrinsic.h" >&5 +echo "configure:6876: 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:6769: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6884: \"$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* @@ -6789,12 +6904,12 @@ echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6 -echo "configure:6793: checking for XOpenDisplay in -lX11" >&5 +echo "configure:6908: 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:6924: \"$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 @@ -6830,12 +6945,12 @@ 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:6834: checking "$xe_msg_checking"" >&5 +echo "configure:6949: 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:6965: \"$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 @@ -6873,12 +6988,12 @@ echo $ac_n "checking for XShapeSelectInput in -lXext""... $ac_c" 1>&6 -echo "configure:6877: checking for XShapeSelectInput in -lXext" >&5 +echo "configure:6992: 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:7008: \"$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 @@ -6912,12 +7027,12 @@ echo $ac_n "checking for XtOpenDisplay in -lXt""... $ac_c" 1>&6 -echo "configure:6916: checking for XtOpenDisplay in -lXt" >&5 +echo "configure:7031: 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:7047: \"$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 @@ -6951,14 +7066,14 @@ echo $ac_n "checking the version of X11 being used""... $ac_c" 1>&6 -echo "configure:6955: checking the version of X11 being used" >&5 +echo "configure:7070: 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:6962: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:7077: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ./conftest foobar; x11_release=$? else @@ -6989,10 +7104,10 @@ for ac_func in XConvertCase do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6993: checking for $ac_func" >&5 +echo "configure:7108: 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:7134: \"$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 @@ -7047,15 +7162,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:7051: checking for $ac_hdr" >&5 +echo "configure:7166: 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:7059: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7174: \"$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* @@ -7088,10 +7203,10 @@ for ac_func in XRegisterIMInstantiateCallback do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:7092: checking for $ac_func" >&5 +echo "configure:7207: 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:7233: \"$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 @@ -7142,9 +7257,9 @@ done echo $ac_n "checking for standard XRegisterIMInstantiateCallback prototype""... $ac_c" 1>&6 -echo "configure:7146: checking for standard XRegisterIMInstantiateCallback prototype" >&5 +echo "configure:7261: checking for standard XRegisterIMInstantiateCallback prototype" >&5 cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7275: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 else @@ -7177,12 +7292,12 @@ test -z "$with_xmu" && { echo $ac_n "checking for XmuReadBitmapDataFromFile in -lXmu""... $ac_c" 1>&6 -echo "configure:7181: checking for XmuReadBitmapDataFromFile in -lXmu" >&5 +echo "configure:7296: 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:7312: \"$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 @@ -7232,19 +7347,19 @@ echo $ac_n "checking for main in -lXbsd""... $ac_c" 1>&6 -echo "configure:7236: checking for main in -lXbsd" >&5 +echo "configure:7351: 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:7363: \"$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 @@ -7281,22 +7396,22 @@ fi if test "$with_msw" != "no"; then echo "checking for MS-Windows" 1>&6 -echo "configure:7285: checking for MS-Windows" >&5 +echo "configure:7400: checking for MS-Windows" >&5 echo $ac_n "checking for main in -lgdi32""... $ac_c" 1>&6 -echo "configure:7288: checking for main in -lgdi32" >&5 +echo "configure:7403: 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:7415: \"$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 @@ -7332,7 +7447,7 @@ INSTALL_ARCH_DEP_SUBDIR="$INSTALL_ARCH_DEP_SUBDIR netinstall" && if test "$extra_verbose" = "yes"; then echo " Appending \"netinstall\" to \$INSTALL_ARCH_DEP_SUBDIR"; fi fi - install_pp="$blddir/lib-src/installexe.sh" + install_pp="$srcdir/lib-src/installexe.sh" libs_system="$libs_system -limm32 -lshell32 -lgdi32 -luser32 -lcomdlg32 -lcomctl32 -lole32 -luuid -lwinspool -lmpr" && if test "$extra_verbose" = "yes"; then echo " Appending \"-limm32 -lshell32 -lgdi32 -luser32 -lcomdlg32 -lcomctl32 -lole32 -luuid -lwinspool -lmpr\" to \$libs_system"; fi if test "$with_dragndrop" != no; then dragndrop_proto="$dragndrop_proto msw" && if test "$extra_verbose" = "yes"; then echo " Appending \"msw\" to \$dragndrop_proto"; fi @@ -7347,12 +7462,12 @@ test "$with_widgets" != "no" && with_widgets=msw fi cat > conftest.$ac_ext < int main() { return (open("/dev/windows", O_RDONLY, 0) > 0)? 0 : 1; } EOF -if { (eval echo configure:7356: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:7471: \"$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 @@ -7413,15 +7528,15 @@ 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:7417: checking for X11/extensions/shape.h" >&5 +echo "configure:7532: 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:7425: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7540: \"$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* @@ -7471,7 +7586,7 @@ esac echo "checking for WM_COMMAND option" 1>&6 -echo "configure:7475: checking for WM_COMMAND option" >&5; +echo "configure:7590: checking for WM_COMMAND option" >&5; if test "$with_wmcommand" != "no"; then { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_WMCOMMAND @@ -7486,15 +7601,15 @@ 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:7490: checking for X11/Xauth.h" >&5 +echo "configure:7605: 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:7498: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7613: \"$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* @@ -7517,12 +7632,12 @@ } test -z "$with_xauth" && { echo $ac_n "checking for XauGetAuthByAddr in -lXau""... $ac_c" 1>&6 -echo "configure:7521: checking for XauGetAuthByAddr in -lXau" >&5 +echo "configure:7636: 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:7652: \"$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 @@ -7575,9 +7690,6 @@ -test -n "$xemacs_compiler" && XEMACS_CC="$xemacs_compiler" -: ${XEMACS_CC:="$CC"} - if test "$xemacs_compiler" = "g++"; then LIBSTDCPP=-lstdc++ else @@ -7587,7 +7699,7 @@ if test "$with_modules" != "no"; then echo "checking for module support" 1>&6 -echo "configure:7591: checking for module support" >&5 +echo "configure:7703: checking for module support" >&5 if test "$with_msw" = "yes"; then have_dl=yes; @@ -7604,15 +7716,15 @@ * ) ac_safe=`echo "dlfcn.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for dlfcn.h""... $ac_c" 1>&6 -echo "configure:7608: checking for dlfcn.h" >&5 +echo "configure:7720: 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:7616: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7728: \"$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* @@ -7629,16 +7741,16 @@ echo "$ac_t""yes" 1>&6 echo $ac_n "checking for dlopen in -lc""... $ac_c" 1>&6 -echo "configure:7633: checking for dlopen in -lc" >&5 +echo "configure:7745: checking for dlopen in -lc" >&5 cat > conftest.$ac_ext < int main() { dlopen ("", 0); ; return 0; } EOF -if { (eval echo configure:7642: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7754: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* have_dl=yes else @@ -7647,18 +7759,18 @@ rm -rf conftest* echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 -echo "configure:7651: checking for dlopen in -ldl" >&5 +echo "configure:7763: 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:7662: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7774: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* have_dl=yes else @@ -7698,7 +7810,7 @@ xealias=$internal_configuration echo "checking how to build dynamic libraries for ${xehost}" 1>&6 -echo "configure:7702: checking how to build dynamic libraries for ${xehost}" >&5 +echo "configure:7814: checking how to build dynamic libraries for ${xehost}" >&5 # Transform *-*-linux* to *-*-linux-gnu*, to support old configure scripts. case "$xehost" in *-*-linux-gnu*) ;; @@ -7726,9 +7838,9 @@ XEGCC=yes else echo $ac_n "checking checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:7730: checking checking whether we are using GNU C" >&5 +echo "configure:7842: checking checking whether we are using GNU C" >&5 cat > conftest.$ac_ext <&6 -echo "configure:7754: checking how to produce PIC code" >&5 +echo "configure:7866: checking how to produce PIC code" >&5 wl= can_build_shared=yes -if test "$XEGCC" = yes; then +if test "$XEGCC" = yes -o "$__ICC" = yes; then wl='-Wl,' case "$xehost_os" in @@ -7854,18 +7966,18 @@ # 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:7858: checking if PIC flag ${dll_cflags} really works" >&5 +echo "configure:7970: 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:7981: \"$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 @@ -7896,8 +8008,8 @@ xldf= xcldf= echo $ac_n "checking if C compiler can produce shared libraries""... $ac_c" 1>&6 -echo "configure:7900: checking if C compiler can produce shared libraries" >&5 -if test "$XEGCC" = yes; then +echo "configure:8012: checking if C compiler can produce shared libraries" >&5 +if test "$XEGCC" = yes -o "$__ICC" = yes; then case "$xehost_os" in *darwin*) xcldf='-bundle' @@ -7955,14 +8067,14 @@ 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:8078: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* cc_produces_so=yes else @@ -7987,7 +8099,7 @@ 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:7991: checking for ld used by GCC" >&5 +echo "configure:8103: checking for ld used by GCC" >&5 ac_prog=`($CC -print-prog-name=ld) 2>&5` case "$ac_prog" in # Accept absolute paths. @@ -8013,7 +8125,7 @@ esac else echo $ac_n "checking for GNU ld""... $ac_c" 1>&6 -echo "configure:8017: checking for GNU ld" >&5 +echo "configure:8129: checking for GNU ld" >&5 fi if test -z "$LTLD"; then @@ -8051,7 +8163,7 @@ # 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:8055: checking if the linker is GNU ld" >&5 +echo "configure:8167: 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 @@ -8086,7 +8198,7 @@ # 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:8090: checking whether the linker supports shared libraries" >&5 +echo "configure:8202: checking whether the linker supports shared libraries" >&5 dll_ld=$CC dll_ldflags=$LDFLAGS ld_shlibs=yes @@ -8299,10 +8411,10 @@ for ac_func in dlerror _dlerror do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8303: checking for $ac_func" >&5 +echo "configure:8415: 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:8441: \"$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 @@ -8389,15 +8501,15 @@ 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:8393: checking for ${dir}tt_c.h" >&5 +echo "configure:8505: 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:8401: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8513: \"$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* @@ -8433,12 +8545,12 @@ 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:8437: checking "$xe_msg_checking"" >&5 +echo "configure:8549: 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:8565: \"$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 @@ -8503,15 +8615,15 @@ 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:8507: checking for Dt/Dt.h" >&5 +echo "configure:8619: 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:8515: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8627: \"$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* @@ -8534,12 +8646,12 @@ } test -z "$with_cde" && { echo $ac_n "checking for DtDndDragStart in -lDtSvc""... $ac_c" 1>&6 -echo "configure:8538: checking for DtDndDragStart in -lDtSvc" >&5 +echo "configure:8650: 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:8666: \"$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 @@ -8631,7 +8743,7 @@ if test "$with_dragndrop" != "no" ; then echo $ac_n "checking if drag and drop API is needed""... $ac_c" 1>&6 -echo "configure:8635: checking if drag and drop API is needed" >&5 +echo "configure:8747: 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 @@ -8651,19 +8763,19 @@ fi echo "checking for LDAP" 1>&6 -echo "configure:8655: checking for LDAP" >&5 +echo "configure:8767: checking for LDAP" >&5 ldap_libs= 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:8659: checking for ldap.h" >&5 +echo "configure:8771: 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:8667: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8779: \"$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* @@ -8686,15 +8798,15 @@ } 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:8690: checking for lber.h" >&5 +echo "configure:8802: 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:8698: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8810: \"$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* @@ -8718,12 +8830,12 @@ if test "$with_ldap" != "no"; then echo $ac_n "checking for ldap_search in -lldap""... $ac_c" 1>&6 -echo "configure:8722: checking for ldap_search in -lldap" >&5 +echo "configure:8834: 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:8850: \"$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 @@ -8759,12 +8871,12 @@ 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:8763: checking "$xe_msg_checking"" >&5 +echo "configure:8875: 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:8891: \"$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 @@ -8800,12 +8912,12 @@ 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:8804: checking "$xe_msg_checking"" >&5 +echo "configure:8916: 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:8932: \"$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 @@ -8841,12 +8953,12 @@ 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:8845: checking "$xe_msg_checking"" >&5 +echo "configure:8957: 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:8973: \"$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 @@ -8906,10 +9018,10 @@ 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:8910: checking for $ac_func" >&5 +echo "configure:9022: 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:9048: \"$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 @@ -8971,20 +9083,20 @@ postgresql_libs= if test "$with_postgresql" != "no"; then echo "checking for PostgreSQL" 1>&6 -echo "configure:8975: checking for PostgreSQL" >&5 +echo "configure:9087: 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:8980: checking for ${header_dir}libpq-fe.h" >&5 +echo "configure:9092: 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:8988: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9100: \"$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* @@ -9008,12 +9120,12 @@ test -n "$libpq_fe_h_file" && { echo $ac_n "checking for PQconnectdb in -lpq""... $ac_c" 1>&6 -echo "configure:9012: checking for PQconnectdb in -lpq" >&5 +echo "configure:9124: 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:9140: \"$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 @@ -9057,12 +9169,12 @@ echo $ac_n "checking for PQconnectStart in -lpq""... $ac_c" 1>&6 -echo "configure:9061: checking for PQconnectStart in -lpq" >&5 +echo "configure:9173: 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:9189: \"$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 @@ -9124,7 +9236,7 @@ if test "$window_system" != "none"; then echo "checking for graphics libraries" 1>&6 -echo "configure:9128: checking for graphics libraries" >&5 +echo "configure:9240: checking for graphics libraries" >&5 libpath_xpm= incpath_xpm= @@ -9150,10 +9262,10 @@ CFLAGS=""$incpath_xpm" $CFLAGS" && if test "$extra_verbose" = "yes"; then echo " Prepending \""$incpath_xpm"\" to \$CFLAGS"; fi LDFLAGS=""$libpath_xpm" $LDFLAGS" && if test "$extra_verbose" = "yes"; then echo " Prepending \""$libpath_xpm"\" to \$LDFLAGS"; fi echo $ac_n "checking for Xpm - no older than 3.4f""... $ac_c" 1>&6 -echo "configure:9154: checking for Xpm - no older than 3.4f" >&5 +echo "configure:9266: checking for Xpm - no older than 3.4f" >&5 xe_check_libs=-lXpm cat > conftest.$ac_ext < @@ -9162,7 +9274,7 @@ XpmIncludeVersion != XpmLibraryVersion() ? 1 : XpmIncludeVersion < 30406 ? 2 : 0 ;} EOF -if { (eval echo configure:9166: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:9278: \"$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 @@ -9206,17 +9318,17 @@ libs_x="-lXpm $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lXpm\" to \$libs_x"; fi CFLAGS=""$incpath_xpm" $CFLAGS" && if test "$extra_verbose" = "yes"; then echo " Prepending \""$incpath_xpm"\" to \$CFLAGS"; fi echo $ac_n "checking for \"FOR_MSW\" xpm""... $ac_c" 1>&6 -echo "configure:9210: checking for \"FOR_MSW\" xpm" >&5 +echo "configure:9322: 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:9332: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* xpm_for_msw=no else @@ -9242,15 +9354,15 @@ 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:9246: checking for compface.h" >&5 +echo "configure:9358: 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:9254: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9366: \"$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* @@ -9273,12 +9385,12 @@ } test -z "$with_xface" && { echo $ac_n "checking for UnGenFace in -lcompface""... $ac_c" 1>&6 -echo "configure:9277: checking for UnGenFace in -lcompface" >&5 +echo "configure:9389: 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:9405: \"$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 @@ -9338,12 +9450,12 @@ if test "$with_png $with_tiff" != "no no"; then echo $ac_n "checking for inflate in -lc""... $ac_c" 1>&6 -echo "configure:9342: checking for inflate in -lc" >&5 +echo "configure:9454: 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:9470: \"$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 @@ -9373,12 +9485,12 @@ echo "$ac_t""no" 1>&6 echo $ac_n "checking for inflate in -lz""... $ac_c" 1>&6 -echo "configure:9377: checking for inflate in -lz" >&5 +echo "configure:9489: 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:9505: \"$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 @@ -9408,12 +9520,12 @@ echo "$ac_t""no" 1>&6 echo $ac_n "checking for inflate in -lgz""... $ac_c" 1>&6 -echo "configure:9412: checking for inflate in -lgz" >&5 +echo "configure:9524: 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:9540: \"$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 @@ -9454,15 +9566,15 @@ 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:9458: checking for jpeglib.h" >&5 +echo "configure:9570: 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:9466: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9578: \"$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* @@ -9485,12 +9597,12 @@ } test -z "$with_jpeg" && { echo $ac_n "checking for jpeg_destroy_decompress in -ljpeg""... $ac_c" 1>&6 -echo "configure:9489: checking for jpeg_destroy_decompress in -ljpeg" >&5 +echo "configure:9601: 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:9617: \"$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 @@ -9537,10 +9649,10 @@ png_problem="" test -z "$with_png" && { echo $ac_n "checking for pow""... $ac_c" 1>&6 -echo "configure:9541: checking for pow" >&5 +echo "configure:9653: checking for pow" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9679: \"$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 @@ -9584,15 +9696,15 @@ } 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:9588: checking for png.h" >&5 +echo "configure:9700: 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:9596: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9708: \"$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* @@ -9615,12 +9727,12 @@ } test -z "$with_png" && { echo $ac_n "checking for png_read_image in -lpng""... $ac_c" 1>&6 -echo "configure:9619: checking for png_read_image in -lpng" >&5 +echo "configure:9731: 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:9747: \"$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 @@ -9654,10 +9766,10 @@ } if test -z "$with_png"; then echo $ac_n "checking for workable png version information""... $ac_c" 1>&6 -echo "configure:9658: checking for workable png version information" >&5 +echo "configure:9770: checking for workable png version information" >&5 xe_check_libs="-lpng -lz" cat > conftest.$ac_ext < int main(int c, char **v) { @@ -9665,7 +9777,7 @@ if (strcmp(png_libpng_ver, PNG_LIBPNG_VER_STRING) != 0) return 1; return (PNG_LIBPNG_VER < 10002) ? 2 : 0 ;} EOF -if { (eval echo configure:9669: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:9781: \"$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 @@ -9708,15 +9820,15 @@ 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:9712: checking for tiffio.h" >&5 +echo "configure:9824: 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:9720: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9832: \"$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* @@ -9739,12 +9851,12 @@ } test -z "$with_tiff" && { echo $ac_n "checking for TIFFClientOpen in -ltiff""... $ac_c" 1>&6 -echo "configure:9743: checking for TIFFClientOpen in -ltiff" >&5 +echo "configure:9855: 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:9871: \"$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 @@ -9794,15 +9906,15 @@ if test "$with_gtk" = "yes"; then 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:9798: checking for compface.h" >&5 +echo "configure:9910: 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:9806: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9918: \"$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* @@ -9825,12 +9937,12 @@ } test -z "$with_xface" && { echo $ac_n "checking for UnGenFace in -lcompface""... $ac_c" 1>&6 -echo "configure:9829: checking for UnGenFace in -lcompface" >&5 +echo "configure:9941: 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:9957: \"$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 @@ -9880,7 +9992,7 @@ if test "$with_x11" = "yes"; then echo "checking for X11 graphics libraries" 1>&6 -echo "configure:9884: checking for X11 graphics libraries" >&5 +echo "configure:9996: checking for X11 graphics libraries" >&5 fi case "$with_widgets" in @@ -9890,7 +10002,7 @@ if test "$with_x11" = "yes" -a "$detect_athena" = "yes" ; then echo "checking for the Athena widgets" 1>&6 -echo "configure:9894: checking for the Athena widgets" >&5 +echo "configure:10006: checking for the Athena widgets" >&5 case "$with_athena" in "xaw" | "") athena_variant=Xaw athena_3d=no ;; @@ -9904,12 +10016,12 @@ if test "$athena_3d" = "no"; then echo $ac_n "checking for XawScrollbarSetThumb in -l$athena_variant""... $ac_c" 1>&6 -echo "configure:9908: checking for XawScrollbarSetThumb in -l$athena_variant" >&5 +echo "configure:10020: 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:10036: \"$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 @@ -9936,12 +10048,12 @@ echo "$ac_t""yes" 1>&6 echo $ac_n "checking for threeDClassRec in -l$athena_variant""... $ac_c" 1>&6 -echo "configure:9940: checking for threeDClassRec in -l$athena_variant" >&5 +echo "configure:10052: 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:10068: \"$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 @@ -9983,12 +10095,12 @@ else echo $ac_n "checking for threeDClassRec in -l$athena_variant""... $ac_c" 1>&6 -echo "configure:9987: checking for threeDClassRec in -l$athena_variant" >&5 +echo "configure:10099: 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:10115: \"$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 @@ -10017,12 +10129,12 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for threeDClassRec in -lXaw""... $ac_c" 1>&6 -echo "configure:10021: checking for threeDClassRec in -lXaw" >&5 +echo "configure:10133: 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:10149: \"$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 @@ -10064,15 +10176,15 @@ 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:10068: checking for X11/Xaw/ThreeD.h" >&5 +echo "configure:10180: 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:10076: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10188: \"$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* @@ -10092,15 +10204,15 @@ 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:10096: checking for X11/Xaw/XawInit.h" >&5 +echo "configure:10208: 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:10104: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10216: \"$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* @@ -10126,15 +10238,15 @@ 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:10130: checking for X11/$athena_variant/XawInit.h" >&5 +echo "configure:10242: 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:10138: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10250: \"$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* @@ -10151,15 +10263,15 @@ 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:10155: checking for X11/$athena_variant/ThreeD.h" >&5 +echo "configure:10267: 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:10163: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10275: \"$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* @@ -10187,15 +10299,15 @@ 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:10191: checking for $athena_variant/XawInit.h" >&5 +echo "configure:10303: 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:10199: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10311: \"$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* @@ -10212,15 +10324,15 @@ 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:10216: checking for $athena_variant/ThreeD.h" >&5 +echo "configure:10328: 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:10224: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10336: \"$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* @@ -10249,15 +10361,15 @@ 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:10253: checking for X11/Xaw3d/XawInit.h" >&5 +echo "configure:10365: 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:10261: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10373: \"$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* @@ -10274,15 +10386,15 @@ 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:10278: checking for X11/Xaw3d/ThreeD.h" >&5 +echo "configure:10390: 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:10286: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10398: \"$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* @@ -10314,15 +10426,15 @@ 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:10318: checking for Xaw3d/XawInit.h" >&5 +echo "configure:10430: 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:10326: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10438: \"$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* @@ -10339,15 +10451,15 @@ 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:10343: checking for Xaw3d/ThreeD.h" >&5 +echo "configure:10455: 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:10351: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10463: \"$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* @@ -10379,15 +10491,15 @@ 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:10383: checking for X11/Xaw/ThreeD.h" >&5 +echo "configure:10495: 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:10391: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10503: \"$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* @@ -10426,15 +10538,15 @@ if test "$with_x11" = "yes"; then ac_safe=`echo "Xm/Xm.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for Xm/Xm.h""... $ac_c" 1>&6 -echo "configure:10430: checking for Xm/Xm.h" >&5 +echo "configure:10542: 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:10438: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10550: \"$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* @@ -10451,12 +10563,12 @@ echo "$ac_t""yes" 1>&6 echo $ac_n "checking for XmStringFree in -lXm""... $ac_c" 1>&6 -echo "configure:10455: checking for XmStringFree in -lXm" >&5 +echo "configure:10567: 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:10583: \"$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 @@ -10496,9 +10608,9 @@ if test "$have_motif" = "yes"; then echo $ac_n "checking for Lesstif""... $ac_c" 1>&6 -echo "configure:10500: checking for Lesstif" >&5 +echo "configure:10612: checking for Lesstif" >&5 cat > conftest.$ac_ext < #ifdef LESSTIF_VERSION @@ -10871,7 +10983,7 @@ if test "$with_mule" = "yes" ; then echo "checking for Mule-related features" 1>&6 -echo "configure:10875: checking for Mule-related features" >&5 +echo "configure:10987: checking for Mule-related features" >&5 { test "$extra_verbose" = "yes" && cat << \EOF Defining MULE EOF @@ -10885,15 +10997,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:10889: checking for $ac_hdr" >&5 +echo "configure:11001: 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:10897: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:11009: \"$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* @@ -10924,12 +11036,12 @@ echo $ac_n "checking for strerror in -lintl""... $ac_c" 1>&6 -echo "configure:10928: checking for strerror in -lintl" >&5 +echo "configure:11040: 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:11056: \"$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 @@ -10973,18 +11085,18 @@ echo "checking for Mule input methods" 1>&6 -echo "configure:10977: checking for Mule input methods" >&5 +echo "configure:11089: checking for Mule input methods" >&5 case "$with_xim" in "" | "yes" ) echo "checking for XIM" 1>&6 -echo "configure:10980: checking for XIM" >&5 +echo "configure:11092: checking for XIM" >&5 echo $ac_n "checking for XOpenIM in -lX11""... $ac_c" 1>&6 -echo "configure:10983: checking for XOpenIM in -lX11" >&5 +echo "configure:11095: 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:11111: \"$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 @@ -11019,12 +11131,12 @@ if test "$have_motif $have_lesstif" = "yes no"; then echo $ac_n "checking for XmImMbLookupString in -lXm""... $ac_c" 1>&6 -echo "configure:11023: checking for XmImMbLookupString in -lXm" >&5 +echo "configure:11135: 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:11151: \"$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 @@ -11100,15 +11212,15 @@ if test "$with_xfs" = "yes" ; then echo "checking for XFontSet" 1>&6 -echo "configure:11104: checking for XFontSet" >&5 +echo "configure:11216: checking for XFontSet" >&5 echo $ac_n "checking for XmbDrawString in -lX11""... $ac_c" 1>&6 -echo "configure:11107: checking for XmbDrawString in -lX11" >&5 +echo "configure:11219: 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:11235: \"$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 @@ -11159,15 +11271,15 @@ 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:11163: checking for wnn/jllib.h" >&5 +echo "configure:11275: 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:11171: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:11283: \"$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* @@ -11190,15 +11302,15 @@ } 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:11194: checking for wnn/commonhd.h" >&5 +echo "configure:11306: 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:11202: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:11314: \"$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* @@ -11223,10 +11335,10 @@ for ac_func in crypt do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:11227: checking for $ac_func" >&5 +echo "configure:11339: 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:11365: \"$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 @@ -11278,12 +11390,12 @@ test "$ac_cv_func_crypt" != "yes" && { echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6 -echo "configure:11282: checking for crypt in -lcrypt" >&5 +echo "configure:11394: 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:11410: \"$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 @@ -11329,12 +11441,12 @@ 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:11333: checking for jl_dic_list_e in -lwnn" >&5 +echo "configure:11445: 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:11461: \"$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 @@ -11363,12 +11475,12 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for jl_dic_list_e in -lwnn4""... $ac_c" 1>&6 -echo "configure:11367: checking for jl_dic_list_e in -lwnn4" >&5 +echo "configure:11479: 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:11495: \"$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 @@ -11397,12 +11509,12 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for jl_dic_list_e in -lwnn6""... $ac_c" 1>&6 -echo "configure:11401: checking for jl_dic_list_e in -lwnn6" >&5 +echo "configure:11513: 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:11529: \"$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 @@ -11431,12 +11543,12 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for dic_list_e in -lwnn6_fromsrc""... $ac_c" 1>&6 -echo "configure:11435: checking for dic_list_e in -lwnn6_fromsrc" >&5 +echo "configure:11547: 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:11563: \"$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 @@ -11492,12 +11604,12 @@ if test "$with_wnn6" != "no"; then echo $ac_n "checking for jl_fi_dic_list in -l$libwnn""... $ac_c" 1>&6 -echo "configure:11496: checking for jl_fi_dic_list in -l$libwnn" >&5 +echo "configure:11608: 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:11624: \"$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 @@ -11543,15 +11655,15 @@ 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:11547: checking for canna/jrkanji.h" >&5 +echo "configure:11659: 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:11555: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:11667: \"$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* @@ -11578,15 +11690,15 @@ 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:11582: checking for canna/jrkanji.h" >&5 +echo "configure:11694: 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:11590: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:11702: \"$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* @@ -11614,15 +11726,15 @@ 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:11618: checking for canna/RK.h" >&5 +echo "configure:11730: 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:11626: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:11738: \"$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* @@ -11645,12 +11757,12 @@ } test -z "$with_canna" && { echo $ac_n "checking for RkBgnBun in -lRKC""... $ac_c" 1>&6 -echo "configure:11649: checking for RkBgnBun in -lRKC" >&5 +echo "configure:11761: 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:11777: \"$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 @@ -11684,12 +11796,12 @@ } test -z "$with_canna" && { echo $ac_n "checking for jrKanjiControl in -lcanna""... $ac_c" 1>&6 -echo "configure:11688: checking for jrKanjiControl in -lcanna" >&5 +echo "configure:11800: 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:11816: \"$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 @@ -11746,12 +11858,12 @@ 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:11750: checking for layout_object_getvalue in -li18n" >&5 +echo "configure:11862: 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:11878: \"$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 @@ -11849,10 +11961,10 @@ for ac_func in cbrt closedir dup2 eaccess fmod fpathconf frexp ftime getaddrinfo gethostname getnameinfo getpagesize gettimeofday getcwd getwd link logb lrand48 matherr mkdir mktime perror poll random readlink rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask snprintf stpcpy strerror strlwr strupr symlink tzset ulimit usleep waitpid vsnprintf fsync ftruncate umask wcslen wcscmp do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:11853: checking for $ac_func" >&5 +echo "configure:11965: 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:11991: \"$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 @@ -11916,10 +12028,10 @@ 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:11920: checking for $ac_func" >&5 +echo "configure:12032: 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:12058: \"$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 @@ -11971,10 +12083,10 @@ echo $ac_n "checking for openpty""... $ac_c" 1>&6 -echo "configure:11975: checking for openpty" >&5 +echo "configure:12087: checking for openpty" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:12113: \"$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 @@ -12016,12 +12128,12 @@ echo $ac_n "checking for openpty in -lutil""... $ac_c" 1>&6 -echo "configure:12020: checking for openpty in -lutil" >&5 +echo "configure:12132: 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:12148: \"$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 @@ -12067,15 +12179,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:12071: checking for $ac_hdr" >&5 +echo "configure:12183: 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:12079: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:12191: \"$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* @@ -12112,15 +12224,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:12116: checking for $ac_hdr" >&5 +echo "configure:12228: 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:12124: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:12236: \"$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* @@ -12153,15 +12265,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:12157: checking for $ac_hdr" >&5 +echo "configure:12269: 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:12165: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:12277: \"$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* @@ -12194,15 +12306,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:12198: checking for $ac_hdr" >&5 +echo "configure:12310: 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:12206: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:12318: \"$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* @@ -12238,15 +12350,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:12242: checking for $ac_hdr" >&5 +echo "configure:12354: 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:12250: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:12362: \"$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* @@ -12279,10 +12391,10 @@ for ac_func in isastream do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:12283: checking for $ac_func" >&5 +echo "configure:12395: 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:12421: \"$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 @@ -12336,15 +12448,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:12340: checking for $ac_hdr" >&5 +echo "configure:12452: 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:12348: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:12460: \"$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* @@ -12377,10 +12489,10 @@ for ac_func in getloadavg do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:12381: checking for $ac_func" >&5 +echo "configure:12493: 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:12519: \"$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 @@ -12436,15 +12548,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:12440: checking for $ac_hdr" >&5 +echo "configure:12552: 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:12448: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:12560: \"$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* @@ -12480,12 +12592,12 @@ echo $ac_n "checking for kstat_open in -lkstat""... $ac_c" 1>&6 -echo "configure:12484: checking for kstat_open in -lkstat" >&5 +echo "configure:12596: 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:12612: \"$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 @@ -12531,15 +12643,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:12535: checking for $ac_hdr" >&5 +echo "configure:12647: 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:12543: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:12655: \"$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* @@ -12571,12 +12683,12 @@ echo $ac_n "checking for kvm_read in -lkvm""... $ac_c" 1>&6 -echo "configure:12575: checking for kvm_read in -lkvm" >&5 +echo "configure:12687: 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:12703: \"$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 @@ -12621,16 +12733,16 @@ fi echo $ac_n "checking whether netdb declares h_errno""... $ac_c" 1>&6 -echo "configure:12625: checking whether netdb declares h_errno" >&5 +echo "configure:12737: checking whether netdb declares h_errno" >&5 cat > conftest.$ac_ext < int main() { return h_errno; ; return 0; } EOF -if { (eval echo configure:12634: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:12746: \"$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 @@ -12650,16 +12762,16 @@ rm -f conftest* echo $ac_n "checking for sigsetjmp""... $ac_c" 1>&6 -echo "configure:12654: checking for sigsetjmp" >&5 +echo "configure:12766: checking for sigsetjmp" >&5 cat > conftest.$ac_ext < int main() { sigjmp_buf bar; sigsetjmp (bar, 0); ; return 0; } EOF -if { (eval echo configure:12663: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:12775: \"$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 @@ -12679,11 +12791,11 @@ rm -f conftest* echo $ac_n "checking whether localtime caches TZ""... $ac_c" 1>&6 -echo "configure:12683: checking whether localtime caches TZ" >&5 +echo "configure:12795: checking whether localtime caches TZ" >&5 if test "$ac_cv_func_tzset" = "yes"; then cat > conftest.$ac_ext < #if STDC_HEADERS @@ -12718,7 +12830,7 @@ exit (0); } EOF -if { (eval echo configure:12722: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:12834: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then emacs_cv_localtime_cache=no else @@ -12748,9 +12860,9 @@ if test "$HAVE_TIMEVAL" = "yes"; then echo $ac_n "checking whether gettimeofday accepts one or two arguments""... $ac_c" 1>&6 -echo "configure:12752: checking whether gettimeofday accepts one or two arguments" >&5 +echo "configure:12864: 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:12887: \"$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 @@ -12793,19 +12905,19 @@ echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:12797: checking for inline" >&5 +echo "configure:12909: 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:12921: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -12841,22 +12953,71 @@ echo " xemacs will be linked with \"inline.o\"" fi +echo $ac_n "checking for typeof""... $ac_c" 1>&6 +echo "configure:12958: checking for typeof" >&5 +cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + typeofname="__typeof__" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + typeofname="typeof" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + typeofname=no +fi +rm -f conftest* +fi +rm -f conftest* +echo "$ac_t""$typeofname" 1>&6 +if test "$typeofname" != "no"; then + { test "$extra_verbose" = "yes" && cat << EOF + Defining TYPEOF = $typeofname +EOF +cat >> confdefs.h <&6 -echo "configure:12850: checking for working alloca.h" >&5 +echo "configure:13011: 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:12860: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13021: \"$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 @@ -12880,10 +13041,10 @@ fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:12884: checking for alloca" >&5 +echo "configure:13045: checking for alloca" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13076: \"$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 @@ -12950,10 +13111,10 @@ echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:12954: checking whether alloca needs Cray hooks" >&5 +echo "configure:13115: checking whether alloca needs Cray hooks" >&5 cat > conftest.$ac_ext <&6 -echo "configure:12981: checking for $ac_func" >&5 +echo "configure:13142: 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:13168: \"$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 @@ -13033,10 +13194,10 @@ fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:13037: checking stack direction for C alloca" >&5 +echo "configure:13198: 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:13220: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_c_stack_direction=1 else @@ -13084,9 +13245,9 @@ fi echo $ac_n "checking for working alloca in function calls""... $ac_c" 1>&6 -echo "configure:13088: checking for working alloca in function calls" >&5 +echo "configure:13249: checking for working alloca in function calls" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:13304: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then working_alloca_in_function_calls=yes else @@ -13162,10 +13323,10 @@ echo $ac_n "checking for working strcoll""... $ac_c" 1>&6 -echo "configure:13166: checking for working strcoll" >&5 +echo "configure:13327: checking for working strcoll" >&5 cat > conftest.$ac_ext < main () @@ -13175,7 +13336,7 @@ strcoll ("123", "456") >= 0); } EOF -if { (eval echo configure:13179: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:13340: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_func_strcoll_works=yes else @@ -13203,10 +13364,10 @@ for ac_func in getpgrp do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:13207: checking for $ac_func" >&5 +echo "configure:13368: 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:13394: \"$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 @@ -13257,10 +13418,10 @@ done echo $ac_n "checking whether getpgrp takes no argument""... $ac_c" 1>&6 -echo "configure:13261: checking whether getpgrp takes no argument" >&5 +echo "configure:13422: 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:13480: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_func_getpgrp_void=yes else @@ -13342,10 +13503,10 @@ echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:13346: checking for working mmap" >&5 +echo "configure:13507: checking for working mmap" >&5 case "$opsys" in ultrix* ) have_mmap=no ;; *) cat > conftest.$ac_ext < #include @@ -13378,7 +13539,7 @@ return 1; } EOF -if { (eval echo configure:13382: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:13543: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then have_mmap=yes else @@ -13407,9 +13568,9 @@ 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:13411: checking for M_MMAP_THRESHOLD" >&5 +echo "configure:13572: checking for M_MMAP_THRESHOLD" >&5 cat > conftest.$ac_ext < int main() { @@ -13421,7 +13582,7 @@ ; return 0; } EOF -if { (eval echo configure:13425: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:13586: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* rel_alloc=no; echo "$ac_t""yes" 1>&6; else @@ -13446,15 +13607,15 @@ ac_safe=`echo "termios.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for termios.h""... $ac_c" 1>&6 -echo "configure:13450: checking for termios.h" >&5 +echo "configure:13611: 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:13458: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:13619: \"$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* @@ -13497,15 +13658,15 @@ 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:13501: checking for termio.h" >&5 +echo "configure:13662: 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:13509: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:13670: \"$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* @@ -13537,10 +13698,10 @@ echo $ac_n "checking for socket""... $ac_c" 1>&6 -echo "configure:13541: checking for socket" >&5 +echo "configure:13702: checking for socket" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13728: \"$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 @@ -13578,15 +13739,15 @@ 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:13582: checking for netinet/in.h" >&5 +echo "configure:13743: 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:13590: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:13751: \"$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* @@ -13603,15 +13764,15 @@ 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:13607: checking for arpa/inet.h" >&5 +echo "configure:13768: 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:13615: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:13776: \"$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* @@ -13636,9 +13797,9 @@ } echo $ac_n "checking "for sun_len member in struct sockaddr_un"""... $ac_c" 1>&6 -echo "configure:13640: checking "for sun_len member in struct sockaddr_un"" >&5 +echo "configure:13801: checking "for sun_len member in struct sockaddr_un"" >&5 cat > conftest.$ac_ext < @@ -13649,7 +13810,7 @@ static struct sockaddr_un x; x.sun_len = 1; ; return 0; } EOF -if { (eval echo configure:13653: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13814: \"$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 @@ -13667,9 +13828,9 @@ fi rm -f conftest* echo $ac_n "checking "for ip_mreq struct in netinet/in.h"""... $ac_c" 1>&6 -echo "configure:13671: checking "for ip_mreq struct in netinet/in.h"" >&5 +echo "configure:13832: checking "for ip_mreq struct in netinet/in.h"" >&5 cat > conftest.$ac_ext < @@ -13679,7 +13840,7 @@ static struct ip_mreq x; ; return 0; } EOF -if { (eval echo configure:13683: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13844: \"$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 @@ -13710,10 +13871,10 @@ echo $ac_n "checking for msgget""... $ac_c" 1>&6 -echo "configure:13714: checking for msgget" >&5 +echo "configure:13875: checking for msgget" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13901: \"$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 @@ -13751,15 +13912,15 @@ 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:13755: checking for sys/ipc.h" >&5 +echo "configure:13916: 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:13763: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:13924: \"$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* @@ -13776,15 +13937,15 @@ 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:13780: checking for sys/msg.h" >&5 +echo "configure:13941: 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:13788: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:13949: \"$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* @@ -13822,15 +13983,15 @@ ac_safe=`echo "dirent.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for dirent.h""... $ac_c" 1>&6 -echo "configure:13826: checking for dirent.h" >&5 +echo "configure:13987: 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:13834: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:13995: \"$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* @@ -13857,15 +14018,15 @@ 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:13861: checking for sys/dir.h" >&5 +echo "configure:14022: 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:13869: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:14030: \"$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* @@ -13898,15 +14059,15 @@ ac_safe=`echo "nlist.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for nlist.h""... $ac_c" 1>&6 -echo "configure:13902: checking for nlist.h" >&5 +echo "configure:14063: 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:13910: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:14071: \"$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* @@ -13936,22 +14097,22 @@ echo "checking "for sound support"" 1>&6 -echo "configure:13940: checking "for sound support"" >&5 +echo "configure:14101: 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:13947: checking for multimedia/audio_device.h" >&5 +echo "configure:14108: 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:13955: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:14116: \"$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* @@ -14007,12 +14168,12 @@ if test -z "$native_sound_lib"; then echo $ac_n "checking for ALopenport in -laudio""... $ac_c" 1>&6 -echo "configure:14011: checking for ALopenport in -laudio" >&5 +echo "configure:14172: 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:14188: \"$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 @@ -14054,12 +14215,12 @@ if test -z "$native_sound_lib"; then echo $ac_n "checking for AOpenAudio in -lAlib""... $ac_c" 1>&6 -echo "configure:14058: checking for AOpenAudio in -lAlib" >&5 +echo "configure:14219: 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:14235: \"$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 @@ -14118,15 +14279,15 @@ 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:14122: checking for ${dir}/soundcard.h" >&5 +echo "configure:14283: 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:14130: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:14291: \"$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* @@ -14180,15 +14341,15 @@ 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:14184: checking for audio/audiolib.h" >&5 +echo "configure:14345: 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:14192: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:14353: \"$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* @@ -14206,12 +14367,12 @@ echo $ac_n "checking for AuOpenServer in -laudio""... $ac_c" 1>&6 -echo "configure:14210: checking for AuOpenServer in -laudio" >&5 +echo "configure:14371: 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:14387: \"$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 @@ -14261,7 +14422,7 @@ fi libs_x="-laudio $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-laudio\" to \$libs_x"; fi cat > conftest.$ac_ext < EOF @@ -14292,7 +14453,7 @@ # 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:14296: checking for $ac_word" >&5 +echo "configure:14457: 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. @@ -14321,10 +14482,10 @@ 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:14325: checking for esd_play_stream" >&5 +echo "configure:14486: 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:14512: \"$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 @@ -14398,7 +14559,7 @@ if test "$with_tty" = "yes" ; then echo "checking for TTY-related features" 1>&6 -echo "configure:14402: checking for TTY-related features" >&5 +echo "configure:14563: checking for TTY-related features" >&5 { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_TTY EOF @@ -14411,12 +14572,12 @@ if test -z "$with_ncurses"; then echo $ac_n "checking for tgetent in -lncurses""... $ac_c" 1>&6 -echo "configure:14415: checking for tgetent in -lncurses" >&5 +echo "configure:14576: 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:14592: \"$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 @@ -14460,15 +14621,15 @@ ac_safe=`echo "ncurses/curses.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ncurses/curses.h""... $ac_c" 1>&6 -echo "configure:14464: checking for ncurses/curses.h" >&5 +echo "configure:14625: 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:14472: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:14633: \"$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* @@ -14490,15 +14651,15 @@ ac_safe=`echo "ncurses/term.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ncurses/term.h""... $ac_c" 1>&6 -echo "configure:14494: checking for ncurses/term.h" >&5 +echo "configure:14655: 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:14502: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:14663: \"$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* @@ -14528,15 +14689,15 @@ 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:14532: checking for ncurses/curses.h" >&5 +echo "configure:14693: 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:14540: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:14701: \"$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* @@ -14571,12 +14732,12 @@ for lib in curses termlib termcap; do echo $ac_n "checking for tgetent in -l$lib""... $ac_c" 1>&6 -echo "configure:14575: checking for tgetent in -l$lib" >&5 +echo "configure:14736: 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:14752: \"$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 @@ -14618,12 +14779,12 @@ else echo $ac_n "checking for tgetent in -lcurses""... $ac_c" 1>&6 -echo "configure:14622: checking for tgetent in -lcurses" >&5 +echo "configure:14783: 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:14799: \"$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 @@ -14652,12 +14813,12 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for tgetent in -ltermcap""... $ac_c" 1>&6 -echo "configure:14656: checking for tgetent in -ltermcap" >&5 +echo "configure:14817: 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:14833: \"$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 @@ -14716,15 +14877,15 @@ 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:14720: checking for gpm.h" >&5 +echo "configure:14881: 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:14728: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:14889: \"$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* @@ -14747,12 +14908,12 @@ } test -z "$with_gpm" && { echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6 -echo "configure:14751: checking for Gpm_Open in -lgpm" >&5 +echo "configure:14912: 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:14928: \"$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 @@ -14806,20 +14967,20 @@ test "$with_database_gdbm $with_database_dbm $with_database_berkdb" \ != "no no no" && echo "checking for database support" 1>&6 -echo "configure:14810: checking for database support" >&5 +echo "configure:14971: 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:14815: checking for ndbm.h" >&5 +echo "configure:14976: 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:14823: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:14984: \"$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* @@ -14849,12 +15010,12 @@ if test "$with_database_gdbm" != "no"; then echo $ac_n "checking for dbm_open in -lgdbm""... $ac_c" 1>&6 -echo "configure:14853: checking for dbm_open in -lgdbm" >&5 +echo "configure:15014: 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:15030: \"$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 @@ -14893,10 +15054,10 @@ if test "$with_database_dbm" != "no"; then echo $ac_n "checking for dbm_open""... $ac_c" 1>&6 -echo "configure:14897: checking for dbm_open" >&5 +echo "configure:15058: 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:15084: \"$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 @@ -14938,12 +15099,12 @@ echo $ac_n "checking for dbm_open in -ldbm""... $ac_c" 1>&6 -echo "configure:14942: checking for dbm_open in -ldbm" >&5 +echo "configure:15103: 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:15119: \"$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 @@ -14995,10 +15156,10 @@ if test "$with_database_berkdb" != "no"; then echo $ac_n "checking for Berkeley db.h""... $ac_c" 1>&6 -echo "configure:14999: checking for Berkeley db.h" >&5 +echo "configure:15160: checking for Berkeley db.h" >&5 for header in "db/db.h" "db.h"; do cat > conftest.$ac_ext < @@ -15020,7 +15181,7 @@ ; return 0; } EOF -if { (eval echo configure:15024: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:15185: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* db_h_file="$header"; break else @@ -15036,9 +15197,9 @@ if test "$with_database_berkdb" != "no"; then echo $ac_n "checking for Berkeley DB version""... $ac_c" 1>&6 -echo "configure:15040: checking for Berkeley DB version" >&5 +echo "configure:15201: checking for Berkeley DB version" >&5 cat > conftest.$ac_ext < #if DB_VERSION_MAJOR > 1 @@ -15050,7 +15211,7 @@ egrep "yes" >/dev/null 2>&1; then rm -rf conftest* cat > conftest.$ac_ext < #if DB_VERSION_MAJOR > 2 @@ -15062,7 +15223,7 @@ egrep "yes" >/dev/null 2>&1; then rm -rf conftest* cat > conftest.$ac_ext < #if DB_VERSION_MAJOR > 3 @@ -15096,10 +15257,10 @@ rm -f conftest* echo $ac_n "checking for $dbfunc""... $ac_c" 1>&6 -echo "configure:15100: checking for $dbfunc" >&5 +echo "configure:15261: checking for $dbfunc" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:15287: \"$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 @@ -15141,12 +15302,12 @@ echo $ac_n "checking for $dbfunc in -ldb""... $ac_c" 1>&6 -echo "configure:15145: checking for $dbfunc in -ldb" >&5 +echo "configure:15306: 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:15322: \"$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 @@ -15191,12 +15352,12 @@ echo "configure: warning: "db_create is really $dbfunc"" 1>&2 echo $ac_n "checking for $dbfunc in -ldb""... $ac_c" 1>&6 -echo "configure:15195: checking for $dbfunc in -ldb" >&5 +echo "configure:15356: 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:15372: \"$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 @@ -15266,12 +15427,12 @@ if test "$with_socks" = "yes"; then echo $ac_n "checking for SOCKSinit in -lsocks""... $ac_c" 1>&6 -echo "configure:15270: checking for SOCKSinit in -lsocks" >&5 +echo "configure:15431: 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:15447: \"$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 @@ -15336,11 +15497,11 @@ fi cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:15505: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then : else @@ -15699,6 +15860,7 @@ + if test "$with_prefix" = "yes"; then { test "$extra_verbose" = "yes" && cat << \EOF Defining PREFIX_USER_DEFINED @@ -15928,6 +16090,7 @@ + ( if test -f /etc/osversion; then echo "osversion: `cat /etc/osversion`" else @@ -15953,7 +16116,7 @@ XEmacs ${emacs_major_version}.${emacs_minor_version}${xemacs_betaname} \"$xemacs_codename\" $xemacs_extra_name configured for \`$canonical'. " echo " -Compilation / Installation:" +Compilation Environment and Installation Defaults:" echo " Source code location: $srcdir" echo " Installation prefix: $prefix" if test -n "$site_includes"; then @@ -15978,7 +16141,19 @@ else echo " Not using any machine description file" fi -echo " Compiler: $XEMACS_CC $CFLAGS" +echo " Compiler version: $compiler_version" +if test -n "$gcc_compiler_specs"; then + echo " - GCC specs file: $gcc_compiler_specs" +fi +echo " - Compiler command: $XEMACS_CC $XE_CFLAGS" +if test "$CC" != "$XEMACS_CC"; then + echo " Compiler version for lib-src: (detection code unimplemented)" + echo " - Compiler command for lib-src: $CC $CFLAGS" + if test "$xemacs_cc_cc_mismatch" = "yes"; then + echo " WARNING: CC and XEMACS_CC mismatched; check CFLAGS carefully." + fi +fi +echo " libc version: $libc_version" echo " Relocating allocator for buffers: $rel_alloc" echo " GNU version of malloc: ${GNU_MALLOC}${GNU_MALLOC_reason}" case "$ld_switch_site" in @@ -16372,6 +16547,7 @@ s%@sound_cflags@%$sound_cflags%g s%@dynodump_arch@%$dynodump_arch%g s%@XEMACS_CC@%$XEMACS_CC%g +s%@XE_CFLAGS@%$XE_CFLAGS%g s%@internal_makefile_list@%$internal_makefile_list%g CEOF diff --text -u 'xemacs-21.5.16/configure.in' 'xemacs-21.5.17/configure.in' Index: ./configure.in --- ./configure.in Mon Sep 22 12:22:16 2003 +++ ./configure.in Thu Mar 18 18:57:11 2004 @@ -76,6 +76,7 @@ dnl Disable cache files: dnl This is controversial, but I am convinced this is the right way to go, dnl at least by default. Otherwise there are too many surprises. +dnl It's been several years, and nobody noticed. -- sjt, 2004-01-28 define([AC_CACHE_LOAD], )dnl define([AC_CACHE_SAVE], )dnl define([AC_CACHE_VAL], [ @@ -248,10 +249,6 @@ define([XE_STRIP_4TH_COMPONENT], [$1=`echo "$$1" | sed '[s/^\([^-][^-]*-[^-][^-]*-[^-][^-]*\)-.*$/\1/]'`]) -dnl Initialize some variables set by options. -dnl The variables have the same names as the options, with -dnl dashes changed to underlines. - define([USAGE_ERROR], [(echo "$progname: Usage error:" echo " " $1 @@ -279,11 +276,13 @@ if test -n "$CDPATH"; then CDPATH="."; export CDPATH; fi fi -dnl srcdir is used internally by autoconf macros -dnl parse it here -for xe_parse_arg in "$@"; do +dnl Find the source directory. +dnl srcdir is used internally by autoconf macros, +dnl so parse it here. +for xe_parse_arg +do case $xe_parse_arg in - --srcdir) USAGE_ERROR("The \`--srcdir' option requires a boolean value: \`yes' or \`no'.") ;; + --srcdir) USAGE_ERROR(["The \`--srcdir' option requires a string value."]) ;; --srcdir=*) srcdir=`echo $xe_parse_arg | sed -e 's/--srcdir=//'` ;; *) ;; esac @@ -310,7 +309,8 @@ dnl Initialize some other variables. subdirs= -MFLAGS= MAKEFLAGS= +MFLAGS= +MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} dnl Maximum number of lines to put in a shell here document. ac_max_here_lines=12 @@ -318,6 +318,7 @@ AC_INIT(src/lisp.h)dnl AC_CONFIG_HEADER(src/config.h lwlib/config.h) + dnl Remove any more than one leading "." element from the path name. dnl If we do not remove them, then another "./" will be prepended to dnl the file name each time we use config.status, and the program name @@ -443,7 +444,7 @@ arg="$1"; shift case "$arg" in --no-create|--no-recursion) ;; - --srcdir=*) ;; + --srcdir=*) ;; dnl Ignore here; parsed during AC_INIT. dnl Anything starting with a hyphen we assume is an option. -* ) dnl Separate the switch name from the value it is being given. @@ -768,11 +769,6 @@ done ;; - dnl Has the user tried to tell us where the X files are? - dnl I think these are dopey, but no less than three alpha - dnl testers, at large sites, have said they have their X files - dnl installed in odd places. - dnl Has the user specified one of the path options? prefix | exec_prefix | bindir | datadir | statedir | libdir | \ mandir | infodir | infopath | lispdir | etcdir | \ @@ -897,39 +893,7 @@ dnl CDE requires tooltalk XE_CHECK_FEATURE_DEPENDENCY(cde, tooltalk) -dnl Find the source directory. -case "$srcdir" in - - dnl If srcdir is not specified, try directory part of $0, ".", or "..". - "" ) - for dir in "`echo $0 | sed 's|//|/|' | sed 's|/[[^/]]*$||'`" "." ".." ; do - if test -f "$dir/src/lisp.h" -a \ - -f "$dir/lisp/version.el" ; then - srcdir="$dir" - break - fi - done - if test -z "$srcdir" ; then - USAGE_ERROR(["None of the path to configure, the current directory, - and its parent seem to contain the XEmacs sources. If you do not want - to build XEmacs in its source tree, you should run \`$progname' in the - directory in which you wish to build XEmacs, using the \`--srcdir' option - to say where the sources may be found."]) - fi - ;; - - dnl Otherwise, check if the directory they specified is okay. - * ) - if test ! -f "$srcdir/src/lisp.h" -o \ - ! -f "$srcdir/lisp/version.el" ; then - USAGE_ERROR(["The directory specified with the \`--srcdir' option, - \`$srcdir', doesn't seem to contain the XEmacs sources. You should - either run the \`$progname' script at the top of the XEmacs source - tree, or use the \`--srcdir' option to specify the XEmacs source directory."]) - fi - ;; -esac - +dnl Done parsing options. dnl ########################################################################### if test -z "$configuration"; then dnl Guess the configuration @@ -1020,7 +984,7 @@ fi fi AC_DEFINE_UNQUOTED(XEMACS_CODENAME, "$xemacs_codename") -if test "X$xemacs_extra_name" != "X"; then +if test "$xemacs_extra_name" != ""; then AC_DEFINE_UNQUOTED(XEMACS_EXTRA_NAME, "$xemacs_extra_name") fi AC_DEFINE_UNQUOTED(EMACS_VERSION, "$version") @@ -1722,6 +1686,21 @@ esac]) fi +dnl Support for using a different compiler for xemacs itself. +dnl Useful for building XEmacs with a C++ compiler. +dnl For example, `configure --compiler=gcc --xemacs-compiler=g++ + +dnl The compiler used to build xemacs, as opposed to the compiler +dnl used by configure and lib-src, is determined from the following +dnl sources, in order of priority: +dnl o --xemacs-compiler configure flag +dnl o XEMACS_CC environment variable +dnl o same as the regular compiler, (determined previously) + +dnl We don't do AC_PROG_CC for XEMACS_CC; if we can't trust these people.... +test -n "$xemacs_compiler" && XEMACS_CC="$xemacs_compiler" +: ${XEMACS_CC:="$CC"} + dnl Figure out what C preprocessor to use. dnl On Sun systems, people sometimes set up the variable CPP @@ -1767,9 +1746,16 @@ fi ;; linux) AC_DEFINE(_POSIX_C_SOURCE,199506L) + dnl #### should this be 600? AC_DEFINE(_XOPEN_SOURCE,500) AC_DEFINE(_XOPEN_SOURCE_EXTENDED) ;; + freebsd4.9) + AC_DEFINE(_POSIX_C_SOURCE,199506L) + dnl #### Do we want these too? Apparently yes for _XOPEN_SOURCE=500. + AC_DEFINE(_XOPEN_SOURCE,500) + dnl AC_DEFINE(_XOPEN_SOURCE_EXTENDED) + ;; esac dnl Identify compilers to enable compiler-specific hacks. @@ -1782,14 +1768,19 @@ return 12; #elif defined __USLC__ && defined __SCO_VERSION__ return 13; +#elif defined __INTEL_COMPILER +return 14; #else return 0; #endif }], [], [case "$conftest_rc" in - 11) echo "You appear to be using the SunPro C compiler."; __SUNPRO_C=yes ;; - 12) echo "You appear to be using the DEC C compiler." ; __DECC=yes ;; - 13) echo "You appear to be using the SCO C compiler." ; __USLC__=yes ;; + 11) echo "You appear to be using the SunPro C compiler." ; __SUNPRO_C=yes ;; + 12) echo "You appear to be using the DEC C compiler." ; __DECC=yes ;; + 13) echo "You appear to be using the SCO C compiler." ; __USLC__=yes ;; + 14) echo "You appear to be using the Intel C++ compiler."; __ICC=yes + dnl Newer versions of icc claim to be GCC + GCC=no ;; esac]) @@ -1987,6 +1978,25 @@ test "$need_kalloca" = "yes" && XE_APPEND(-Kalloca,c_switch_system) fi +dnl If we're specifying XEMACS_CC, it'd better be in the same family +dnl as CC or the following flag calculations are bogus. +dnl #### We may want to actually error and abort here, but I am not sure. +if test "$CC" != "$XEMACS_CC"; then + if test "$XEMACS_CC" = "g++" -a "$GCC" != "yes"; then + AC_MSG_WARN([CC and g++ are mismatched; XE_CFLAGS may be wrong]) + xemacs_cc_cc_mismatch=yes + elif test -n "$GCC" -a "$XEMACS_CC" != "g++"; then + AC_MSG_WARN([gcc and XEMACS_CC are mismatched; XE_CFLAGS may be wrong]) + xemacs_cc_cc_mismatch=yes + dnl #### Add other detectable mismatches here. + else + xemacs_cc_cc_mismatch=no + fi +fi + +dnl #### This may need to be overhauled so that all of XEMACS_CC's flags +dnl are handled separately, not just the xe_cflags_warning stuff. + dnl Calculate value of CFLAGS: dnl Use either command line flag, environment var, or autodetection if test "$cflags_specified" = "no"; then @@ -1994,9 +2004,6 @@ dnl Should we take debugging options into consideration? if test "$GCC" = "yes"; then CFLAGS="-g -O3" - 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" elif test "$__SUNPRO_C" = "yes"; then case "$opsys" in sol2 ) CFLAGS="-xO4" ;; @@ -2006,55 +2013,66 @@ CFLAGS="-O3" elif test "$CC" = "xlc"; then CFLAGS="-g -O3 -qstrict -qnoansialias -qlibansi -qro -qmaxmem=20000" + elif test "$__ICC" = "yes"; then + CFLAGS="-g -O3 -Ob2" dnl ### Add optimal CFLAGS support for other compilers HERE! else CFLAGS="-O" ;dnl The only POSIX-approved flag fi fi -dnl Calculate warning flags. We now separate the flags for warnings from -dnl the other flags because we really really want the warnings to be seen -dnl by everyone. +dnl Calculate warning flags. We separate the flags for warnings from +dnl the other flags because we want to force the warnings to be seen +dnl by everyone who doesn't specifically override them. + +dnl If this stays nil, it will be set to cflags_warning before use. +xe_cflags_warning="" if test "$cflags_warning_specified" = "no"; then dnl Following warning flags are known to work well. - if test "$GCC" = "yes"; then + if test "$__SUNPRO_C" = "yes"; then + case "$opsys" in + sol2 ) cflags_warning="-v" ;; + esac + elif test "$CC" = "xlc"; then + cflags_warning="-qinfo" + elif test "$GCC" = "yes"; then cflags_warning="-Wall -Wno-switch -Winline -Wmissing-prototypes" dnl Yuck, bad compares have been worth at least 3 crashes! cflags_warning="$cflags_warning -Wsign-compare" - dnl NOTE: The following three, as well as -Wmissing-declarations and - dnl -Weffc++ below, have been recently added. If you are getting - dnl grief from them, please notify ben@xemacs.org! cflags_warning="$cflags_warning -Wundef -Wstrict-prototypes" if test "$__GCC3" = "yes"; then cflags_warning="$cflags_warning -Wpacked" fi + dnl Warning flags for the XEMACS_CC compiler dnl With g++, -Wshadow produces five zillion utterly random warnings -- dnl a local var named `buffer' conflicts with `struct buffer' for dnl example. Even with gcc, -Wshadow is questionable because of its dnl complaints about parameters with the same names as global functions. - if test "$xemacs_compiler" != "g++"; then - dnl no -Wmissing-declarations under g++. - cflags_warning="$cflags_warning -Wshadow -Wmissing-declarations" - else - cflags_warning="$cflags_warning -Weffc++" - fi + dnl There is no -Wmissing-declarations under g++. + dnl But gcc warns about -Weffc++ in C compiles. + test "$xemacs_compiler" = "g++" && \ + xe_cflags_warning="$cflags_warning -Weffc++" + cflags_warning="$cflags_warning -Wshadow -Wmissing-declarations" 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_warning="$cflags_warning -Wpointer-arith" - elif test "$__SUNPRO_C" = "yes"; then - case "$opsys" in - sol2 ) cflags_warning="-v" ;; - esac - elif test "$CC" = "xlc"; then - cflags_warning="-qinfo" + elif test "$__ICC" = "yes"; then + cflags_warning="-Wall -w1" + dnl **** If more gcc/g++ flags are added, from here on must handle + dnl **** cflags_warning and xe_cflags_warning in parallel dnl ### Add optimal cflags_warning support for other compilers HERE! fi fi dnl Now combine all C flags. Put the warning flags first so that dnl user-specified flags will override. +dnl Do XE_CFLAGS before adding warning flags to CFLAGS. +dnl Flags for XEMACS_CC: +test -z "xe_cflags_warning" && xe_cflags_warning=cflags_warning +XE_CFLAGS="$xe_cflags_warning $CFLAGS" +dnl Flags for CC: CFLAGS="$cflags_warning $CFLAGS" dnl Search for GCC specific build problems we know about @@ -2215,6 +2233,122 @@ AC_SUBST(lib_gcc) dnl --------------------------------------------------------------- +dnl Get version information for: +dnl C compiler, libc +dnl #### should do CC compiler, too, if different from XEMACS_CC +dnl --------------------------------------------------------------- + +compiler_version="" +gcc_compiler_specs="" +libc_version="" + +AC_MSG_CHECKING(for compiler version information) + +dnl First try portable compilers, then crack system secrets +dnl #### Is this code correct if $XEMACS_CC != $CC? XEMACS_CC hasn't been +dnl run through the AC_PROG_CC mill. +dnl Would anybody really build libsrc with GCC and XEmacs with non-GCC? +if test "$GCC" = "yes"; then + compiler_version=`$XEMACS_CC --version | head -1` + gcc_compiler_specs=`$XEMACS_CC -v 2>&1 | sed 's/.* \([[^ ]]\)/\1/' | head -1` +else case "$XEMACS_CC" in + dnl The Intel cc compiler + icc*) + compiler_version=`icc -V 2>&1 | head -1` + ;; + dnl non-gcc machine-specific magic - contributions welcome + *) case "$canonical" in + *-*-aix* ) + dnl Yes, it's this ugly for AIX... + realcc=`which $XEMACS_CC` + dnl Might be a symlink created by replaceCset command + if test -L $realcc ; then + ccdir=`dirname $realcc` + ccprog=`/bin/ls -l $realcc | sed 's/.* \([[^ ]]\)/\1/'` + dnl This doesn't handle ../../xlc type stuff, but I've not seen one... + case $ccprog in + */*) realcc=$ccprog;; + *) realcc=$ccdir/$ccprog;; + esac + fi + lpp=`lslpp -wqc $realcc | cut -f2 -d:` + if test ! -z "$lpp" ; then + lppstr=`lslpp -Lqc $lpp` + lpplev=`echo "$lppstr" | cut -f3 -d:` + lppdesc=`echo "$lppstr" | cut -f8 -d:` + fi + if test ! -z "$lpplev" ; then + compiler_version="$lpp $lpplev - $lppdesc" + fi + ;; + + *-*-solaris*) + compiler_version=`$XEMACS_CC -V 2>&1 | head -1` + ;; + + alpha*-dec-osf*) + compiler_version=`$XEMACS_CC -V | tr '\n' ' '` + ;; + + mips-sgi-irix*) + compiler_version=`$XEMACS_CC -version` + ;; + esac + esac +fi + +dnl Awww, shucks. +if test -z "$compiler_version"; then + compiler_version="detection failed (please report this)" +fi + +AC_MSG_CHECKING(for standard C library version information) + +case "$canonical" in + *-*-linux*) + dnl #### who would ever _not_ be running the distro's libc? + dnl Maybe it would be better to get/augment this info with ldd? + if test -f /etc/redhat-release ; then + libc_version=`rpm -q glibc` + elif test -f /etc/debian_version ; then + libc_version=`dpkg-query --showformat='${version}' --show libc6` + libc_version="GNU libc $libc_version (Debian)" + dnl need SuSE et al checks here... + fi + dnl #### Tested on Debian, does this actually work elsewhere? ;-) + if test -z "$libc_version"; then + libc_version=`ls /lib/libc-*.so | sed -e 's,/lib/libc-\(.*\)\.so,\1,'` + fi + ;; + + *-*-aix*) + libc_version="bos.rte.libc `lslpp -Lqc bos.rte.libc | cut -f3 -d:`" + ;; + + *-*-solaris*) + libc=`pkginfo -l SUNWcsl | grep VERSION: | awk '{print $2}'` + libc_version="SUNWcsl $libc" + + ;; + + mips-sgi-irix*) + libc_version="IRIX libc `uname -sRm`" + ;; + + alpha*-dec-osf*) + dnl Another ugly case + (cd /usr/.smdb.; + libc_version=` grep -h libc.so *.inv | awk '$9 == "f" {print $12}' | tr '\n' ','` + ) + ;; +esac + +dnl Awww, shucks. +if test -z "libc_version"; then + libc_version="detection failed (please report this)" +fi + +dnl --------------------------------------------------------------- dnl Add site and system specific flags to compile and link commands dnl --------------------------------------------------------------- @@ -3057,7 +3191,7 @@ XE_APPEND(netinstall, INSTALL_ARCH_DEP_SUBDIR) fi - install_pp="$blddir/lib-src/installexe.sh" + install_pp="$srcdir/lib-src/installexe.sh" XE_APPEND(-limm32 -lshell32 -lgdi32 -luser32 -lcomdlg32 -lcomctl32 -lole32 -luuid -lwinspool -lmpr, libs_system) if test "$with_dragndrop" != no; then XE_APPEND(msw, dragndrop_proto) @@ -3176,18 +3310,7 @@ dnl offix.c, so that the thing is dumped after lastfile.o AC_SUBST(dnd_objs) -dnl Support for using a different compiler for xemacs itself. -dnl Useful for building XEmacs with a C++ compiler. -dnl For example, `configure --compiler=gcc --xemacs-compiler=g++ - -dnl The compiler used to build xemacs, as opposed to the compiler -dnl used by configure and lib-src, is determined from the following -dnl sources, in order of priority: -dnl o --xemacs-compiler configure flag -dnl o XEMACS_CC environment variable -dnl o same as the regular compiler, (determined previously) -test -n "$xemacs_compiler" && XEMACS_CC="$xemacs_compiler" -: ${XEMACS_CC:="$CC"} +dnl Autodetect dll support dnl If g++ is used, we have to explicitly link modules with -lstdc++ on Cygwin dnl to avoid undefined symbol errors. This will never hurt, so just do it on @@ -3199,7 +3322,6 @@ fi AC_SUBST(LIBSTDCPP) -dnl Autodetect dll support dnl This must come before the detection code for anything that is in a module if test "$with_modules" != "no"; then AC_CHECKING(for module support) @@ -4189,6 +4311,16 @@ AC_C_INLINE test "$ac_cv_c_inline" != "no" -a "$GCC" = "yes" && XE_ADD_OBJS(inline.o) +dnl check for the typeof extension +AC_MSG_CHECKING(for typeof) +AC_TRY_COMPILE(, [int i; __typeof__(i) j;], typeofname="__typeof__", + [AC_TRY_COMPILE(, [int i; typeof(i) j;], typeofname="typeof", + typeofname=no)]) +AC_MSG_RESULT($typeofname) +if test "$typeofname" != "no"; then + AC_DEFINE_UNQUOTED(TYPEOF, $typeofname) +fi + dnl HP-UX has a working alloca in libPW. dnl case "${GCC}${opsys}" in hpux* ) dnl AC_CHECK_FUNC(alloca, [:], [AC_CHECK_LIB(PW, alloca)]) @@ -5043,6 +5175,7 @@ AC_SUBST(dynodump_arch) AC_SUBST(XEMACS_CC) +AC_SUBST(XE_CFLAGS) dnl The default is yes if test "$with_prefix" = "yes"; then @@ -5099,6 +5232,9 @@ dnl Report on what we decided to do dnl ------------------------------- +dnl #### We should tag this as the _build_ environment. +dnl Before doing that, though, must check if tools care about line 1. + ( dnl /etc/osversion is on SONY NEWS-OS if test -f /etc/osversion; then dnl SONY NEWS-OS @@ -5127,7 +5263,7 @@ XEmacs ${emacs_major_version}.${emacs_minor_version}${xemacs_betaname} \"$xemacs_codename\" $xemacs_extra_name configured for \`$canonical'. " echo " -Compilation / Installation:" +Compilation Environment and Installation Defaults:" echo " Source code location: $srcdir" echo " Installation prefix: $prefix" if test -n "$site_includes"; then @@ -5152,7 +5288,19 @@ else echo " Not using any machine description file" fi -echo " Compiler: $XEMACS_CC $CFLAGS" +echo " Compiler version: $compiler_version" +if test -n "$gcc_compiler_specs"; then + echo " - GCC specs file: $gcc_compiler_specs" +fi +echo " - Compiler command: $XEMACS_CC $XE_CFLAGS" +if test "$CC" != "$XEMACS_CC"; then + echo " Compiler version for lib-src: (detection code unimplemented)" + echo " - Compiler command for lib-src: $CC $CFLAGS" + if test "$xemacs_cc_cc_mismatch" = "yes"; then + echo " WARNING: CC and XEMACS_CC mismatched; check CFLAGS carefully." + fi +fi +echo " libc version: $libc_version" echo " Relocating allocator for buffers: $rel_alloc" echo " GNU version of malloc: ${GNU_MALLOC}${GNU_MALLOC_reason}" case "$ld_switch_site" in diff --text -u 'xemacs-21.5.16/etc/ChangeLog' 'xemacs-21.5.17/etc/ChangeLog' Index: ./etc/ChangeLog --- ./etc/ChangeLog Fri Sep 26 14:56:33 2003 +++ ./etc/ChangeLog Mon Mar 22 17:12:48 2004 @@ -1,3 +1,28 @@ +2004-03-22 Stephen J. Turnbull + + * XEmacs 21.5.17 "chayote" is released. + +2004-03-20 Adrian Aichner + + * sample.init.el: Typo and copycat fix. + +2003-11-28 Norbert Koch + + * PACKAGES (erc): new. + +2003-11-18 Norbert Koch + + * PACKAGES (MH-E): Update the MH-E package information string. + +2003-10-25 Norbert Koch + + * PACKAGES (riece): New package. + * PACKAGES (liece): Mark as deprecated. + +2003-10-02 Steve Youngs + + * youngs.png, youngsm.png: Removed. + 2003-09-26 Steve Youngs * XEmacs 21.5.16 "celeriac" is released. diff --text -u 'xemacs-21.5.16/etc/PACKAGES' 'xemacs-21.5.17/etc/PACKAGES' Index: ./etc/PACKAGES --- ./etc/PACKAGES Thu Aug 28 03:06:56 2003 +++ ./etc/PACKAGES Fri Nov 28 16:48:16 2003 @@ -101,6 +101,9 @@ *** emerge Another interface over GNU patch. +*** erc +ERC is an Emacs InternetRelayChat client. + *** eshell Command shell implemented entirely in Emacs Lisp. @@ -171,7 +174,8 @@ Integrated Development Environment for Java. *** liece -IRC (Internet Relay Chat) client for Emacs. +IRC (Internet Relay Chat) client for Emacs. Note, this package is +deprecated and will be removed, use riece instead. *** mail-lib Fundamental lisp files for providing email support. @@ -183,7 +187,7 @@ Messaging in an Emacs World; a MIME-based email program. *** mh-e -Front end support for MH. +The XEmacs Interface to the MH Mail System. *** mine Elisp implementation of the game 'Minehunt'. @@ -245,6 +249,9 @@ *** reftex Emacs support for LaTeX cross-references, citations. +*** riece +IRC (Internet Relay Chat) client for Emacs. + *** rmail An obsolete Emacs mailer. If you do not already use it don't start. diff --text -u 'xemacs-21.5.16/etc/sample.init.el' 'xemacs-21.5.17/etc/sample.init.el' Index: ./etc/sample.init.el --- ./etc/sample.init.el Tue Jun 4 15:03:59 2002 +++ ./etc/sample.init.el Sat Mar 20 21:51:25 2004 @@ -273,7 +273,7 @@ ;; and in fact all we've done is copied the definition. Note again ;; how we check to avoid clobbering an existing definition. (It's good ;; style to do this, in case some improvement was made to the -;; already-existing function -- otherwise we might subsitute an older +;; already-existing function -- otherwise we might substitute an older ;; definition and possibly break some code elsewhere.) ;; ;; NOTE ALSO: It is in general *NOT* a good idea to do what we're @@ -1263,7 +1263,7 @@ ;;; ******************** -;;; Filladapt is a syntax-highlighting package. When it is enabled it +;;; Filladapt is an adaptive text-filling package. When it is enabled it ;;; makes filling (e.g. using M-q) much much smarter about paragraphs ;;; that are indented and/or are set off with semicolons, dashes, etc. diff --text -u 'xemacs-21.5.16/lib-src/ChangeLog' 'xemacs-21.5.17/lib-src/ChangeLog' Index: ./lib-src/ChangeLog --- ./lib-src/ChangeLog Fri Sep 26 14:56:34 2003 +++ ./lib-src/ChangeLog Mon Mar 22 17:12:48 2004 @@ -1,3 +1,17 @@ +2004-03-22 Stephen J. Turnbull + + * XEmacs 21.5.17 "chayote" is released. + +2004-01-21 Jerry James + + * Makefile.in.in (mmencode): Pass $(ldflags) to the compiler. + * Makefile.in.in (make-path): Ditto. + +2003-10-13 Jerry James + + * ellcc.c: Remove attribute definitions, include new compiler.h + instead, and change existing uses to match new definitions. + 2003-09-26 Steve Youngs * XEmacs 21.5.16 "celeriac" is released. diff --text -u 'xemacs-21.5.16/lib-src/Makefile.in.in' 'xemacs-21.5.17/lib-src/Makefile.in.in' Index: ./lib-src/Makefile.in.in --- ./lib-src/Makefile.in.in Fri Apr 26 03:03:23 2002 +++ ./lib-src/Makefile.in.in Wed Jan 28 02:49:44 2004 @@ -387,11 +387,11 @@ ## mmencode binary is used by tm - but is really part of the metamail package ## mmencode.c was merged copy of mmencode.c and codes.c of metamail mmencode : ${srcdir}/mmencode.c - $(CC) $(cflags) ${srcdir}/mmencode.c -o $@ + $(CC) $(cflags) ${srcdir}/mmencode.c $(ldflags) -o $@ ## The timer utility (timer.c, getdate.y) is not used in XEmacs ## because XEmacs provides built-in timer facilities. make-path: ${srcdir}/make-path.c ../src/config.h - $(CC) -Demacs $(cflags) ${srcdir}/make-path.c -o $@ + $(CC) -Demacs $(cflags) ${srcdir}/make-path.c $(ldflags) -o $@ diff --text -u 'xemacs-21.5.16/lib-src/ellcc.c' 'xemacs-21.5.17/lib-src/ellcc.c' Index: ./lib-src/ellcc.c --- ./lib-src/ellcc.c Mon Sep 22 12:21:12 2003 +++ ./lib-src/ellcc.c Tue Oct 14 14:02:57 2003 @@ -78,27 +78,7 @@ #include #include /* Generated files must be included using <...> */ - -#ifndef ATTRIBUTE_MALLOC -# if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__==2 && __GNUC_MINOR__>=96)) -# define ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) -# else -# define ATTRIBUTE_MALLOC -# endif /* GCC version >= 2.96 */ -#endif /* ATTRIBUTE_MALLOC */ - -#ifdef __GNUC_ -# define ATTRIBUTE_FATAL __attribute__ ((noreturn, format (printf, 1, 2))) -#else -# define ATTRIBUTE_FATAL -#endif /* __GNUC__ */ - -#if defined(__GNUC__) && (__GNUC__ >= 2 || (__GNUC__==2 && __GNUC_MINOR__>=5)) -# define ATTRIBUTE_CONST __attribute__ ((const)) -#else -# define ATTRIBUTE_CONST -#endif - +#include "compiler.h" #ifndef HAVE_SHLIB int @@ -188,7 +168,7 @@ static void *xmalloc (size_t size) ATTRIBUTE_MALLOC; static void *xrealloc (void *ptr, size_t size) ATTRIBUTE_MALLOC; static char *xstrdup (char *) ATTRIBUTE_MALLOC; -static void fatal (char *, ...) ATTRIBUTE_FATAL; +static DECLARE_DOESNT_RETURN (fatal (char *, ...)) PRINTF_ARGS (1, 2); static char ** add_string (char **, char *); static char ** add_to_argv (char **, const char *); static char ** do_compile_mode (void); @@ -467,7 +447,7 @@ } /* Print error message and exit. */ -static void +static DOESNT_RETURN fatal (char *format, ...) { va_list ap; diff --text -u 'xemacs-21.5.16/lisp/ChangeLog' 'xemacs-21.5.17/lisp/ChangeLog' Index: ./lisp/ChangeLog --- ./lisp/ChangeLog Fri Sep 26 14:56:35 2003 +++ ./lisp/ChangeLog Mon Mar 22 17:12:48 2004 @@ -1,3 +1,137 @@ +2004-03-22 Stephen J. Turnbull + + * XEmacs 21.5.17 "chayote" is released. + +2004-02-26 Jerry James + + * device.el (device-num-screens): New. + * device.el (device-backing-store): New. + * device.el (device-save-under): New. + * frame.el: Synch with Emacs 21.3. + +2004-02-23 Steve Youngs + + * package-get.el (package-get-update-base-from-buffer): Force + binary coding system for verifying GnuPG signature in the + package-index file. + +2004-02-06 Jerry James + + * term/linux.el: Change iso-latin-1 to iso-8859-1. + +2004-01-28 Jerry James + + * subr.el (add-to-invisibility-spec): New, from Emacs 21.3. + * subr.el (remove-from-invisibility-spec): Ditto. + +2004-01-29 Stephen J. Turnbull + + * mule/japanese.el (paragraph-start, paragraph-separate): + Remove anchor to BOL. + +2004-01-22 Stephen J. Turnbull + + * specifier.el (canonicalize-spec): Fix typo in docstring. + (make-specifier-and-init): + (map-specifier): + (canonicalize-spec-list): + (set-specifier): + Improve docstring. + +2004-01-21 Jerry James + + * wid-edit.el: Remove duplicate sexp widget definitions. + +2004-01-08 Nickolay Pakoulin + + * info.el (Info-insert-file-contents): Use `shell-command-switch' + instead of hard-coded "-c". + +2003-12-15 Steve Youngs + + * wid-edit.el (lazy): New. + (widget-child-value-get): New. + (widget-child-value-inline): New. + (widget-child-validate): New. + (widget-type-value-create): New. + (widget-type-default-get): New. + (widget-type-match): New. + + This adds a "lazy" widget to allow the definition of recursive + datatypes for customize. The composite widgets expand their + subtypes immediately, which cause obvious problems for recursive + datatypes. The "lazy" will only expand them when needed, hense + the name. + From Per Abrahamsen + +2003-12-15 Steve Youngs + + * package-get.el (package-get-list-packages-where): New. A + function that allows searching for groups of packages. For + example, find all packages that require the fsf-compat package. + +2003-11-05 Vin Shelton + + * help.el (Help-prin1-face): + (Help-princ-face): + princ and prin1 are functions and need to be called as such. The + idea for this patch was submitted by Eric Eide . + +2003-11-04 Stephen J. Turnbull + + * about.el (about-personal-info): Fix typo in Tony Rossini's entry. + +2003-10-29 Ville Skyttä + + * mule/lao-util.el (lao-transcription-pattern): + Comment out duplicate which uses regexp-opt. + +2003-10-15 Stephen J. Turnbull + + * autoload.el (Copyright): Update. + +2003-10-11 Stephen J. Turnbull + + * files.el (find-file): Improve docstring. + +2003-10-11 Steve Youngs + + * package-ui.el (pui-display-keymap): Map `m' to + `pui-display-maintainer'. + (pui-help-echo): Display both the installed upstream version + number and the available upstream version number. + (pui-display-maintainer): New. + +2003-10-10 Stephen J. Turnbull + + * wid-edit.el (widget-url-link-action): Fix typo. + +2003-10-05 Kevin Haddock + + * lisp/wid-edit.el (widget-default-create): Implemented suggested + char-table dispatch wrench up (No. 4). + +2003-10-07 Jerry James + + * autoload.el (generate-c-file-autoloads-1): Use module-extensions + instead of listing the extensions. Use locate-file instead of + explicitly trying each extension. + * code-files.el (load): Use module-extensions instead of an + explicit list of extensions. + +2003-10-02 Steve Youngs + + * about.el (xemacs-hackers): Remove me. + (about-current-release-maintainers): Ditto. + (about-url-alist): Ditto. + (about-personal-info): Ditto. + (about-hacker-contribution): Ditto. + +2003-10-01 Steve Youngs + + * cl-extra.el (cl-do-prettyprint): Work around a "formatting" bug + in `report-xemacs-bug'. + 2003-09-26 Steve Youngs * XEmacs 21.5.16 "celeriac" is released. diff --text -u 'xemacs-21.5.16/lisp/about.el' 'xemacs-21.5.17/lisp/about.el' Index: ./lisp/about.el --- ./lisp/about.el Sun Feb 16 15:08:02 2003 +++ ./lisp/about.el Thu Nov 6 14:11:15 2003 @@ -163,13 +163,12 @@ (vladimir "Vladimir Ivanovic" "vladimir@xemacs.org") (wmperry "William Perry" "wmperry@xemacs.org") (yoshiki "Yoshiki Hayashi" "yoshiki@xemacs.org") - (youngs "Steve Youngs" "youngs@xemacs.org") ) "Alist of XEmacs hackers.") (defvar about-current-release-maintainers ;; this list should not necessarily be in sorted order. - '(youngs adrian ben hniksic james piper scop sperber turnbull)) + '(adrian ben hniksic james piper scop sperber turnbull)) (defvar about-other-current-hackers ;; to sort this list or the one below, use: @@ -219,8 +218,7 @@ (vin . "http://www.upa.org/") (vladimir . "http://www.leonora.org/~vladimir/") (wget . "http://sunsite.dk/wget/") - (xemacs . "http://www.xemacs.org/") - (youngs . "http://eicq.sourceforge.net/")) + (xemacs . "http://www.xemacs.org/")) "Some of the more important URLs.") (defvar about-left-margin 3) @@ -1306,7 +1304,7 @@ and the Fred Hutchinson Cancer Research Center. See ") - (about-url-link 'rossini nil "Visit Anothony's home page") + (about-url-link 'rossini nil "Visit Anthony's home page") (widget-insert ".\n")) (scop (widget-insert @@ -1393,20 +1391,6 @@ (widget-insert "\ Sorry, no personal information available about me yet.\n")) - (youngs - (widget-insert "\ -I live in Brisbane, Australia with my wife, Michelle and our two -children, Kaitlyn and Blake. - -In the past, I've been a bank officer, car salesman, insurance agent, -managed a computer firm and owned and operated my own business. I now -divide my time between my family, planning my next business idea (a -computer consulting firm that uses zero Microsoft products), hacking -XEmacs, and hacking my own XEmacs package, Eicq. - -\tSee: ") - (about-url-link 'youngs "Eicq Homepage" "Visit the Eicq homepage\n") - (widget-insert ".\n")) )) ;; Insert info about a maintainer's contribution to XEmacs. See also @@ -1806,15 +1790,6 @@ (widget-insert "\ Sorry, no information about my XEmacs contributions yet.\n")) - (youngs - (widget-insert "\ -Steve is the current XEmacs Beta Release Manager (the guy responsible -for getting this version of XEmacs out the door). - -Steve used to be our Packages Release Manager and as such is one of -our resident PUI experts. He fixed the \"has never worked before\" -PGP code in package-get, added the balloon-help to PUI, and a few -other package related enhancements/fixes.\n")) )) ;; Setup the buffer for a maintainer. diff --text -u 'xemacs-21.5.16/lisp/autoload.el' 'xemacs-21.5.17/lisp/autoload.el' Index: ./lisp/autoload.el --- ./lisp/autoload.el Thu May 22 16:41:27 2003 +++ ./lisp/autoload.el Wed Oct 15 18:19:10 2003 @@ -1,6 +1,6 @@ ;;; autoload.el --- maintain autoloads in auto-autoloads files. -;; Copyright (C) 1991, 1992, 1993, 1994, 1997 Free Software Foundation, Inc. +;; Copyright (C) 1991-1994, 1997, 2003 Free Software Foundation, Inc. ;; Copyright (C) 1995 Tinker Systems and INS Engineering Corp. ;; Copyright (C) 1996, 2000, 2002, 2003 Ben Wing. @@ -461,11 +461,9 @@ marked by `generate-c-autoload-cookie' (which see). If FILE is being visited in a buffer, the contents of the buffer are used." - (let ((exists-p-format - "(file-exists-p (expand-file-name \"%s.%s\" module-directory))") - (autoloads-done '()) - ) - + (let ((exists-p-format + "(when (locate-file \"%s\" module-load-path module-extensions)\n") + autoloads-done) (save-excursion (save-restriction (widen) @@ -479,14 +477,7 @@ (if funlist (progn (message "Generating autoloads for %s..." trim-name) - (princ "(when (or\n " outbuf) - (princ (format exists-p-format load-name "ell") outbuf) - (princ "\n " outbuf) - (princ (format exists-p-format load-name "dll") outbuf) - (princ "\n " outbuf) - (princ (format exists-p-format load-name "so") outbuf) - ;; close the princ'd `or' form - (princ ")\n " outbuf) + (princ (format exists-p-format load-name) outbuf) (dolist (arg funlist) (goto-char (point-min)) (re-search-forward @@ -508,14 +499,7 @@ (return-from generate-c-file-autoloads-1 nil)) (message "Generating autoloads for %s..." trim-name) - (princ "(when (or\n " outbuf) - (princ (format exists-p-format load-name "ell") outbuf) - (princ "\n " outbuf) - (princ (format exists-p-format load-name "dll") outbuf) - (princ "\n " outbuf) - (princ (format exists-p-format load-name "so") outbuf) - ;; close the princ'd `or' form - (princ ")\n " outbuf) + (princ (format exists-p-format load-name) outbuf) (while match (forward-line 1) (let ((autoload (make-c-autoload load-name))) diff --text -u 'xemacs-21.5.16/lisp/cl-extra.el' 'xemacs-21.5.17/lisp/cl-extra.el' Index: ./lisp/cl-extra.el --- ./lisp/cl-extra.el Mon Apr 1 12:58:06 2002 +++ ./lisp/cl-extra.el Wed Oct 1 07:09:33 2003 @@ -713,7 +713,8 @@ (defun cl-do-prettyprint () (skip-chars-forward " ") (if (looking-at "(") - (let ((skip (or (looking-at "((") (looking-at "(prog") + (let ((skip (or (looking-at "((") + (looking-at "(prog[nv12\\(ress-feedback\\|n-with-message\\)]") (looking-at "(unwind-protect ") (looking-at "(function (") (looking-at "(cl-block-wrapper "))) diff --text -u 'xemacs-21.5.16/lisp/code-files.el' 'xemacs-21.5.17/lisp/code-files.el' Index: ./lisp/code-files.el --- ./lisp/code-files.el Sat Sep 20 01:39:43 2003 +++ ./lisp/code-files.el Wed Oct 8 06:52:15 2003 @@ -223,15 +223,15 @@ "Execute a file of Lisp code named FILE, or load a binary module. First tries to find a Lisp FILE with .elc appended, then with .el, then with FILE unmodified. If unsuccessful, tries to find a binary module FILE with - .ell appended, then with .dll, then with .so, and finally unmodified. -Searches directories in load-path for Lisp files, and in module-load-path + the elements of `module-extensions' appended, one at a time. +Searches directories in load-path for Lisp files, and in `module-load-path' for binary modules. If optional second arg NOERROR is non-nil, report no error if FILE doesn't exist. Print messages at start and end of loading unless optional third arg NOMESSAGE is non-nil. -If optional fourth arg NOSUFFIX is non-nil, don't try adding - suffixes .elc, .el, or .ell to the specified name FILE. +If optional fourth arg NOSUFFIX is non-nil, don't try adding suffixes + .elc, .el, or elements of `module-extensions' to the specified name FILE. Return t if file exists." (declare (special load-modules-quietly)) (let* ((filename (substitute-in-file-name file)) @@ -275,8 +275,7 @@ ;; The file name is invalid, or we want to load a binary module (if (and (> (length filename) 0) (locate-file filename module-load-path - (and (not nosuffix) - '(".ell" ".dll" ".so" "")))) + (and (not nosuffix) module-extensions))) (if (featurep 'modules) (let ((load-modules-quietly nomessage)) (declare-fboundp (load-module filename))) diff --text -u 'xemacs-21.5.16/lisp/device.el' 'xemacs-21.5.17/lisp/device.el' Index: ./lisp/device.el --- ./lisp/device.el Fri Apr 13 03:21:16 2001 +++ ./lisp/device.el Tue Mar 9 00:22:49 2004 @@ -104,6 +104,20 @@ "Return the number of color cells of DEVICE, or nil if unknown." (device-system-metric device 'num-color-cells)) +(defun device-num-screens (&optional device) + "Return the number of display screens available on DEVICE, or 1 if unknown." + (device-system-metric device 'num-screens 1)) + +(defun device-backing-store (&optional device) + "Return the backing store capability of DEVICE. +The value may be `always', `when-mapped', `not-useful', or nil if +the question is inapplicable to a certain kind of display." + (device-system-metric device 'backing-store)) + +(defun device-save-under (&optional device) + "Return non-nil if DEVICE supports the SaveUnder feature." + (device-system-metric device 'save-under)) + (defun make-gtk-device () "Create a new GTK device." (make-device 'gtk nil)) diff --text -u 'xemacs-21.5.16/lisp/files.el' 'xemacs-21.5.17/lisp/files.el' Index: ./lisp/files.el --- ./lisp/files.el Fri Sep 19 18:50:09 2003 +++ ./lisp/files.el Wed Oct 15 01:10:06 2003 @@ -858,7 +858,7 @@ Interactively, or if WILDCARDS is non-nil in a call from Lisp, expand wildcards (if any) and visit multiple files. Wildcard expansion -can be suppressed by setting `find-file-wildcards'." +can be suppressed by setting `find-file-wildcards' to `nil'." (interactive (list (read-file-name "Find file: ") (and current-prefix-arg (read-coding-system "Coding system: ")) diff --text -u 'xemacs-21.5.16/lisp/frame.el' 'xemacs-21.5.17/lisp/frame.el' Index: ./lisp/frame.el --- ./lisp/frame.el Sat Jul 6 14:48:15 2002 +++ ./lisp/frame.el Tue Mar 9 00:22:49 2004 @@ -1,6 +1,7 @@ ;;; frame.el --- multi-frame management independent of window systems. -;; Copyright (C) 1993-4, 1997 Free Software Foundation, Inc. +;; Copyright (C) 1993, 1994, 1996, 1997, 2000, 2001, 2003 +;; Free Software Foundation, Inc. ;; Copyright (C) 1995, 1996 Ben Wing. ;; Maintainer: XEmacs Development Team @@ -20,10 +21,10 @@ ;; You should have received a copy of the GNU General Public License ;; along with XEmacs; see the file COPYING. If not, write to the -;; Free Software Foundation, 59 Temple Place - Suite 330, +;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA. -;;; Synched up with: FSF 19.30. +;;; Synched up with: FSF 21.3. ;;; Commentary: @@ -31,12 +32,14 @@ ;;; Code: +;; XEmacs addition (defgroup frames nil "Support for Emacs frames and window systems." :group 'environment) -; No need for `frame-creation-function'. +;; XEmacs change: No need for `frame-creation-function'. +;; XEmacs change: Emacs no longer specifies the minibuffer property here. ;;; The initial value given here for this must ask for a minibuffer. ;;; There must always exist a frame with a minibuffer, and after we ;;; delete the terminal frame, this will be the only frame. @@ -65,7 +68,7 @@ :group 'frames) (defcustom minibuffer-frame-plist '(width 80 height 2 menubar-visible-p nil - default-toolbar-visible-p nil) + default-toolbar-visible-p nil) "Plist of frame properties for initially creating a minibuffer frame. You can set this in your `.emacs' file; for example, (setq minibuffer-frame-plist '(top 1 left 1 width 80 height 2)) @@ -80,14 +83,14 @@ Pop-up frames are used for completions, help, and the like. This variable can be set in your init file, like this: (setq pop-up-frame-plist '(width 80 height 20)) -These supersede the values given in `default-frame-plist'. +These supersede the values given in `default-frame-plist', for pop-up frames. The format of this can also be an alist for backward compatibility." :type 'plist :group 'frames) (setq pop-up-frame-function - (function (lambda () - (make-frame pop-up-frame-plist)))) + #'(lambda () + (make-frame pop-up-frame-plist))) (defcustom special-display-frame-plist '(height 14 width 80 unsplittable t) "*Plist of frame properties used when creating special frames. @@ -101,46 +104,59 @@ :type 'plist :group 'frames) +;; XEmacs addition (defun safe-alist-to-plist (cruftiness) (if (consp (car cruftiness)) (alist-to-plist cruftiness) cruftiness)) -;; Display BUFFER in its own frame, reusing an existing window if any. -;; Return the window chosen. -;; Currently we do not insist on selecting the window within its frame. -;; If ARGS is a plist, use it as a list of frame property specs. -;; #### Change, not compatible with FSF: This stuff is all so incredibly -;; junky anyway that I doubt it makes any difference. -;; If ARGS is a list whose car is t, -;; use (cadr ARGS) as a function to do the work. -;; Pass it BUFFER as first arg, and (cddr ARGS) gives the rest of the args. +;; XEmacs change: require args to be a plist instead of an alist. (defun special-display-popup-frame (buffer &optional args) + "Display BUFFER in its own frame, reusing an existing window if any. +Return the window chosen. +Currently we do not insist on selecting the window within its frame. +If ARGS is a plist, use it as a list of frame property specs. +If ARGS is a list whose car is t, +use (cadr ARGS) as a function to do the work. +Pass it BUFFER as first arg, and (cddr ARGS) gives the rest of the args." ;; if we can't display simultaneous multiple frames, just return ;; nil and let the normal behavior take over. (and (device-on-window-system-p) (if (and args (eq t (car args))) (apply (cadr args) buffer (cddr args)) (let ((window (get-buffer-window buffer t))) - (if window - ;; If we have a window already, make it visible. - (let ((frame (window-frame window))) - (make-frame-visible frame) - (raise-frame frame) - window) - ;; If no window yet, make one in a new frame. - (let ((frame - (make-frame (append (safe-alist-to-plist args) - (safe-alist-to-plist - special-display-frame-plist))))) - (set-window-buffer (frame-selected-window frame) buffer) - (set-window-dedicated-p (frame-selected-window frame) t) - (frame-selected-window frame))))))) - -(setq special-display-function 'special-display-popup-frame) + (setq args (safe-alist-to-plist args)) + (or + ;; If we have a window already, make it visible. + (when window + (let ((frame (window-frame window))) + (make-frame-visible frame) + (raise-frame frame) + window)) + ;; Reuse the current window if the user requested it. + (when (lax-plist-get args 'same-window) + (condition-case nil + (progn (switch-to-buffer buffer) (selected-window)) + (error nil))) + ;; Stay on the same frame if requested. + (when (or (lax-plist-get args 'same-frame) + (lax-plist-get args 'same-window)) + (let* ((pop-up-frames nil) (pop-up-windows t) + special-display-regexps special-display-buffer-names + (window (display-buffer buffer))) + ;; (set-window-dedicated-p window t) + window)) + ;; If no window yet, make one in a new frame. + (let ((frame (make-frame (append args + (safe-alist-to-plist + special-display-frame-plist))))) + (set-window-buffer (frame-selected-window frame) buffer) + (set-window-dedicated-p (frame-selected-window frame) t) + (frame-selected-window frame))))))) -;;; Handle delete-frame events from the X server. +;; XEmacs change: comment out ;(defun handle-delete-frame (event) +; "Handle delete-frame events from the X server." ; (interactive "e") ; (let ((frame (posn-window (event-start event))) ; (i 0) @@ -152,21 +168,27 @@ ; (setq tail (cdr tail))) ; (if (> i 0) ; (delete-frame frame t) -; (kill-emacs)))) - +; ;; Gildea@x.org says it is ok to ask questions before terminating. +; (save-buffers-kill-emacs)))) ;;;; Arrangement of frames at startup -;;; 1) Load the window system startup file from the lisp library and read the -;;; high-priority arguments (-q and the like). The window system startup -;;; file should create any frames specified in the window system defaults. -;;; -;;; 2) If no frames have been opened, we open an initial text frame. -;;; -;;; 3) Once the init file is done, we apply any newly set properties -;;; in initial-frame-plist to the frame. +;; 1) Load the window system startup file from the lisp library and read the +;; high-priority arguments (-q and the like). The window system startup +;; file should create any frames specified in the window system defaults. +;; +;; 2) If no frames have been opened, we open an initial text frame. +;; +;; 3) Once the init file is done, we apply any newly set properties +;; in initial-frame-plist to the frame. + +;; These are now called explicitly at the proper times, +;; since that is easier to understand. +;; Actually using hooks within Emacs is bad for future maintenance. --rms. +;; (add-hook 'before-init-hook 'frame-initialize) +;; (add-hook 'window-setup-hook 'frame-notice-user-settings) -;;; If we create the initial frame, this is it. +;; If we create the initial frame, this is it. (defvar frame-initial-frame nil) ;; Record the properties used in frame-initialize to make the initial frame. @@ -174,19 +196,24 @@ (defvar frame-initial-geometry-arguments nil) +;; XEmacs addition (defun canonicalize-frame-plists () (setq initial-frame-plist (safe-alist-to-plist initial-frame-plist)) (setq default-frame-plist (safe-alist-to-plist default-frame-plist))) -;;; startup.el calls this function before loading the user's init -;;; file - if there is no frame with a minibuffer open now, create -;;; one to display messages while loading the init file. +;; startup.el calls this function before loading the user's init +;; file - if there is no frame with a minibuffer open now, create +;; one to display messages while loading the init file. (defun frame-initialize () + "Create an initial frame if necessary." ;; In batch mode, we actually use the initial terminal device for output. + ;; XEmacs addition (canonicalize-frame-plists) + (if (not (noninteractive)) (progn - ;; Don't call select-frame here - focus is a matter of WM policy. + ;; Turn on special-display processing only if there's a window system. + (setq special-display-function 'special-display-popup-frame) ;; If there is no frame with a minibuffer besides the terminal ;; frame, then we need to create the opening frame. Make sure @@ -196,7 +223,11 @@ (progn (setq frame-initial-frame-plist (append initial-frame-plist default-frame-plist)) - ;; FSFmacs has scroll-bar junk here that we don't need. + ;; XEmacs change: omit the scrollbar settings +; (or (assq 'horizontal-scroll-bars frame-initial-frame-alist) +; (setq frame-initial-frame-alist +; (cons '(horizontal-scroll-bars . t) +; frame-initial-frame-alist))) (setq default-minibuffer-frame (setq frame-initial-frame (make-frame initial-frame-plist @@ -209,24 +240,60 @@ (setq initial-frame-plist (frame-remove-geometry-props initial-frame-plist)))) ;; At this point, we know that we have a frame open, so we - ;; can delete the terminal device. - ;; (delete-device terminal-device) - ;; Do it the same way Fkill_emacs does it. -slb + ;; can delete the terminal frame. + ;; XEmacs change: Do it the same way Fkill_emacs does it. -slb (delete-console terminal-console) - (setq terminal-frame nil) - - ;; FSFmacs sets frame-creation-function here, but no need. - ))) + (setq terminal-frame nil)) -;;; startup.el calls this function after loading the user's init -;;; file. Now default-frame-plist and initial-frame-plist contain -;;; information to which we must react; do what needs to be done. -(defun frame-notice-user-settings () + ;; XEmacs change: omit the pc window-system stuff. +; ;; No, we're not running a window system. Use make-terminal-frame if +; ;; we support that feature, otherwise arrange to cause errors. +; (or (eq window-system 'pc) +; (setq frame-creation-function +; (if (fboundp 'tty-create-frame-with-faces) +; 'tty-create-frame-with-faces +; (function +; (lambda (parameters) +; (error +; "Can't create multiple frames without a window system")))))) + )) - ;; FSFmacs has menu-bar junk here that we don't need. +(defvar frame-notice-user-settings t + "Non-nil means function `frame-notice-user-settings' wasn't run yet.") +;; startup.el calls this function after loading the user's init +;; file. Now default-frame-plist and initial-frame-plist contain +;; information to which we must react; do what needs to be done. +(defun frame-notice-user-settings () + "Act on user's init file settings of frame parameters. +React to settings of `default-frame-plist', `initial-frame-plist' there." + ;; XEmacs addition (canonicalize-frame-plists) + ;; XEmacs change: omit menu-bar manipulations. +; ;; Make menu-bar-mode and default-frame-alist consistent. +; (when (boundp 'menu-bar-mode) +; (let ((default (assq 'menu-bar-lines default-frame-alist))) +; (if default +; (setq menu-bar-mode (not (eq (cdr default) 0))) +; (setq default-frame-alist +; (cons (cons 'menu-bar-lines (if menu-bar-mode 1 0)) +; default-frame-alist))))) + + ;; XEmacs change: omit tool-bar manipulations. +; ;; Make tool-bar-mode and default-frame-alist consistent. Don't do +; ;; it in batch mode since that would leave a tool-bar-lines +; ;; parameter in default-frame-alist in a dumped Emacs, which is not +; ;; what we want. +; (when (and (boundp 'tool-bar-mode) +; (not noninteractive)) +; (let ((default (assq 'tool-bar-lines default-frame-alist))) +; (if default +; (setq tool-bar-mode (not (eq (cdr default) 0))) +; (setq default-frame-alist +; (cons (cons 'tool-bar-lines (if tool-bar-mode 1 0)) +; default-frame-alist))))) + ;; Creating and deleting frames may shift the selected frame around, ;; and thus the current buffer. Protect against that. We don't ;; want to use save-excursion here, because that may also try to set @@ -234,9 +301,96 @@ ;; window is the minibuffer. (let ((old-buffer (current-buffer))) + ;; XEmacs change: omit special handling for MS-DOS +; (when (and frame-notice-user-settings +; (null frame-initial-frame)) +; ;; This case happens when we don't have a window system, and +; ;; also for MS-DOS frames. +; (let ((parms (frame-parameters frame-initial-frame))) +; ;; Don't change the frame names. +; (setq parms (delq (assq 'name parms) parms)) +; ;; Can't modify the minibuffer parameter, so don't try. +; (setq parms (delq (assq 'minibuffer parms) parms)) +; (modify-frame-parameters nil +; (if (null window-system) +; (append initial-frame-alist +; default-frame-alist +; parms +; nil) +; ;; initial-frame-alist and +; ;; default-frame-alist were already +; ;; applied in pc-win.el. +; parms)) +; (if (null window-system) ;; MS-DOS does this differently in pc-win.el +; (let ((newparms (frame-parameters)) +; (frame (selected-frame))) +; (tty-handle-reverse-video frame newparms) +; ;; If we changed the background color, we need to update +; ;; the background-mode parameter, and maybe some faces, +; ;; too. +; (when (assq 'background-color newparms) +; (unless (or (assq 'background-mode initial-frame-alist) +; (assq 'background-mode default-frame-alist)) +; (frame-set-background-mode frame)) +; (face-set-after-frame-default frame)))))) + ;; If the initial frame is still around, apply initial-frame-plist ;; and default-frame-plist to it. - (if (frame-live-p frame-initial-frame) + (when (frame-live-p frame-initial-frame) + + ;; XEmacs change: omit the tool-bar manipulations +; ;; When tool-bar has been switched off, correct the frame size +; ;; by the lines added in x-create-frame for the tool-bar and +; ;; switch `tool-bar-mode' off. +; (when (display-graphic-p) +; (let ((tool-bar-lines (or (assq 'tool-bar-lines initial-frame-alist) +; (assq 'tool-bar-lines default-frame-alist)))) +; (when (and tool-bar-originally-present +; (or (null tool-bar-lines) +; (null (cdr tool-bar-lines)) +; (eq 0 (cdr tool-bar-lines)))) +; (let* ((char-height (frame-char-height frame-initial-frame)) +; (image-height tool-bar-images-pixel-height) +; (margin (cond ((and (consp tool-bar-button-margin) +; (integerp (cdr tool-bar-button-margin)) +; (> tool-bar-button-margin 0)) +; (cdr tool-bar-button-margin)) +; ((and (integerp tool-bar-button-margin) +; (> tool-bar-button-margin 0)) +; tool-bar-button-margin) +; (t 0))) +; (relief (if (and (integerp tool-bar-button-relief) +; (> tool-bar-button-relief 0)) +; tool-bar-button-relief 3)) +; (lines (/ (+ image-height +; (* 2 margin) +; (* 2 relief) +; (1- char-height)) +; char-height)) +; (height (frame-parameter frame-initial-frame 'height)) +; (newparms (list (cons 'height (- height lines)))) +; (initial-top (cdr (assq 'top +; frame-initial-geometry-arguments))) +; (top (frame-parameter frame-initial-frame 'top))) +; (when (and (consp initial-top) (eq '- (car initial-top))) +; (let ((adjusted-top +; (cond ((and (consp top) +; (eq '+ (car top))) +; (list '+ +; (+ (cadr top) +; (* lines char-height)))) +; ((and (consp top) +; (eq '- (car top))) +; (list '- +; (- (cadr top) +; (* lines char-height)))) +; (t (+ top (* lines char-height)))))) +; (setq newparms +; (append newparms +; `((top . ,adjusted-top)) +; nil)))) +; (modify-frame-parameters frame-initial-frame newparms) +; (tool-bar-mode -1))))) ;; The initial frame we create above always has a minibuffer. ;; If the user wants to remove it, or make it a minibuffer-only @@ -261,30 +415,36 @@ '(t))) t)) ;; Create the new frame. - (let (props - ) + (let (props new) ;; If the frame isn't visible yet, wait till it is. ;; If the user has to position the window, ;; Emacs doesn't know its real position until ;; the frame is seen to be visible. + ;; XEmacs change: check the initially-unmapped property (if (frame-property frame-initial-frame 'initially-unmapped) nil (while (not (frame-visible-p frame-initial-frame)) (sleep-for 1))) (setq props (frame-properties frame-initial-frame)) + ;; Get rid of `name' unless it was specified explicitly before. (or (lax-plist-member frame-initial-frame-plist 'name) (setq props (lax-plist-remprop props 'name))) - (setq props (append initial-frame-plist default-frame-plist + + (setq props (append initial-frame-plist + default-frame-plist props nil)) + ;; Get rid of `reverse', because that was handled ;; when we first made the frame. (laxputf props 'reverse nil) - ;; Get rid of `window-id', otherwise make-frame will - ;; think we're trying to setup an external widget. + + ;; XEmacs addition: Get rid of `window-id', otherwise make-frame + ;; will think we're trying to setup an external widget. (laxremf props 'window-id) + (if (lax-plist-member frame-initial-geometry-arguments 'height) (laxremf props 'height)) (if (lax-plist-member frame-initial-geometry-arguments 'width) @@ -293,14 +453,14 @@ (laxremf props 'left)) (if (lax-plist-member frame-initial-geometry-arguments 'top) (laxremf props 'top)) - ;; Now create the replacement initial frame. - (make-frame - ;; Use the geometry args that created the existing - ;; frame, rather than the props we get for it. - (append '(user-size t user-position t) - frame-initial-geometry-arguments - props)) + (setq new + (make-frame + ;; Use the geometry args that created the existing + ;; frame, rather than the props we get for it. + (append '(user-size t user-position t) + frame-initial-geometry-arguments + props))) ;; The initial frame, which we are about to delete, may be ;; the only frame with a minibuffer. If it is, create a ;; new one. @@ -338,11 +498,10 @@ ;; Wean the frames using frame-initial-frame as ;; their minibuffer frame. (mapcar - #' - (lambda (frame) - (set-frame-property frame 'minibuffer - new-minibuffer)) - users-of-initial)))) + #'(lambda (frame) + (set-frame-property frame 'minibuffer + new-minibuffer)) + users-of-initial)))) ;; Redirect events enqueued at this frame to the new frame. ;; Is this a good idea? @@ -384,10 +543,14 @@ (laxputf newprops (car tail) newval))) (setq tail (cddr tail))) (set-frame-properties frame-initial-frame newprops) - ;silly FSFmacs junk - ;if (lax-plist-member newprops 'font) - ; (frame-update-faces frame-initial-frame)) - + ;; XEmacs change: omit the background manipulation +; ;; If we changed the background color, +; ;; we need to update the background-mode parameter +; ;; and maybe some faces too. +; (when (assq 'background-color newparms) +; (unless (assq 'background-mode newparms) +; (frame-set-background-mode frame-initial-frame)) +; (face-set-after-frame-default frame-initial-frame))))) ))) ;; Restore the original buffer. @@ -395,6 +558,7 @@ ;; Make sure the initial frame can be GC'd if it is ever deleted. ;; Make sure frame-notice-user-settings does nothing if called twice. + (setq frame-notice-user-settings nil) (setq frame-initial-frame nil))) (defun make-initial-minibuffer-frame (device) @@ -405,8 +569,31 @@ ;;;; Creation of additional frames, and other frame miscellanea +(defun modify-all-frames-properties (plist) + "Modify all current and future frames' parameters according to PLIST. +This changes `default-frame-plist' and possibly `initial-frame-plist'. +See `set-frame-properties' for more information." + (dolist (frame (frame-list)) + (set-frame-properties frame plist)) + + ;; XEmacs change: iterate over plists instead of alists + (map-plist + #'(lambda (prop val) + ;; initial-frame-plist needs setting only when + ;; frame-notice-user-settings is true + (and frame-notice-user-settings + (lax-plist-remprop initial-frame-plist prop)) + (lax-plist-remprop default-frame-plist prop)) + plist) + + (and frame-notice-user-settings + (setq initial-frame-plist (append initial-frame-plist plist))) + (setq default-frame-plist (append default-frame-plist plist))) + (defun get-other-frame () - "Return some frame other than the selected frame, creating one if necessary." + "Return some frame other than the current frame. +Create one if necessary. Note that the minibuffer frame, if separate, +is not considered (see `next-frame')." (let* ((this (selected-frame)) ;; search visible frames first (next (next-frame this 'visible-nomini))) @@ -423,15 +610,22 @@ (interactive) (select-window (next-window (selected-window) (> (minibuffer-depth) 0) - t))) + t)) + ;; XEmacs change: select-window already selects the containing frame + ;(select-frame-set-input-focus (selected-frame)) + ) (defun previous-multiframe-window () "Select the previous window, regardless of which frame it is on." (interactive) (select-window (previous-window (selected-window) (> (minibuffer-depth) 0) - t))) + t)) + ;; XEmacs change: select-window already selects the containing frame + ;(select-frame-set-input-focus (selected-frame)) + ) +;; XEmacs change: Emacs has make-frame-on-display (defun make-frame-on-device (type connection &optional props) "Create a frame of type TYPE on CONNECTION. TYPE should be a symbol naming the device type, i.e. one of @@ -458,12 +652,28 @@ a new connection is opened." (make-frame props (make-device type connection props))) +;; XEmacs omission: Emacs has make-frame-command here, but it reduces to +;; make-frame for us. + +;; XEmacs omission: the following 2 variables are not yet implemented. +;(defvar before-make-frame-hook nil +; "Functions to run before a frame is created.") +; +;(defvar after-make-frame-functions nil +; "Functions to run after a frame is created. +;The functions are run with one arg, the newly created frame.") +; +(defvar after-setting-font-hook nil + "Functions to run after a frame's font has been changed.") + ;; Alias, kept temporarily. (defalias 'new-frame 'make-frame) +(make-obsolete 'new-frame 'make-frame) -; FSFmacs has make-frame here. We have it in C, so no need for -; frame-creation-function. +;; XEmacs change: Emacs has make-frame here. We have it in C, so no need for +;; frame-creation-function. +;; XEmacs addition: support optional DEVICE argument. (defun filtered-frame-list (predicate &optional device) "Return a list of all live frames which satisfy PREDICATE. If optional second arg DEVICE is non-nil, restrict the frames @@ -477,6 +687,7 @@ (setq frames (cdr frames))) good-frames)) +;; XEmacs addition: support optional DEVICE argument. (defun minibuffer-frame-list (&optional device) "Return a list of all frames with their own minibuffers. If optional second arg DEVICE is non-nil, restrict the frames @@ -486,6 +697,48 @@ (eq frame (window-frame (minibuffer-window frame)))) device)) +;; XEmacs omission: Emacs has frames-on-display-list here, but that is +;; essentially equivalent to supplying the optional DEVICE argument to +;; filtered-frame-list. + +;; XEmacs addition: the following two functions make life a lot simpler below. +(defsubst display-frame (display) + "Return the active frame for DISPLAY. +DISPLAY may be a frame, a device, or a console. If it is omitted or nil, +it defaults to the selected frame." + (cond + ((null display) (selected-frame)) + ((framep display) display) + ((devicep display) (selected-frame display)) + ((consolep display) (selected-frame (car (console-device-list display)))) + (t (error 'wrong-type-argument "Not a frame, device, or console" display)))) + +(defsubst display-device (display) + "Return the device for DISPLAY. +DISPLAY may be a frame, a device, or a console. If it is omitted or nil, +it defaults to the selected frame." + (cond + ((null display) (selected-device)) + ((framep display) (frame-device display)) + ((devicep display) display) + ((consolep display) (car (console-device-list display))) + (t (error 'wrong-type-argument "Not a frame, device, or console" display)))) + +;; Emacs compatibility function. We do not allow display names of the type +;; HOST:SERVER.SCREEN as Emacs does, but we do handle devices and consoles. +(defun framep-on-display (&optional display) + "Return the type of frames on DISPLAY. +DISPLAY may be a frame, a device, or a console. If it is a frame, its type +is returned. If DISPLAY is omitted or nil, it defaults to the selected +frame. All frames on a given device or console are of the same type." + (cond + ((null display) (frame-type (selected-frame))) + ((framep display) (frame-type display)) + ((devicep display) (device-type display)) + ((consolep display) (console-type display)) + (t (error 'wrong-type-argument "Not a frame, device, or console" display)))) + +;; XEmacs addition: Emacs does not have this function. (defun frame-minibuffer-only-p (frame) "Return non-nil if FRAME is a minibuffer-only frame." (eq (frame-root-window frame) (minibuffer-window frame))) @@ -508,33 +761,86 @@ '(height width top left user-size user-position)) plist) +;; XEmacs change: Emacs has focus-follows-mouse here, which lets them +;; Customize it. XEmacs has it builtin. Should that change? + +;; XEmacs change: we have focus-frame instead of multiple foo-focus-frame +;; functions. +(defun select-frame-set-input-focus (frame) + "Select FRAME, raise it, and set input focus, if possible." + (raise-frame frame) + (focus-frame frame) ;; This also selects FRAME + ;; XEmacs change: This is a bad idea; you should in general never warp the + ;; pointer unless the user asks for it. + ;;(if focus-follows-mouse + ;; (set-mouse-position (selected-window) (1- (frame-width frame)) 0))) + ) + (defun other-frame (arg) "Select the ARG'th different visible frame, and raise it. All frames are arranged in a cyclic order. This command selects the frame ARG steps away in that order. A negative ARG moves in the opposite order. -This sets the window system focus, regardless of the value -of `focus-follows-mouse'." +To make this command work properly, you must tell Emacs +how the system (or the window manager) generally handles +focus-switching between windows. If moving the mouse onto a window +selects it (gives it focus), set `focus-follows-mouse' to t. +Otherwise, that variable should be nil." (interactive "p") (let ((frame (selected-frame))) (while (> arg 0) (setq frame (next-frame frame 'visible-nomini)) + (while (not (eq (frame-visible-p frame) t)) + (setq frame (next-frame frame 'visible-nomini))) (setq arg (1- arg))) (while (< arg 0) (setq frame (previous-frame frame 'visible-nomini)) + (while (not (eq (frame-visible-p frame) t)) + (setq frame (previous-frame frame 'visible-nomini))) (setq arg (1+ arg))) - (raise-frame frame) - (focus-frame frame) - ;this is a bad idea; you should in general never warp the - ;pointer unless the user asks for this. Furthermore, - ;our version of `set-mouse-position' takes a window, - ;not a frame. - ;(set-mouse-position (selected-frame) (1- (frame-width)) 0) - ;some weird FSFmacs randomness - ;(if (fboundp 'unfocus-frame) - ; (unfocus-frame)))) - )) + (select-frame-set-input-focus frame))) + +(defun iconify-or-deiconify-frame () + "Iconify the selected frame, or deiconify if it's currently an icon." + (interactive) + (if (lax-plist-get (frame-properties) 'visibility) + (iconify-frame) + (make-frame-visible))) + +(defun make-frame-names-alist () + (let* ((current-frame (selected-frame)) + (falist + (cons + (cons (frame-property current-frame 'name) current-frame) nil)) + (frame (next-frame current-frame t))) + (while (not (eq frame current-frame)) + (progn + (setq falist (cons (cons (frame-property frame 'name) frame) falist)) + (setq frame (next-frame frame t)))) + falist)) + +(defvar frame-name-history nil) +(defun select-frame-by-name (name) + "Select the frame on the current terminal whose name is NAME and raise it. +If there is no frame by that name, signal an error." + (interactive + (let* ((frame-names-alist (make-frame-names-alist)) + (default (car (car frame-names-alist))) + (input (completing-read + (format "Select Frame (default %s): " default) + frame-names-alist nil t nil 'frame-name-history default))) + ;; XEmacs change: use the last param of completing-read to simplify. + (list input))) + (let* ((frame-names-alist (make-frame-names-alist)) + (frame (cdr (assoc name frame-names-alist)))) + (or frame + (error "There is no frame named `%s'" name)) + (make-frame-visible frame) + ;; XEmacs change: make-frame-visible implies (raise-frame) + ;; (raise-frame frame) + ;; XEmacs change: we defined this function, might as well use it. + (select-frame-set-input-focus frame))) ;; XEmacs-added utility functions @@ -554,7 +860,7 @@ (select-frame ,frame) ,@body)) -; this is in C in FSFmacs +; This is in C in Emacs (defun frame-list () "Return a list of all frames on all devices/consoles." ;; Lists are copies, so nconc is safe here. @@ -623,30 +929,30 @@ (or (frame-configuration-p configuration) (signal 'wrong-type-argument (list 'frame-configuration-p configuration))) - (let ((config-plist (cdr configuration)) + (let ((config-alist (cdr configuration)) frames-to-delete) - (mapc (lambda (frame) - (let ((properties (assq frame config-plist))) - (if properties - (progn - (set-frame-properties - frame - ;; Since we can't set a frame's minibuffer status, - ;; we might as well omit the parameter altogether. - (lax-plist-remprop (nth 1 properties) 'minibuffer)) - (set-window-configuration (nth 2 properties))) - (setq frames-to-delete (cons frame frames-to-delete))))) + (mapc #'(lambda (frame) + (let ((properties (assq frame config-alist))) + (if properties + (progn + (set-frame-properties + frame + ;; Since we can't set a frame's minibuffer status, + ;; we might as well omit the parameter altogether. + (lax-plist-remprop (nth 1 properties) 'minibuffer)) + (set-window-configuration (nth 2 properties))) + (setq frames-to-delete (cons frame frames-to-delete))))) (frame-list)) (if nodelete ;; Note: making frames invisible here was tried ;; but led to some strange behavior--each time the frame ;; was made visible again, the window manager asked afresh ;; for where to put it. - (mapc 'iconify-frame frames-to-delete) - (mapc 'delete-frame frames-to-delete)))) + (mapc #'iconify-frame frames-to-delete) + (mapc #'delete-frame frames-to-delete)))) -; this function is in subr.el in FSFmacs. -; that's because they don't always include frame.el, while we do. +; XEmacs change: this function is in subr.el in Emacs. +; That's because they don't always include frame.el, while we do. (defun frame-configuration-p (object) "Return non-nil if OBJECT seems to be a frame configuration. @@ -656,50 +962,520 @@ (eq (car object) 'frame-configuration))) -;; FSFmacs has functions `frame-width', `frame-height' here. -;; We have them in C. +;;;; Convenience functions for accessing and interactively changing +;;;; frame parameters. + +(defun frame-height (&optional frame) + "Return number of lines available for display on FRAME. +If FRAME is omitted, describe the currently selected frame." + (frame-property frame 'height)) + +(defun frame-width (&optional frame) + "Return number of columns available for display on FRAME. +If FRAME is omitted, describe the currently selected frame." + (frame-property frame 'width)) + +(defalias 'set-default-font 'set-frame-font) -;; FSFmacs has weird functions `set-default-font', `set-background-color', -;; `set-foreground-color' here. They don't do sensible things like -;; set faces; instead they set frame properties (??!!) and call -;; useless functions such as `frame-update-faces' and -;; `frame-update-face-colors'. - -;; FSFmacs has functions `set-cursor-color', `set-mouse-color', and -;; `set-border-color', which refer to frame properties. -;; #### We need to use specifiers here. - -;(defun auto-raise-mode (arg) -; "Toggle whether or not the selected frame should auto-raise. -;With arg, turn auto-raise mode on if and only if arg is positive. -;Note that this controls Emacs's own auto-raise feature. -;Some window managers allow you to enable auto-raise for certain windows. -;You can use that for Emacs windows if you wish, but if you do, -;that is beyond the control of Emacs and this command has no effect on it." -; (interactive "P") -; (if (null arg) -; (setq arg -; (if (frame-property (selected-frame) 'auto-raise) -; -1 1))) -; (set-frame-property (selected-frame) 'auto-raise (> arg 0))) - -;(defun auto-lower-mode (arg) -; "Toggle whether or not the selected frame should auto-lower. -;With arg, turn auto-lower mode on if and only if arg is positive. -;Note that this controls Emacs's own auto-lower feature. -;Some window managers allow you to enable auto-lower for certain windows. -;You can use that for Emacs windows if you wish, but if you do, -;that is beyond the control of Emacs and this command has no effect on it." -; (interactive "P") -; (if (null arg) -; (setq arg -; (if (frame-property (selected-frame) 'auto-lower) -; -1 1))) -; (set-frame-property (selected-frame) 'auto-lower (> arg 0))) +;; XEmacs change: this function differs significantly from Emacs. +(defun set-frame-font (font-name &optional keep-size) + "Set the font of the selected frame to FONT-NAME. +When called interactively, prompt for the name of the font to use. +To get the frame's current default font, use `(face-font-name 'default)'. + +The default behavior is to keep the numbers of lines and columns in +the frame, thus may change its pixel size. If optional KEEP-SIZE is +non-nil (interactively, prefix argument) the current frame size (in +pixels) is kept by adjusting the numbers of the lines and columns." + (interactive + (let* ((frame (selected-frame)) + (completion-ignore-case t) + (font (completing-read "Font name: " + (mapcar #'list + (list-fonts "*" frame)) + nil nil nil nil + (face-font-name 'default frame)))) + (list font current-prefix-arg))) + (let* ((frame (selected-frame)) + (fht (frame-pixel-height frame)) + (fwd (frame-pixel-width frame)) + (face-list-to-change (face-list))) + (when (eq (device-type) 'mswindows) + (setq face-list-to-change + (delq 'border-glyph face-list-to-change))) + ;; FIXME: Is it sufficient to just change the default face, due to + ;; face inheritance? + (dolist (face face-list-to-change) + (when (face-font-instance face) + (condition-case c + (set-face-font face font-name frame) + (error + (display-error c nil) + (sit-for 1))))) + (if keep-size + (set-frame-pixel-size frame fwd fht))) + (run-hooks 'after-setting-font-hook)) -;; FSFmacs has silly functions `toggle-scroll-bar', -;; `toggle-horizontal-scrollbar' +(defun set-frame-property (frame prop val) + "Set property PROP of FRAME to VAL. See `set-frame-properties'." + (set-frame-properties frame (list prop val))) + +;; XEmacs change: this function differs significantly from Emacs. +(defun set-background-color (color-name) + "Set the background color of the selected frame to COLOR-NAME. +When called interactively, prompt for the name of the color to use. +To get the frame's current background color, use +`(face-background-name 'default)'." + (interactive (list (read-color "Color: "))) + ;; (set-face-foreground 'text-cursor color-name (selected-frame)) + (set-face-background 'default color-name (selected-frame))) + +;; XEmacs change: this function differs significantly from Emacs. +(defun set-foreground-color (color-name) + "Set the foreground color of the selected frame to COLOR-NAME. +When called interactively, prompt for the name of the color to use. +To get the frame's current foreground color, use +`(face-foreground-name 'default)'." + (interactive (list (read-color "Color: "))) + (set-face-foreground 'default color-name (selected-frame))) + +;; XEmacs change: this function differs significantly from Emacs. +(defun set-cursor-color (color-name) + "Set the text cursor color of the selected frame to COLOR-NAME. +When called interactively, prompt for the name of the color to use. +To get the frame's current cursor color, use +'(face-background-name 'text-cursor)'." + (interactive (list (read-color "Color: "))) + (set-face-background 'text-cursor color-name (selected-frame))) + +;; XEmacs change: this function differs significantly from Emacs. +(defun set-mouse-color (color-name) + "Set the color of the mouse pointer of the selected frame to COLOR-NAME. +When called interactively, prompt for the name of the color to use. +To get the frame's current mouse color, use +`(face-foreground-name 'pointer)'." + (interactive (list (read-color "Color: "))) + (set-face-foreground 'pointer color-name (selected-frame))) + +;; XEmacs change: this function differs significantly from Emacs. +(defun set-border-color (color-name) + "Set the color of the border of the selected frame to COLOR-NAME. +When called interactively, prompt for the name of the color to use. +To get the frame's current border color, use +`(face-foreground-name 'border-glyph)'." + (interactive (list (read-color "Color: "))) + (set-face-foreground 'border-glyph color-name (selected-frame))) +;;; BEGIN XEmacs addition +;;; This is the traditional XEmacs auto-raise and auto-lower, which applies +;;; to all frames. + +(defcustom auto-raise-frame nil + "*If true, frames will be raised to the top when selected. +Under X, most ICCCM-compliant window managers will have an option to do this +for you, but this variable is provided in case you're using a broken WM." + :type 'boolean + :group 'frames) + +(defcustom auto-lower-frame nil + "*If true, frames will be lowered to the bottom when no longer selected. +Under X, most ICCCM-compliant window managers will have an option to do this +for you, but this variable is provided in case you're using a broken WM." + :type 'boolean + :group 'frames) + +(defun default-select-frame-hook () + "Implement the `auto-raise-frame' variable. +For use as the value of `select-frame-hook'." + (if auto-raise-frame (raise-frame (selected-frame)))) + +(defun default-deselect-frame-hook () + "Implement the `auto-lower-frame' variable. +For use as the value of `deselect-frame-hook'." + (if auto-lower-frame (lower-frame (selected-frame))) + (highlight-extent nil nil)) + +(or select-frame-hook + (add-hook 'select-frame-hook 'default-select-frame-hook)) + +(or deselect-frame-hook + (add-hook 'deselect-frame-hook 'default-deselect-frame-hook)) + +;;; END XEmacs addition +;;; Following is the Emacs auto-raise/auto-lower interface, which lets the +;;; user select individual frames to auto-raise and auto-lower + +;; XEmacs addition: the next two variables do not appear in Emacs +(defvar auto-raise-specifier (make-boolean-specifier auto-raise-frame) + "Specifier that determines which frames should auto-raise. +A value of `t' means that a frame auto-raises; `nil' means it does not.") + +(defvar auto-lower-specifier (make-boolean-specifier auto-lower-frame) + "Specifier that determines which frames should auto-lower. +A value of `t' means that a frame auto-lowers; `nil' means it does not.") + +;; XEmacs change: use specifiers instead of frame-parameters +(defun auto-raise-mode (arg) + "Toggle whether or not the selected frame should auto-raise. +With arg, turn auto-raise mode on if and only if arg is positive. +Note that this controls Emacs's own auto-raise feature. +Some window managers allow you to enable auto-raise for certain windows. +You can use that for Emacs windows if you wish, but if you do, +that is beyond the control of Emacs and this command has no effect on it." + (interactive "P") + (if (null arg) + (setq arg + (if (specifier-instance auto-raise-specifier (selected-frame)) + -1 1))) + (if (> arg 0) + (progn + (raise-frame (selected-frame)) + (add-hook 'select-frame-hook 'default-select-frame-hook)) + (set-specifier auto-raise-specifier (> arg 0) (selected-frame)))) + +;; XEmacs change: use specifiers instead of frame-parameters +(defun auto-lower-mode (arg) + "Toggle whether or not the selected frame should auto-lower. +With arg, turn auto-lower mode on if and only if arg is positive. +Note that this controls Emacs's own auto-lower feature. +Some window managers allow you to enable auto-lower for certain windows. +You can use that for Emacs windows if you wish, but if you do, +that is beyond the control of Emacs and this command has no effect on it." + (interactive "P") + (if (null arg) + (setq arg + (if (specifier-instance auto-lower-specifier (selected-frame)) + -1 1))) + (if (> arg 0) + (progn + (lower-frame (selected-frame)) + (add-hook 'deselect-frame-hook 'default-deselect-frame-hook)) + (set-specifier auto-lower-specifier (> arg 0) (selected-frame)))) + +;; XEmacs omission: XEmacs does not support changing the frame name +;(defun set-frame-name (name) +; "Set the name of the selected frame to NAME. +;When called interactively, prompt for the name of the frame. +;The frame name is displayed on the modeline if the terminal displays only +;one frame, otherwise the name is displayed on the frame's caption bar." +; (interactive "sFrame name: ") +; (modify-frame-parameters (selected-frame) +; (list (cons 'name name)))) + +;; XEmacs omission: XEmacs attaches scrollbars to windows, not frames. +;; See window-hscroll and ... what? window-start? +;(defun frame-current-scroll-bars (&optional frame) +; "Return the current scroll-bar settings in frame FRAME. +;Value is a cons (VERTICAL . HORISONTAL) where VERTICAL specifies the +;current location of the vertical scroll-bars (left, right, or nil), +;and HORISONTAL specifies the current location of the horisontal scroll +;bars (top, bottom, or nil)." +; (let ((vert (frame-parameter frame 'vertical-scroll-bars)) +; (hor nil)) +; (unless (memq vert '(left right nil)) +; (setq vert default-frame-scroll-bars)) +; (cons vert hor))) + +;;;; Frame/display capabilities. +(defun display-mouse-p (&optional display) + "Return non-nil if DISPLAY has a mouse available. +DISPLAY can be a frame, a device, a console, or nil (meaning the +selected frame)." + (case (framep-on-display display) + ;; We assume X, NeXTstep, and GTK *always* have a pointing device + ((x ns gtk) t) + (mswindows (> mswindows-num-mouse-buttons 0)) + (tty + (and + (fboundp 'gpm-is-supported-p) + (gpm-is-supported-p (display-device display)))) + (t nil))) + +(defun display-popup-menus-p (&optional display) + "Return non-nil if popup menus are supported on DISPLAY. +DISPLAY can be a frame, a device, a console, or nil (meaning the selected +frame). Support for popup menus requires that the mouse be available." + (and + (memq (framep-on-display display) '(x ns gtk mswindows)) + (display-mouse-p display))) + +(defun display-graphic-p (&optional display) + "Return non-nil if DISPLAY is a graphic display. +Graphical displays are those which are capable of displaying several +frames and several different fonts at once. This is true for displays +that use a window system such as X, and false for text-only terminals. +DISPLAY can be a frame, a device, a console, or nil (meaning the selected +frame)." + (memq (framep-on-display display) '(x ns gtk mswindows))) + +(defun display-images-p (&optional display) + "Return non-nil if DISPLAY can display images. +DISPLAY can be a frame, a device, a console, or nil (meaning the selected +frame)." + (display-graphic-p display)) + +(defalias 'display-multi-frame-p 'display-graphic-p) +(defalias 'display-multi-font-p 'display-graphic-p) + +(defun display-selections-p (&optional display) + "Return non-nil if DISPLAY supports selections. +A selection is a way to transfer text or other data between programs +via special system buffers called `selection' or `cut buffer' or +`clipboard'. +DISPLAY can be a frame, a device, a console, or nil (meaning the selected +frame)." + (memq (framep-on-display display) '(x ns gtk mswindows))) + +(defun display-screens (&optional display) + "Return the number of screens associated with DISPLAY." + (device-num-screens (display-device display))) + +(defun display-pixel-height (&optional display) + "Return the height of DISPLAY's screen in pixels. +For character terminals, each character counts as a single pixel." + (device-pixel-height (display-device display))) + +(defun display-pixel-width (&optional display) + "Return the width of DISPLAY's screen in pixels. +For character terminals, each character counts as a single pixel." + (device-pixel-width (display-device display))) + +(defun display-mm-height (&optional display) + "Return the height of DISPLAY's screen in millimeters. +If the information is unavailable, value is nil." + (device-mm-height (display-device display))) + +(defun display-mm-width (&optional display) + "Return the width of DISPLAY's screen in millimeters. +If the information is unavailable, value is nil." + (device-mm-width (display-device display))) + +(defun display-backing-store (&optional display) + "Return the backing store capability of DISPLAY's screen. +The value may be `always', `when-mapped', `not-useful', or nil if +the question is inapplicable to a certain kind of display." + (device-backing-store (display-device display))) + +(defun display-save-under (&optional display) + "Return non-nil if DISPLAY's screen supports the SaveUnder feature." + (device-save-under (display-device display))) + +(defun display-planes (&optional display) + "Return the number of planes supported by DISPLAY." + (device-bitplanes (display-device display))) + +(defun display-color-cells (&optional display) + "Return the number of color cells supported by DISPLAY." + (device-color-cells (display-device display))) + +(defun display-visual-class (&optional display) + "Returns the visual class of DISPLAY. +The value is one of the symbols `static-gray', `gray-scale', +`static-color', `pseudo-color', `true-color', or `direct-color'." + (case (framep-on-display display) + (x (x-display-visual-class (display-device display))) + (gtk (gtk-display-visual-class (display-device display))) + (mswindows (let ((planes (display-planes display))) + (cond ((eq planes 1) 'static-gray) + ((eq planes 4) 'static-color) + ((> planes 8) 'true-color) + (t 'pseudo-color)))) + (t 'static-gray))) + + +;; XEmacs change: omit the Emacs 18 compatibility functions: +;; screen-height, screen-width, set-screen-height, and set-screen-width. + +(defun delete-other-frames (&optional frame) + "Delete all frames except FRAME. +If FRAME uses another frame's minibuffer, the minibuffer frame is +left untouched. FRAME nil or omitted means use the selected frame." + (interactive) + (unless frame + (setq frame (selected-frame))) + (let* ((mini-frame (window-frame (minibuffer-window frame))) + (frames (delq mini-frame (delq frame (frame-list))))) + (mapc 'delete-frame frames))) + +;; XEmacs change: we still use delete-frame-hook +;; miscellaneous obsolescence declarations +;(defvaralias 'delete-frame-hook 'delete-frame-functions) +;(make-obsolete-variable 'delete-frame-hook 'delete-frame-functions "21.4") + + +;; Highlighting trailing whitespace. +;; XEmacs omission: this functionality is provided by whitespace-mode in the +;; text-modes package. + +;(make-variable-buffer-local 'show-trailing-whitespace) + +;(defcustom show-trailing-whitespace nil +; "*Non-nil means highlight trailing whitespace in face `trailing-whitespace'. +; +;Setting this variable makes it local to the current buffer." +; :tag "Highlight trailing whitespace." +; :type 'boolean +; :group 'font-lock) + + +;; Scrolling +;; XEmacs omission: This functionality is always enabled on XEmacs. + +;(defgroup scrolling nil +; "Scrolling windows." +; :version "21.1" +; :group 'frames) + +;(defcustom auto-hscroll-mode t +; "*Allow or disallow automatic scrolling windows horizontally. +;If non-nil, windows are automatically scrolled horizontally to make +;point visible." +; :version "21.1" +; :type 'boolean +; :group 'scrolling) +;(defvaralias 'automatic-hscrolling 'auto-hscroll-mode) + + +;; Blinking cursor +;; XEmacs omission: this functionality is provided by blink-cursor in the +;; edit-utils package. + +; (defgroup cursor nil +; "Displaying text cursors." +; :version "21.1" +; :group 'frames) + +; (defcustom blink-cursor-delay 0.5 +; "*Seconds of idle time after which cursor starts to blink." +; :tag "Delay in seconds." +; :type 'number +; :group 'cursor) + +; (defcustom blink-cursor-interval 0.5 +; "*Length of cursor blink interval in seconds." +; :tag "Blink interval in seconds." +; :type 'number +; :group 'cursor) + +; (defvar blink-cursor-idle-timer nil +; "Timer started after `blink-cursor-delay' seconds of Emacs idle time. +; The function `blink-cursor-start' is called when the timer fires.") + +; (defvar blink-cursor-timer nil +; "Timer started from `blink-cursor-start'. +; This timer calls `blink-cursor' every `blink-cursor-interval' seconds.") + +; (defvar blink-cursor-mode nil +; "Non-nil means blinking cursor is active.") + +; (defun blink-cursor-mode (arg) +; "Toggle blinking cursor mode. +; With a numeric argument, turn blinking cursor mode on iff ARG is positive. +; When blinking cursor mode is enabled, the cursor of the selected +; window blinks. + +; Note that this command is effective only when Emacs +; displays through a window system, because then Emacs does its own +; cursor display. On a text-only terminal, this is not implemented." +; (interactive "P") +; (let ((on-p (if (null arg) +; (not blink-cursor-mode) +; (> (prefix-numeric-value arg) 0)))) +; (if blink-cursor-idle-timer +; (cancel-timer blink-cursor-idle-timer)) +; (if blink-cursor-timer +; (cancel-timer blink-cursor-timer)) +; (setq blink-cursor-idle-timer nil +; blink-cursor-timer nil +; blink-cursor-mode nil) +; (if on-p +; (progn +; ;; Hide the cursor. +; ;(internal-show-cursor nil nil) +; (setq blink-cursor-idle-timer +; (run-with-idle-timer blink-cursor-delay +; blink-cursor-delay +; 'blink-cursor-start)) +; (setq blink-cursor-mode t)) +; (internal-show-cursor nil t)))) + +; ;; Note that this is really initialized from startup.el before +; ;; the init-file is read. + +; (defcustom blink-cursor nil +; "*Non-nil means blinking cursor mode is active." +; :group 'cursor +; :tag "Blinking cursor" +; :type 'boolean +; :set #'(lambda (symbol value) +; (set-default symbol value) +; (blink-cursor-mode (or value 0)))) + +; (defun blink-cursor-start () +; "Timer function called from the timer `blink-cursor-idle-timer'. +; This starts the timer `blink-cursor-timer', which makes the cursor blink +; if appropriate. It also arranges to cancel that timer when the next +; command starts, by installing a pre-command hook." +; (when (null blink-cursor-timer) +; (add-hook 'pre-command-hook 'blink-cursor-end) +; (setq blink-cursor-timer +; (run-with-timer blink-cursor-interval blink-cursor-interval +; 'blink-cursor-timer-function)))) + +; (defun blink-cursor-timer-function () +; "Timer function of timer `blink-cursor-timer'." +; (internal-show-cursor nil (not (internal-show-cursor-p)))) + +; (defun blink-cursor-end () +; "Stop cursor blinking. +; This is installed as a pre-command hook by `blink-cursor-start'. +; When run, it cancels the timer `blink-cursor-timer' and removes +; itself as a pre-command hook." +; (remove-hook 'pre-command-hook 'blink-cursor-end) +; (internal-show-cursor nil t) +; (cancel-timer blink-cursor-timer) +; (setq blink-cursor-timer nil)) + + +;; Hourglass pointer +;; XEmacs omission: this functionality is provided elsewhere. + +; (defcustom display-hourglass t +; "*Non-nil means show an hourglass pointer when running under a window system." +; :tag "Hourglass pointer" +; :type 'boolean +; :group 'cursor) + +; (defcustom hourglass-delay 1 +; "*Seconds to wait before displaying an hourglass pointer." +; :tag "Hourglass delay" +; :type 'number +; :group 'cursor) + +; +; (defcustom cursor-in-non-selected-windows t +; "*Non-nil means show a hollow box cursor in non-selected-windows. +; If nil, don't show a cursor except in the selected window. +; Use Custom to set this variable to get the display updated." +; :tag "Cursor in non-selected windows" +; :type 'boolean +; :group 'cursor +; :set #'(lambda (symbol value) +; (set-default symbol value) +; (force-mode-line-update t))) + + +;;;; Key bindings +;; XEmacs change: these keybindings are in keydef.el. + +;(define-key ctl-x-5-map "2" 'make-frame-command) +;(define-key ctl-x-5-map "1" 'delete-other-frames) +;(define-key ctl-x-5-map "0" 'delete-frame) +;(define-key ctl-x-5-map "o" 'other-frame) + + +;;; XEmacs addition: nothing below this point appears in the Emacs version. + ;;; Iconifying emacs. ;;; ;;; The function iconify-emacs replaces every non-iconified emacs window @@ -799,40 +1575,6 @@ (suspend-emacs)))) -;;; auto-raise and auto-lower - -(defcustom auto-raise-frame nil - "*If true, frames will be raised to the top when selected. -Under X, most ICCCM-compliant window managers will have an option to do this -for you, but this variable is provided in case you're using a broken WM." - :type 'boolean - :group 'frames) - -(defcustom auto-lower-frame nil - "*If true, frames will be lowered to the bottom when no longer selected. -Under X, most ICCCM-compliant window managers will have an option to do this -for you, but this variable is provided in case you're using a broken WM." - :type 'boolean - :group 'frames) - -(defun default-select-frame-hook () - "Implement the `auto-raise-frame' variable. -For use as the value of `select-frame-hook'." - (if auto-raise-frame (raise-frame (selected-frame)))) - -(defun default-deselect-frame-hook () - "Implement the `auto-lower-frame' variable. -For use as the value of `deselect-frame-hook'." - (if auto-lower-frame (lower-frame (selected-frame))) - (highlight-extent nil nil)) - -(or select-frame-hook - (add-hook 'select-frame-hook 'default-select-frame-hook)) - -(or deselect-frame-hook - (add-hook 'deselect-frame-hook 'default-deselect-frame-hook)) - - ;;; Application-specific frame-management (defcustom get-frame-for-buffer-default-frame-name nil @@ -1121,10 +1863,6 @@ ;; from Bob Weiner , modified by Ben Wing -(defun delete-other-frames (&optional frame) - "Delete all but FRAME (or the selected frame)." - (interactive) - (mapc 'delete-frame (delq (or frame (selected-frame)) (frame-list)))) ;; By adding primitives to directly access the window hierarchy, ;; we can move many functions into Lisp. We do it this way @@ -1260,18 +1998,6 @@ ;; frame properties. -(defun set-frame-property (frame prop val) - "Set property PROP of FRAME to VAL. See `set-frame-properties'." - (set-frame-properties frame (list prop val))) - -(defun frame-height (&optional frame) - "Return number of lines available for display on FRAME." - (frame-property frame 'height)) - -(defun frame-width (&optional frame) - "Return number of columns available for display on FRAME." - (frame-property frame 'width)) - (put 'cursor-color 'frame-property-alias [text-cursor background]) (put 'modeline 'frame-property-alias 'has-modeline-p) diff --text -u 'xemacs-21.5.16/lisp/help.el' 'xemacs-21.5.17/lisp/help.el' Index: ./lisp/help.el --- ./lisp/help.el Wed Nov 27 16:15:06 2002 +++ ./lisp/help.el Thu Nov 6 14:11:15 2003 @@ -1236,7 +1236,7 @@ (princ object) (put-nonduplicable-text-property pos (marker-position standard-output) 'face face buf))) - (t princ object))) + (t (princ object)))) ;; replacement for `prin1' that puts the text in the specified face, ;; if possible @@ -1252,7 +1252,7 @@ (prin1 object) (put-nonduplicable-text-property pos (marker-position standard-output) 'face face buf))) - (t prin1 object))) + (t (prin1 object)))) (defvar help-symbol-regexp (let ((sym-char "[+a-zA-Z0-9_:*]") diff --text -u 'xemacs-21.5.16/lisp/info.el' 'xemacs-21.5.17/lisp/info.el' Index: ./lisp/info.el --- ./lisp/info.el Thu Apr 24 00:42:49 2003 +++ ./lisp/info.el Wed Jan 21 18:54:27 2004 @@ -1528,7 +1528,7 @@ (format (cdr (car suff)) file) (concat (cdr (car suff)) " < " file)))) (message "%s..." command) - (call-process shell-file-name nil t nil "-c" command) + (call-process shell-file-name nil t nil shell-command-switch command) (message "") (when visit (setq buffer-file-name file) diff --text -u 'xemacs-21.5.16/lisp/mule/japanese.el' 'xemacs-21.5.17/lisp/mule/japanese.el' Index: ./lisp/mule/japanese.el --- ./lisp/mule/japanese.el Mon Apr 8 02:10:50 2002 +++ ./lisp/mule/japanese.el Thu Jan 29 14:22:40 2004 @@ -197,8 +197,10 @@ "$B!#(B" "\\)" "[ \t\n]*")) -(setq paragraph-start "^[ $B!!(B\t\n\f]") -(setq paragraph-separate "^[ $B!!(B\t\f]*$") + +;; allow paragraphs to start with a zenkaku space +(setq paragraph-start "[ $B!!(B\t\n\f]") +(setq paragraph-separate "[ $B!!(B\t\f]*$") ;; EGG specific setup (define-egg-environment 'japanese diff --text -u 'xemacs-21.5.16/lisp/mule/lao-util.el' 'xemacs-21.5.17/lisp/mule/lao-util.el' Index: ./lisp/mule/lao-util.el --- ./lisp/mule/lao-util.el Sat Mar 16 19:39:07 2002 +++ ./lisp/mule/lao-util.el Thu Oct 30 06:05:45 2003 @@ -313,22 +313,23 @@ ) "Regexp of Roman transcription pattern for one Lao syllable.") -(defconst lao-transcription-pattern - (concat - "\\(" - (regexp-opt (mapcar 'car lao-transcription-consonant-alist)) - "\\)\\(" - (regexp-opt (mapcar 'car lao-transcription-semi-vowel-alist)) - "\\)?\\(\\(" - (regexp-opt (mapcar 'car lao-transcription-vowel-alist)) - "\\)\\(" - (regexp-opt (mapcar 'car lao-transcription-maa-sakod-alist)) - "\\)?\\(" - (regexp-opt (mapcar 'car lao-transcription-tone-alist)) - "\\)?\\)?\\|" - (regexp-opt (mapcar 'car lao-transcription-punctuation-alist)) - ) - "Regexp of Roman transcription pattern for one Lao syllable.") +;; regexp-opt is in packages... +;(defconst lao-transcription-pattern +; (concat +; "\\(" +; (regexp-opt (mapcar 'car lao-transcription-consonant-alist)) +; "\\)\\(" +; (regexp-opt (mapcar 'car lao-transcription-semi-vowel-alist)) +; "\\)?\\(\\(" +; (regexp-opt (mapcar 'car lao-transcription-vowel-alist)) +; "\\)\\(" +; (regexp-opt (mapcar 'car lao-transcription-maa-sakod-alist)) +; "\\)?\\(" +; (regexp-opt (mapcar 'car lao-transcription-tone-alist)) +; "\\)?\\)?\\|" +; (regexp-opt (mapcar 'car lao-transcription-punctuation-alist)) +; ) +; "Regexp of Roman transcription pattern for one Lao syllable.") (defconst lao-vowel-reordering-rule '(("(1P(B" (0 ?(1P(B) (0 ?(1Q(B)) diff --text -u 'xemacs-21.5.16/lisp/package-get.el' 'xemacs-21.5.17/lisp/package-get.el' Index: ./lisp/package-get.el --- ./lisp/package-get.el Mon Jul 7 03:12:33 2003 +++ ./lisp/package-get.el Fri Mar 5 06:06:59 2004 @@ -582,7 +582,9 @@ used interactively, for example from a mail or news buffer." (interactive) (setq buf (or buf (current-buffer))) - (let (content-beg content-end) + (let ((coding-system-for-read 'binary) + (coding-system-for-write 'binary) + content-beg content-end) (save-excursion (set-buffer buf) (goto-char (point-min)) @@ -914,6 +916,63 @@ info)))) ;;;###autoload +(defun package-get-list-packages-where (item field &optional arg) + "Return a list of packages that fulfill certain criteria. + +Argument ITEM, a symbol, is what you want to check for. ITEM must be a +symbol even when it doesn't make sense to be a symbol \(think, searching +maintainers, descriptions, etc\). The function will convert the symbol +to a string if a string is what is needed. The downside to this is that +ITEM can only ever be a single word. + +Argument FIELD, a symbol, is the field to check in. You can specify +any one of: + + Field Sane or Allowable Content + description any single word + category `standard' or `mule' + maintainer any single word + build-date yyyy-mm-dd + date yyyy-mm-dd + type `regular' or `single' + requires any package name + provides any symbol + priority `low', `medium', or `high' + +Optional Argument ARG, a prefix arg, insert output at point in the +current buffer." + (interactive "SList packages that have (item): \nSin their (field): \nP") + (package-get-require-base nil) + (let ((pkgs package-get-base) + (strings '(description category maintainer build-date date)) + (symbols '(type requires provides priority)) + results) + (cond ((memq field strings) + (setq item (symbol-name item)) + (while pkgs + (when (string-match item (package-get-info (caar pkgs) field)) + (setq results (push (caar pkgs) results))) + (setq pkgs (cdr pkgs)))) + ((memq field symbols) + (if (or (eq field 'type) + (eq field 'priority)) + (while pkgs + (when (eq item (package-get-info (caar pkgs) field)) + (setq results (push (caar pkgs) results))) + (setq pkgs (cdr pkgs))) + (while pkgs + (when (memq item (package-get-info (caar pkgs) field)) + (setq results (push (caar pkgs) results))) + (setq pkgs (cdr pkgs))))) + (t + (error 'wrong-type-argument field))) + (if (interactive-p) + (if arg + (insert (format "%s" results)) + (message "%s" results))) + results)) + +;;;###autoload (defun package-get (package &optional version conflict install-dir) "Fetch PACKAGE from remote site. Optional arguments VERSION indicates which version to retrieve, nil diff --text -u 'xemacs-21.5.16/lisp/package-ui.el' 'xemacs-21.5.17/lisp/package-ui.el' Index: ./lisp/package-ui.el --- ./lisp/package-ui.el Thu Aug 28 02:18:26 2003 +++ ./lisp/package-ui.el Tue Oct 14 03:53:24 2003 @@ -104,6 +104,7 @@ (define-key m "q" 'pui-quit) (define-key m "g" 'pui-list-packages) (define-key m "i" 'pui-display-info) + (define-key m "m" 'pui-display-maintainer) (define-key m "?" 'describe-mode) (define-key m "v" 'pui-toggle-verbosity-redisplay) (define-key m "d" 'pui-toggle-package-delete-key) @@ -462,13 +463,14 @@ "Display additional package info in the modeline. EXTENT determines the package to display (the package information is attached to the extent as properties)." - (let (pkg-sym info inst-ver auth-ver date maintainer balloon req) + (let (pkg-sym info inst-ver inst-auth-ver auth-ver date maintainer balloon req) (if (or force-update (not (current-message)) (string-match ".*: .*: " (current-message))) (progn (setq pkg-sym (extent-property extent 'pui-package) info (extent-property extent 'pui-info) inst-ver (package-get-key pkg-sym :version) + inst-auth-ver (package-get-key pkg-sym :author-version) auth-ver (package-get-info-prop info 'author-version) date (package-get-info-prop info 'date) maintainer (package-get-info-prop info 'maintainer) @@ -480,20 +482,16 @@ (setq balloon (format " Package Information: [For package: \"%s\"] ================ -Installed Version : %.2f -Author Version : %s +Installed Upstream Ver: %s Available Upstream Ver: %s Maintainer : %s Released : %s Required Packages : %s\n\n" - pkg-sym inst-ver auth-ver maintainer + pkg-sym inst-auth-ver auth-ver maintainer date req)) (set-extent-property extent 'balloon-help balloon))) - (if pui-list-verbose - (format - "Inst V: %.2f Auth V: %s Maint: %s" - inst-ver auth-ver maintainer) - (format "%.2f : %s : %s" - inst-ver auth-ver maintainer)))))) + (format + "Installed upstream ver: %s Available upstream ver: %s" + inst-auth-ver auth-ver))))) (defun pui-display-info (&optional no-error event) "Display additional package info in the modeline. @@ -509,6 +507,23 @@ (error 'invalid-operation "No package under cursor!")))))) +(defun pui-display-maintainer (&optional no-error event) + "Display a package's maintainer in the minibuffer." + (interactive) + (let (extent pkg-sym info maintainer) + (save-excursion + (beginning-of-line) + (if (setq extent (extent-at (point) (current-buffer) 'pui)) + (progn + (setq pkg-sym (extent-property extent 'pui-package) + info (extent-property extent 'pui-info) + maintainer (package-get-info-prop info 'maintainer)) + (message (format "Maintainer: %s" maintainer))) + (if no-error + (clear-message nil) + (error 'invalid-operation + "No package under cursor!")))))) + (defvar pui-menu '("Packages" ["Toggle install " pui-toggle-package-key :active (pui-current-package) :suffix (format "`%s'" (or (pui-current-package) "..."))] @@ -550,7 +565,8 @@ `\\[pui-toggle-package-delete-key]' to select/unselect the current package for removal. `\\[pui-add-required-packages]' to add any packages required by those selected. `\\[pui-install-selected-packages]' to install/delete selected packages. - `\\[pui-display-info]' to display additional information about the package in the modeline. + `\\[pui-display-info]' to display additional information about the package in the minibuffer. + `\\[pui-display-maintainer]' to display the package's maintainer in the minibuffer `\\[pui-list-packages]' to refresh the package list. `\\[pui-toggle-verbosity-redisplay]' to toggle between a verbose and non-verbose display. `\\[pui-quit]' to kill this buffer. diff --text -u 'xemacs-21.5.16/lisp/specifier.el' 'xemacs-21.5.17/lisp/specifier.el' Index: ./lisp/specifier.el --- ./lisp/specifier.el Fri Jun 21 06:18:04 2002 +++ ./lisp/specifier.el Fri Jan 23 19:00:30 2004 @@ -32,16 +32,15 @@ ;;; Code: (defun make-specifier-and-init (type spec-list &optional dont-canonicalize) - "Create and initialize a new specifier. + "Create and initialize a specifier of type TYPE with spec(s) SPEC-LIST. -This is a front-end onto `make-specifier' that allows you to create a -specifier and add specs to it at the same time. TYPE specifies the -specifier type. SPEC-LIST supplies the specification(s) to be added -to the specifier. Normally, almost any reasonable abbreviation of the -full spec-list form is accepted, and is converted to the full form; -however, if optional argument DONT-CANONICALIZE is non-nil, this -conversion is not performed, and the SPEC-LIST must already be in full -form. See `canonicalize-spec-list'." +A convenience API combining `make-specifier' and `set-specifier', allowing you +to create a specifier and add specs to it at the same time. +TYPE specifies the specifier type. See `make-specifier' for known types. +SPEC-LIST supplies the specification(s) to be added to the specifier, in any + form acceptable to `canonicalize-spec-list'. +Optional DONT-CANONICALIZE, if non-nil, inhibits the conversion, and the + SPEC-LIST must already be in full form." (let ((sp (make-specifier type))) (if (not dont-canonicalize) (setq spec-list (canonicalize-spec-list spec-list type))) @@ -54,12 +53,13 @@ ms-tag-set ms-exact-p) "Apply MS-FUNC to the specification(s) for MS-LOCALE in MS-SPECIFIER. -If MS-LOCALE is a locale, MS-FUNC will be called for that locale. -If MS-LOCALE is a locale type, MS-FUNC will be mapped over all locales -of that type. If MS-LOCALE is 'all or nil, MS-FUNC will be mapped -over all locales in MS-SPECIFIER. +If optional MS-LOCALE is a locale, MS-FUNC will be called for that locale. +If MS-LOCALE is a locale type, MS-FUNC will be mapped over all locales of that +type. If MS-LOCALE is 'all or nil, MS-FUNC will be mapped over all locales in +MS-SPECIFIER. -MS-TAG-SET and MS-EXACT-P are as in `specifier-spec-list'. +Optional MS-TAG-SET and MS-EXACT-P are as in `specifier-spec-list'. +Optional MS-MAPARG will be passed to MS-FUNC. MS-FUNC is called with four arguments: the MS-SPECIFIER, the locale being mapped over, the inst-list for that locale, and the @@ -173,8 +173,7 @@ (defun canonicalize-spec (spec specifier-type &optional noerror) "Canonicalize the given SPEC (a specification). -SPECIFIER-TYPE specifies the type of specifier that this SPEC-LIST -will be used for. +SPECIFIER-TYPE is the type of specifier that this SPEC will be used for. Canonicalizing means converting to the full form for a spec, i.e. `(LOCALE (TAG-SET . INSTANTIATOR) ...)'. This function accepts a @@ -226,9 +225,42 @@ accepted by `set-specifier' and such into a form suitable for `add-spec-list-to-specifier'. -This function tries extremely hard to resolve any ambiguities, -and the built-in specifier types (font, image, toolbar, etc.) are -designed so that there won't be any ambiguities. +The canonicalization algorithm is as follows: + +1. Attempt to parse SPEC-LIST as a single, possibly abbreviated, specification. +2. If (1) fails, attempt to parse SPEC-LIST as a list of (abbreviated) + specifications. +3. If (2) fails, SPEC-LIST is invalid. + +A possibly abbreviated specification SPEC is parsed by + +1. Attempt to parse SPEC as a possibly abbreviated inst-list. +2. If (1) fails, attempt to parse SPEC as a cons of a locale and an + (abbreviated) inst-list. +3. If (2) fails, SPEC is invalid. + +A possibly abbreviated inst-list INST-LIST is parsed by + +1. Attempt to parse INST-LIST as a possibly abbreviated inst-pair. +2. If (1) fails, attempt to parse INST-LIST as a list of (abbreviated) + inst-pairs. +3. If (2) fails, INST-LIST is invalid. + +A possibly abbreviated inst-pair INST-PAIR is parsed by + +1. Check if INST-PAIR is `valid-instantiator-p'. +2. If not, check if INST-PAIR is a cons of something that is a tag, ie, + `valid-specifier-tag-p', and something that is `valid-instantiator-p'. +3. If not, check if INST-PAIR is a cons of a list of tags and something that + is `valid-instantiator-p'. + +In summary, this function generally prefers more abbreviated forms. + +This function tries extremely hard to resolve any ambiguities, and the +built-in specifier types (font, image, toolbar, etc.) are designed so that +there won't be any ambiguities. (#### Unfortunately there are bugs in the +treatment of toolbar spec-lists and generic spec-lists; avoid depending on +canonicalization for these types.) If NOERROR is nil, signal an error if the spec-list is invalid; otherwise return t." @@ -269,52 +301,47 @@ (nreverse result))))))) (defun set-specifier (specifier value &optional locale tag-set how-to-add) - "Add a specification or specifications to SPECIFIER. + "Add the specification(s) given by VALUE to SPECIFIER in LOCALE. -This function adds a specification of VALUE in locale LOCALE. -LOCALE indicates where this specification is active, and should be -a buffer, a window, a frame, a device, or the symbol `global' to -indicate that it applies everywhere. LOCALE usually defaults to -`global' if omitted. +VALUE may be any of the values accepted by `canonicalize-spec-list', including + +-- an instantiator (either a Lisp object which will be returned when the + specifier is instanced, or a Lisp object that can be instantiated to + produce an opaque value: eg, a font name (string) can be used for a font + specifier, but an instance will be a font object) +-- a list of instantiators +-- a cons of a locale and an instantiator, or of a locale and a list of + instantiators +-- a cons of a tag or tag-set and an instantiator (or list of instantiators) +-- a cons of a locale and the previous type of item +-- a list of one or more of any of the previous types of items +-- a canonical spec-list. + +See `canonicalize-spec-list' for details. If you need to know the details, +though, strongly consider using the unambiguous APIs `add-spec-to-specifier' +and `add-spec-list-to-specifier' instead. -VALUE is usually what is called an \"instantiator\" (which, roughly -speaking, corresponds to the \"value\" of the property governed by -SPECIFIER). The valid instantiators for SPECIFIER depend on the type -of SPECIFIER (which you can determine using `specifier-type'). The -specifier `scrollbar-width', for example, is of type `integer', -meaning its valid instantiators are integers. The specifier governing -the background color of the `default' face (you can retrieve this -specifier using `(face-background 'default)') is of type `color', -meaning its valid instantiators are strings naming colors and -color-instance objects. For some types of specifiers, such as `image' -and `toolbar', the instantiators can be very complex. Generally this -is documented in the appropriate creation function -- -e.g. `make-color-specifier', `make-font-specifier', -`make-image-specifier' -- or in the global variable holding the most -common specifier for that type (`default-toolbar', `default-gutter', -`current-display-table'). - -NOTE: It does *not* work to give a VALUE of nil as a way of removing the -specifications for a locale -- for many specifier types, such as `boolean', -nil is a perfectly legitimate value to set. Use `remove-specifier' -instead. (And keep in mind that, if you omit the LOCALE argument to -`remove-specifier', it removes *all* specifications! If you want to remove -just the `global' specification, make sure to specify a LOCALE of -`global'.) - -VALUE can also be a list of instantiators. This means basically, -\"try each one in turn until you get one that works\". This allows -you to give funky instantiators that may only work in some cases, -and provide more normal backups for the other cases. (For example, -you might like the color \"darkseagreen2\", but some X servers -don't recognize this color, so you could provide a backup -\"forest green\". Color TTY devices probably won't recognize this -either, so you could provide a second backup \"green\". You'd -do this by specifying this list of instantiators: +Finally, VALUE can itself be a specifier (of the same type as +SPECIFIER), if you want to copy specifications from one specifier +to another; this is equivalent to calling `copy-specifier', and +LOCALE, TAG-SET, and HOW-TO-ADD have the same semantics as with +that function. -'(\"darkseagreen2\" \"forest green\" \"green\") +Note that a VALUE of `nil' is either illegal or will be treated as a value of +`nil'; it does not remove existing specifications. Use `remove-specifier' for +that. N.B. `remove-specifier' defaults to removing all specifications, not +just the 'global one! + +Warning: this function is inherently heuristic, and should not be relied on to +properly resolve ambiguities, when specifier instantiators can be lists +\(currently, for toolbar specifiers and generic specifiers). In those cases +use either `add-spec-to-specifier' or `add-spec-list-to-specifier'. -VALUE can also be various more complicated forms; see below. +LOCALE indicates where this specification is active, and should be +a buffer, a window, a frame, a device, or the symbol `global' to +indicate that it applies everywhere. LOCALE defaults to +`global' if omitted, and is overridden by locales provided by VALUE (in the +cases where value is a full specification or a spec-list). Optional argument TAG-SET is a tag or a list of tags, to be associated with the VALUE. Tags are symbols (usually naming device types, such @@ -334,26 +361,6 @@ See `copy-specifier' and `add-spec-to-specifier' for a full description of what each of these means. -\[VALUE can actually be anything acceptable to `canonicalize-spec-list'; -this includes, among other things: - --- a cons of a locale and an instantiator (or list of instantiators) --- a cons of a tag or tag-set and an instantiator (or list of - instantiators) --- a cons of a locale and the previous type of item --- a list of one or more of any of the previous types of items - -However, this usage is deprecated. Either iterate and call `set-specifier' -multiple times, or use the lower-level `add-spec-list-to-specifier'. Also, -in these cases, you cannot give a LOCALE or TAG-SET, because they do not -make sense. (You will probably get an error if you try this.)] - -Finally, VALUE can itself be a specifier (of the same type as -SPECIFIER), if you want to copy specifications from one specifier -to another; this is equivalent to calling `copy-specifier', and -LOCALE, TAG-SET, and HOW-TO-ADD have the same semantics as with -that function. - Note that `set-specifier' is exactly complementary to `specifier-specs' except in the case where SPECIFIER has no specs at all in it but nil is a valid instantiator (in that case, `specifier-specs' will return @@ -361,14 +368,7 @@ as meaning \"I'm adding a global instantiator and its value is `nil'\"), or in strange cases where there is an ambiguity between a spec-list and an inst-list, etc. (The built-in specifier types are designed -in such a way as to avoid any such ambiguities.) - -NOTE: If you want to work with spec-lists, you should probably not -use either `set-specifier' or `specifier-specs', but should use the -lower-level functions `add-spec-list-to-specifier' and `specifier-spec-list'. -These functions always work with fully-qualified spec-lists; thus, there -is no possibility for ambiguity and no need to go through the function -`canonicalize-spec-list', which is potentially time-consuming." +in such a way as to avoid any such ambiguities.)" ;; backward compatibility: the old function had HOW-TO-ADD as the ;; third argument and no arguments after that. diff --text -u 'xemacs-21.5.16/lisp/subr.el' 'xemacs-21.5.17/lisp/subr.el' Index: ./lisp/subr.el --- ./lisp/subr.el Thu May 22 16:41:27 2003 +++ ./lisp/subr.el Fri Feb 6 01:54:59 2004 @@ -777,6 +777,25 @@ ;; END SYNCHED WITH FSF 21.2 +;; BEGIN SYNCHED WITH FSF 21.3 + +(defun add-to-invisibility-spec (arg) + "Add elements to `buffer-invisibility-spec'. +See documentation for `buffer-invisibility-spec' for the kind of elements +that can be added." + (if (eq buffer-invisibility-spec t) + (setq buffer-invisibility-spec (list t))) + (setq buffer-invisibility-spec + (cons arg buffer-invisibility-spec))) + +(defun remove-from-invisibility-spec (arg) + "Remove elements from `buffer-invisibility-spec'." + (if (consp buffer-invisibility-spec) + (setq buffer-invisibility-spec (delete arg buffer-invisibility-spec)))) + +;; END SYNCHED WITH FSF 21.3 + + ;;; Basic string functions ;; XEmacs diff --text -u 'xemacs-21.5.16/lisp/term/linux.el' 'xemacs-21.5.17/lisp/term/linux.el' Index: ./lisp/term/linux.el --- ./lisp/term/linux.el Fri Jun 22 10:50:01 2001 +++ ./lisp/term/linux.el Tue Feb 10 00:33:38 2004 @@ -40,7 +40,7 @@ (let ((value (current-input-mode))) ;; The third arg only matters in that it is not t or nil. - (set-input-mode (nth 0 value) (nth 1 value) 'iso-latin-1 (nth 3 value))) + (set-input-mode (nth 0 value) (nth 1 value) 'iso-8859-1 (nth 3 value))) ;; The defines below seem to get automatically set in recent Termcaps. ;; It was probably the case that in 1996, there was no good Linux termcap, diff --text -u 'xemacs-21.5.16/lisp/wid-edit.el' 'xemacs-21.5.17/lisp/wid-edit.el' Index: ./lisp/wid-edit.el --- ./lisp/wid-edit.el Mon Mar 24 23:51:46 2003 +++ ./lisp/wid-edit.el Thu Jan 22 11:50:26 2004 @@ -1763,53 +1763,56 @@ ;; 1. Use skip-chars-forward. ;; 2. Use a LIMIT (or narrow buffer?) in the search/skip expression. ;; 3. Search/skip backward to allow LIMIT to be constant. - ;; 4. Use a char-table to dispatch to code, instead of a cond. (while (re-search-forward "%\\(.\\)" nil t) (let ((escape (aref (match-string 1) 0))) (replace-match "" t t) - (cond ((eq escape ?%) - (insert ?%)) - ((eq escape ?\[) - (setq button-begin (point-marker)) - (set-marker-insertion-type button-begin nil)) - ((eq escape ?\]) - (setq button-end (point-marker)) - (set-marker-insertion-type button-end nil)) - ((eq escape ?\{) - (setq sample-begin (point))) - ((eq escape ?\}) - (setq sample-end (point))) - ((eq escape ?n) - (when (widget-get widget :indent) + (funcall + (aref + [(lambda () ;?% + (insert ?%)) + (lambda () ;?\[ + (setq button-begin (point-marker)) + (set-marker-insertion-type button-begin nil)) + (lambda () ;?\] + (setq button-end (point-marker)) + (set-marker-insertion-type button-end nil)) + (lambda () ;?\{ + (setq sample-begin (point))) + (lambda () ;?\} + (setq sample-end (point))) + (lambda () ;?n + (when (widget-get widget :indent) + (insert ?\n) + (insert-char ?\ (widget-get widget :indent)))) + (lambda () ;?t + (let* ((tag (widget-get widget :tag)) + (glyph (widget-get widget :tag-glyph))) + (cond (glyph + (setq button-glyph + (widget-glyph-insert + widget (or tag "Image") glyph))) + (tag + (insert tag)) + (t + (princ (widget-get widget :value) + (current-buffer)))))) + (lambda () ;?d + (let ((doc (widget-get widget :doc))) + (when doc + (setq doc-begin (point)) + (insert doc) + (while (eq (preceding-char) ?\n) + (delete-backward-char 1)) (insert ?\n) - (insert-char ?\ (widget-get widget :indent)))) - ((eq escape ?t) - (let* ((tag (widget-get widget :tag)) - (glyph (widget-get widget :tag-glyph))) - (cond (glyph - (setq button-glyph - (widget-glyph-insert - widget (or tag "Image") glyph))) - (tag - (insert tag)) - (t - (princ (widget-get widget :value) - (current-buffer)))))) - ((eq escape ?d) - (let ((doc (widget-get widget :doc))) - (when doc - (setq doc-begin (point)) - (insert doc) - (while (eq (preceding-char) ?\n) - (delete-backward-char 1)) - (insert ?\n) - (setq doc-end (point))))) - ((eq escape ?v) - (if (and button-begin (not button-end)) - (widget-apply widget :value-create) - (setq value-pos (point-marker)))) - (t - (widget-apply widget :format-handler escape))))) + (setq doc-end (point))))) + (lambda () ;?v + (if (and button-begin (not button-end)) + (widget-apply widget :value-create) + (setq value-pos (point-marker)))) + (lambda () ;otherwise + (widget-apply widget :format-handler escape))] + (string-match (format "[%c\010]" escape) ;^H can't be found in buff + "%[]{}ntdv\010"))))) ;so it can be 'otherwise' cond ;; Specify button, sample, and doc, and insert value. (when (and button-begin button-end) (unless button-glyph @@ -2128,7 +2131,7 @@ (defun widget-url-link-action (widget &optional event) "Open the url specified by WIDGET." - (if-fboundp 'browse-url + (if (fboundp 'browse-url) (browse-url (widget-value widget)) (error 'missing-package "Cannot browse URLs in this XEmacs" 'browse-url))) @@ -3613,69 +3616,6 @@ (widget-apply widget :notify widget event) (widget-setup))) -(define-widget 'sexp 'editable-field - "An arbitrary Lisp expression." - :tag "Lisp expression" - :format "%{%t%}: %v" - :value nil - :validate 'widget-sexp-validate - :match (lambda (widget value) t) - :value-to-internal 'widget-sexp-value-to-internal - :value-to-external (lambda (widget value) (read value)) - :prompt-history 'widget-sexp-prompt-value-history - :prompt-value 'widget-sexp-prompt-value) - -(defun widget-sexp-value-to-internal (widget value) - ;; Use cl-prettyprint for printer representation. - (let ((pp (if (symbolp value) - (prin1-to-string value) - (widget-prettyprint-to-string value)))) - (if (> (length pp) 40) - (concat "\n" pp) - pp))) - -(defun widget-sexp-validate (widget) - ;; Valid if we can read the string and there is no junk left after it. - (save-excursion - (let ((buffer (set-buffer (get-buffer-create " *Widget Scratch*")))) - (erase-buffer) - (insert (widget-apply widget :value-get)) - (goto-char (point-min)) - (condition-case data - (let ((value (read buffer))) - (if (eobp) - (if (widget-apply widget :match value) - nil - (widget-put widget :error (widget-get widget :type-error)) - widget) - (widget-put widget - :error (format "Junk at end of expression: %s" - (buffer-substring (point) - (point-max)))) - widget)) - (error (widget-put widget :error (error-message-string data)) - widget))))) - -(defvar widget-sexp-prompt-value-history nil - "History of input to `widget-sexp-prompt-value'.") - -(defun widget-sexp-prompt-value (widget prompt value unbound) - ;; Read an arbitrary sexp. - (let ((found (read-string prompt - (if unbound nil (cons (prin1-to-string value) 0)) - (widget-get widget :prompt-history)))) - (save-excursion - (let ((buffer (set-buffer (get-buffer-create " *Widget Scratch*")))) - (erase-buffer) - (insert found) - (goto-char (point-min)) - (let ((answer (read buffer))) - (unless (eobp) - (signal 'error - (list "Junk at end of expression" - (buffer-substring (point) (point-max))))) - answer))))) - (define-widget 'restricted-sexp 'sexp "A Lisp expression restricted to values that match. @@ -4023,6 +3963,94 @@ (if (stringp help-echo) (display-message 'help-echo help-echo)))) +(define-widget 'lazy 'default + "Base widget for recursive datastructures. + +The `lazy' widget will, when instantiated, contain a single inferior +widget, of the widget type specified by the :type parameter. The +value of the `lazy' widget is the same as the value of the inferior +widget. When deriving a new widget from the 'lazy' widget, the :type +parameter is allowed to refer to the widget currently being defined, +thus allowing recursive datastructures to be described. + +The:type parameter takes the same arguments as the defcustom +parameter with the same name. + +Most composite widgets, i.e. widgets containing other widgets, does +not allow recursion. That is, when you define a new widget type, none +of the inferior widgets may be of the same type you are currently +defining. + +In Lisp, however, it is custom to define datastructures in terms of +themselves. A list, for example, is defined as either nil, or a cons +cell whose cdr itself is a list. The obvious way to translate this +into a widget type would be + + (define-widget 'my-list 'choice + \"A list of sexps.\" + :tag \"Sexp list\" + :args '((const nil) (cons :value (nil) sexp my-list))) + +Here we attempt to define my-list as a choice of either the constant +nil, or a cons-cell containing a sexp and my-lisp. This will not work +because the `choice' widget does not allow recursion. + +Using the `lazy' widget you can overcome this problem, as in this +example: + + (define-widget 'sexp-list 'lazy + \"A list of sexps.\" + :tag \"Sexp list\" + :type '(choice (const nil) (cons :value (nil) sexp sexp-list)))" + :format "%{%t%}: %v" + ;; We don't convert :type because we want to allow recursive + ;; datastructures. This is slow, so we should not create speed + ;; critical widgets by deriving from this. + :convert-widget 'widget-value-convert-widget + :value-create 'widget-type-value-create + :value-delete 'widget-children-value-delete + :value-get 'widget-child-value-get + :value-inline 'widget-child-value-inline + :default-get 'widget-type-default-get + :match 'widget-type-match + :validate 'widget-child-validate) + +(defun widget-child-value-get (widget) + "Get the value of the first member of :children in WIDGET." + (widget-value (car (widget-get widget :children)))) + +(defun widget-child-value-inline (widget) + "Get the inline value of the first member of :children in WIDGET." + (widget-apply (car (widget-get widget :children)) :value-inline)) + +(defun widget-child-validate (widget) + "The result of validating the first member of :children in WIDGET." + (widget-apply (car (widget-get widget :children)) :validate)) + +(defun widget-type-value-create (widget) + "Convert and instantiate the value of the :type attribute of WIDGET. +Store the newly created widget in the :children attribute. + +The value of the :type attribute should be an unconverted widget type." + (let ((value (widget-get widget :value)) + (type (widget-get widget :type))) + (widget-put widget :children + (list (widget-create-child-value widget + (widget-convert type) + value))))) + +(defun widget-type-default-get (widget) + "Get default value from the :type attribute of WIDGET. + +The value of the :type attribute should be an unconverted widget type." + (widget-default-get (widget-convert (widget-get widget :type)))) + +(defun widget-type-match (widget value) + "Non-nil if the :type value of WIDGET matches VALUE. + +The value of the :type attribute should be an unconverted widget type." + (widget-apply (widget-convert (widget-get widget :type)) :match value)) + ;;; The End: (provide 'wid-edit) diff --text -u 'xemacs-21.5.16/lwlib/ChangeLog' 'xemacs-21.5.17/lwlib/ChangeLog' Index: ./lwlib/ChangeLog --- ./lwlib/ChangeLog Fri Sep 26 14:56:37 2003 +++ ./lwlib/ChangeLog Mon Mar 22 17:12:48 2004 @@ -1,3 +1,11 @@ +2004-03-22 Stephen J. Turnbull + + * XEmacs 21.5.17 "chayote" is released. + +2003-09-22 Stephen J. Turnbull + + * Makefile.in.in (XE_CFLAGS): New variant on CFLAGS for XEMACS_CC. + 2003-09-26 Steve Youngs * XEmacs 21.5.16 "celeriac" is released. diff --text -u 'xemacs-21.5.16/lwlib/Makefile.in.in' 'xemacs-21.5.17/lwlib/Makefile.in.in' Index: ./lwlib/Makefile.in.in --- ./lwlib/Makefile.in.in Mon May 21 14:26:32 2001 +++ ./lwlib/Makefile.in.in Wed Jan 28 20:20:40 2004 @@ -34,7 +34,7 @@ CC=@XEMACS_CC@ CPP=@CPP@ -CFLAGS=@CFLAGS@ +CFLAGS=@XE_CFLAGS@ CPPFLAGS=@CPPFLAGS@ RANLIB=@RANLIB@ diff --text -u 'xemacs-21.5.16/man/ChangeLog' 'xemacs-21.5.17/man/ChangeLog' Index: ./man/ChangeLog --- ./man/ChangeLog Fri Sep 26 14:56:38 2003 +++ ./man/ChangeLog Mon Mar 22 17:12:48 2004 @@ -1,3 +1,106 @@ +2004-03-22 Stephen J. Turnbull + + * XEmacs 21.5.17 "chayote" is released. + +2004-02-20 Stephen J. Turnbull + + * internals/internals.texi (GCPROing): Mention `Fsignal'. Clarify + that references, not the objects themselves, are what is marked. + +2004-01-26 Stephen J. Turnbull + + * lispref/specifiers.texi (Copyright): Update. + + (Creating Specifiers): Correct more instances of subject-verb + disagreement. + +2004-01-24 Stephen J. Turnbull + + * lispref/specifiers.texi (Specifier Instancing Functions): Fix + typos, thanks to Ilpo Nyyssönen. + +2004-01-23 Stephen J. Turnbull + + * lispref/specifiers.texi (Specifier Instancing Functions): Add + documentation of `specifier-matching-instance'. + (Introduction to Specifiers): Fix typos. + (Simple Specifier Usage): Cross-reference Toolbar Intro. + (Creating Specifiers): + (Specifier Instancing Functions): + (Adding Specifications): + Various improvements. Deprecate set-specifier a bit more. + +2004-01-20 Stephen J. Turnbull + + * lispref/specifiers.texi (Specifier Examples): Add new example, + pluralize node name and section title. + (Specifiers): Pluralize "Specifier Examples" in menu. + + * lispref/lispref.texi (Top): Pluralize "Specifier Examples" in menu. + +2003-11-04 Stephen J. Turnbull + + * xemacs-faq.texi: Fix Tony Rossini's address. + +2003-12-15 Steve Youngs + + * lispref/customize.texi (Defining New Types): New node. + From Per Abrahamsen + +2003-10-16 Ilya N. Golubev + + * lispref/tips.texi (Comment Tips): Typo fix. + +2003-10-10 Ilya N. Golubev + + * new-users-guide/custom2.texi (Init File): + + Fix up erroneous uses of @var instead of @code for the names of + particular variables in programming languages. + +2003-10-10 Ilya N. Golubev + + * custom.texi (The Init File): + * xemacs-faq.texi (Q2.1.3): + (Q2.1.5): + + * internals/internals.texi (Modules for Internationalization): + + * lispref/display.texi (Beeping): + * lispref/ldap.texi (Encoder/Decoder Functions): + * lispref/markers.texi (The Mark): + (The Region): + * lispref/menus.texi (Menu Accelerator Functions): + * lispref/numbers.texi (Math Functions): + * lispref/packaging.texi (package-info.in): + (Makefile): + (Local.rules File): + * lispref/postgresql.texi (libpq Lisp Symbols and DataTypes): + (libpq Lisp Variables): + (Synchronous Interface Functions): + (Other libpq Functions): + + * new-users-guide/custom2.texi (Init File): + (Setting Variables): + * new-users-guide/files.texi (File Names): + (Saving Files): + * new-users-guide/search.texi (Search and Replace): + + * xemacs/custom.texi (X Resources): + + Fix up erroneous uses of @var instead of @code for the names of + particular variables in programming languages. + +2003-10-10 Stephen J. Turnbull + + * Makefile: Remove old package and redundant cruft. + +2003-10-10 Ilya N. Golubev + + * lispref/mule.texi (Charset Property Functions): Charset registry + can be set. + (Predefined Charsets): Add registry to Vietnamese charset names. + 2003-09-26 Steve Youngs * XEmacs 21.5.16 "celeriac" is released. diff --text -u 'xemacs-21.5.16/man/Makefile' 'xemacs-21.5.17/man/Makefile' Index: ./man/Makefile --- ./man/Makefile Sat Sep 20 10:25:48 2003 +++ ./man/Makefile Fri Oct 10 21:39:27 2003 @@ -280,19 +280,6 @@ $(INFODIR)/new-users-guide.info : $(new-users-guide-srcs) $(MAKEINFO) -P new-users-guide -o $(INFODIR)/new-users-guide.info new-users-guide/new-users-guide.texi -# $(INFODIR)/w3.info : w3.texi -# $(MAKEINFO) -o $(INFODIR)/w3.info w3.texi - -# EMACS = ../src/xemacs -# EMACSFLAGS = -batch -vanilla - -# $(INFODIR)/vm.info : vm.texi -# -$(EMACS) $(EMACSFLAGS) -insert vm.texi -l texinfmt \ -# -f texinfo-format-buffer -f save-buffer -# -mv vm.info* $(INFODIR)/. - -# special = # $(INFODIR)/vm.info $(INFODIR)/texinfo.info - xemacs : $(INFODIR)/xemacs.info lispref : $(INFODIR)/lispref.info internals : $(INFODIR)/internals.info @@ -303,14 +290,6 @@ info : $(info_files) html : $(html_files) -# tm: FRC.tm -# cd ./tm && $(RECURSIVE_MAKE) -# gnats: FRC.gnats -# cd ./gnats && $(RECURSIVE_MAKE) -# FRC.xemacs FRC.lispref FRC.new-users-guide FRC.internals FRC.tm FRC.gnats: - -.PHONY: info dvi - .texi.dvi: -$(TEXI2DVI) $< @@ -404,19 +383,6 @@ $(HTMLDIR)/new-users-guide.html : $(new-users-guide-srcs) $(TEXI2HTML) -subdir $(HTMLDIR) new-users-guide/new-users-guide.texi -# $(HTMLDIR)/w3.html : w3.texi -# $(TEXI2HTML) -subdir $(HTMLDIR) w3.texi - -# EMACS = ../src/xemacs -# EMACSFLAGS = -batch -vanilla - -# $(HTMLDIR)/vm.html : vm.texi -# -$(EMACS) $(EMACSFLAGS) -insert vm.texi -l texinfmt \ -# -f texinfo-format-buffer -f save-buffer -# -mv vm.html* $(HTMLDIR)/. - -# special = # $(HTMLDIR)/vm.html $(HTMLDIR)/texinfo.html - xemacs : $(HTMLDIR)/xemacs.html lispref : $(HTMLDIR)/lispref.html internals : $(HTMLDIR)/internals.html diff --text -u 'xemacs-21.5.16/man/custom.texi' 'xemacs-21.5.17/man/custom.texi' Index: ./man/custom.texi --- ./man/custom.texi Tue Jun 4 15:04:34 2002 +++ ./man/custom.texi Fri Oct 10 21:39:27 2003 @@ -291,7 +291,7 @@ @file{init.el} (in XEmacs 21.4 and later). If you use another file, you must explicitly load it yourself. -As of XEmacs 21.4.7, when @var{custom-file} is present, it is loaded +As of XEmacs 21.4.7, when @code{custom-file} is present, it is loaded @emph{after} @file{init.el}. This is likely to change in the future, because (1) actions in @file{init.el} often would like to depend on customizations for consistent appearance and (2) Custom is quite brutal diff --text -u 'xemacs-21.5.16/man/internals/internals.texi' 'xemacs-21.5.17/man/internals/internals.texi' Index: ./man/internals/internals.texi --- ./man/internals/internals.texi Mon Sep 22 20:53:23 2003 +++ ./man/internals/internals.texi Fri Feb 20 16:29:23 2004 @@ -5718,7 +5718,7 @@ @file{mule-mcpath.c} provides some functions to allow for pathnames containing extended characters. This code is fragmentary, obsolete, and -completely non-working. Instead, @var{pathname-coding-system} is used +completely non-working. Instead, @code{pathname-coding-system} is used to specify conversions of names of files and directories. The standard C I/O functions like @samp{open()} are wrapped so that conversion occurs automatically. @@ -5943,20 +5943,37 @@ frequently, there will be no other pointer to the object while the function is running, and if a garbage collection occurs and the object needs to be referenced again, bad things will happen. The solution is -to mark those objects with @code{GCPRO}. Unfortunately this is easy to -forget, and there is basically no way around this problem. Here are -some rules, though: +to mark those references with @code{GCPRO}. Note that it is a +@emph{reference} that is marked with @code{GCPRO}, not an object. If +you declare a @code{Lisp_Object} variable, assign to it, @code{GCPRO} +it, and then assign to it again, the first object assigned @emph{is not} +protected, while the second object @emph{is} protected. Unfortunately +@code{GCPRO}ing is easy to forget, and there is basically no way around +this problem. Here are some rules, though: @enumerate @item -For every @code{GCPRO@var{n}}, there have to be declarations of -@code{struct gcpro gcpro1, gcpro2}, etc. +A garbage collection can occur whenever anything calls @code{Feval}, or +whenever a @code{QUIT} can occur where execution can continue past +this. (Remember, this is almost anywhere.) Note that @code{Fsignal} can +GC, and it can return (even though it normally doesn't). This means +that you must @code{GCPRO} before calling most of the error functions, +including the @samp{CONCHECK} family of macros, if references occur +after the call. @item You @emph{must} @code{UNGCPRO} anything that's @code{GCPRO}ed, and you @emph{must not} @code{UNGCPRO} if you haven't @code{GCPRO}ed. Getting either of these wrong will lead to crashes, often in completely random -places unrelated to where the problem lies. +places unrelated to where the problem lies. There are some functions +(@code{Fsignal} is the canonical example) which may or may not return. +In these cases, the function is responsible for cleaning up the +@code{GCPRO}s if it doesn't return, so you should treat it as an +ordinary function. + +@item +For every @code{GCPRO@var{n}}, there have to be declarations of +@code{struct gcpro gcpro1, gcpro2, ..., gcpro@var{n}}. @item The way this actually works is that all currently active @code{GCPRO}s @@ -6015,11 +6032,6 @@ need to use the object. Even then, consider @code{GCPRO}ing. @item -A garbage collection can occur whenever anything calls @code{Feval}, or -whenever a QUIT can occur where execution can continue past -this. (Remember, this is almost anywhere.) - -@item If you have the @emph{least smidgeon of doubt} about whether you need to @code{GCPRO}, you should @code{GCPRO}. diff --text -u 'xemacs-21.5.16/man/lispref/customize.texi' 'xemacs-21.5.17/man/lispref/customize.texi' Index: ./man/lispref/customize.texi --- ./man/lispref/customize.texi Sun Jul 7 03:56:28 2002 +++ ./man/lispref/customize.texi Fri Dec 19 23:29:07 2003 @@ -325,6 +325,7 @@ * Composite Types:: * Splicing into Lists:: * Type Keywords:: +* Defining New Types:: @end menu @node Simple Types @@ -852,3 +853,63 @@ @var{force} from the prefix argument. @end defun +@node Defining New Types +@subsection Defining New Types + +In the previous sections we have described how to construct elaborate +type specifications for @code{defcustom}. In some cases you may want to +give such a type specification a name. The obvious case is when you are +using the same type for many user options, rather than repeat the +specification for each option, you can give the type specification a +name once, and use that name each @code{defcustom}. The other case is +when a user option accept a recursive datastructure. To make it +possible for a datatype to refer to itself, it needs to have a name. + +Since custom types are implemented as widgets, the way to define a new +customize type is to define a new widget. We are not going to describe +the widget interface here in details, see @ref{Top, , Introduction, +widget, The Emacs Widget Library}, for that. Instead we are going to +demonstrate the minimal functionality needed for defining new customize +types by a simple example. + +@example +(define-widget 'binary-tree-of-string 'lazy + "A binary tree made of cons-cells and strings." + :offset 4 + :tag "Node" + :type '(choice (string :tag "Leaf" :value "") + (cons :tag "Interior" + :value ("" . "") + binary-tree-of-string + binary-tree-of-string))) + +(defcustom foo-bar "" + "Sample variable holding a binary tree of strings." + :type 'binary-tree-of-string) +@end example + +The function to define a new widget is name @code{define-widget}. The +first argument is the symbol we want to make a new widget type. The +second argument is a symbol representing an existing widget, the new +widget is going to be defined in terms of difference from the existing +widget. For the purpose of defining new customization types, the +@code{lazy} widget is perfect, because it accept a @code{:type} keyword +argument with the same syntax as the keyword argument to +@code{defcustom} with the same name. The third argument is a +documentation string for the new widget. You will be able to see that +string with the @kbd{M-x widget-browse @key{ret} binary-tree-of-string +@key{ret}} command. + +After these mandatory arguments follows the keyword arguments. The most +important is @code{:type}, which describes the datatype we want to match +with this widget. Here a @code{binary-tree-of-string} is described as +being either a string, or a cons-cell whose car and cdr are themselves +both @code{binary-tree-of-string}. Note the reference to the widget +type we are currently in the process of defining. The @code{:tag} +attribute is a string to name the widget in the user interface, and the +@code{:offset} argument are there to ensure that child nodes are +indented four spaces relatively to the parent node, making the tree +structure apparent in the customization buffer. + +The @code{defcustom} shows how the new widget can be used as an ordinary +customization type. diff --text -u 'xemacs-21.5.16/man/lispref/display.texi' 'xemacs-21.5.17/man/lispref/display.texi' Index: ./man/lispref/display.texi --- ./man/lispref/display.texi Sat Sep 20 10:46:59 2003 +++ ./man/lispref/display.texi Fri Oct 10 21:39:34 2003 @@ -1284,7 +1284,7 @@ The sound file must be in the Sun/NeXT U-LAW format. @var{sound-name} should be a symbol, specifying the name of the sound. If @var{volume} is specified, the sound will be played at that volume; otherwise, the -value of @var{bell-volume} will be used. +value of @code{bell-volume} will be used. @end deffn @defun play-sound sound &optional volume device diff --text -u 'xemacs-21.5.16/man/lispref/ldap.texi' 'xemacs-21.5.17/man/lispref/ldap.texi' Index: ./man/lispref/ldap.texi --- ./man/lispref/ldap.texi Fri Apr 13 03:22:16 2001 +++ ./man/lispref/ldap.texi Fri Oct 10 21:39:34 2003 @@ -431,21 +431,21 @@ @end defun @defun ldap-decode-string str -Decode a string @var{str} according to @var{ldap-coding-system}. +Decode a string @var{str} according to @code{ldap-coding-system}. @end defun @defun ldap-encode-string str -Encode a string @var{str} according to @var{ldap-coding-system}. +Encode a string @var{str} according to @code{ldap-coding-system}. @end defun @defun ldap-decode-address str -Decode an address @var{str} according to @var{ldap-coding-system} and +Decode an address @var{str} according to @code{ldap-coding-system} and replacing $ signs with newlines as specified by LDAP encoding rules for addresses. @end defun @defun ldap-encode-address str -Encode an address @var{str} according to @var{ldap-coding-system} and +Encode an address @var{str} according to @code{ldap-coding-system} and replacing newlines with $ signs as specified by LDAP encoding rules for addresses. @end defun diff --text -u 'xemacs-21.5.16/man/lispref/lispref.texi' 'xemacs-21.5.17/man/lispref/lispref.texi' Index: ./man/lispref/lispref.texi --- ./man/lispref/lispref.texi Thu Aug 28 03:07:02 2003 +++ ./man/lispref/lispref.texi Wed Jan 21 18:03:47 2004 @@ -946,7 +946,7 @@ * Retrieving Specifications:: Querying a specifier's specifications. * Specifier Instancing Functions:: Functions to instance a specifier. -* Specifier Example:: Making all this stuff clearer. +* Specifier Examples:: Making all this stuff clearer. * Creating Specifiers:: Creating specifiers for your own use. * Specifier Validation Functions:: Validating the components of a specifier. diff --text -u 'xemacs-21.5.16/man/lispref/markers.texi' 'xemacs-21.5.17/man/lispref/markers.texi' Index: ./man/lispref/markers.texi --- ./man/lispref/markers.texi Fri Apr 13 03:22:17 2001 +++ ./man/lispref/markers.texi Fri Oct 10 21:39:34 2003 @@ -508,7 +508,7 @@ mark position anyway---or @code{nil}, if the mark is not yet set for the buffer. -(Remember that if @var{zmacs-regions} is @code{nil}, the mark is +(Remember that if @code{zmacs-regions} is @code{nil}, the mark is always active as long as it exists, and the @var{force} argument will have no effect.) @@ -687,8 +687,8 @@ should normally use @code{interactive} with the @samp{r} specification to find the beginning and end of the region. This lets other Lisp programs specify the bounds explicitly as arguments and automatically -respects the user's setting for @var{zmacs-regions}. (@xref{Interactive -Codes}.) +respects the user's setting for @code{zmacs-regions}. +(@xref{Interactive Codes}.) @defun region-beginning &optional buffer This function returns the position of the beginning of @var{buffer}'s @@ -730,7 +730,7 @@ @defvar zmacs-region-stays If a command sets this variable to true, the currently active region will remain activated when the command finishes. (Normally the region is -deactivated when each command terminates.) If @var{zmacs-regions} is +deactivated when each command terminates.) If @code{zmacs-regions} is false, however, this has no effect. Under normal circumstances, you do not need to set this; use the interactive specification @samp{_} instead, if you want the region to remain active. @@ -740,15 +740,15 @@ This function activates the region in the current buffer (this is equivalent to activating the current buffer's mark). This will normally also highlight the text in the active region and set -@var{zmacs-region-stays} to @code{t}. (If @var{zmacs-regions} is false, -however, this function has no effect.) +@code{zmacs-region-stays} to @code{t}. (If @code{zmacs-regions} is +false, however, this function has no effect.) @end defun @defun zmacs-deactivate-region This function deactivates the region in the current buffer (this is equivalent to deactivating the current buffer's mark). This will normally also unhighlight the text in the active region and set -@var{zmacs-region-stays} to @code{nil}. (If @var{zmacs-regions} is +@code{zmacs-region-stays} to @code{nil}. (If @code{zmacs-regions} is false, however, this function has no effect.) @end defun @@ -768,21 +768,21 @@ @code{set-mark-command}, @code{activate-region}, or @code{exchange-point-and-mark}.) Note that calling @file{zmacs-activate-region} will call this hook, even if the region is -already active. If @var{zmacs-regions} is false, however, this hook +already active. If @code{zmacs-regions} is false, however, this hook will never get called under any circumstances. @end defvar @defvar zmacs-deactivate-region-hook This normal hook is called when an active region becomes inactive. (Calling @file{zmacs-deactivate-region} when the region is inactive will -@emph{not} cause this hook to be called.) If @var{zmacs-regions} is +@emph{not} cause this hook to be called.) If @code{zmacs-regions} is false, this hook will never get called. @end defvar @defvar zmacs-update-region-hook This normal hook is called when an active region is "updated" by @code{zmacs-update-region}. This normally gets called at the end -of each command that sets @var{zmacs-region-stays} to @code{t}, +of each command that sets @code{zmacs-region-stays} to @code{t}, indicating that the region should remain activated. The motion commands do this. @end defvar diff --text -u 'xemacs-21.5.16/man/lispref/menus.texi' 'xemacs-21.5.17/man/lispref/menus.texi' Index: ./man/lispref/menus.texi --- ./man/lispref/menus.texi Fri Apr 13 03:22:17 2001 +++ ./man/lispref/menus.texi Fri Oct 10 21:39:34 2003 @@ -677,14 +677,14 @@ precedence over bindings in the current keymap(s). @code{menu-fallback} means that bindings in the current keymap take precedence over menu accelerator keys. Thus a top level menu with an accelerator of "T" would be activated on a -keypress of Meta-t if @var{menu-accelerator-enabled} is @code{menu-force}. -However, if @var{menu-accelerator-enabled} is @code{menu-fallback}, then +keypress of Meta-t if @code{menu-accelerator-enabled} is @code{menu-force}. +However, if @code{menu-accelerator-enabled} is @code{menu-fallback}, then Meta-t will not activate the menubar and will instead run the function transpose-words, to which it is normally bound. The default value is @code{nil}. -See also @var{menu-accelerator-modifiers} and @var{menu-accelerator-prefix}. +See also @code{menu-accelerator-modifiers} and @code{menu-accelerator-prefix}. @end defvar @defvar menu-accelerator-map @@ -698,12 +698,12 @@ a keystroke. The default value of @code{(meta)} mirrors the usage of the alt key as a menu accelerator in popular PC operating systems. -The modifier keys in @var{menu-accelerator-modifiers} must match exactly the +The modifier keys in @code{menu-accelerator-modifiers} must match exactly the modifiers present in the keypress. The only exception is that the shift -modifier is accepted in conjunction with alphabetic keys even if it is not -a menu accelerator modifier. +modifier is accepted in conjunction with alphabetic keys even if it is not a +menu accelerator modifier. -See also @var{menu-accelerator-enabled} and @var{menu-accelerator-prefix}. +See also @code{menu-accelerator-enabled} and @code{menu-accelerator-prefix}. @end defvar @defvar menu-accelerator-prefix diff --text -u 'xemacs-21.5.16/man/lispref/mule.texi' 'xemacs-21.5.17/man/lispref/mule.texi' Index: ./man/lispref/mule.texi --- ./man/lispref/mule.texi Thu Feb 6 15:35:59 2003 +++ ./man/lispref/mule.texi Fri Oct 10 19:18:28 2003 @@ -484,14 +484,19 @@ position codes of characters in @var{charset} into font indices. @end defun - The only property of a charset that can currently be set after -the charset has been created is the CCL program. + The two properties of a charset that can currently be set after the +charset has been created are the CCL program and the font registry. @defun set-charset-ccl-program charset ccl-program This function sets the @code{ccl-program} property of @var{charset} to @var{ccl-program}. @end defun +@defun set-charset-registry charset registry +This function sets the @code{registry} property of @var{charset} to +@var{registry}. +@end defun + @node Predefined Charsets, , Charset Property Functions, Charsets @subsection Predefined Charsets @@ -543,8 +548,8 @@ ethiopic 94x94 2 0 l2r Ethio ascii-r2l 94 B 0 r2l ISO8859-1 ipa 96 0 1 l2r MuleIPA -vietnamese-lower 96 1 1 l2r VISCII1.1 -vietnamese-upper 96 2 1 l2r VISCII1.1 +vietnamese-viscii-lower 96 1 1 l2r VISCII1.1 +vietnamese-viscii-upper 96 2 1 l2r VISCII1.1 @end example For all of the above charsets, the dimension and number of columns are diff --text -u 'xemacs-21.5.16/man/lispref/numbers.texi' 'xemacs-21.5.17/man/lispref/numbers.texi' Index: ./man/lispref/numbers.texi --- ./man/lispref/numbers.texi Fri Apr 13 03:22:18 2001 +++ ./man/lispref/numbers.texi Fri Oct 10 21:39:34 2003 @@ -1028,7 +1028,7 @@ @defun log number &optional base This function returns the logarithm of @var{number}, with base @var{base}. -If you don't specify @var{base}, the base @var{e} is used. If @var{number} +If you don't specify @var{base}, the base @code{e} is used. If @var{number} is negative, the result is a NaN. @end defun diff --text -u 'xemacs-21.5.16/man/lispref/packaging.texi' 'xemacs-21.5.17/man/lispref/packaging.texi' Index: ./man/lispref/packaging.texi --- ./man/lispref/packaging.texi Thu Aug 28 03:07:02 2003 +++ ./man/lispref/packaging.texi Fri Oct 10 21:39:34 2003 @@ -649,11 +649,11 @@ @item XEMACS_INSTALLED_PACKAGES_ROOT Set this to the root of where you want the packages to be installed. Under this directory will hang @file{xemacs-packages} and -@file{mule-packages}. See @var{NONMULE_INSTALLED_PACKAGES_ROOT} and -@var{MULE_INSTALLED_PACKAGES_ROOT}. The default for this is +@file{mule-packages}. See @code{NONMULE_INSTALLED_PACKAGES_ROOT} and +@code{MULE_INSTALLED_PACKAGES_ROOT}. The default for this is @file{/usr/local/lib/xemacs}. Which may not be what you want if you are developing XEmacs. To quote the comments in -@file{Local.rules.template}: +@file{Local.rules.template}: @quotation If you are developing XEmacs, you probably don't want to install the @@ -677,7 +677,7 @@ @item symlink The default is unset (blank). If you set this to @samp{t} then @code{make install} will create a @dfn{symlink farm} of the installed -packages under @var{XEMACS_INSTALLED_PACKAGES_ROOT}. Obviously, for +packages under @code{XEMACS_INSTALLED_PACKAGES_ROOT}. Obviously, for this to work, your system has to support symbolic links. This is as close as you can get to @dfn{running in place} for the packages. @@ -794,8 +794,8 @@ The path to your copy command (GNU cp). The default is dependent on whether or not @var{symlink} is set (@samp{t}). -If @var{symlink} is unset (blank), @var{RCOPY}'s default is -@code{cp -af}. If @var{symlink} is set (@samp{t}), @var{RCOPY}'s +If @var{symlink} is unset (blank), @code{RCOPY}'s default is +@code{cp -af}. If @var{symlink} is set (@samp{t}), @code{RCOPY}'s default is @code{cp --force --recursive --symbolic-link}. @end table @@ -803,11 +803,11 @@ people will probably only need to alter: @itemize @bullet -@item @var{XEMACS_INSTALLED_PACKAGES_ROOT} -@item @var{NONMULE_INSTALLED_PACKAGES_ROOT} -@item @var{MULE_INSTALLED_PACKAGES_ROOT} -@item @var{NONMULE_PACKAGES} -@item @var{MULE_PACKAGES} +@item @code{XEMACS_INSTALLED_PACKAGES_ROOT} +@item @code{NONMULE_INSTALLED_PACKAGES_ROOT} +@item @code{MULE_INSTALLED_PACKAGES_ROOT} +@item @code{NONMULE_PACKAGES} +@item @code{MULE_PACKAGES} @end itemize @node Creating Packages, Documenting Packages, Local.rules File, Packaging @@ -869,15 +869,15 @@ @item version This is the XEmacs package version number of the package. It is set -from the @file{Makefile} variable @var{VERSION}. This is something that -the XEmacs Package Release Engineer deals with so there is no need for a -package maintainer to touch it. In @file{package-info.in} just put the -place-marker, @samp{VERSION} here. +from the @file{Makefile} variable @code{VERSION}. This is something +that the XEmacs Package Release Engineer deals with so there is no need +for a package maintainer to touch it. In @file{package-info.in} just +put the place-marker, @samp{VERSION} here. @item author-version This is the package's internal, or @samp{upstream} version number if it has one. It is set from the @file{Makefile} variable -@var{AUTHOR_VERSION}. +@code{AUTHOR_VERSION}. @item date This is the date of the last change made to the package. It is @@ -889,7 +889,7 @@ @item maintainer This is the name and email address of the package's maintainer. It is -taken from the @file{Makefile} variable @var{MAINTAINER}. +taken from the @file{Makefile} variable @code{MAINTAINER}. @item distribution An unused field, leave as @samp{xemacs} @@ -900,7 +900,7 @@ @item category The @samp{category} of the package. It is taken from the -@file{Makefile} variable @var{CATEGORY} and can be either +@file{Makefile} variable @code{CATEGORY} and can be either @samp{standard} for non-Mule packages, or @samp{mule} for Mule packages. The is also provision for @samp{unsupported} in this field which would be for packages that XEmacs.org do not distribute. @@ -931,9 +931,9 @@ provides. Surround the list with parens. @item requires -Taken from the @file{Makefile} variable @var{REQUIRES}. It is a list of -all the package's dependencies, including any macros and defstructs that -need to be inlined. +Taken from the @file{Makefile} variable @code{REQUIRES}. It is a list +of all the package's dependencies, including any macros and defstructs +that need to be inlined. @samp{REQUIRES} cannot be correctly computed from the calls to @code{require} in the package's library sources. @samp{REQUIRES} is @@ -1133,19 +1133,19 @@ @item ELCS_1 A list of extra byte-compiled Lisp files used by the package to be installed in a subdirectory of the package's lisp directory. The same -care should be taken with this as with @var{ELCS} in regard to +care should be taken with this as with @code{ELCS} in regard to @code{make clean}. @item ELCS_1_DEST -The name of the subdirectory for the @var{ELCS_1} files to be installed +The name of the subdirectory for the @code{ELCS_1} files to be installed to. Be sure to include @samp{$(PACKAGE)/} as part of the name. @example ELCS_1_DEST = $(PACKAGE)/extra @end example -Would put the @var{ELCS_1} files for the package, @samp{foo} into -@file{xemacs-packages/lisp/foo/extra/}. +Would put the @code{ELCS_1} files for the package, @samp{foo} into +@file{xemacs-packages/lisp/foo/extra/}. @item EARLY_GENERATED_LISP For additional @file{.el} files that will be generated before any @@ -1169,8 +1169,8 @@ @end example Preloads are loaded before @file{package-compile.el}, so the -@var{load-path} is minimal. Therefore @samp{PRELOADS} must specify a -full path to packaged Lisp. The base @var{load-path} does include the +@code{load-path} is minimal. Therefore @samp{PRELOADS} must specify a +full path to packaged Lisp. The base @code{load-path} does include the core Lisp directory, so core libraries are found. @item AUTOLOAD_PATH @@ -1178,7 +1178,7 @@ reside. This is where the @file{auto-autoloads.el} file will be placed. @strong{N.B.} There is no need to use this variable if the @file{.el} -files are in the package's toplevel directory. @var{AUTOLOAD_PATH} +files are in the package's toplevel directory. @code{AUTOLOAD_PATH} defaults to @samp{.}. @item PACKAGE_SUPPRESS @@ -1210,7 +1210,7 @@ EXPLICIT_DOCS = texi/$(PACKAGE).texi @end example -See @var{DOCS_TXI_EXTENSION} and @var{DOCS_TEXINFO_EXTENSION} if you +See @code{DOCS_TXI_EXTENSION} and @code{DOCS_TEXINFO_EXTENSION} if you don't use the @file{.texi} file extension on your Texinfo sources. @item EXTRA_TEXI_FILES @@ -1252,7 +1252,7 @@ file ends up in @samp{$(DATA_DEST)}, not in a subdiredtory. @item DATA_DEST -The directory where the files in @var{DATA_FILES} are installed to. It +The directory where the files in @code{DATA_FILES} are installed to. It is a subdirectory of the installed @file{etc/} directory. Be sure to prefix this value with @samp{$(PACKAGE)}, for example: @@ -1264,12 +1264,12 @@ @item DATA_1_FILES ... DATA_35_FILES For data files that need to go into a different directory from -@var{DATA_DEST}. +@code{DATA_DEST}. @item DATA_1_DEST ... DATA_35_DEST -The name of the subdirectory for files specified in @var{DATA_n_FILES}. -And like @var{DATA_DEST}, be sure to prefix @samp{$(PACKAGE)} to the -value of these variables. +The name of the subdirectory for files specified in +@code{DATA_@var{n}_FILES}. And like @code{DATA_DEST}, be sure to prefix +@samp{$(PACKAGE)} to the value of these variables. @item EXTRA_DEPENDENCIES For additional files to build that aren't appropriate to place in any @@ -1296,7 +1296,7 @@ @item an entry in the @code{cond} in @code{package-name-to-directory} This is optional; it is necessary only if you keep your Lisp code somewhere other than the top-level directory of the package's source -tree, eg, in @file{packages/xemacs-packages/@var{PACKAGE}/lisp}. +tree, eg, in @file{packages/xemacs-packages/$(PACKAGE)/lisp}. @end table This only needs to be done once, when the package is first added to the diff --text -u 'xemacs-21.5.16/man/lispref/postgresql.texi' 'xemacs-21.5.17/man/lispref/postgresql.texi' Index: ./man/lispref/postgresql.texi --- ./man/lispref/postgresql.texi Fri Apr 13 03:22:19 2001 +++ ./man/lispref/postgresql.texi Fri Oct 10 21:39:34 2003 @@ -104,27 +104,27 @@ connection and when the @code{pq-setenv} call is made. @defvar pg:host -Initialized from the @var{PGHOST} environment variable. The default +Initialized from the @code{PGHOST} environment variable. The default host to connect to. @end defvar @defvar pg:user -Initialized from the @var{PGUSER} environment variable. The default +Initialized from the @code{PGUSER} environment variable. The default database user name. @end defvar @defvar pg:options -Initialized from the @var{PGOPTIONS} environment variable. Default +Initialized from the @code{PGOPTIONS} environment variable. Default additional server options. @end defvar @defvar pg:port -Initialized from the @var{PGPORT} environment variable. The default TCP -port to connect to. +Initialized from the @code{PGPORT} environment variable. The default +TCP port to connect to. @end defvar @defvar pg:tty -Initialized from the @var{PGTTY} environment variable. The default +Initialized from the @code{PGTTY} environment variable. The default debugging TTY. Compatibility note: Debugging TTYs are turned off in the XEmacs Lisp @@ -132,17 +132,17 @@ @end defvar @defvar pg:database -Initialized from the @var{PGDATABASE} environment variable. The default -database to connect to. +Initialized from the @code{PGDATABASE} environment variable. The +default database to connect to. @end defvar @defvar pg:realm -Initialized from the @var{PGREALM} environment variable. The default +Initialized from the @code{PGREALM} environment variable. The default Kerberos realm. @end defvar @defvar pg:client-encoding -Initialized from the @var{PGCLIENTENCODING} environment variable. The +Initialized from the @code{PGCLIENTENCODING} environment variable. The default client encoding. Compatibility note: This variable is not present in non-Mule XEmacsen. @@ -153,35 +153,35 @@ @c unused @defvar pg:authtype -Initialized from the @var{PGAUTHTYPE} environment variable. The default -authentication scheme used. +Initialized from the @code{PGAUTHTYPE} environment variable. The +default authentication scheme used. Compatibility note: This variable is unused in versions of libpq after 6.5. It is not implemented at all in the XEmacs Lisp binding. @end defvar @defvar pg:geqo -Initialized from the @var{PGGEQO} environment variable. Genetic +Initialized from the @code{PGGEQO} environment variable. Genetic optimizer options. @end defvar @defvar pg:cost-index -Initialized from the @var{PGCOSTINDEX} environment variable. Cost index -options. +Initialized from the @code{PGCOSTINDEX} environment variable. Cost +index options. @end defvar @defvar pg:cost-heap -Initialized from the @var{PGCOSTHEAP} environment variable. Cost heap +Initialized from the @code{PGCOSTHEAP} environment variable. Cost heap options. @end defvar @defvar pg:tz -Initialized from the @var{PGTZ} environment variable. Default +Initialized from the @code{PGTZ} environment variable. Default timezone. @end defvar @defvar pg:date-style -Initialized from the @var{PGDATESTYLE} environment variable. Default +Initialized from the @code{PGDATESTYLE} environment variable. Default date style in returned date objects. @end defvar @@ -338,7 +338,7 @@ An unexpected response was received from the backend. @item pgres::nonfatal-error Undocumented. This value is returned when the libpq function -@code{PQresultStatus} is called with a @var{NULL} pointer. +@code{PQresultStatus} is called with a @code{NULL} pointer. @item pgres::fatal-error Undocumented. An error has occurred in processing the query and the operation was not completed. @@ -510,7 +510,7 @@ @end defun @defun pq-get-is-null result tup-num field-num -Return t if the specific value is the SQL @var{NULL}. +Return t if the specific value is the SQL @code{NULL}. @var{result} is a PGresult object. @var{tup-num} selects which tuple to fetch from. @var{field-num} selects which field to fetch from. @@ -648,24 +648,24 @@ The following options are available in the options string: @table @code @item authtype -Authentication type. Same as @var{PGAUTHTYPE}. This is no longer used. +Authentication type. Same as @code{PGAUTHTYPE}. This is no longer used. @item user -Database user name. Same as @var{PGUSER}. +Database user name. Same as @code{PGUSER}. @item password Database password. @item dbname -Database name. Same as @var{PGDATABASE} +Database name. Same as @code{PGDATABASE} @item host -Symbolic hostname. Same as @var{PGHOST}. +Symbolic hostname. Same as @code{PGHOST}. @item hostaddr Host address as four octets (eg. like 192.168.1.1). @item port -TCP port to connect to. Same as @var{PGPORT}. +TCP port to connect to. Same as @code{PGPORT}. @item tty -Debugging TTY. Same as @var{PGTTY}. This value is suppressed in the +Debugging TTY. Same as @code{PGTTY}. This value is suppressed in the XEmacs Lisp API. @item options -Extra backend database options. Same as @var{PGOPTIONS}. +Extra backend database options. Same as @code{PGOPTIONS}. @end table A database connection object is returned regardless of whether a connection was established or not. @@ -897,7 +897,8 @@ @end defun @defun pq-env-2-encoding -Return the integer code representing the coding system in @var{PGCLIENTENCODING}. +Return the integer code representing the coding system in +@code{PGCLIENTENCODING}. @example (pq-env-2-encoding) diff --text -u 'xemacs-21.5.16/man/lispref/specifiers.texi' 'xemacs-21.5.17/man/lispref/specifiers.texi' Index: ./man/lispref/specifiers.texi --- ./man/lispref/specifiers.texi Tue Dec 3 20:01:44 2002 +++ ./man/lispref/specifiers.texi Tue Jan 27 22:00:42 2004 @@ -1,7 +1,7 @@ @c -*-texinfo-*- @c This is part of the XEmacs Lisp Reference Manual. @c Copyright (C) 1995, 1996 Ben Wing. -@c Copyright (C) 2002 Free Software Foundation, Inc. +@c Copyright (C) 2002, 2004 Free Software Foundation, Inc. @c See the file lispref.texi for copying conditions. @setfilename ../../info/specifiers.info @node Specifiers, Faces and Window-System Objects, Extents, top @@ -38,7 +38,7 @@ * Specifier Tag Functions:: Working with specifier tags. * Specifier Instancing Functions:: Functions to instance a specifier. -* Specifier Example:: Making all this stuff clearer. +* Specifier Examples:: Making all this stuff clearer. * Creating Specifiers:: Creating specifiers for your own use. * Specifier Validation Functions:: Validating the components of a specifier. @@ -78,7 +78,7 @@ keywords in a buffer will be the same no matter which window the buffer is displayed in, but windows on TTY devices will simply not be capable of the flexibility that windows on modern GUI devices are. -Specifiers provide a way for the programmer to @emph{declare} that a +Specifiers provide a way for the programmer to @emph{declare} that an emphasized text should be italic on GUI devices and inverse video on TTYs. They also provide a way for the programmer to declare fallbacks, so that a color specified as ``chartreuse'' where possible @@ -99,13 +99,13 @@ different devices. Since the specification is abstract (a Lisp form), you can state it without reference to a device. On the other hand, when you instantiate a specification, you must know the type of the device. -It is useless to specify that ``blue mean italic'' on a monochrome +It is useless to specify that ``blue means emphasis'' on a monochrome device. Thus instantiation requires specification of the device on which it will be rendered. Thus a @dfn{specifier} allows a great deal of flexibility in controlling exactly what value a property has in which circumstances. -It is most commonly used for display properties, such as an image or +Specifiers are most commonly used for display properties, such as an image or the foreground color of a face. As a simple example, you can specify that the foreground of the default face be @@ -141,7 +141,8 @@ A useful specifier application is adding a button to a toolbar. XEmacs provides several toolbars, one along each edge of the frame. Normally only one is used at a time, the default. The default toolbar is -actually a specifier object which is the value of @code{default-toolbar}. +actually a specifier object which is the value of +@code{default-toolbar}. @xref{Toolbar Intro}. The specification of a toolbar is simple: it is a list of buttons. Each button is a vector with four elements: an icon, a command, the @@ -682,8 +683,13 @@ the existing ones, and has the same semantics as for @code{add-spec-to-specifier}. -In many circumstances, the higher-level function @code{set-specifier} is -more convenient and should be used instead. +The higher-level function @code{set-specifier} is often +more convenient because it allows abbreviations of spec-lists to be used +instead of the heavily nested canonical syntax. However, one should +take great care in using them with specifiers types which can have lists +as instantiators, such as toolbar specifiers and generic specifiers. In +those cases it's probably best to use @code{add-spec-to-specifier} or +@code{add-spec-list-to-specifier}. @end defun @defspec let-specifier specifier-list &rest body @@ -733,7 +739,7 @@ a global specification), a cons of a locale and instantiator or locale and instantiator list, a list of such conses, or nearly any other reasonable form. More specifically, @var{value} can be anything -accepted by @code{canonicalize-spec-list}. +accepted by @code{canonicalize-spec-list} (described below). @var{locale}, @var{tag-set}, and @var{how-to-add} are the same as in @code{add-spec-to-specifier}. @@ -746,7 +752,10 @@ adding a global instantiator and its value is @code{nil}''), or in strange cases where there is an ambiguity between a spec-list and an inst-list, etc. (The built-in specifier types are designed in such a way -as to avoid any such ambiguities.) +as to avoid any such ambiguities.) For robust code, +@code{set-specifier} should probably be avoided for specifier types +which accept lists as instantiators (currently toolbar specifiers and +generic specifiers). If you want to work with spec-lists, you should probably not use these functions, but should use the lower-level functions @@ -809,6 +818,10 @@ @var{specifier-type} specifies the type of specifier that this @var{spec-list} will be used for. +If @var{noerror} is @code{nil}, signal an error if the spec-list is +invalid; otherwise return @code{t} for an invalid spec-list. (Note that +this cannot be confused with a canonical spec-list.) + Canonicalizing means converting to the full form for a spec-list, i.e. @code{((@var{locale} (@var{tag-set} . @var{instantiator}) ...) ...)}. This function accepts a possibly abbreviated specification or a list of @@ -820,8 +833,59 @@ and the built-in specifier types (font, image, toolbar, etc.) are designed so that there won't be any ambiguities. -If @var{noerror} is @code{nil}, signal an error if the spec-list is -invalid; otherwise return @code{t}. +The canonicalization algorithm is as follows: + +@enumerate +@item +Attempt to parse @var{spec-list} as a single, possibly abbreviated, +specification. +@item +If that fails, attempt to parse @var{spec-list} as a list of (abbreviated) +specifications. +@item +If that fails, @var{spec-list} is invalid. +@end enumerate + +A possibly abbreviated specification @var{spec} is parsed by + +@enumerate +@item +Attempt to parse @var{spec} as a possibly abbreviated inst-list. +@item +If that fails, attempt to parse @var{spec} as a cons of a locale and an +(abbreviated) inst-list. +@item +If that fails, @var{spec} is invalid. +@end enumerate + +A possibly abbreviated inst-list @var{inst-list} is parsed by + +@enumerate +@item +Attempt to parse @var{inst-list} as a possibly abbreviated inst-pair. +@item +If that fails, attempt to parse @var{inst-list} as a list of (abbreviated) +inst-pairs. +@item +If that fails, @var{inst-list} is invalid. +@end enumerate + +A possibly abbreviated inst-pair @var{inst-pair} is parsed by + +@enumerate +@item +Check if @var{inst-pair} is @code{valid-instantiator-p}. +@item +If not, check if @var{inst-pair} is a cons of something that is a tag, ie, +@code{valid-specifier-tag-p}, and something that is @code{valid-instantiator-p}. +@item +If not, check if @var{inst-pair} is a cons of a list of tags and something that +is @code{valid-instantiator-p}. +@item +Otherwise, @var{inst-pair} is invalid. +@end enumerate + +In summary, this function generally prefers more abbreviated forms. @end defun @node Retrieving Specifications @@ -983,7 +1047,7 @@ @section Functions for Instancing a Specifier @defun specifier-instance specifier &optional domain default no-fallback -This function instantiates @var{specifier} (return its value) in +This function instantiates @var{specifier} (returns its value) in @var{domain}. If no instance can be generated for this domain, return @var{default}. @@ -1037,6 +1101,37 @@ value will be a string, pixmap, or subwindow. @end defun +@defun specifier-matching-instance specifier matchspec &optional domain default no-fallback +This function returns an instance for @var{specifier} in @var{domain} +that matches @var{matchspec}. If no instance can be generated for +@var{domain}, return @var{default}. + +This function is identical to @code{specifier-instance} except that a +specification will only be considered if it matches @var{matchspec}. +The definition of ``match,'' and allowed values for @var{matchspec}, are +dependent on the particular type of specifier. Here are some examples: + +@itemize +@item +For chartable (e.g. display table) specifiers, @var{matchspec} should be a +character, and the specification (a chartable) must give a value for +that character in order to be considered. This allows you to specify, +@emph{e.g.}, a buffer-local display table that only gives values for particular +characters. All other characters are handled as if the buffer-local +display table is not there. (Chartable specifiers are not yet +implemented.) +@item +For font specifiers, @var{matchspec} should be a list (@var{charset} +. @var{second-stage-p}), and the specification (a font string) must have +a registry that matches the charset's registry. (This only makes sense +with Mule support.) This makes it easy to choose a font that can +display a particular character. (This is what redisplay does, in fact.) +@var{second-stage-p} means to ignore the font's registry and instead +look at the characters in the font to see if the font can support the +charset. This currently only makes sense under MS Windows. +@end itemize +@end defun + @defun specifier-instance-from-inst-list specifier domain inst-list &optional default This function attempts to convert a particular inst-list into an instance. This attempts to instantiate @var{inst-list} in the given @@ -1046,8 +1141,8 @@ @code{specifier-instance} instead. @end defun -@node Specifier Example -@section Example of Specifier Usage +@node Specifier Examples +@section Examples of Specifier Usage Now let us present an example to clarify the theoretical discussions we have been through. In this example, we will use the general specifier @@ -1120,6 +1215,143 @@ instantiation method succeeds and returns a color instance. @end enumerate +Here's another example, which implements something like GNU Emacs's +``frame-local'' variables. + +@example +;; Implementation + +;; There are probably better ways to write this macro +;; Heaven help you if VAR is a buffer-local; you will become very +;; confused. Probably should error on that. +(defmacro define-frame-local-variable (var) + "Make the unbound symbol VAR become a frame-local variable." + (let ((val (if (boundp var) (symbol-value var) nil))) + `(progn + (setq ,var (make-specifier 'generic)) + (add-spec-to-specifier ,var ',val 'global)))) + +;; I'm not real happy about this terminology, how can `setq' be a defun? +;; But `frame-set' would have people writing "(frame-set 'foo value)". +(defun frame-setq (var value &optional frame) + "Set the local value of VAR to VALUE in FRAME. + +FRAME defaults to the selected frame." + (and frame (not (framep frame)) + (error 'invalid-argument "FRAME must be a frame", frame)) + (add-spec-to-specifier var value (or frame (selected-frame)))) + +(defun frame-value (var &optional frame) + "Get the local value of VAR in FRAME. + +FRAME defaults to the selected frame." + (and frame (not (framep frame)) + (error 'invalid-argument "FRAME must be a frame", frame)) + ;; this is not just a map from frames to values; it also falls back + ;; to the global value + (specifier-instance var (or frame (selected-frame)))) + +;; for completeness +(defun frame-set-default (var value) + "Set the default value of frame-local variable VAR to VALUE." + (add-spec-to-specifier var value 'global)) + +(defun frame-get-default (var) + "Get the default value of frame-local variable VAR." + (car (specifier-specs var 'global))) +@end example + +Now you can execute the above definitions (eg, with @code{eval-last-sexp}) +and switch to @file{*scratch*} to play. Things will work differently if +you already have a variable named @code{foo}. + +@example +;; Usage + +foo +@error{} Symbol's value as variable is void: foo + +(define-frame-local-variable foo) +@result{} nil + +;; the value of foo is a specifier, which is an opaque object; +;; you must use accessor functions to get values + +foo +@result{} # + +;; since no frame-local value is set, the global value (which is the +;; constant `nil') is returned +(frame-value foo) +@result{} nil + +;; get the default explicitly +(frame-get-default foo) +@result{} nil + +;; get the whole specification list +(specifier-specs foo 'global) +@result{} (nil) + +;; give foo a frame-local value + +(frame-setq foo 'bar) +@result{} nil + +;; access foo in several ways + +;; Note that the print function for this kind of specifier only +;; gives you the global setting. To get the full list of specs for +;; debugging or study purposes, you must use specifier-specs or +;; specifier-spec-list. +foo +@result{} # + +;; get the whole specification list +(specifier-specs foo) +@result{} ((# (nil . bar)) (global (nil))) + +;; get the frame-local value +(frame-value foo) +@result{} bar + +;; get the default explicitly +(frame-get-default foo) +@result{} nil + +;; Switch to another frame and evaluate: +;; C-x 5 o M-: (frame-setq foo 'baz) RET M-: (frame-value foo) RET +@result{} baz + +;; Switch back. +;; C-x 5 o +(specifier-specs foo) +@result{} ((# (nil . baz)) + (# (nil . bar)) + (global (nil))) + +(frame-value foo) +@result{} bar + +(frame-get-default foo) +@result{} nil +@end example + +Note that since specifiers generalize both frame-local and buffer-local +variables in a sensible way, XEmacs is not likely to put a high priority +on implementing frame-local variables. +@c Thanks to Jerry James for the following explanation. He is not +@c responsible for its use here, Stephen Turnbull is. +In fact, some developers think that frame-local variables are evil for +the same reason that buffer-local variables are evil: the declaration is +both global and invisible. That is, you cannot tell whether a variable +is ``normal,'' buffer-local, or frame-local just by looking at it. So +if you have namespace management problems, and some other Lisp package +happens to use a variable name that you already declared frame- or +buffer-local, weird stuff happens, and it is extremely hard to track +down. + + @node Creating Specifiers @section Creating New Specifier Objects @@ -1151,16 +1383,20 @@ @end defun @defun make-specifier-and-init type spec-list &optional dont-canonicalize -This function creates and initialize a new specifier. +This function creates and initializes a new specifier. -This is a front-end onto @code{make-specifier} that allows you to create +This is a convenience API combining @code{make-specifier} and +@code{set-specifier} that allows you to create a specifier and add specs to it at the same time. @var{type} specifies -the specifier type. @var{spec-list} supplies the specification(s) to be -added to the specifier. Normally, almost any reasonable abbreviation of -the full spec-list form is accepted, and is converted to the full form; -however, if optional argument @var{dont-canonicalize} is non-@code{nil}, -this conversion is not performed, and the @var{spec-list} must already -be in full form. See @code{canonicalize-spec-list}. +the specifier type. Allowed types are as for @code{make-specifier}. + +@var{spec-list} supplies the specification(s) to be +added to the specifier. Any abbreviation of +the full spec-list form accepted by @code{canonicalize-spec-list} may +be used. +However, if the optional argument @var{dont-canonicalize} is non-@code{nil}, +canonicalization is not performed, and the @var{spec-list} must already +be in full form. @end defun @defun make-integer-specifier spec-list @@ -1345,12 +1581,17 @@ This function applies @var{func} to the specification(s) for @var{locale} in @var{specifier}. -If @var{locale} is a locale, @var{func} will be called for that locale. +If optional @var{locale} is a locale, @var{func} will be called for that +locale. If @var{locale} is a locale type, @var{func} will be mapped over all locales of that type. If @var{locale} is @code{nil} or the symbol @code{all}, @var{func} will be mapped over all locales in @var{specifier}. +Optional @var{ms-tag-set} and @var{ms-exact-p} are as in +@code{specifier-spec-list'}. +Optional @var{ms-maparg} will be passed to @var{ms-func}. + @var{func} is called with four arguments: the @var{specifier}, the locale being mapped over, the inst-list for that locale, and the optional @var{maparg}. If any invocation of @var{func} returns diff --text -u 'xemacs-21.5.16/man/lispref/tips.texi' 'xemacs-21.5.17/man/lispref/tips.texi' Index: ./man/lispref/tips.texi --- ./man/lispref/tips.texi Fri Apr 13 03:22:21 2001 +++ ./man/lispref/tips.texi Thu Oct 16 13:10:23 2003 @@ -488,7 +488,7 @@ @end group @end smallexample -Every function that has no documentation string (because it is use only +Every function that has no documentation string (because it is used only internally within the package it belongs to), should have instead a two-semicolon comment right before the function, explaining what the function does and how to call it properly. Explain precisely what each diff --text -u 'xemacs-21.5.16/man/new-users-guide/custom2.texi' 'xemacs-21.5.17/man/new-users-guide/custom2.texi' Index: ./man/new-users-guide/custom2.texi --- ./man/new-users-guide/custom2.texi Thu Aug 28 03:07:08 2003 +++ ./man/new-users-guide/custom2.texi Fri Oct 10 21:39:41 2003 @@ -93,7 +93,7 @@ After you type any of the above commands, you will be prompted for a variable name in the @dfn{echo area}. Type in the name of the variable, -for example, type @var{case-fold-search} @key{RET} +for example, type @code{case-fold-search} @key{RET} Your window will split into two and you will see the following message in that window: @@ -219,7 +219,7 @@ @end example @noindent -The value of the variable @var{c-tab-always-indent} is usually @samp{t} +The value of the variable @code{c-tab-always-indent} is usually @samp{t} for @samp{true}. When this variable is true, then hitting the @key{TAB} key always indents the current line. @@ -233,7 +233,7 @@ This mode will automatically break lines when you type a space so that the lines don't become too long. The length of the lines is controlled -by the variable @var{fill-column}. You can set this variable to a value +by the variable @code{fill-column}. You can set this variable to a value you wish. Look at the documentation for this variable to see its default value. To change the value to 75 for example, use: @@ -383,7 +383,7 @@ @item To control the number of buffers listed when you select the @b{Buffers} -menu, you need to set the variable @var{buffers-menu-max-size} to +menu, you need to set the variable @code{buffers-menu-max-size} to whatever value you wish. For example, if you want 20 buffers to be listed when you select @b{Buffers} use: diff --text -u 'xemacs-21.5.16/man/new-users-guide/files.texi' 'xemacs-21.5.17/man/new-users-guide/files.texi' Index: ./man/new-users-guide/files.texi --- ./man/new-users-guide/files.texi Fri Apr 13 03:22:24 2001 +++ ./man/new-users-guide/files.texi Fri Oct 10 21:39:41 2003 @@ -49,7 +49,7 @@ a directory. You can see what the default directory of the current buffer is by using the @b{Describe Variable} option from the @b{Help} menu. When Emacs prompts you for the variable name to describe, type -@var{default-directory}. If you wish to open a file in some other +@code{default-directory}. If you wish to open a file in some other directory, use @key{DEL} or the @key{BackSpace} key to go back and type the path name of the new directory. @@ -201,7 +201,7 @@ @vindex make-backup-files When you save a file in Emacs, it destroys its old contents. However, -if you set the variable @var{make-backup-files} to non-@code{nil} +if you set the variable @code{make-backup-files} to non-@code{nil} i.e. @samp{t}, Emacs will create a @dfn{backup} file. Select the @b{Describe variable} option from the @b{Help} menu and look at the documentation for this variable. Its default value should be diff --text -u 'xemacs-21.5.16/man/new-users-guide/search.texi' 'xemacs-21.5.17/man/new-users-guide/search.texi' Index: ./man/new-users-guide/search.texi --- ./man/new-users-guide/search.texi Fri Apr 13 03:22:24 2001 +++ ./man/new-users-guide/search.texi Fri Oct 10 21:39:41 2003 @@ -11,7 +11,7 @@ of the text they are searching, i.e. if you are searching for "String", then "string" will also be one of the selections. If you want a case sensitive search select the @b{Case Sensitive Search} from the -@b{Option} menu. You can also set the variable @var{case-fold-search} to +@b{Option} menu. You can also set the variable @code{case-fold-search} to @code{nil} for making searches case-sensitive. For information on setting variables, @xref{Setting Variables}. The two commands for searching for strings in XEmacs are: diff --text -u 'xemacs-21.5.16/man/xemacs-faq.texi' 'xemacs-21.5.17/man/xemacs-faq.texi' Index: ./man/xemacs-faq.texi --- ./man/xemacs-faq.texi Thu Aug 28 03:06:58 2003 +++ ./man/xemacs-faq.texi Wed Jan 21 18:03:42 2004 @@ -7,9 +7,9 @@ @finalout @titlepage @title XEmacs FAQ -@subtitle Frequently asked questions about XEmacs @* Last Modified: $Date: 2003/08/27 18:06:58 $ +@subtitle Frequently asked questions about XEmacs @* Last Modified: $Date: 2004/01/21 09:03:42 $ @sp 1 -@author Tony Rossini +@author Tony Rossini @author Ben Wing @author Chuck Thompson @author Steve Baur @@ -1938,7 +1938,7 @@ The binary cannot find the @file{XKeysymDB} file. The location is hardcoded at compile time so if the system the binary was built on puts it a different place than your system does, you have problems. To fix, -set the environment variable @var{XKEYSYMDB} to the location of the +set the environment variable @code{XKEYSYMDB} to the location of the @file{XKeysymDB} file on your system or to the location of the one included with XEmacs which should be at @iftex @@ -1951,7 +1951,7 @@ and does not contain the necessary lines. Either ask your system administrator to replace it with the one which comes with XEmacs (which is the stock R6 version and is backwards compatible) or set your -@var{XKEYSYMDB} variable to the location of XEmacs's described above. +@code{XKEYSYMDB} variable to the location of XEmacs's described above. @end itemize @node Q2.1.4, Q2.1.5, Q2.1.3, Installation @@ -1987,7 +1987,7 @@ Help! I can not get XEmacs to display on my Envizex X-terminal! -Try setting the @var{DISPLAY} variable using the numeric IP address of +Try setting the @code{DISPLAY} variable using the numeric IP address of the host you are running XEmacs from. @node Q2.1.6, Q2.1.7, Q2.1.5, Installation diff --text -u 'xemacs-21.5.16/man/xemacs/custom.texi' 'xemacs-21.5.17/man/xemacs/custom.texi' Index: ./man/xemacs/custom.texi --- ./man/xemacs/custom.texi Wed Dec 4 23:00:46 2002 +++ ./man/xemacs/custom.texi Fri Oct 10 21:39:45 2003 @@ -2154,7 +2154,7 @@ Starting with XEmacs 21, XEmacs uses the class @samp{XEmacs} if it finds any XEmacs resources in the resource database when the X connection is initialized. Otherwise, it will use the class @samp{Emacs} for -backwards compatibility. The variable @var{x-emacs-application-class} +backwards compatibility. The variable @code{x-emacs-application-class} may be consulted to determine the application class being used. The examples in this section assume the application class is @samp{Emacs}. diff --text -u 'xemacs-21.5.16/modules/ChangeLog' 'xemacs-21.5.17/modules/ChangeLog' Index: ./modules/ChangeLog --- ./modules/ChangeLog Fri Sep 26 14:56:39 2003 +++ ./modules/ChangeLog Mon Mar 22 17:12:48 2004 @@ -1,3 +1,7 @@ +2004-03-22 Stephen J. Turnbull + + * XEmacs 21.5.17 "chayote" is released. + 2003-09-26 Steve Youngs * XEmacs 21.5.16 "celeriac" is released. diff --text -u 'xemacs-21.5.16/netinstall/ChangeLog' 'xemacs-21.5.17/netinstall/ChangeLog' Index: ./netinstall/ChangeLog Prereq: 1.29 --- ./netinstall/ChangeLog Fri Sep 26 14:56:40 2003 +++ ./netinstall/ChangeLog Mon Mar 22 17:12:48 2004 @@ -1,3 +1,7 @@ +2004-03-22 Stephen J. Turnbull + + * XEmacs 21.5.17 "chayote" is released. + 2003-09-26 Steve Youngs * XEmacs 21.5.16 "celeriac" is released. diff --text -u 'xemacs-21.5.16/nt/ChangeLog' 'xemacs-21.5.17/nt/ChangeLog' Index: ./nt/ChangeLog --- ./nt/ChangeLog Fri Sep 26 14:56:41 2003 +++ ./nt/ChangeLog Mon Mar 22 17:12:48 2004 @@ -1,3 +1,23 @@ +2004-03-22 Stephen J. Turnbull + + * XEmacs 21.5.17 "chayote" is released. + +2003-11-06 Adrian Aichner + + * minitar.c (Usage): Change return type to void. + * minitar.c (main): Fix inconsistent indentation, use return + instead of exit to fix compiler warning. + +2003-10-27 Jerry James + + * README: Update library versions. Delete irrelevant text. + * config.inc.samp: Ditto. + +2003-10-15 Jerry James + + * xemacs.mak (TEMACS_OBJS): Add emodules.obj, which always has + content now. + 2003-09-26 Steve Youngs * XEmacs 21.5.16 "celeriac" is released. diff --text -u 'xemacs-21.5.16/nt/README' 'xemacs-21.5.17/nt/README' Index: ./nt/README --- ./nt/README Sat Mar 1 16:25:32 2003 +++ ./nt/README Fri Nov 7 00:12:33 2003 @@ -77,38 +77,35 @@ ==================== 1. You really want the XPM library. Grab the latest version of the xpm - sources (xpm-3.4k.tar.gz as of 2002-04-27) from + sources (xpm-3.4k.tar.gz as of 2003-10-27) from ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack them somewhere. Copy nt\xpm.mak from the xemacs sources to the lib subdirectory of the xpm sources, cd to that directory and build xpm with 'nmake -f xpm.mak'. 2. You probably also want PNG image support. Grab the latest versions of - zlib and libpng (zlib-1.1.4 and libpng-1.0.9 as of 2002-04-27) from + zlib and libpng (zlib-1.1.4 and libpng-1.2.5 as of 2003-10-27) from ftp://ftp.xemacs.org/pub/xemacs/aux/, unpack them somewhere and read the respective READMEs for details on how to build them. The following - build procedure works for zlib-1.1.4 and libpng-1.0.9: + build procedure works for zlib-1.1.4 and libpng-1.2.5: - cd to the zlib directory and type 'nmake -f msdos\makefile.w32'. + cd to the zlib directory and type 'nmake -f nt\Makefile.nt'. cd to the libpng directory, rename or move the zlib directory to ..\zlib and type 'nmake -f scripts\makefile.vcwin32'. -3. If you want TIFF support, grap the latest version of libtiff (tiff-v3.4 - as of 2002-04-27) from ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack - it somewhere. Copy nt\tiff.mak from the xemacs sources to the - contrib\winnt subdirectory of the tiff sources, cd to that directory and - build libtiff with 'nmake -f tiff.mak'. Note: tiff.mak has only been - verified to work under WinNT, not Win95 or 98. However, the latest - distribution of libtiff includes a contrib\win95\makefile.w95; that - might work. +3. If you want TIFF support, grab the latest version of libtiff (tiff-v3.5.7 + as of 2003-10-27) from ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack + it somewhere. Then cd to the libtiff subdirectory of the tiff directory + and type 'nmake -f makefile.vc'. 4. If you want JPEG support grab the latest version of jpegsrc (jpeg-6b as - of 2002-04-27) from ftp://ftp.xemacs.org/pub/xemacs/aux/ and read the + of 2003-10-27) from ftp://ftp.xemacs.org/pub/xemacs/aux/ and read the README for details on how to build it. -5. If you want X-Face support, grab the compface distribution from +5. If you want X-Face support, grab the latest version of the compface + distribution (1.4 as of 2003-10-27) from ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack it somewhere. - Copy nt\compface.mak from xemacs sources to the compface directory. + Copy nt\compface.mak from the xemacs sources to the compface directory. cd to that directory and build libcompface with 'nmake -f compface.mak'. diff --text -u 'xemacs-21.5.16/nt/config.inc.samp' 'xemacs-21.5.17/nt/config.inc.samp' Index: ./nt/config.inc.samp --- ./nt/config.inc.samp Sun Mar 9 21:59:40 2003 +++ ./nt/config.inc.samp Fri Nov 7 00:12:33 2003 @@ -38,19 +38,16 @@ # Set this to enable PNG support (virtually mandatory), and specify # the directories containing png and zlib. Get the latest version from # ftp://ftp.uu.net/graphics/png/. You will have to rename the zlib directory -# from zlib-1.1.3 or whatever to just `zlib' for the build to work. +# from zlib-1.1.4 or whatever to just `zlib' for the build to work. HAVE_PNG=1 -PNG_DIR=c:\src\libpng-1.0.12 +PNG_DIR=c:\src\libpng-1.2.5 ZLIB_DIR=c:\src\zlib # Set this to enable TIFF support, and specify the directory containing tiff. # Get the latest version from ftp://ftp.uu.net/graphics/tiff/. Not on by -# default since TIFF isn't really very important and those TIFF wankers -# couldn't be bothered to incorporate minimal MS-Windows patches they've -# had sitting around for years, so getting it to build is a major pain in -# the ass. +# default since TIFF isn't really very important. HAVE_TIFF=0 -TIFF_DIR=c:\src\tiff-v3.4 +TIFF_DIR=c:\src\tiff-v3.5.7 # Set this to enable JPEG support, and specify the directory containing jpeg. # Get the latest version from ftp://ftp.uu.net/graphics/jpeg/. diff --text -u 'xemacs-21.5.16/nt/installer/Wise/ChangeLog' 'xemacs-21.5.17/nt/installer/Wise/ChangeLog' Index: ./nt/installer/Wise/ChangeLog --- ./nt/installer/Wise/ChangeLog Fri Sep 26 14:56:42 2003 +++ ./nt/installer/Wise/ChangeLog Mon Mar 22 17:12:48 2004 @@ -1,3 +1,7 @@ +2004-03-22 Stephen J. Turnbull + + * XEmacs 21.5.17 "chayote" is released. + 2003-09-26 Steve Youngs * XEmacs 21.5.16 "celeriac" is released. diff --text -u 'xemacs-21.5.16/nt/minitar.c' 'xemacs-21.5.17/nt/minitar.c' Index: ./nt/minitar.c --- ./nt/minitar.c Sun Jun 15 22:25:46 2003 +++ ./nt/minitar.c Fri Nov 7 07:53:31 2003 @@ -23,13 +23,12 @@ #include -static int +static void Usage (char *name) { fprintf (stderr, "Usage: %s file.tar.gz [base-dir]\n", name); fprintf (stderr, "\tExtracts the contents compressed tar file to base-dir\n"); exit (-1); - return 0; } @@ -223,7 +222,9 @@ if (size==0) /* file of size 0 is done */ in_block = 0; } - } else { /* write or continue writing file contents */ + } + else + { /* write or continue writing file contents */ nbytes = size>512? 512:size; nwritten = fwrite (block, 1, nbytes, outfile); diff --text -u 'xemacs-21.5.16/nt/xemacs.mak' 'xemacs-21.5.17/nt/xemacs.mak' Index: ./nt/xemacs.mak --- ./nt/xemacs.mak Sat Sep 13 21:54:35 2003 +++ ./nt/xemacs.mak Thu Oct 16 05:24:34 2003 @@ -668,6 +668,7 @@ $(OUTDIR)\editfns.obj \ $(OUTDIR)\elhash.obj \ $(OUTDIR)\emacs.obj \ + $(OUTDIR)\emodules.obj \ $(OUTDIR)\eval.obj \ $(OUTDIR)\event-stream.obj \ $(OUTDIR)\events.obj \ diff --text -u 'xemacs-21.5.16/src/ChangeLog' 'xemacs-21.5.17/src/ChangeLog' Index: ./src/ChangeLog --- ./src/ChangeLog Fri Sep 26 14:56:43 2003 +++ ./src/ChangeLog Mon Mar 22 17:12:49 2004 @@ -1,3 +1,412 @@ +2004-03-22 Stephen J. Turnbull + + * XEmacs 21.5.17 "chayote" is released. + +2004-03-20 Adrian Aichner + + * eval.c: Typo fixes. + +2004-03-16 Jerry James + + * alloc.c: Make gc_currently_forbidden readable in other files. + * lisp.h: Add a declaration for gc_currently_forbidden. + * print.c: Add a debug_bindings struct to bind without consing. + * print.c (debug_prin1_bindings): New variable. + * print.c (output_string): Avoid calling begin_gc_forbidden, which + conses, if it is already forbidden. + * print.c (print_internal): Do not bump print_depth, which + involves consing, when inhibit_non_essential_printing_operations + is set, in which case we set print_depth to zero anyway. + * print.c (alternate_do_size): New variable. + * print.c (alternate_do_string): Dynamically allocated to avoid a + buffer overflow bug. + * print.c (write_string_to_alternate_debugging_output): Make sure + we do not overflow alternate_do_string. + * print.c (debug_prin1_exit): New function. Unbind variables + bound by debug_prin1. + * print.c (debug_prin1): Avoid using internal_bind_int, which + conses; use debug_binding instead. Always inhibit quit. + * print.c (vars_of_print): Initialize debug_prin1_bindings, + alternate_do_size, and alternate_do_string. + +2004-03-15 Jerry James + + * eval.c (grow_specpdl): Add some specpdl space, even when not + debug-on-error or debug-on-signal. + +2004-03-08 Lutz Euler + + * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN. + +2004-02-26 Jerry James + + * console.h (device_metrics): New metrics num_screens, + backing_store, save_under. + * device-x.c (x_device_system_metrics): Support the new metrics. + * device.c: Add symbols for the new metrics. + * device.c (Fdevice_system_metric): Support the new metrics. + * device.c (Fdevice_system_metrics): Ditto. + * device.c (syms_of_device): Define symbols for the new metrics. + +2004-02-25 Jerry James + + * sysdep.h: Declare interrupt/quit-related symbols as C symbols. + * xemacs.def.in.in: Fix placement error in previous patch. + +2004-02-25 Jerry James + + * general-slots.h: Make Qcritical, Qdelete, Qsearch, and Qsimple + visible to modules (all are used by the LDAP module). + * lisp.h: Make stuff in QUIT and QUITP visible to modules. + * sysdep.h: Make speed_up_interrupts and slow_down_interrupts + visible to modules (both are used by the LDAP module). + * xemacs.def.in.in: Reflect all of the above additions to the + module API. + +2004-02-20 Stephen J. Turnbull + + * bytecode.c (execute_optimized_program): + Identify and mark more potential GC locations. + Remove dead STATIC_GCPRO_STACK code and CPP constructs. + Document GCPRO_STACK usage. + + * fns.c (Fnthcdr): + (Fnth): + (Felt): + Propagate "This function can GC"s. + (Fput): + Propagate "This function cannot GC"s. + +2004-02-17 Jerry James + + * menubar-x.c (protected_menu_item_descriptor_to_widget_value_1): + Move begin_gc_forbidden() here so it affects all callers. + * menubar-x.c (menu_item_descriptor_to_widget_value): Call + protected_menu_item_descriptor_to_widget_value_1 with + call_trapping_problems. + +2004-02-16 Jerry James + + * gui-x.c (wv_set_evalable_slot): Check for eval within redisplay. + +2004-02-14 Jerry James + + * gui.c (gui_item_value): Remove in_redisplay parameter; check the + in_display global variable instead. + * gui.c (gui_item_active_p): Ditto. + * gui.c (gui_item_selected_p): Ditto. + * gui.c (gui_value_equal): Ditto. + * gui.c (gui_item_equal_sans_selected): Ditto. + * gui.c (gui_item_list_find_selected): Change calls to drop + in_redisplay parameter. + * gui.c (gui_item_included_p): Ditto. + * gui.c (gui_item_equal): Ditto. + * gui.h: Change prototypes accordingly. + * dialog-msw.c (handle_question_dialog_box): Change calls to drop + in_redisplay parameter. + * glyphs-gtk.c (gtk_tab_control_redisplay): Ditto. + * glyphs-msw.c (mswindows_redisplay_widget): Ditto. + * glyphs-msw.c (mswindows_widget_instantiate): Ditto. + * glyphs-msw.c (mswindows_button_instantiate): Ditto. + * glyphs-msw.c (mswindows_button_redisplay): Ditto. + * glyphs-msw.c (mswindows_tab_control_instantiate): Ditto. + * glyphs-msw.c (mswindows_tab_control_redisplay): Ditto. + * glyphs-widget.c (tab_control_order_only_changed): Ditto. + * glyphs-x.c (x_tab_control_redisplay): Ditto. + * menubar-msw.c (populate_menu_add_item): Ditto. + * menubar.c (Fmenu_find_real_submenu): Ditto. + +2004-01-28 Stephen J. Turnbull + + * Makefile.in.in: Use XE_CFLAGS, not CFLAGS. + +2004-01-21 Jerry James + + * unicode.c (struct unicode_coding_system): Make one bit fields + unsigned. + * unicode.c (decode_unicode_char): Ditto. + * unicode.c (encode_unicode_char_1): Ditto. + * unicode.c (encode_unicode_char): Ditto. + * unicode.c (unicode_convert): Ditto. + * unicode.c (struct utf_8_detector): Ditto. + +2003-11-04 Stephen J. Turnbull + + * frame-x.c (x_wm_hack_wm_protocols): + (x_frame_window_state): + Get casts right to avoid aliasing issues. + + * glyphs.c (process_image_string_instantiator): + (Fset_console_type_image_conversion_list): + Change identifier to quiet compiler. + +2003-11-10 Stephen J. Turnbull + + * bytecode.c (execute_optimized_program): GCPRO_STACK main loop. + +2004-01-16 Malcolm Purvis + + * ui-gtk.c (__internal_callback_marshal): Marshalling data to + return to GTK requires a different API to marshalling data to use + as GTK parameters. + * ui-gtk.c (lisp_to_gtk_ret_type): New. + +2004-01-23 Stephen J. Turnbull + + * specifier.c (Fvalid_specifier_type_p): Fix docstring typo. + +2003-12-29 Malcolm Purvis + + * sysdll.c (dll_function): Added support for finding symbols in + Darwin shared libraries as well in Darwin bundles. + * sysdll.c (image_for_address): New. + * sysdll.c (my_find_image): New. + * sysdll.c (search_linked_libs): New. + +2004-01-03 James C. McPherson + + * doc.c (Fdocumentation_property): GCPROd variables cannot be + declared register. + * eval.c (Fprog1): Ditto. + * eval.c (Fprog2): Ditto. + * fns.c (Fnreverse): Ditto. + * lread.c (readevalloop): Ditto. + +2003-11-29 Jerry James + + * emodules.c (emodules_load): Remove dll_error parameter. + * sysdll.c: Ditto. + * sysdll.h: Ditto. Remove unused DLLEXPORT definitions. + * ui-gtk.c (initialize_dll_cache): dll_open now takes a Lisp_Object. + * ui-gtk.c (Fdll_load): Ditto. Remove dll_error parameter. + +2003-11-18 Jerry James + + * config.h.in: Add TYPEOF. + * emacs.c (voodoo_free_hook): Revert the previous patch and use + TYPEOF instead. + * emacs.c (Fkill_emacs): Ditto. + * ralloc.c (init_ralloc): Ditto. + * ralloc.c (r_alloc_reinit): Ditto. + +2003-11-14 Jerry James + + * emacs.c (voodoo_free_hook): ICC understands typeof. + * emacs.c (Fkill_emacs): Ditto. + * ralloc.c (init_ralloc): Ditto. + * ralloc.c (r_alloc_reinit): Ditto. + +2003-11-14 Jerry James + + * config.h.in: Remove last traces of GNU DLD. + +2003-11-01 Markus Kaltenbach + + * alloc.c (garbage_collect_1): + move kkcc_marking() call inside the while loop containing all + the iterative calls for marking weak data structures since the + entries on the kkcc_stack need to be processed after every run + to mark attached objects + +2003-10-16 Jerry James + + * realpath.c (qxe_realpath): When a symbolic link to an absolute + pathname is found, really start over. + +2003-10-21 Stephen J. Turnbull + + * bytecode.c (execute_optimized_program): + Revert Mike's patch temporarily. + +2003-10-11 Olivier Galibert + + * window.c (Fdelete_window): Dirty the mirror structure _before_ + marking the window deleted. + +2003-10-14 Jerry James + + * Makefile.in.in (shlib_objs): Remove emodules.o. + * Makefile.in.in (objs): Add emodules.o; it always has content now. + * emacs.c (main_1): Call vars_of_module to define module-extensions. + * emodules.c: Always set Vmodule_load_path and Vmodule_extensions. + * emodules.h: Vmodule_load_path is now static. + +2003-10-15 Stephen J. Turnbull + + * mule-charset.c (get_unallocated_leading_byte): #endif->#else. + +2003-10-14 Jerry James + + * compiler.h: Don't define __GNUC__ if using a non-GNU compiler. + Use a consistent spacing scheme. + +2003-08-14 Stephen J. Turnbull + + * mule-charset.c (get_unallocated_leading_byte): Compiler quietus. + +2003-10-13 Stephen J. Turnbull + + * nas.c (AudioLibraryVersionMajor, AudioLibraryVersionMinor): + Ensure they are #define'd. + +2003-10-13 Stephen J. Turnbull + + * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom. + +2003-10-14 Jerry James + + * compiler.h: Check __GNUC_PATCHLEVEL__ definition. + * depend: Regenerate. + +2003-10-13 Jerry James + + * dumper.h: Use {BEGIN,END}_C_DECLS instead of explicit #ifdef. + * glyphs-eimage.c: Ditto. + * glyphs-gtk.c: Ditto. + * glyphs-msw.c: Ditto. + * glyphs-x.c: Ditto. + * gtk-xemacs.h: Ditto. + * libinterface.h: Ditto. + * lrecord.h: Ditto. + * process.h: Ditto. + * symeval.h: Ditto. + * sysdll.h: Ditto. + * syswindows.h: Ditto. + * text.h: Ditto. + * lisp.h: Ditto. Move basic compiler defines to compiler.h. + Remove redundant definitions. Add MALLOC attribute to xmalloc, + xcalloc, etc. Change attribute uses to match new compiler.h. + * compiler.h: New file containing basic compiler defines from lisp.h. + * s/windowsnt.h (DECLARE_DOESNT_RETURN): Remove definitions now in + compiler.h. + +2003-10-10 Jerry James + + * alloc.c (make_compiled_function): Fix C++ breakage introduced by + 2003-07-25 patch. + +2003-07-25 Eric Benson + + Delay the allocation and initialization of the args array in + compiled_function objects from creation until first use, thus + avoiding a bug in the portable dumper. See mail with subject + "Symbol's value as variable is void: region" in the July 2003 + xemacs-beta archives. + * alloc.c (make_compiled_function): initialize args, max_args, + min_args, and args_in_array to zero. + (Fmake_byte_code): Removed allocation and initialization of args + array. + * bytecode.c (optimize_compiled_function): Added allocation and + initialization of args array. + * eval.c (function_argcount): Added call to + optimize_compiled_function. + +2003-10-07 Jerry James + + * emodules.c (vars_of_module): Make Vmodule_extensions visible to + Lisp. Move assignments next to the corresponding declarations. + +2003-09-30 Jerry James + + * Makefile.in.in (distclean): xemacs.def.in.in should not be + removed. + +2003-09-25 Jerry James + + * alloc.c (xfree_1): Use this name even when not error checking. + * device-tty.c (free_tty_device_struct): Use xfree type parameter, + but error-checking version alters the original, not a local copy. + * fileio.c (Ffile_name_directory): Don't xfree alloca'd memory; + this is in an #if 0, but fix it anyway just in case. + * lisp.h: Add a type parameter to the xfree declaration, and + remove the alias when ERROR_CHECK_MALLOC is defined. + Fix 2 incorrect comments pointing to structure declarations. + * tparam.c: Remove unused free macro, and duplicate xmalloc and + xrealloc declarations. + * ui-gtk.c (CONVERT_RETVAL): Add type parameter to use of xfree, + and fix some minor whitespace problems. + * xemacs.def.in.in: Unconditionally export xfree_1 + + * alloc.c: + * alloca.c: + * buffer.c: + * buffer.h: + * console-stream.c: + * console-tty.c: + * device-gtk.c: + * device-msw.c: + * device-x.c: + * dialog-msw.c: + * dialog-x.c: + * dired-msw.c: + * dired.c: + * doc.c: + * dumper.c: + * dynarr.c: + * editfns.c: + * elhash.c: + * emacs.c: + * emodules.c: + * eval.c: + * event-Xt.c: + * event-gtk.c: + * event-msw.c: + * event-stream.c: + * extents.c: + * file-coding.c: + * fileio.c: + * filelock.c: + * frame-gtk.c: + * frame-msw.c: + * frame-x.c: + * frame.c: + * gccache-gtk.c: + * glyphs-eimage.c: + * glyphs-gtk.c: + * glyphs-msw.c: + * glyphs-x.c: + * gui-x.c: + * hash.c: + * hftctl.c: + * imgproc.c: + * insdel.c: + * intl-win32.c: + * keymap.c: + * lstream.c: + * mule-coding.c: + * nt.c: + * ntplay.c: + * objects-gtk.c: + * objects-msw.c: + * objects-tty.c: + * objects-x.c: + * process.c: + * redisplay.c: + * regex.c: + * scrollbar-gtk.c: + * scrollbar-msw.c: + * scrollbar-x.c: + * select-gtk.c: + * select-msw.c: + * select-x.c: + * specifier.c: + * syntax.c: + * sysdep.c: + * termcap.c: + * tests.c: + * text.c: + * text.h: + * toolbar-msw.c: + * unicode.c: + * xgccache.c: + Add type parameter to uses of xfree. + +2003-09-27 Stephen J. Turnbull + + * search.c (trivial_regexp_p): Regexps containing "\{" are + nontrivial. Thanks to Manfred Bartz for reporting the bug and + Stefan Monnier for suggesting a diagnosis. + 2003-09-26 Steve Youngs * XEmacs 21.5.16 "celeriac" is released. diff --text -u 'xemacs-21.5.16/src/Makefile.in.in' 'xemacs-21.5.17/src/Makefile.in.in' Index: ./src/Makefile.in.in --- ./src/Makefile.in.in Tue Aug 19 11:07:15 2003 +++ ./src/Makefile.in.in Wed Jan 28 20:20:42 2004 @@ -46,7 +46,7 @@ version=@version@ CC=@XEMACS_CC@ CPP=@CPP@ -CFLAGS=@CFLAGS@ +CFLAGS=@XE_CFLAGS@ CPPFLAGS=@CPPFLAGS@ LDFLAGS=@LDFLAGS@ @@ -223,7 +223,7 @@ #endif #ifdef HAVE_SHLIB -shlib_objs=sysdll.o emodules.o +shlib_objs=sysdll.o # ifdef HAVE_MS_WINDOWS export_lib=xemacs-export.o xemacs-export.o: xemacs.def @@ -258,7 +258,7 @@ console-stream.o\ data.o $(database_objs) $(debug_objs) device.o dired.o doc.o doprnt.o\ dynarr.o \ - editfns.o elhash.o emacs.o eval.o events.o\ + editfns.o elhash.o emacs.o emodules.o eval.o events.o\ event-stream.o $(event_unixoid_objs) $(extra_objs) extents.o\ faces.o file-coding.o fileio.o $(LOCK_OBJ) filemode.o floatfns.o fns.o \ font-lock.o frame.o\ @@ -976,7 +976,8 @@ ## Do not use it on development directories! distclean: clean $(RM) config.h paths.h Emacs.ad.h $(LISP)/finder-inf.el* \ - GNUmakefile Makefile Makefile.in TAGS $(PROGNAME).* + GNUmakefile Makefile Makefile.in TAGS $(DUMP_TARGET) $(RAW_EXE) \ + xemacs.def xemacs.def.in realclean: distclean extraclean: realclean $(RM) *~ \#* m/*~ m/\#* s/*~ s/\#* diff --text -u 'xemacs-21.5.16/src/alloc.c' 'xemacs-21.5.17/src/alloc.c' Index: ./src/alloc.c --- ./src/alloc.c Thu Sep 11 18:11:08 2003 +++ ./src/alloc.c Fri Mar 19 11:59:10 2004 @@ -187,7 +187,7 @@ /* Nonzero when calling certain hooks or doing other things where a GC would be bad */ -static int gc_currently_forbidden; +int gc_currently_forbidden; /* Hooks. */ Lisp_Object Vpre_gc_hook, Qpre_gc_hook; @@ -252,7 +252,7 @@ { void *tmp = breathing_space; breathing_space = 0; - xfree (tmp); + xfree (tmp, void *); } } @@ -383,11 +383,7 @@ } void -#ifdef ERROR_CHECK_MALLOC xfree_1 (void *block) -#else -xfree (void *block) -#endif { #ifdef ERROR_CHECK_MALLOC /* Unbelievably, calling free() on 0xDEADBEEF doesn't cause an @@ -1509,6 +1505,8 @@ f->instructions = Qzero; f->constants = Qzero; f->arglist = Qnil; + f->args = NULL; + f->max_args = f->min_args = f->args_in_array = 0; f->doc_and_interactive = Qnil; #ifdef COMPILED_FUNCTION_ANNOTATION_HACK f->annotated = Qnil; @@ -1563,48 +1561,6 @@ } f->arglist = arglist; - { - int minargs = 0, maxargs = 0, totalargs = 0; - int optional_p = 0, rest_p = 0, i = 0; - { - LIST_LOOP_2 (arg, arglist) - { - if (EQ (arg, Qand_optional)) - optional_p = 1; - else if (EQ (arg, Qand_rest)) - rest_p = 1; - else - { - if (rest_p) - { - maxargs = MANY; - totalargs++; - break; - } - if (!optional_p) - minargs++; - maxargs++; - totalargs++; - } - } - } - - if (totalargs) - f->args = xnew_array (Lisp_Object, totalargs); - - { - LIST_LOOP_2 (arg, arglist) - { - if (!EQ (arg, Qand_optional) && !EQ (arg, Qand_rest)) - f->args[i++] = arg; - } - } - - f->max_args = maxargs; - f->min_args = minargs; - f->args_in_array = totalargs; - } - /* `instructions' is a string or a cons (string . int) for a lazy-loaded function. */ if (CONSP (instructions)) @@ -2265,7 +2221,7 @@ XSTRING_LENGTH (s) + 1 - pos); } XSET_STRING_DATA (s, new_data); - xfree (old_data); + xfree (old_data, Ibyte *); } } else /* old string is small */ @@ -3598,7 +3554,7 @@ *prev = next; tick_lcrecord_stats (h, 1); /* used to call finalizer right here. */ - xfree (header); + xfree (header, struct lcrecord_header *); header = next; } } @@ -3722,7 +3678,7 @@ SFTB_current = SFTB_current->prev; \ { \ *SFTB_prev = SFTB_current; \ - xfree (SFTB_victim_block); \ + xfree (SFTB_victim_block, struct typename##_block *); \ /* Restore free list to what it was before victim was swept */ \ typename##_free_list = SFTB_old_free_list; \ num_free -= SFTB_limit; \ @@ -3816,7 +3772,7 @@ { #define UNMARK_compiled_function(ptr) UNMARK_RECORD_HEADER (&((ptr)->lheader)) #define ADDITIONAL_FREE_compiled_function(ptr) \ - if (ptr->args_in_array) xfree (ptr->args) + if (ptr->args_in_array) xfree (ptr->args, Lisp_Object *) SWEEP_FIXED_TYPE_BLOCK (compiled_function, Lisp_Compiled_Function); } @@ -4154,7 +4110,7 @@ for (victim = to_sb->next; victim; ) { struct string_chars_block *next = victim->next; - xfree (victim); + xfree (victim, struct string_chars_block *); victim = next; } @@ -4211,7 +4167,7 @@ #define ADDITIONAL_FREE_string(ptr) do { \ Bytecount size = ptr->size_; \ if (BIG_STRING_SIZE_P (size)) \ - xfree (ptr->data_); \ + xfree (ptr->data_, Ibyte *); \ } while (0) SWEEP_FIXED_TYPE_BLOCK_1 (string, Lisp_String, u.lheader); @@ -4657,10 +4613,12 @@ while (finish_marking_weak_hash_tables () > 0 || finish_marking_weak_lists () > 0 || continue_marking_ephemerons () > 0) - ; - #ifdef USE_KKCC - kkcc_marking (); + { + kkcc_marking (); + } +#else /* NOT USE_KKCC */ + ; #endif /* USE_KKCC */ /* At this point, we know which objects need to be finalized: we @@ -4669,12 +4627,14 @@ while (finish_marking_ephemerons () > 0 || finish_marking_weak_lists () > 0 || finish_marking_weak_hash_tables () > 0) - ; - #ifdef USE_KKCC - kkcc_marking (); + { + kkcc_marking (); + } kkcc_gc_stack_free (); #undef mark_object +#else /* NOT USE_KKCC */ + ; #endif /* USE_KKCC */ /* And prune (this needs to be called after everything else has been diff --text -u 'xemacs-21.5.16/src/alloca.c' 'xemacs-21.5.17/src/alloca.c' Index: ./src/alloca.c --- ./src/alloca.c Mon Nov 18 15:52:37 2002 +++ ./src/alloca.c Wed Oct 1 00:26:39 2003 @@ -152,7 +152,7 @@ register header *np = hp->h.next; #ifdef emacs - xfree (hp); /* Collect garbage. */ + xfree (hp, header *); /* Collect garbage. */ #else free (hp); /* Collect garbage. */ #endif diff --text -u 'xemacs-21.5.16/src/buffer.c' 'xemacs-21.5.17/src/buffer.c' Index: ./src/buffer.c --- ./src/buffer.c Fri Feb 14 18:50:16 2003 +++ ./src/buffer.c Wed Oct 1 00:26:39 2003 @@ -2868,7 +2868,7 @@ #ifdef WIN32_NATIVE { Ibyte *newinit = mswindows_canonicalize_filename (initial_directory); - xfree (initial_directory); + xfree (initial_directory, Ibyte *); initial_directory = newinit; } @@ -2886,7 +2886,7 @@ XECOPY_TCHAR (p, '\0'); qxeSetCurrentDirectory (modname); - xfree (modname); + xfree (modname, Extbyte *); } #endif } diff --text -u 'xemacs-21.5.16/src/buffer.h' 'xemacs-21.5.17/src/buffer.h' Index: ./src/buffer.h --- ./src/buffer.h Sun Jan 12 20:08:08 2003 +++ ./src/buffer.h Wed Oct 1 00:26:39 2003 @@ -1167,7 +1167,7 @@ #define BUFFER_REALLOC(data,size)\ ((Ibyte *) xrealloc (data, (size) * sizeof(Ibyte))) /* Avoid excess parentheses, or syntax errors may rear their heads. */ -#define BUFFER_FREE(data) xfree (data) +#define BUFFER_FREE(data) xfree (data, Ibyte *) #define R_ALLOC_DECLARE(var,data) #endif /* !REL_ALLOC */ diff --text -u 'xemacs-21.5.16/src/bytecode.c' 'xemacs-21.5.17/src/bytecode.c' Index: ./src/bytecode.c --- ./src/bytecode.c Tue Sep 2 22:18:17 2003 +++ ./src/bytecode.c Fri Feb 20 16:29:17 2004 @@ -447,6 +447,7 @@ but don't pop it. */ #define TOP (*stack_ptr) +/* See comment before the big switch in execute_optimized_program(). */ #define GCPRO_STACK (gcpro1.nvars = stack_ptr - stack_beg) /* The actual interpreter for byte code. @@ -476,11 +477,40 @@ Lisp_Object *stack_end = stack_beg + stack_depth; #endif + /* We used to GCPRO the whole interpreter stack before entering this while + loop (21.5.14 and before), but that interferes with collection of weakly + referenced objects. Although strictly speaking there's no promise that + weak references will disappear by any given point in time, they should + be collected at the first opportunity. Waiting until exit from the + function caused test failures because "stale" objects "above" the top of + the stack were still GCPROed, and they were not getting collected until + after exit from the (byte-compiled) test! + + Now the idea is to dynamically adjust the array of GCPROed objects to + include only the "active" region of the stack. + + We use the "GCPRO1 the array base and set the nvars member" method. It + would be slightly inefficient but correct to use GCPRO1_ARRAY here. It + would just redundantly set nvars. + #### Maybe it would be clearer to use GCPRO1_ARRAY and do GCPRO_STACK + after the switch? + + GCPRO_STACK is something of a misnomer, because it suggests that a + struct gcpro is initialized each time. This is false; only the nvars + member of a single struct gcpro is being adjusted. This works because + each time a new object is assigned to a stack location, the old object + loses its reference and is effectively UNGCPROed, and the new object is + automatically GCPROed as long as nvars is correct. Only when we + return from the interpreter do we need to finalize the struct gcpro + itself, and that's done at case Breturn. + */ GCPRO1 (stack_ptr[1]); - + while (1) { REGISTER Opcode opcode = (Opcode) READ_UINT_1; + + GCPRO_STACK; /* Get nvars right before maybe signaling. */ #ifdef ERROR_CHECK_BYTE_CODE if (stack_ptr > stack_end) stack_overflow ("byte code stack overflow", Qunbound); @@ -503,7 +533,8 @@ PUSH (constants_data[opcode - Bconstant]); else { - GCPRO_STACK; + /* We're not sure what these do, so better safe than sorry. */ + /* GCPRO_STACK; */ stack_ptr = execute_rare_opcode (stack_ptr, program_ptr, opcode); } break; @@ -521,6 +552,8 @@ Lisp_Object symbol = constants_data[n]; Lisp_Object value = XSYMBOL (symbol)->value; if (SYMBOL_VALUE_MAGIC_P (value)) + /* I GCPRO_STACKed Fsymbol_value elsewhere, but I dunno why. */ + /* GCPRO_STACK; */ value = Fsymbol_value (symbol); PUSH (value); break; @@ -542,8 +575,12 @@ Lisp_Object new_value = POP; if (!SYMBOL_VALUE_MAGIC_P (old_value) || UNBOUNDP (old_value)) symbol_ptr->value = new_value; - else + else { + /* Fset may call magic handlers */ + /* GCPRO_STACK; */ Fset (symbol, new_value); + } + break; } @@ -576,7 +613,11 @@ #endif } else - specbind_magic (symbol, new_value); + { + /* does an Fset, may call magic handlers */ + /* GCPRO_STACK; */ + specbind_magic (symbol, new_value); + } break; } @@ -590,7 +631,9 @@ case Bcall+7: n = (opcode < Bcall+6 ? opcode - Bcall : opcode == Bcall+6 ? READ_UINT_1 : READ_UINT_2); - GCPRO_STACK; + /* #### Shouldn't this be just before the Ffuncall? + Neither Fget nor Fput can GC. */ + /* GCPRO_STACK; */ DISCARD (n); #ifdef BYTE_CODE_METER if (byte_metering_on && SYMBOLP (TOP)) @@ -719,10 +762,14 @@ break; case Bcar: + /* Fcar can GC via wrong_type_argument. */ + /* GCPRO_STACK; */ TOP = CONSP (TOP) ? XCAR (TOP) : Fcar (TOP); break; case Bcdr: + /* Fcdr can GC via wrong_type_argument. */ + /* GCPRO_STACK; */ TOP = CONSP (TOP) ? XCDR (TOP) : Fcdr (TOP); break; @@ -736,6 +783,8 @@ case Bnth: { Lisp_Object arg = POP; + /* Fcar and Fnthcdr can GC via wrong_type_argument. */ + /* GCPRO_STACK; */ TOP = Fcar (Fnthcdr (TOP, arg)); break; } @@ -822,6 +871,8 @@ n = READ_UINT_1; do_concat: DISCARD (n - 1); + /* Apparently `concat' can GC; Fconcat GCPROs its arguments. */ + /* GCPRO_STACK; */ TOP = Fconcat (n, &TOP); break; @@ -839,6 +890,8 @@ } case Bsymbol_value: + /* Why does this need GCPRO_STACK? If not, remove others, too. */ + /* GCPRO_STACK; */ TOP = Fsymbol_value (TOP); break; @@ -904,6 +957,8 @@ case Bnconc: DISCARD (1); + /* nconc2 GCPROs before calling this. */ + /* GCPRO_STACK; */ TOP = bytecode_nconc2 (&TOP); break; @@ -942,12 +997,16 @@ break; case Binsert: + /* Says it can GC. */ + /* GCPRO_STACK; */ TOP = Finsert (1, &TOP); break; case BinsertN: n = READ_UINT_1; DISCARD (n - 1); + /* See Binsert. */ + /* GCPRO_STACK; */ TOP = Finsert (n, &TOP); break; @@ -968,6 +1027,8 @@ case Bset: { Lisp_Object arg = POP; + /* Fset may call magic handlers */ + /* GCPRO_STACK; */ TOP = Fset (TOP, arg); break; } @@ -975,6 +1036,8 @@ case Bequal: { Lisp_Object arg = POP; + /* Can QUIT, so can GC, right? */ + /* GCPRO_STACK; */ TOP = Fequal (TOP, arg); break; } @@ -996,6 +1059,8 @@ case Bmember: { Lisp_Object arg = POP; + /* Can QUIT, so can GC, right? */ + /* GCPRO_STACK; */ TOP = Fmember (TOP, arg); break; } @@ -1013,6 +1078,9 @@ } case Bset_buffer: + /* #### WAG: set-buffer may cause Fset's of buffer locals + Didn't prevent crash. :-( */ + /* GCPRO_STACK; */ TOP = Fset_buffer (TOP); break; @@ -1027,6 +1095,8 @@ case Bskip_chars_forward: { Lisp_Object arg = POP; + /* Can QUIT, so can GC, right? */ + /* GCPRO_STACK; */ TOP = Fskip_chars_forward (TOP, arg, Qnil); break; } @@ -1724,6 +1794,48 @@ int varbind_count; Opbyte *program; + { + int minargs = 0, maxargs = 0, totalargs = 0; + int optional_p = 0, rest_p = 0, i = 0; + { + LIST_LOOP_2 (arg, f->arglist) + { + if (EQ (arg, Qand_optional)) + optional_p = 1; + else if (EQ (arg, Qand_rest)) + rest_p = 1; + else + { + if (rest_p) + { + maxargs = MANY; + totalargs++; + break; + } + if (!optional_p) + minargs++; + maxargs++; + totalargs++; + } + } + } + + if (totalargs) + f->args = xnew_array (Lisp_Object, totalargs); + + { + LIST_LOOP_2 (arg, f->arglist) + { + if (!EQ (arg, Qand_optional) && !EQ (arg, Qand_rest)) + f->args[i++] = arg; + } + } + + f->max_args = maxargs; + f->min_args = minargs; + f->args_in_array = totalargs; + } + /* If we have not actually read the bytecode string and constants vector yet, fetch them from the file. */ if (CONSP (f->instructions)) diff --text -u /dev/null 'xemacs-21.5.17/src/compiler.h' Index: ./src/compiler.h --- ./src/compiler.h Thu Jan 1 09:00:00 1970 +++ ./src/compiler.h Wed Oct 15 02:01:15 2003 @@ -0,0 +1,219 @@ +/* Compiler-specific definitions for XEmacs. + Copyright (C) 1998-1999, 2003 Free Software Foundation, Inc. + Copyright (C) 1994 Richard Mlynarik. + +This file is part of XEmacs. + +XEmacs is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the +Free Software Foundation; either version 2, or (at your option) any +later version. + +XEmacs is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with XEmacs; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + +/* Synched up with: not in FSF. */ + +/* Authorship: + + NOT_REACHED, DOESNT_RETURN, PRINTF_ARGS by Richard Mlynarik, c. 1994. + RETURN_SANS_WARNING by Martin buchholz, 1998 or 1999. + Many changes and improvements by Jerry James, 2003. + Split out of lisp.h, reorganized, and modernized. + {BEGIN,END}_C_DECLS, NEED_GCC, GCC_VERSION + ATTRIBUTE_MALLOC, ATTRIBUTE_CONST, ATTRIBUTE_PURE, UNUSED_ARG +*/ + +#ifndef INCLUDED_compiler_h +#define INCLUDED_compiler_h + +/* Define min() and max(). (Some compilers put them in strange places that + won't be referenced by include files used by XEmacs, such as 'macros.h' + under Solaris.) */ + +#ifndef min +# define min(a,b) (((a) <= (b)) ? (a) : (b)) +#endif +#ifndef max +# define max(a,b) (((a) > (b)) ? (a) : (b)) +#endif + +/* Regular C complains about possible clobbering of local vars NOT declared + as volatile if there's a longjmp() in a function. C++ complains if such + vars ARE volatile; or more correctly, sans volatile no problem even when + you longjmp, avec volatile you get unfixable compile errors like + +/src/xemacs/lilfix/src/process-unix.c: In function `void + unix_send_process(Lisp_Object, lstream*)': +/src/xemacs/lilfix/src/process-unix.c:1577: no matching function for call to ` + Lisp_Object::Lisp_Object(volatile Lisp_Object&)' +/src/xemacs/lilfix/src/lisp-union.h:32: candidates are: + Lisp_Object::Lisp_Object(const Lisp_Object&) +*/ + +#ifdef __cplusplus +# define VOLATILE_IF_NOT_CPP +#else +# define VOLATILE_IF_NOT_CPP volatile +#endif + +/* Avoid indentation problems when XEmacs sees the curly braces */ +#ifndef BEGIN_C_DECLS +# ifdef __cplusplus +# define BEGIN_C_DECLS extern "C" { +# define END_C_DECLS } +# else +# define BEGIN_C_DECLS +# define END_C_DECLS +# endif +#endif + +/* Guard against older gccs that did not define all of these symbols */ +#ifdef __GNUC__ +# ifndef __GNUC_MINOR__ +# define __GNUC_MINOR__ 0 +# endif +# ifndef __GNUC_PATCHLEVEL__ +# define __GNUC_PATCHLEVEL__ 0 +# endif +#endif /* __GNUC__ */ + +/* Simplify testing for specific GCC versions. For non-GNU compilers, + GCC_VERSION evaluates to zero. */ +#ifndef NEED_GCC +# define NEED_GCC(major,minor,patch) (major * 1000000 + minor * 1000 + patch) +#endif /* NEED_GCC */ +#ifndef GCC_VERSION +# ifdef __GNUC__ +# define GCC_VERSION NEED_GCC (__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__) +# else +# define GCC_VERSION 0 +# endif /* __GNUC__ */ +#endif /* GCC_VERSION */ + +/* GCC < 2.6.0 could only declare one attribute per function. In that case, + we define DOESNT_RETURN in preference to PRINTF_ARGS, which is only used + for checking args against the string spec. */ +#ifndef PRINTF_ARGS +# if (GCC_VERSION >= NEED_GCC (2, 6, 0)) +# define PRINTF_ARGS(string_index,first_to_check) \ + __attribute__ ((format (printf, string_index, first_to_check))) +# else +# define PRINTF_ARGS(string_index,first_to_check) +# endif /* GNUC */ +#endif + +#ifndef DOESNT_RETURN +# if (GCC_VERSION > NEED_GCC (0, 0, 0)) +# if (GCC_VERSION >= NEED_GCC (2, 5, 0)) +# if (GCC_VERSION < NEED_GCC (3, 0, 0)) + /* GCC 3.2 -O3 issues complaints in Fcommand_loop_1 about no return + statement if we have this definition */ +# define RETURN_NOT_REACHED(value) DO_NOTHING +# endif +# define DOESNT_RETURN void +# define DECLARE_DOESNT_RETURN(decl) void decl __attribute__ ((noreturn)) +# else /* GCC_VERSION < NEED_GCC (2, 5, 0) */ +# define DOESNT_RETURN void volatile +# define DECLARE_DOESNT_RETURN(decl) void volatile decl +# endif /* GCC_VERSION >= NEED_GCC (2, 5, 0) */ +# else /* not gcc */ +# define DOESNT_RETURN void +# define DECLARE_DOESNT_RETURN(decl) void decl +# endif /* GCC_VERSION > NEED_GCC (0, 0, 0) */ +#endif /* DOESNT_RETURN */ + +/* Another try to fix SunPro C compiler warnings */ +/* "end-of-loop code not reached" */ +/* "statement not reached */ +#if defined __SUNPRO_C || defined __USLC__ +# define RETURN_SANS_WARNINGS if (1) return +# define RETURN_NOT_REACHED(value) DO_NOTHING +#endif + +/* More ways to shut up compiler. This works in Fcommand_loop_1(), + where there's an infinite loop in a function returning a Lisp object. +*/ +#if defined (_MSC_VER) || defined (__SUNPRO_C) || defined (__SUNPRO_CC) || \ + (defined (DEC_ALPHA) && defined (OSF1)) +# define DO_NOTHING_DISABLING_NO_RETURN_WARNINGS if (0) return Qnil +#else +# define DO_NOTHING_DISABLING_NO_RETURN_WARNINGS DO_NOTHING +#endif + +#ifndef RETURN_NOT_REACHED +# define RETURN_NOT_REACHED(value) return (value) +#endif + +#ifndef RETURN_SANS_WARNINGS +# define RETURN_SANS_WARNINGS return +#endif + +#ifndef DO_NOTHING +# define DO_NOTHING do {} while (0) +#endif + +#ifndef DECLARE_NOTHING +# define DECLARE_NOTHING struct nosuchstruct +#endif + +#ifndef ATTRIBUTE_MALLOC +# if (GCC_VERSION >= NEED_GCC (2, 96, 0)) +# define ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) +# else +# define ATTRIBUTE_MALLOC +# endif /* GCC_VERSION >= NEED_GCC (2, 96, 0) */ +#endif /* ATTRIBUTE_MALLOC */ + +#ifndef ATTRIBUTE_PURE +# if (GCC_VERSION >= NEED_GCC (2, 96, 0)) +# define ATTRIBUTE_PURE __attribute__ ((pure)) +# else +# define ATTRIBUTE_PURE +# endif /* GCC_VERSION >= NEED_GCC (2, 96, 0) */ +#endif /* ATTRIBUTE_PURE */ + +#ifndef ATTRIBUTE_CONST +# if (GCC_VERSION >= NEED_GCC (2, 5, 0)) +# define ATTRIBUTE_CONST __attribute__ ((const)) +# define CONST_FUNC +# else +# define ATTRIBUTE_CONST +# define CONST_FUNC const +# endif /* GCC_VERSION >= NEED_GCC (2, 5, 0) */ +#endif /* ATTRIBUTE_CONST */ + +/* Unused declarations; g++ doesn't support this. */ +#ifndef UNUSED_ARG +# if defined(__GNUC__) && !defined(__cplusplus) +# define UNUSED_ARG __attribute__ ((unused)) +# else +# define UNUSED_ARG +# endif +#endif /* ATTRIBUTE_UNUSED */ + +#ifdef DEBUG_XEMACS +# define REGISTER +# define register +#else +# define REGISTER register +#endif + +#if defined(HAVE_MS_WINDOWS) && defined(HAVE_SHLIB) +# ifdef EMACS_MODULE +# define MODULE_API __declspec(dllimport) +# else +# define MODULE_API __declspec(dllexport) +# endif +#else +# define MODULE_API +#endif + +#endif /* INCLUDED_compiler_h */ diff --text -u 'xemacs-21.5.16/src/config.h.in' 'xemacs-21.5.17/src/config.h.in' Index: ./src/config.h.in --- ./src/config.h.in Fri May 2 15:25:03 2003 +++ ./src/config.h.in Fri Nov 21 01:04:47 2003 @@ -121,6 +121,9 @@ /* Make all functions available on Solaris 2 systems. */ #undef __EXTENSIONS__ +/* Define to the name of the typeof extension, if the compiler supports one */ +#undef TYPEOF + /* Used to identify the XEmacs version in stack traces. */ #undef STACK_TRACE_EYE_CATCHER @@ -302,10 +305,9 @@ #undef HAVE_DLERROR #undef HAVE__DLERROR #undef HAVE_SHL_LOAD -#undef HAVE_DLD_INIT -#undef HAVE_SHLIB #undef HAVE_DYLD #undef DLSYM_NEEDS_UNDERSCORE +#undef HAVE_SHLIB #undef HAVE_LIBINTL #undef HAVE_LIBDNET diff --text -u 'xemacs-21.5.16/src/console-stream.c' 'xemacs-21.5.17/src/console-stream.c' Index: ./src/console-stream.c --- ./src/console-stream.c Sun Feb 9 18:33:47 2003 +++ ./src/console-stream.c Wed Oct 1 00:26:39 2003 @@ -123,7 +123,7 @@ if (stream_con->in != stdin) retry_fclose (stream_con->in); - xfree (stream_con); + xfree (stream_con, struct stream_console *); CONSOLE_STREAM_DATA (con) = NULL; } } diff --text -u 'xemacs-21.5.16/src/console-tty.c' 'xemacs-21.5.17/src/console-tty.c' Index: ./src/console-tty.c --- ./src/console-tty.c Sun Jan 12 20:08:09 2003 +++ ./src/console-tty.c Wed Oct 1 00:26:40 2003 @@ -196,10 +196,10 @@ { if (tty_con->term_entry_buffer) /* allocated in term_init () */ { - xfree (tty_con->term_entry_buffer); + xfree (tty_con->term_entry_buffer, char *); tty_con->term_entry_buffer = NULL; } - xfree (tty_con); + xfree (tty_con, struct tty_console *); CONSOLE_TTY_DATA (con) = NULL; } } diff --text -u 'xemacs-21.5.16/src/console.h' 'xemacs-21.5.17/src/console.h' Index: ./src/console.h --- ./src/console.h Sun Mar 9 11:27:40 2003 +++ ./src/console.h Tue Mar 9 00:23:02 2004 @@ -67,8 +67,9 @@ DM_size_menu, DM_size_toolbar, DM_size_toolbar_button, DM_size_toolbar_border, DM_size_icon, DM_size_icon_small, DM_size_device, DM_size_workspace, DM_offset_workspace, DM_size_device_mm, DM_device_dpi, - DM_num_bit_planes, DM_num_color_cells, DM_mouse_buttons, DM_swap_buttons, - DM_show_sounds, DM_slow_device, DM_security + DM_num_bit_planes, DM_num_color_cells, DM_num_screens, DM_mouse_buttons, + DM_swap_buttons, DM_show_sounds, DM_slow_device, DM_security, + DM_backing_store, DM_save_under }; struct console; diff --text -u 'xemacs-21.5.16/src/depend' 'xemacs-21.5.17/src/depend' Index: ./src/depend --- ./src/depend Tue Sep 16 12:57:58 2003 +++ ./src/depend Tue Oct 14 23:40:27 2003 @@ -11,7 +11,7 @@ LISP_H= #else CONFIG_H=config.h -LISP_H=lisp.h config.h dumper.h general-slots.h lrecord.h symeval.h symsinit.h text.h $(LISP_UNION_H) +LISP_H=lisp.h compiler.h config.h dumper.h general-slots.h lrecord.h symeval.h symsinit.h text.h $(LISP_UNION_H) #endif #if defined(HAVE_MS_WINDOWS) diff --text -u 'xemacs-21.5.16/src/device-gtk.c' 'xemacs-21.5.17/src/device-gtk.c' Index: ./src/device-gtk.c --- ./src/device-gtk.c Sun Jan 12 20:08:10 2003 +++ ./src/device-gtk.c Wed Oct 1 00:26:40 2003 @@ -245,7 +245,7 @@ for (ctr = 1; new_rc_files[ctr]; ctr++) free(new_rc_files[ctr]); - xfree (new_rc_files); + xfree (new_rc_files, gchar **); } } @@ -350,7 +350,7 @@ static void free_gtk_device_struct (struct device *d) { - xfree (d->device_data); + xfree (d->device_data, void *); } static void diff --text -u 'xemacs-21.5.16/src/device-msw.c' 'xemacs-21.5.17/src/device-msw.c' Index: ./src/device-msw.c --- ./src/device-msw.c Sun Mar 9 11:27:41 2003 +++ ./src/device-msw.c Wed Oct 1 00:26:40 2003 @@ -278,7 +278,7 @@ #endif DeleteDC (DEVICE_MSWINDOWS_HCDC (d)); - xfree (d->device_data); + xfree (d->device_data, void *); } void @@ -545,7 +545,7 @@ DEVICE_MSPRINTER_DEVMODE (d) = Qnil; } - xfree (d->device_data); + xfree (d->device_data, void *); } } diff --text -u 'xemacs-21.5.16/src/device-tty.c' 'xemacs-21.5.17/src/device-tty.c' Index: ./src/device-tty.c --- ./src/device-tty.c Fri Jun 21 06:18:26 2002 +++ ./src/device-tty.c Wed Oct 1 00:26:40 2003 @@ -100,9 +100,8 @@ static void free_tty_device_struct (struct device *d) { - struct tty_device *td = (struct tty_device *) d->device_data; - if (td) - xfree (td); + if (d->device_data) + xfree (d->device_data, void *); } static void diff --text -u 'xemacs-21.5.16/src/device-x.c' 'xemacs-21.5.17/src/device-x.c' Index: ./src/device-x.c --- ./src/device-x.c Mon Sep 22 12:21:18 2003 +++ ./src/device-x.c Tue Mar 9 00:23:03 2004 @@ -878,7 +878,7 @@ static void free_x_device_struct (struct device *d) { - xfree (d->device_data); + xfree (d->device_data, void *); } static void @@ -1693,6 +1693,21 @@ return make_int (DisplayPlanes (dpy, DefaultScreen (dpy))); case DM_num_color_cells: return make_int (DisplayCells (dpy, DefaultScreen (dpy))); + case DM_num_screens: + return make_int (ScreenCount (dpy)); + case DM_backing_store: + switch (DoesBackingStore (DefaultScreenOfDisplay (dpy))) + { + case Always: + return intern ("always"); + case WhenMapped: + return intern ("when-mapped"); + default: + return intern ("not-useful"); + } + case DM_save_under: + return (DoesSaveUnders (DefaultScreenOfDisplay (dpy)) == True) + ? Qt : Qnil; default: /* No such device metric property for X devices */ return Qunbound; } diff --text -u 'xemacs-21.5.16/src/device.c' 'xemacs-21.5.17/src/device.c' Index: ./src/device.c --- ./src/device.c Sun Mar 9 11:27:41 2003 +++ ./src/device.c Tue Mar 9 00:23:03 2004 @@ -75,8 +75,9 @@ Qsize_menu, Qsize_toolbar, Qsize_toolbar_button, Qsize_toolbar_border, Qsize_icon, Qsize_icon_small, Qsize_device, Qsize_workspace, Qoffset_workspace, Qsize_device_mm, Qdevice_dpi, - Qnum_bit_planes, Qnum_color_cells, Qmouse_buttons, Qswap_buttons, - Qshow_sounds, Qslow_device, Qsecurity; + Qnum_bit_planes, Qnum_color_cells, Qnum_screens, Qmouse_buttons, + Qsave_under, Qswap_buttons, Qshow_sounds, Qslow_device, Qsecurity, + Qbacking_store; Lisp_Object Qdevicep, Qdevice_live_p; Lisp_Object Qcreate_device_hook; @@ -1110,6 +1111,7 @@ device-dpi Device resolution, in dots per inch. num-bit-planes Integer, number of device bit planes. num-color-cells Integer, number of device color cells. +num-screens Integer, number of device screens. FEATURES. This group reports various device features. If a feature is present, integer 1 (one) is returned, if it is not present, then integer @@ -1167,11 +1169,14 @@ FROB (device_dpi); FROB (num_bit_planes); FROB (num_color_cells); + FROB (num_screens); FROB (mouse_buttons); FROB (swap_buttons); FROB (show_sounds); FROB (slow_device); FROB (security); + FROB (backing_store); + FROB (save_under); else invalid_constant ("Invalid device metric symbol", metric); @@ -1230,11 +1235,14 @@ FROB (device_dpi); FROB (num_bit_planes); FROB (num_color_cells); + FROB (num_screens); FROB (mouse_buttons); FROB (swap_buttons); FROB (show_sounds); FROB (slow_device); FROB (security); + FROB (backing_store); + FROB (save_under); return plist; @@ -1415,6 +1423,7 @@ DEFSYMBOL (Qmono); /* Device metrics symbols */ + DEFSYMBOL (Qbacking_store); DEFSYMBOL (Qcolor_default); DEFSYMBOL (Qcolor_select); DEFSYMBOL (Qcolor_balloon); @@ -1446,8 +1455,10 @@ DEFSYMBOL (Qsize_device_mm); DEFSYMBOL (Qnum_bit_planes); DEFSYMBOL (Qnum_color_cells); + DEFSYMBOL (Qnum_screens); DEFSYMBOL (Qdevice_dpi); DEFSYMBOL (Qmouse_buttons); + DEFSYMBOL (Qsave_under); DEFSYMBOL (Qswap_buttons); DEFSYMBOL (Qshow_sounds); DEFSYMBOL (Qslow_device); diff --text -u 'xemacs-21.5.16/src/dialog-msw.c' 'xemacs-21.5.17/src/dialog-msw.c' Index: ./src/dialog-msw.c --- ./src/dialog-msw.c Sun Mar 2 18:38:52 2003 +++ ./src/dialog-msw.c Wed Feb 18 00:20:52 2004 @@ -442,7 +442,7 @@ else if (pd.unknown_fname != 0) { ret = tstr_to_local_file_format (pd.unknown_fname); - xfree (pd.unknown_fname); + xfree (pd.unknown_fname, Extbyte *); } else while (1) signal_quit (); @@ -714,8 +714,7 @@ Lisp_Gui_Item *pgui_item = XGUI_ITEM (*gui_item); item_tem.style = (WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_PUSHBUTTON - | (gui_item_active_p (*gui_item, 0) ? 0 : - WS_DISABLED)); + | (gui_item_active_p (*gui_item) ? 0 : WS_DISABLED)); item_tem.cx = button_width (pgui_item->name); /* Item ids are indices into dialog_items plus offset, to avoid having items by reserved ids (IDOK, IDCANCEL) */ diff --text -u 'xemacs-21.5.16/src/dialog-x.c' 'xemacs-21.5.17/src/dialog-x.c' Index: ./src/dialog-x.c --- ./src/dialog-x.c Sun Mar 9 11:27:41 2003 +++ ./src/dialog-x.c Wed Oct 1 00:26:40 2003 @@ -207,7 +207,7 @@ { allow_text_p = 0; /* only allow text field at the front */ if (wv->value) - xfree (wv->value); + xfree (wv->value, char *); wv->value = wv->name; /* what a mess... */ wv->name = xstrdup (button_names [n]); diff --text -u 'xemacs-21.5.16/src/dired-msw.c' 'xemacs-21.5.17/src/dired-msw.c' Index: ./src/dired-msw.c --- ./src/dired-msw.c Sun Jan 12 20:08:11 2003 +++ ./src/dired-msw.c Wed Oct 1 00:26:40 2003 @@ -583,7 +583,7 @@ for (i = 0; i < Dynarr_length (files); ++i) { Win32_file *file = Dynarr_atp (files, i); - xfree (file->cFileName); + xfree (file->cFileName, Ibyte *); } Dynarr_free (files); diff --text -u 'xemacs-21.5.16/src/dired.c' 'xemacs-21.5.17/src/dired.c' Index: ./src/dired.c --- ./src/dired.c Wed Jun 5 18:55:11 2002 +++ ./src/dired.c Wed Oct 1 00:26:40 2003 @@ -577,8 +577,8 @@ { int i; for (i = 0; i < cache->length; i++) - xfree (cache->user_names[i].ptr); - xfree (cache->user_names); + xfree (cache->user_names[i].ptr, Ibyte *); + xfree (cache->user_names, struct user_name *); xzero (*cache); } diff --text -u 'xemacs-21.5.16/src/doc.c' 'xemacs-21.5.17/src/doc.c' Index: ./src/doc.c --- ./src/doc.c Sat Mar 1 16:25:35 2003 +++ ./src/doc.c Sun Jan 4 06:54:42 2004 @@ -170,7 +170,7 @@ } UNGCPRO; if (buffer != buf) /* We must have allocated buffer above */ - xfree (buffer); + xfree (buffer, Ibyte *); return return_me; } @@ -390,7 +390,7 @@ (symbol, prop, raw)) { /* This function can GC */ - REGISTER Lisp_Object doc = Qnil; + Lisp_Object doc = Qnil; #ifdef I18N3 REGISTER Lisp_Object domain; #endif @@ -995,7 +995,7 @@ tem = make_string (buf, bufp - buf); else tem = string; - xfree (buf); + xfree (buf, Ibyte *); UNGCPRO; return tem; } diff --text -u 'xemacs-21.5.16/src/dumper.c' 'xemacs-21.5.17/src/dumper.c' Index: ./src/dumper.c --- ./src/dumper.c Thu Sep 11 18:11:08 2003 +++ ./src/dumper.c Wed Oct 1 00:26:40 2003 @@ -1458,7 +1458,7 @@ static void pdump_file_free (void) { - xfree (pdump_start); + xfree (pdump_start, char *); } #ifdef HAVE_MMAP diff --text -u 'xemacs-21.5.16/src/dumper.h' 'xemacs-21.5.17/src/dumper.h' Index: ./src/dumper.h --- ./src/dumper.h Tue Sep 16 12:57:58 2003 +++ ./src/dumper.h Tue Oct 14 14:03:03 2003 @@ -23,9 +23,7 @@ #ifndef INCLUDED_dumper_h #define INCLUDED_dumper_h -#ifdef __cplusplus -extern "C" { -#endif +BEGIN_C_DECLS void pdump_objects_unmark (void); void pdump (void); @@ -34,8 +32,6 @@ extern unsigned int dump_id; extern char *pdump_start, *pdump_end; -#ifdef __cplusplus -} -#endif +END_C_DECLS #endif /* INCLUDED_dumper_h */ diff --text -u 'xemacs-21.5.16/src/dynarr.c' 'xemacs-21.5.17/src/dynarr.c' Index: ./src/dynarr.c --- ./src/dynarr.c Fri Feb 21 15:56:56 2003 +++ ./src/dynarr.c Wed Oct 1 00:26:41 2003 @@ -223,9 +223,9 @@ Dynarr *dy = (Dynarr *) d; if (dy->base && !DUMPEDP (dy->base)) - xfree (dy->base); + xfree (dy->base, void *); if(!DUMPEDP (dy)) - xfree (dy); + xfree (dy, Dynarr *); } #ifdef MEMORY_USAGE_STATS diff --text -u 'xemacs-21.5.16/src/editfns.c' 'xemacs-21.5.17/src/editfns.c' Index: ./src/editfns.c --- ./src/editfns.c Sat Mar 1 16:25:35 2003 +++ ./src/editfns.c Wed Oct 1 00:26:41 2003 @@ -827,7 +827,7 @@ uncache_home_directory (void) { if (cached_home_directory) - xfree (cached_home_directory); + xfree (cached_home_directory, Ibyte *); cached_home_directory = NULL; } @@ -1430,7 +1430,7 @@ set_time_zone_rule (tzstring); if (environbuf) - xfree (environbuf); + xfree (environbuf, Extbyte **); environbuf = environ; return Qnil; diff --text -u 'xemacs-21.5.16/src/elhash.c' 'xemacs-21.5.17/src/elhash.c' Index: ./src/elhash.c --- ./src/elhash.c Thu Jul 31 22:32:26 2003 +++ ./src/elhash.c Wed Oct 1 00:26:41 2003 @@ -418,7 +418,7 @@ #endif if (!DUMPEDP (hentries)) - xfree (hentries); + xfree (hentries, htentry *); } static void @@ -1033,7 +1033,7 @@ memcpy (ht->hentries, new_entries, ht->size * sizeof (htentry)); - xfree (new_entries); + xfree (new_entries, htentry *); } static void @@ -1297,7 +1297,7 @@ maphash_unwind (Lisp_Object unwind_obj) { void *ptr = (void *) get_opaque_ptr (unwind_obj); - xfree (ptr); + xfree (ptr, void *); free_opaque_ptr (unwind_obj); return Qnil; } diff --text -u 'xemacs-21.5.16/src/emacs.c' 'xemacs-21.5.17/src/emacs.c' Index: ./src/emacs.c --- ./src/emacs.c Mon Sep 22 12:21:19 2003 +++ ./src/emacs.c Fri Nov 21 01:04:47 2003 @@ -522,7 +522,7 @@ full_exe_path = mswindows_get_module_file_name (); assert (full_exe_path); fullpath = build_tstr_string (full_exe_path); - xfree (full_exe_path); + xfree (full_exe_path, Extbyte *); result = Fcons (fullpath, result); } else @@ -570,10 +570,10 @@ while (argv[elt]) { - xfree (argv[elt]); + xfree (argv[elt], Extbyte *); elt++; } - xfree (argv); + xfree (argv, Extbyte **); } static void @@ -1811,9 +1811,7 @@ vars_of_menubar (); #endif vars_of_minibuf (); -#ifdef HAVE_SHLIB vars_of_module (); -#endif #ifdef WIN32_NATIVE vars_of_dired_mswindows (); vars_of_nt (); @@ -2599,9 +2597,9 @@ } memcpy (argv, new_argv, sizeof (char *) * argc); - xfree (new_argv); - xfree (options); - xfree (priority); + xfree (new_argv, char **); + xfree (options, int *); + xfree (priority, int *); } DEFUN ("running-temacs-p", Frunning_temacs_p, 0, 0, 0, /* @@ -3340,8 +3338,9 @@ /* Disable all calls to free() when XEmacs is exiting and it doesn't */ /* matter. */ __free_hook = -#ifdef __GNUC__ /* prototype of __free_hook varies with glibc version */ - (__typeof__ (__free_hook)) +#ifdef TYPEOF + /* prototype of __free_hook varies with glibc version */ + (TYPEOF (__free_hook)) #endif voodoo_free_hook; } @@ -3405,8 +3404,9 @@ #if defined (GNU_MALLOC) __free_hook = -#ifdef __GNUC__ /* prototype of __free_hook varies with glibc version */ - (__typeof__ (__free_hook)) +#ifdef TYPEOF + /* prototype of __free_hook varies with glibc version */ + (TYPEOF (__free_hook)) #endif voodoo_free_hook; #endif diff --text -u 'xemacs-21.5.16/src/emodules.c' 'xemacs-21.5.17/src/emodules.c' Index: ./src/emodules.c --- ./src/emodules.c Mon Sep 22 12:21:19 2003 +++ ./src/emodules.c Sun Nov 30 07:11:48 2003 @@ -21,6 +21,12 @@ #include "emodules.h" #include "sysdll.h" +/* Load path */ +static Lisp_Object Vmodule_load_path; + +/* Module lFile extensions */ +static Lisp_Object Vmodule_extensions; + #ifdef HAVE_SHLIB /* CE-Emacs version number */ @@ -33,8 +39,6 @@ as it allows the unbinding of symbol-value-forward variables. */ int unloading_module; -/* Load path */ -Lisp_Object Vmodule_load_path; Lisp_Object Qdll_error; Lisp_Object Qmodule, Qunload_module, module_tag; @@ -49,8 +53,6 @@ dll_handle dlhandle; /* Dynamic lib handle */ } emodules_list; -static Lisp_Object Vmodule_extensions; - static int emodules_depth; static dll_handle dlhandle; static emodules_list *modules; @@ -248,10 +250,10 @@ { if (dll_close (modules[mod].dlhandle) == 0) { - xfree (modules[mod].soname); - xfree (modules[mod].modname); - xfree (modules[mod].modver); - xfree (modules[mod].modtitle); + xfree (modules[mod].soname, CIbyte *); + xfree (modules[mod].modname, CIbyte *); + xfree (modules[mod].modver, CIbyte *); + xfree (modules[mod].modtitle, CIbyte *); modules[mod].dlhandle = 0; modules[mod].used = 0; } @@ -366,8 +368,7 @@ dlhandle = dll_open (foundname); if (dlhandle == NULL) { - signal_error (Qdll_error, "Opening dynamic module", - dll_error (dlhandle)); + signal_error (Qdll_error, "Opening dynamic module", dll_error ()); } ellcc_rev = (const long *)dll_variable (dlhandle, "emodule_compiler"); @@ -576,9 +577,14 @@ modnum = 0; } +#endif /* HAVE_SHLIB */ + void vars_of_module (void) { +#ifdef HAVE_SHLIB + Fprovide (intern ("modules")); + reinit_vars_of_module (); DEFVAR_LISP ("module-version", &Vmodule_version /* @@ -601,6 +607,15 @@ messages. This would normally only be done if `load-module' was being called by a Lisp function. */); + load_modules_quietly = 0; + + DEFVAR_BOOL ("unloading-module", &unloading_module /* +Used internally by `unload-feature'. Do not set this variable. +Danger, danger, Will Robinson! +*/); + unloading_module = 0; + +#endif /* HAVE_SHLIB */ DEFVAR_LISP ("module-load-path", &Vmodule_load_path /* *List of directories to search for dynamic modules to load. @@ -622,22 +637,14 @@ the correctness of a dynamic module, which can have unpredictable results when a dynamic module is loaded. */); + Vmodule_load_path = Qnil; - DEFVAR_BOOL ("unloading-module", &unloading_module /* -Used internally by `unload-feature'. Do not set this variable. -Danger, danger, Will Robinson! + DEFVAR_LISP ("module-extensions", &Vmodule_extensions /* +*List of filename extensions to use when searching for dynamic modules. */); - - /* #### Export this to Lisp */ - Vmodule_extensions = list4 (build_string (".ell"), + Vmodule_extensions = list5 (build_string (".ell"), build_string (".so"), build_string (".dll"), - build_string (".dylib")); - staticpro (&Vmodule_extensions); - - load_modules_quietly = 0; - Vmodule_load_path = Qnil; - Fprovide (intern ("modules")); + build_string (".dylib"), + build_string ("")); } - -#endif /* HAVE_SHLIB */ diff --text -u 'xemacs-21.5.16/src/emodules.h' 'xemacs-21.5.17/src/emodules.h' Index: ./src/emodules.h --- ./src/emodules.h Fri Aug 29 00:44:28 2003 +++ ./src/emodules.h Wed Oct 15 12:09:03 2003 @@ -46,9 +46,6 @@ /* Module loading technology version number */ extern Lisp_Object Vmodule_version; -/* Load path */ -extern Lisp_Object Vmodule_load_path; - /* XEmacs version Information */ extern Lisp_Object Vemacs_major_version; extern Lisp_Object Vemacs_minor_version; diff --text -u 'xemacs-21.5.16/src/eval.c' 'xemacs-21.5.17/src/eval.c' Index: ./src/eval.c --- ./src/eval.c Thu Jul 31 22:32:26 2003 +++ ./src/eval.c Sat Mar 20 22:05:56 2004 @@ -56,7 +56,7 @@ The only exception is the alloc.c module, which implements the framework upon which this module (eval.c) works. alloc.c works with creating the actual Lisp objects themselves and garbage - collecting them as necessary, preseting a nice, high-level + collecting them as necessary, presenting a nice, high-level interface for object creation, deletion, access, and modification. The only other exception that could be cited is the event-handling @@ -73,7 +73,7 @@ functions such as `command-loop-1', a Lisp function. As the Lisp engine is doing its thing, it maintains the state of - the engine primarily in five list-like items, with are: + the engine primarily in five list-like items, which are: -- the backtrace list -- the catchtag list @@ -969,7 +969,7 @@ (args)) { /* This function can GC */ - REGISTER Lisp_Object val; + Lisp_Object val; struct gcpro gcpro1; val = Feval (XCAR (args)); @@ -994,7 +994,7 @@ (args)) { /* This function can GC */ - REGISTER Lisp_Object val; + Lisp_Object val; struct gcpro gcpro1; Feval (XCAR (args)); @@ -3966,6 +3966,11 @@ { Lisp_Compiled_Function *f = XCOMPILED_FUNCTION (function); + if (!OPAQUEP (f->instructions)) + /* Lazily munge the instructions into a more efficient form */ + /* Needed to set max_args */ + optimize_compiled_function (function); + if (function_min_args_p) return make_int (f->min_args); else if (f->max_args == MANY) @@ -5702,10 +5707,14 @@ max_specpdl_size = min_max_specpdl_size; if (size_needed >= max_specpdl_size) { - if (!NILP (Vdebug_on_error) || - !NILP (Vdebug_on_signal)) - /* Leave room for some specpdl in the debugger. */ - max_specpdl_size = size_needed + 100; + /* Leave room for some specpdl in the debugger. */ + max_specpdl_size = size_needed + 100; + if (max_specpdl_size > specpdl_size) + { + specpdl_size = max_specpdl_size; + XREALLOC_ARRAY (specpdl, struct specbinding, specpdl_size); + specpdl_ptr = specpdl + specpdl_depth(); + } signal_continuable_error (Qstack_overflow, "Variable binding depth exceeds max-specpdl-size", Qunbound); @@ -5950,7 +5959,7 @@ static Lisp_Object free_pointer (Lisp_Object opaque) { - xfree (get_opaque_ptr (opaque)); + xfree (get_opaque_ptr (opaque), void *); free_opaque_ptr (opaque); return Qnil; } diff --text -u 'xemacs-21.5.16/src/event-Xt.c' 'xemacs-21.5.17/src/event-Xt.c' Index: ./src/event-Xt.c --- ./src/event-Xt.c Thu May 22 15:09:04 2003 +++ ./src/event-Xt.c Wed Oct 1 00:26:43 2003 @@ -1406,7 +1406,7 @@ l_item = make_string ((Ibyte *)hurl, strlen (hurl)); l_dndlist = Fcons (l_item, l_dndlist); data += len + 1; - xfree (hurl); + xfree (hurl, char *); } l_type = Qdragdrop_URL; } @@ -1443,7 +1443,7 @@ strlen (hurl)) ); l_type = Qdragdrop_URL; - xfree (hurl); + xfree (hurl, char *); } break; case DndURL: @@ -2348,7 +2348,7 @@ } } XtRemoveInput (closure->id); - xfree (closure); + xfree (closure, struct what_is_ready_closure *); filedesc_to_what_closure[fd] = 0; } diff --text -u 'xemacs-21.5.16/src/event-gtk.c' 'xemacs-21.5.17/src/event-gtk.c' Index: ./src/event-gtk.c --- ./src/event-gtk.c Wed Apr 16 02:21:36 2003 +++ ./src/event-gtk.c Wed Oct 1 00:26:43 2003 @@ -779,7 +779,7 @@ } } gdk_input_remove (closure->id); - xfree (closure); + xfree (closure, struct what_is_ready_closure *); filedesc_to_what_closure[fd] = 0; } @@ -1020,7 +1020,7 @@ l_dndlist = list1 (make_string ((Ibyte *)hurl, strlen (hurl))); l_type = Qdragdrop_URL; - xfree (hurl); + xfree (hurl, char *); } else if (data->type == preferred_targets[TARGET_NETSCAPE]) { diff --text -u 'xemacs-21.5.16/src/event-msw.c' 'xemacs-21.5.17/src/event-msw.c' Index: ./src/event-msw.c --- ./src/event-msw.c Tue Sep 16 07:04:10 2003 +++ ./src/event-msw.c Wed Oct 1 00:26:44 2003 @@ -824,7 +824,7 @@ if (str->buffer) { - xfree (str->buffer); + xfree (str->buffer, void *); str->buffer = 0; } @@ -2109,7 +2109,7 @@ they don't allow relative paths at all! this is way bogus. */ cmd = urlify_filename (cmd); l_dndlist = build_intstring (cmd); - xfree (cmd); + xfree (cmd, Ibyte *); } GCPRO2 (emacs_event, l_dndlist); @@ -2738,7 +2738,7 @@ ((LCID) GetKeyboardLayout (0) & 0xFFFF), NULL)); ch = itext_ichar (intchar); - xfree (intchar); + xfree (intchar, Ibyte *); } #ifdef DEBUG_XEMACS @@ -2884,7 +2884,7 @@ XSET_EVENT_KEY_ALT_KEYCHARS (lastev, i, itext_ichar (intchar)); - xfree (intchar); + xfree (intchar, Ibyte *); } } } @@ -3405,7 +3405,8 @@ * recursion here. */ if (FRAME_MSWINDOWS_TARGET_RECT (frame)) { - xfree (FRAME_MSWINDOWS_TARGET_RECT (frame)); + xfree (FRAME_MSWINDOWS_TARGET_RECT (frame), + XEMACS_RECT_WH *); FRAME_MSWINDOWS_TARGET_RECT (frame) = 0; } } @@ -3864,7 +3865,7 @@ { fname = urlify_filename (fname); l_item = build_intstring (fname); - xfree (fname); + xfree (fname, Ibyte *); l_dndlist = Fcons (l_item, l_dndlist); } } diff --text -u 'xemacs-21.5.16/src/event-stream.c' 'xemacs-21.5.17/src/event-stream.c' Index: ./src/event-stream.c --- ./src/event-stream.c Sun Mar 2 18:38:53 2003 +++ ./src/event-stream.c Wed Oct 1 00:26:44 2003 @@ -401,7 +401,7 @@ struct command_builder *b = (struct command_builder *) header; if (b->echo_buf) { - xfree (b->echo_buf); + xfree (b->echo_buf, Ibyte *); b->echo_buf = 0; } } @@ -494,7 +494,7 @@ { if (builder->echo_buf) { - xfree (builder->echo_buf); + xfree (builder->echo_buf, Ibyte *); builder->echo_buf = NULL; } free_managed_lcrecord (Vcommand_builder_free_list, diff --text -u 'xemacs-21.5.16/src/extents.c' 'xemacs-21.5.17/src/extents.c' Index: ./src/extents.c --- ./src/extents.c Thu Feb 13 18:57:07 2003 +++ ./src/extents.c Wed Oct 1 00:26:45 2003 @@ -739,7 +739,7 @@ free_gap_array (Gap_Array *ga) { gap_array_delete_all_markers (ga); - xfree (ga); + xfree (ga, Gap_Array *); } @@ -948,7 +948,7 @@ { free_gap_array (el->start); free_gap_array (el->end); - xfree (el); + xfree (el, Extent_List *); } @@ -1664,7 +1664,7 @@ free_soe (struct stack_of_extents *soe) { free_extent_list (soe->extents); - xfree (soe); + xfree (soe, struct stack_of_extents *); } /* ------------------------------- */ @@ -2776,7 +2776,7 @@ Dynarr_free (ef->extents); Dynarr_free (ef->begin_glyphs); Dynarr_free (ef->end_glyphs); - xfree (ef); + xfree (ef, struct extent_fragment *); } static int diff --text -u 'xemacs-21.5.16/src/file-coding.c' 'xemacs-21.5.17/src/file-coding.c' Index: ./src/file-coding.c --- ./src/file-coding.c Thu May 22 15:09:04 2003 +++ ./src/file-coding.c Wed Oct 1 00:26:45 2003 @@ -1144,7 +1144,7 @@ (name_or_existing))), ++coding_system_tick); name_or_existing = intern_int (newname); - xfree (newname); + xfree (newname, Ibyte *); if (UNBOUNDP (description)) { @@ -1153,12 +1153,12 @@ (NULL, "For Internal Use (%s)", XSTRING_DATA (Fsymbol_name (name_or_existing))); description = build_intstring (newname); - xfree (newname); + xfree (newname, Ibyte *); } newname = emacs_sprintf_malloc (NULL, "Int%d", coding_system_tick); defmnem = build_intstring (newname); - xfree (newname); + xfree (newname, Ibyte *); } else CHECK_SYMBOL (name_or_existing); @@ -1262,7 +1262,7 @@ ++coding_system_tick); Lisp_Object newnamesym = intern_int (newname); Lisp_Object copied = Fcopy_coding_system (csobj, newnamesym); - xfree (newname); + xfree (newname, Ibyte *); XCODING_SYSTEM_CANONICAL (csobj) = make_internal_coding_system @@ -2251,7 +2251,7 @@ MAYBE_XCODESYSMETH (str->codesys, finalize_coding_stream, (str)); if (str->data) { - xfree (str->data); + xfree (str->data, void *); str->data = 0; } str->finalized = 1; @@ -2310,7 +2310,7 @@ if (str->data) { - xfree (str->data); + xfree (str->data, void *); str->data = 0; } if (XCODING_SYSTEM_METHODS (str->codesys)->coding_data_size) @@ -2814,7 +2814,7 @@ for (i = 0; i < data->lstream_count; i++) Lstream_delete (XLSTREAM ((data->lstreams)[i])); } - xfree (data->lstreams); + xfree (data->lstreams, Lisp_Object *); } } @@ -2828,7 +2828,7 @@ chain_finalize (Lisp_Object c) { if (XCODING_SYSTEM_CHAIN_CHAIN (c)) - xfree (XCODING_SYSTEM_CHAIN_CHAIN (c)); + xfree (XCODING_SYSTEM_CHAIN_CHAIN (c), Lisp_Object *); } static int @@ -3442,7 +3442,7 @@ (st); } - xfree (st); + xfree (st, struct detection_state *); } static int diff --text -u 'xemacs-21.5.16/src/fileio.c' 'xemacs-21.5.17/src/fileio.c' Index: ./src/fileio.c --- ./src/fileio.c Sun Mar 2 18:38:53 2003 +++ ./src/fileio.c Wed Oct 1 00:26:46 2003 @@ -392,7 +392,7 @@ p = beg + qxestrlen (beg); } if (wd) - xfree (wd); + xfree (wd, Ibyte *); } #if 0 /* No! This screws up efs, which calls file-name-directory on URL's @@ -401,14 +401,11 @@ { Bytecount len = p - beg; Ibyte *newbeg = alloca_ibytes (len + 1); - Lisp_Object return_me; qxestrncpy (newbeg, beg, len); newbeg[len] = '\0'; newbeg = mswindows_canonicalize_filename (newbeg); - return_me = build_intstring (newbeg); - xfree (newbeg); - return return_me; + return build_intstring (newbeg); } #endif #endif /* not WIN32_NATIVE */ @@ -930,7 +927,7 @@ XSTRING_DATA (name)[1] = ':'; } } - xfree (newnm); + xfree (newnm, Ibyte *); RETURN_UNGCPRO (name); } #endif /* WIN32_FILENAMES */ @@ -1042,7 +1039,7 @@ if (newcwd) { IBYTE_STRING_TO_ALLOCA (newcwd, newdir); - xfree (newcwd); + xfree (newcwd, Ibyte *); } else newdir = NULL; @@ -1128,7 +1125,7 @@ if (newcwd) { IBYTE_STRING_TO_ALLOCA (newcwd, newdir); - xfree (newcwd); + xfree (newcwd, Ibyte *); } else #endif @@ -1304,7 +1301,7 @@ { Ibyte *newtarget = mswindows_canonicalize_filename (target); Lisp_Object result = build_intstring (newtarget); - xfree (newtarget); + xfree (newtarget, Ibyte *); RETURN_UNGCPRO (result); } @@ -2436,16 +2433,16 @@ buf, bufsize); if (valsize < bufsize) break; /* Buffer was not long enough */ - xfree (buf); + xfree (buf, Ibyte *); bufsize *= 2; } if (valsize == -1) { - xfree (buf); + xfree (buf, Ibyte *); return Qnil; } val = make_string (buf, valsize); - xfree (buf); + xfree (buf, Ibyte *); return val; #else /* not HAVE_READLINK */ return Qnil; diff --text -u 'xemacs-21.5.16/src/filelock.c' 'xemacs-21.5.17/src/filelock.c' Index: ./src/filelock.c --- ./src/filelock.c Wed Jun 5 18:55:40 2002 +++ ./src/filelock.c Wed Oct 1 00:26:46 2003 @@ -88,7 +88,10 @@ #define LOCK_PID_MAX (4 * sizeof (pid_t)) /* Free the two dynamically-allocated pieces in PTR. */ -#define FREE_LOCK_INFO(i) do { xfree ((i).user); xfree ((i).host); } while (0) +#define FREE_LOCK_INFO(i) do { \ + xfree ((i).user, Ibyte *); \ + xfree ((i).host, Ibyte *); \ + } while (0) /* Write the name of the lock file for FN into LFNAME. Length will be that of FN plus two more for the leading `.#' plus one for the null. */ @@ -180,7 +183,7 @@ /* If nonexistent lock file, all is well; otherwise, got strange error. */ if (len == -1) { - xfree (lfinfo); + xfree (lfinfo, Ibyte *); return errno == ENOENT ? 0 : -1; } @@ -200,7 +203,7 @@ at = qxestrchr (lfinfo, '@'); dot = qxestrrchr (lfinfo, '.'); if (!at || !dot) { - xfree (lfinfo); + xfree (lfinfo, Ibyte *); return -1; } len = at - lfinfo; @@ -218,7 +221,7 @@ owner->host[len] = 0; /* We're done looking at the link info. */ - xfree (lfinfo); + xfree (lfinfo, Ibyte *); /* On current host? */ if (STRINGP (Fsystem_name ()) diff --text -u 'xemacs-21.5.16/src/fns.c' 'xemacs-21.5.17/src/fns.c' Index: ./src/fns.c --- ./src/fns.c Thu Feb 6 15:36:03 2003 +++ ./src/fns.c Fri Feb 20 16:29:17 2004 @@ -1140,6 +1140,7 @@ */ (n, list)) { + /* This function can GC */ REGISTER EMACS_INT i; REGISTER Lisp_Object tail = list; CHECK_NATNUM (n); @@ -1164,6 +1165,7 @@ */ (n, list)) { + /* This function can GC */ return Fcar (Fnthcdr (n, list)); } @@ -1172,6 +1174,7 @@ */ (sequence, n)) { + /* This function can GC */ retry: CHECK_INT_COERCE_CHAR (n); /* yuck! */ if (LISTP (sequence)) @@ -1779,8 +1782,8 @@ (list)) { struct gcpro gcpro1, gcpro2; - REGISTER Lisp_Object prev = Qnil; - REGISTER Lisp_Object tail = list; + Lisp_Object prev = Qnil; + Lisp_Object tail = list; /* We gcpro our args; see `nconc' */ GCPRO2 (prev, tail); @@ -2720,6 +2723,7 @@ */ (object, property, value)) { + /* This function cannot GC */ CHECK_LISP_WRITEABLE (object); if (LRECORDP (object) && XRECORD_LHEADER_IMPLEMENTATION (object)->putprop) diff --text -u 'xemacs-21.5.16/src/frame-gtk.c' 'xemacs-21.5.17/src/frame-gtk.c' Index: ./src/frame-gtk.c --- ./src/frame-gtk.c Sun Mar 9 11:27:42 2003 +++ ./src/frame-gtk.c Wed Oct 1 00:26:47 2003 @@ -1304,8 +1304,8 @@ gtk_widget_destroy (w); if (FRAME_GTK_GEOM_FREE_ME_PLEASE (f)) - xfree (FRAME_GTK_GEOM_FREE_ME_PLEASE (f)); - xfree (f->frame_data); + xfree (FRAME_GTK_GEOM_FREE_ME_PLEASE (f), char *); + xfree (f->frame_data, void *); f->frame_data = 0; } diff --text -u 'xemacs-21.5.16/src/frame-msw.c' 'xemacs-21.5.17/src/frame-msw.c' Index: ./src/frame-msw.c --- ./src/frame-msw.c Mon Mar 31 17:13:20 2003 +++ ./src/frame-msw.c Wed Oct 1 00:26:47 2003 @@ -328,7 +328,7 @@ #endif ReleaseDC (FRAME_MSWINDOWS_HANDLE (f), FRAME_MSWINDOWS_DC (f)); DestroyWindow (FRAME_MSWINDOWS_HANDLE (f)); - xfree (f->frame_data); + xfree (f->frame_data, void *); } f->frame_data = 0; } @@ -978,7 +978,7 @@ EndPage (hdc); if (FRAME_MSPRINTER_JOB_STARTED (f)) EndDoc (hdc); - xfree (f->frame_data); + xfree (f->frame_data, void *); } f->frame_data = 0; diff --text -u 'xemacs-21.5.16/src/frame-x.c' 'xemacs-21.5.17/src/frame-x.c' Index: ./src/frame-x.c --- ./src/frame-x.c Sun Mar 9 11:27:43 2003 +++ ./src/frame-x.c Tue Jan 27 22:33:21 2004 @@ -310,25 +310,27 @@ assert (XtIsWMShell (widget)); { - Atom type, *atoms = 0; + Atom type; int format = 0; unsigned long nitems = 0; unsigned long bytes_after; + unsigned char *prop_return = 0; /* semantically a void* */ if (Success == XGetWindowProperty (dpy, w, DEVICE_XATOM_WM_PROTOCOLS (d), 0, 100, False, XA_ATOM, &type, &format, &nitems, &bytes_after, - (unsigned char **) &atoms) + &prop_return) && format == 32 && type == XA_ATOM) while (nitems > 0) { + Atom *atoms = (Atom *) prop_return; nitems--; - if (atoms [nitems] == DEVICE_XATOM_WM_DELETE_WINDOW (d)) + if (atoms[nitems] == DEVICE_XATOM_WM_DELETE_WINDOW (d)) need_delete = 0; - else if (atoms [nitems] == DEVICE_XATOM_WM_TAKE_FOCUS (d)) + else if (atoms[nitems] == DEVICE_XATOM_WM_TAKE_FOCUS (d)) need_focus = 0; } - if (atoms) XFree ((char *) atoms); + if (prop_return) XFree ((char *) prop_return); } { Atom props [10]; @@ -416,7 +418,7 @@ Atom actual_type; int actual_format; unsigned long nitems, bytesafter; - unsigned long *datap = 0; + unsigned char *datap = 0; Widget widget; int result = -1; struct device *d = XDEVICE (FRAME_DEVICE (f)); @@ -426,11 +428,12 @@ DEVICE_XATOM_WM_STATE (d), 0, 2, False, DEVICE_XATOM_WM_STATE (d), &actual_type, &actual_format, &nitems, &bytesafter, - (unsigned char **) &datap) + &datap) && datap) { + unsigned long *ul_result_ptr = (unsigned long *) datap; if (nitems <= 2) /* "suggested" by ICCCM version 1 */ - result = (int) datap[0]; + result = (int) ul_result_ptr[0]; XFree ((char *) datap); } @@ -1006,7 +1009,7 @@ } /* free the data string */ - xfree (clientData); + xfree (clientData, XtPointer); CurrentDragWidget = NULL; } @@ -1164,7 +1167,7 @@ if (!STRINGP (XCAR (item))) { numItems=0; - xfree(Ctext); + xfree(Ctext, char *); Ctext=NULL; break; } @@ -1242,7 +1245,7 @@ l_data = Fcons (make_string ((Ibyte* )hurl, strlen (hurl)), l_data); - xfree (hurl); + xfree (hurl, char *); } } else if (transferInfo->dropData->protocol == DtDND_BUFFER_TRANSFER) @@ -1339,7 +1342,7 @@ { if (!STRINGP (XCAR (run))) { - xfree (dnd_data); + xfree (dnd_data, char *); return Qnil; } len = XSTRING_LENGTH (XCAR (run)) + 1; @@ -1403,7 +1406,7 @@ DndSetData(dnd_typ, (unsigned char *)dnd_data, dnd_len); if (dnd_dealloc) - xfree (dnd_data); + xfree (dnd_data, char *); /* the next thing blocks everything... */ if (DndHandleDragging(wid, &x_event)) @@ -2677,13 +2680,13 @@ if (FRAME_X_GEOM_FREE_ME_PLEASE (f)) { - xfree (FRAME_X_GEOM_FREE_ME_PLEASE (f)); + xfree (FRAME_X_GEOM_FREE_ME_PLEASE (f), char *); FRAME_X_GEOM_FREE_ME_PLEASE (f) = 0; } if (f->frame_data) { - xfree (f->frame_data); + xfree (f->frame_data, void *); f->frame_data = 0; } } @@ -2728,9 +2731,11 @@ Lisp_Object font = FACE_FONT (Vdefault_face, frame, Vcharset_ascii); if (!EQ (font, Vthe_null_font_instance)) - XtSetArg (al[ac], XtNfont, - (void *) FONT_INSTANCE_X_FONT (XFONT_INSTANCE (font))); - ac++; + { + XtSetArg (al[ac], XtNfont, + (void *) FONT_INSTANCE_X_FONT (XFONT_INSTANCE (font))); + ac++; + } } else abort (); diff --text -u 'xemacs-21.5.16/src/frame.c' 'xemacs-21.5.17/src/frame.c' Index: ./src/frame.c --- ./src/frame.c Thu Apr 24 14:33:44 2003 +++ ./src/frame.c Wed Oct 1 00:26:48 2003 @@ -3472,7 +3472,7 @@ if (!EQ (icon_format, title_format) || !title) { if (title) - xfree (title); + xfree (title, Ibyte *); title = generate_title_string (w, icon_format, DEFAULT_INDEX, CURRENT_DISP); @@ -3481,7 +3481,7 @@ } if (title) - xfree (title); + xfree (title, Ibyte *); } diff --text -u 'xemacs-21.5.16/src/gccache-gtk.c' 'xemacs-21.5.17/src/gccache-gtk.c' Index: ./src/gccache-gtk.c --- ./src/gccache-gtk.c Sat Mar 16 19:39:17 2002 +++ ./src/gccache-gtk.c Wed Oct 1 00:26:48 2003 @@ -145,13 +145,13 @@ { gdk_gc_destroy(rest->gc); next = rest->next; - xfree (rest); + xfree (rest, struct gc_cache_cell *); rest = next; } #ifdef GCCACHE_HASH free_hash_table (cache->table); #endif - xfree (cache); + xfree (cache, struct gc_cache *); } GdkGC * diff --text -u 'xemacs-21.5.16/src/general-slots.h' 'xemacs-21.5.17/src/general-slots.h' Index: ./src/general-slots.h --- ./src/general-slots.h Tue Aug 19 11:07:16 2003 +++ ./src/general-slots.h Thu Feb 26 02:42:36 2004 @@ -88,7 +88,7 @@ SYMBOL (Qconsole); SYMBOL (Qcontrol_1); SYMBOL (Qcopies); -SYMBOL (Qcritical); +SYMBOL_MODULE_API (Qcritical); SYMBOL (Qctext); SYMBOL (Qcurrent); SYMBOL (Qcursor); @@ -97,7 +97,7 @@ SYMBOL (Qdead); SYMBOL (Qdebug); SYMBOL (Qdefault); -SYMBOL (Qdelete); +SYMBOL_MODULE_API (Qdelete); SYMBOL (Qdelq); SYMBOL (Qdescription); SYMBOL_KEYWORD (Q_descriptor); @@ -241,13 +241,13 @@ SYMBOL (Qreverse); SYMBOL (Qright); SYMBOL (Qright_margin); -SYMBOL (Qsearch); +SYMBOL_MODULE_API (Qsearch); SYMBOL (Qselected); SYMBOL_KEYWORD (Q_selected); SYMBOL (Qselection); SYMBOL (Qset_glyph_image); SYMBOL (Qsignal); -SYMBOL (Qsimple); +SYMBOL_MODULE_API (Qsimple); SYMBOL (Qsize); SYMBOL (Qsound); SYMBOL (Qspace); diff --text -u 'xemacs-21.5.16/src/glyphs-eimage.c' 'xemacs-21.5.17/src/glyphs-eimage.c' Index: ./src/glyphs-eimage.c --- ./src/glyphs-eimage.c Fri Jun 21 06:18:33 2002 +++ ./src/glyphs-eimage.c Tue Oct 14 14:03:03 2003 @@ -61,15 +61,15 @@ #include "sysfile.h" #ifdef HAVE_PNG -#ifdef __cplusplus -extern "C" { -#endif + +BEGIN_C_DECLS + #define message message_ /* Yuck */ #include #undef message -#ifdef __cplusplus -} -#endif + +END_C_DECLS + #else #include #endif @@ -102,14 +102,12 @@ * JPEG * **********************************************************************/ -#ifdef __cplusplus -extern "C" { -#endif +BEGIN_C_DECLS + #include #include -#ifdef __cplusplus -} -#endif + +END_C_DECLS /*#define USE_TEMP_FILES_FOR_JPEG_IMAGES 1*/ static void @@ -158,7 +156,8 @@ if (data->instream) retry_fclose (data->instream); - if (data->eimage) xfree (data->eimage); + if (data->eimage) + xfree (data->eimage, UChar_Binary *); return Qnil; } @@ -553,7 +552,7 @@ GifFree(data->giffile); } if (data->eimage) - xfree (data->eimage); + xfree (data->eimage, UChar_Binary *); return Qnil; } @@ -842,7 +841,8 @@ if (data->instream) retry_fclose (data->instream); - if (data->eimage) xfree(data->eimage); + if (data->eimage) + xfree(data->eimage, UChar_Binary *); return Qnil; } @@ -1023,7 +1023,7 @@ } #endif - xfree (row_pointers); + xfree (row_pointers, UChar_Binary **); } /* now instantiate */ @@ -1083,7 +1083,7 @@ TIFFClose(data->tiff); } if (data->eimage) - xfree (data->eimage); + xfree (data->eimage, UChar_Binary *); return Qnil; } diff --text -u 'xemacs-21.5.16/src/glyphs-gtk.c' 'xemacs-21.5.17/src/glyphs-gtk.c' Index: ./src/glyphs-gtk.c --- ./src/glyphs-gtk.c Sun Mar 9 11:27:43 2003 +++ ./src/glyphs-gtk.c Wed Feb 18 00:20:53 2004 @@ -260,7 +260,7 @@ #endif } } - xfree(qtable); + xfree(qtable, quant_table *); } else { unsigned long rshift,gshift,bshift,rbits,gbits,bbits,junk; junk = vis->red_mask; @@ -414,7 +414,7 @@ gdk_pixmap_unref (IMAGE_INSTANCE_GTK_PIXMAP_SLICE (p,i)); IMAGE_INSTANCE_GTK_PIXMAP_SLICE (p, i) = 0; } - xfree (IMAGE_INSTANCE_GTK_PIXMAP_SLICES (p)); + xfree (IMAGE_INSTANCE_GTK_PIXMAP_SLICES (p), GdkPixmap **); IMAGE_INSTANCE_GTK_PIXMAP_SLICES (p) = 0; } @@ -442,11 +442,11 @@ && IMAGE_INSTANCE_TYPE (p) != IMAGE_SUBWINDOW && IMAGE_INSTANCE_GTK_PIXELS (p)) { - xfree (IMAGE_INSTANCE_GTK_PIXELS (p)); + xfree (IMAGE_INSTANCE_GTK_PIXELS (p), unsigned long *); IMAGE_INSTANCE_GTK_PIXELS (p) = 0; } - xfree (p->data); + xfree (p->data, void *); p->data = 0; } @@ -838,7 +838,8 @@ &pixtbl, &npixels); if (!gdk_image) { - if (pixtbl) xfree (pixtbl); + if (pixtbl) + xfree (pixtbl, unsigned long *); signal_image_error("EImage to GdkImage conversion failed", instantiator); } @@ -1292,7 +1293,8 @@ } qxe_unlink (XSTRING_DATA (tempfile)); - if (color_symbols) xfree (color_symbols); + if (color_symbols) + xfree (color_symbols, struct color_symbol *); if (!pixmap) signal_image_error ("Error reading pixmap", data); @@ -1374,13 +1376,10 @@ /* We have to define SYSV32 so that compface.h includes string.h instead of strings.h. */ #define SYSV32 -#ifdef __cplusplus -extern "C" { -#endif +BEGIN_C_DECLS #include -#ifdef __cplusplus -} -#endif +END_C_DECLS + /* JMP_BUF cannot be used here because if it doesn't get defined to jmp_buf we end up with a conflicting type error with the definition in compface.h */ @@ -2451,7 +2450,7 @@ LIST_LOOP (rest, XCDR (IMAGE_INSTANCE_WIDGET_ITEMS (ii))) { - if (gui_item_equal_sans_selected (XCAR (rest), selected, 0, 1)) + if (gui_item_equal_sans_selected (XCAR (rest), selected, 0)) { Lisp_Object old_selected =gui_item_list_find_selected (XCDR (IMAGE_INSTANCE_WIDGET_ITEMS (ii))); diff --text -u 'xemacs-21.5.16/src/glyphs-msw.c' 'xemacs-21.5.17/src/glyphs-msw.c' Index: ./src/glyphs-msw.c --- ./src/glyphs-msw.c Fri Feb 21 15:56:58 2003 +++ ./src/glyphs-msw.c Wed Feb 18 00:20:54 2004 @@ -202,7 +202,7 @@ if (!bmp_data) { - xfree (bmp_info); + xfree (bmp_info, BITMAPINFO *); return NULL; } @@ -233,7 +233,7 @@ sizeof(RGBQUAD) * ncolors); if (!bmp_info) { - xfree (qtable); + xfree (qtable, quant_table *); return NULL; } @@ -251,8 +251,8 @@ if (!*bmp_data) { - xfree (qtable); - xfree (bmp_info); + xfree (qtable, quant_table *); + xfree (bmp_info, BITMAPINFO *); return NULL; } @@ -279,7 +279,7 @@ *dp++ = QUANT_GET_COLOR (qtable,rd,gr,bl); } } - xfree (qtable); + xfree (qtable, quant_table *); } /* fix up the standard stuff */ bmp_info->bmiHeader.biWidth = width; @@ -472,8 +472,8 @@ image_instance_add_dibitmap (ii, bmp_info, bmp_data, bmp_bits, slice, instantiator); - xfree (bmp_info); - xfree (bmp_data); + xfree (bmp_info, BITMAPINFO *); + xfree (bmp_data, UChar_Binary *); } } @@ -538,7 +538,7 @@ (void **)&and_bits, 0,0))) { - xfree (bmp_info); + xfree (bmp_info, BITMAPINFO *); return; } @@ -565,7 +565,7 @@ bmp_info, DIB_RGB_COLORS) <= 0) { - xfree (bmp_info); + xfree (bmp_info, BITMAPINFO *); return; } @@ -597,8 +597,8 @@ bmp_info, DIB_RGB_COLORS); - xfree (bmp_info); - xfree (dibits); + xfree (bmp_info, BITMAPINFO *); + xfree (dibits, UChar_Binary *); SelectObject(hcdc, old); @@ -849,7 +849,7 @@ colortbl = xnew_array_and_zero (COLORREF, xpmimage.ncolors); if (!colortbl) { - xfree (*data); + xfree (*data, UChar_Binary *); XpmFreeXpmImage (&xpmimage); XpmFreeXpmInfo (&xpminfo); return 0; @@ -905,8 +905,8 @@ } label_no_color: - xfree (*data); - xfree (colortbl); + xfree (*data, UChar_Binary *); + xfree (colortbl, COLORREF *); XpmFreeXpmImage (&xpmimage); XpmFreeXpmInfo (&xpminfo); return 0; @@ -932,7 +932,7 @@ XpmFreeXpmImage (&xpmimage); XpmFreeXpmInfo (&xpminfo); - xfree (colortbl); + xfree (colortbl, COLORREF *); return TRUE; } @@ -982,9 +982,9 @@ { while (nsymbols--) { - xfree (color_symbols[nsymbols].name); + xfree (color_symbols[nsymbols].name, Ibyte *); } - xfree(color_symbols); + xfree(color_symbols, struct color_symbol *); } /* build a bitmap from the eimage */ @@ -994,15 +994,15 @@ signal_image_error ("XPM to EImage conversion failed", image_instance); } - xfree (eimage); + xfree (eimage, UChar_Binary *); /* Now create the pixmap and set up the image instance */ init_image_instance_from_dibitmap (ii, bmp_info, dest_mask, bmp_data, bmp_bits, 1, instantiator, x_hot, y_hot, transp); - xfree (bmp_info); - xfree (bmp_data); + xfree (bmp_info, BITMAPINFO *); + xfree (bmp_data, UChar_Binary *); } #endif /* HAVE_XPM */ @@ -1353,7 +1353,7 @@ if (!new_data) { - xfree (bmp_info); + xfree (bmp_info, BITMAPINFO *); return NULL; } @@ -1404,17 +1404,17 @@ &bmp_buf, 0,0); - xfree (bmp_info); + xfree (bmp_info, BITMAPINFO *); if (!bitmap || !bmp_buf) { - xfree (new_data); + xfree (new_data, UChar_Binary *); return NULL; } /* copy in the actual bitmap */ memcpy (bmp_buf, new_data, height * new_width); - xfree (new_data); + xfree (new_data, UChar_Binary *); return bitmap; } @@ -1615,13 +1615,10 @@ /* We have to define SYSV32 so that compface.h includes string.h instead of strings.h. */ #define SYSV32 -#ifdef __cplusplus -extern "C" { -#endif +BEGIN_C_DECLS #include -#ifdef __cplusplus -} -#endif +END_C_DECLS + /* JMP_BUF cannot be used here because if it doesn't get defined to jmp_buf we end up with a conflicting type error with the definition in compface.h */ @@ -1776,7 +1773,7 @@ DeleteObject (IMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICE (p, i)); IMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICE (p, i) = 0; } - xfree (IMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICES (p)); + xfree (IMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICES (p), HBITMAP *); IMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICES (p) = 0; } if (IMAGE_INSTANCE_MSWINDOWS_MASK (p)) @@ -1790,7 +1787,7 @@ if (p->data) { - xfree (p->data); + xfree (p->data, void *); p->data = 0; } } @@ -2039,7 +2036,7 @@ if (CONSP (item)) item = XCAR (item); - if (gui_item_active_p (item, 1)) + if (gui_item_active_p (item)) qxeSetWindowLong (WIDGET_INSTANCE_MSWINDOWS_HANDLE (p), GWL_STYLE, style & ~WS_DISABLED); else @@ -2230,7 +2227,7 @@ CHECK_MSWINDOWS_DEVICE (device); - if (!gui_item_active_p (gui, 0)) + if (!gui_item_active_p (gui)) flags |= WS_DISABLED; style = pgui->style; @@ -2375,7 +2372,7 @@ wnd = WIDGET_INSTANCE_MSWINDOWS_HANDLE (ii); /* set the checked state */ - if (gui_item_selected_p (gui, 0)) + if (gui_item_selected_p (gui)) qxeSendMessage (wnd, BM_SETCHECK, (WPARAM)BST_CHECKED, 0); else qxeSendMessage (wnd, BM_SETCHECK, (WPARAM)BST_UNCHECKED, 0); @@ -2401,7 +2398,7 @@ Lisp_Image_Instance *ii = XIMAGE_INSTANCE (image_instance); /* buttons checked or otherwise */ - if (gui_item_selected_p (IMAGE_INSTANCE_WIDGET_ITEM (ii), 1)) + if (gui_item_selected_p (IMAGE_INSTANCE_WIDGET_ITEM (ii))) qxeSendMessage (WIDGET_INSTANCE_MSWINDOWS_HANDLE (ii), BM_SETCHECK, (WPARAM)BST_CHECKED, 0); else @@ -2643,7 +2640,7 @@ { int idx = add_tab_item (image_instance, wnd, XCAR (rest), domain, i); assert (idx == i); - if (gui_item_selected_p (XCAR (rest), 0)) + if (gui_item_selected_p (XCAR (rest))) selected = i; i++; } @@ -2683,7 +2680,7 @@ LIST_LOOP (rest, XCDR (IMAGE_INSTANCE_WIDGET_ITEMS (ii))) { - if (gui_item_equal_sans_selected (XCAR (rest), selected, 0, 1)) + if (gui_item_equal_sans_selected (XCAR (rest), selected, 0)) { Lisp_Object old_selected = gui_item_list_find_selected @@ -2718,7 +2715,7 @@ { add_tab_item (image_instance, wnd, XCAR (rest), IMAGE_INSTANCE_FRAME (ii), i); - if (gui_item_selected_p (XCAR (rest), 1)) + if (gui_item_selected_p (XCAR (rest))) selected_idx = i; i++; } diff --text -u 'xemacs-21.5.16/src/glyphs-widget.c' 'xemacs-21.5.17/src/glyphs-widget.c' Index: ./src/glyphs-widget.c --- ./src/glyphs-widget.c Fri Feb 21 15:56:58 2003 +++ ./src/glyphs-widget.c Wed Feb 18 00:20:55 2004 @@ -1017,7 +1017,7 @@ XCDR (IMAGE_INSTANCE_WIDGET_PENDING_ITEMS (ii))) { if (gui_item_equal_sans_selected (XCAR (rest), - XCAR (pending_rest), 0, 1)) + XCAR (pending_rest), 0)) { found = 1; break; diff --text -u 'xemacs-21.5.16/src/glyphs-x.c' 'xemacs-21.5.17/src/glyphs-x.c' Index: ./src/glyphs-x.c --- ./src/glyphs-x.c Sun Mar 9 11:27:43 2003 +++ ./src/glyphs-x.c Wed Feb 18 00:20:55 2004 @@ -272,7 +272,7 @@ #endif } } - xfree(qtable); + xfree (qtable, quant_table *); } else { unsigned long rshift,gshift,bshift,rbits,gbits,bbits,junk; junk = vis->red_mask; @@ -438,7 +438,7 @@ XFreePixmap (dpy, IMAGE_INSTANCE_X_PIXMAP_SLICE (p,i)); IMAGE_INSTANCE_X_PIXMAP_SLICE (p, i) = 0; } - xfree (IMAGE_INSTANCE_X_PIXMAP_SLICES (p)); + xfree (IMAGE_INSTANCE_X_PIXMAP_SLICES (p), Pixmap *); IMAGE_INSTANCE_X_PIXMAP_SLICES (p) = 0; } @@ -466,11 +466,11 @@ && IMAGE_INSTANCE_TYPE (p) != IMAGE_SUBWINDOW && IMAGE_INSTANCE_X_PIXELS (p)) { - xfree (IMAGE_INSTANCE_X_PIXELS (p)); + xfree (IMAGE_INSTANCE_X_PIXELS (p), unsigned long *); IMAGE_INSTANCE_X_PIXELS (p) = 0; } - xfree (p->data); + xfree (p->data, void *); p->data = 0; } @@ -862,7 +862,8 @@ &pixtbl, &npixels); if (!ximage) { - if (pixtbl) xfree (pixtbl); + if (pixtbl) + xfree (pixtbl, unsigned long *); signal_image_error("EImage to XImage conversion failed", instantiator); } @@ -878,7 +879,7 @@ { if (ximage->data) { - xfree (ximage->data); + xfree (ximage->data, char *); ximage->data = 0; } XDestroyImage (ximage); @@ -1301,8 +1302,8 @@ int i; for (i = 0; i < (int) xpmattrs.numsymbols; i++) - xfree (color_symbols[i].name); - xfree (color_symbols); + xfree (color_symbols[i].name, char *); + xfree (color_symbols, XpmColorSymbol *); xpmattrs.colorsymbols = 0; /* in case XpmFreeAttr is too smart... */ xpmattrs.numsymbols = 0; } @@ -1544,13 +1545,10 @@ /* We have to define SYSV32 so that compface.h includes string.h instead of strings.h. */ #define SYSV32 -#ifdef __cplusplus -extern "C" { -#endif +BEGIN_C_DECLS #include -#ifdef __cplusplus -} -#endif +END_C_DECLS + /* JMP_BUF cannot be used here because if it doesn't get defined to jmp_buf we end up with a conflicting type error with the definition in compface.h */ @@ -2700,7 +2698,7 @@ LIST_LOOP (rest, XCDR (IMAGE_INSTANCE_WIDGET_ITEMS (ii))) { - if (gui_item_equal_sans_selected (XCAR (rest), selected, 0, 1)) + if (gui_item_equal_sans_selected (XCAR (rest), selected, 0)) { /* There may be an encapsulated way of doing this, but I couldn't find it. */ diff --text -u 'xemacs-21.5.16/src/glyphs.c' 'xemacs-21.5.17/src/glyphs.c' Index: ./src/glyphs.c --- ./src/glyphs.c Mon Apr 14 13:11:57 2003 +++ ./src/glyphs.c Tue Jan 27 22:33:21 2004 @@ -321,13 +321,13 @@ invalid_argument ("Invalid mapping form", mapping); else { - Lisp_Object exp = XCAR (mapping); + Lisp_Object regexp = XCAR (mapping); Lisp_Object typevec = XCAR (XCDR (mapping)); Lisp_Object pos = Qnil; Lisp_Object newvec; struct gcpro gcpro1; - CHECK_STRING (exp); + CHECK_STRING (regexp); CHECK_VECTOR (typevec); if (!NILP (XCDR (XCDR (mapping)))) { @@ -341,7 +341,7 @@ newvec = Fcopy_sequence (typevec); if (INTP (pos)) - XVECTOR_DATA (newvec)[XINT (pos)] = exp; + XVECTOR_DATA (newvec)[XINT (pos)] = regexp; GCPRO1 (newvec); image_validate (newvec); UNGCPRO; @@ -377,7 +377,7 @@ LIST_LOOP (tail, *get_image_conversion_list (console_type)) { Lisp_Object mapping = XCAR (tail); - Lisp_Object exp = XCAR (mapping); + Lisp_Object regexp = XCAR (mapping); Lisp_Object typevec = XCAR (XCDR (mapping)); /* if the result is of a type that can't be instantiated @@ -388,7 +388,7 @@ (INSTANTIATOR_TYPE (typevec), ERROR_ME), possible_dest_types, ()))) continue; - if (fast_string_match (exp, 0, data, 0, -1, 0, ERROR_ME, 0) >= 0) + if (fast_string_match (regexp, 0, data, 0, -1, 0, ERROR_ME, 0) >= 0) { if (!NILP (XCDR (XCDR (mapping)))) { diff --text -u 'xemacs-21.5.16/src/gtk-xemacs.h' 'xemacs-21.5.17/src/gtk-xemacs.h' Index: ./src/gtk-xemacs.h --- ./src/gtk-xemacs.h Fri Apr 13 03:23:54 2001 +++ ./src/gtk-xemacs.h Tue Oct 14 14:03:05 2003 @@ -15,9 +15,7 @@ #include #include -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ +BEGIN_C_DECLS #define GTK_XEMACS(obj) GTK_CHECK_CAST (obj, gtk_xemacs_get_type (), GtkXEmacs) #define GTK_XEMACS_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_xemacs_get_type (), GtkXEmacsClass) @@ -41,8 +39,6 @@ guint gtk_xemacs_get_type (void); GtkWidget *gtk_xemacs_new (struct frame *f); -#ifdef __cplusplus -} -#endif /* __cplusplus */ +END_C_DECLS #endif /* __GTK_XEMACS_H__ */ diff --text -u 'xemacs-21.5.16/src/gui-x.c' 'xemacs-21.5.17/src/gui-x.c' Index: ./src/gui-x.c --- ./src/gui-x.c Sun Mar 9 11:27:43 2003 +++ ./src/gui-x.c Wed Feb 18 00:22:09 2004 @@ -198,9 +198,9 @@ free_popup_widget_value_tree (widget_value *wv) { if (! wv) return; - if (wv->key) xfree (wv->key); - if (wv->value) xfree (wv->value); - if (wv->name) xfree (wv->name); + if (wv->key) xfree (wv->key, char *); + if (wv->value) xfree (wv->value, char *); + if (wv->name) xfree (wv->name, char *); wv->name = wv->value = wv->key = (char *) 0xDEADBEEF; /* -559038737 base 10*/ @@ -318,11 +318,12 @@ #if 1 /* Eval the activep slot of the menu item */ -# define wv_set_evalable_slot(slot,form) do { \ - Lisp_Object wses_form = (form); \ - (slot) = (NILP (wses_form) ? 0 : \ - EQ (wses_form, Qt) ? 1 : \ - !NILP (Feval (wses_form))); \ +# define wv_set_evalable_slot(slot,form) do { \ + Lisp_Object wses_form = (form); \ + (slot) = (NILP (wses_form) ? 0 : \ + EQ (wses_form, Qt) ? 1 : \ + !NILP (in_display ? eval_within_redisplay (wses_form) \ + : Feval (wses_form))); \ } while (0) #else /* Treat the activep slot of the menu item as a boolean */ diff --text -u 'xemacs-21.5.16/src/gui.c' 'xemacs-21.5.17/src/gui.c' Index: ./src/gui.c --- ./src/gui.c Fri Feb 21 15:56:58 2003 +++ ./src/gui.c Wed Feb 18 00:20:56 2004 @@ -383,7 +383,7 @@ } static int -gui_item_value (Lisp_Object form, int in_redisplay) +gui_item_value (Lisp_Object form) { /* This function can call Lisp. */ @@ -395,10 +395,7 @@ if (EQ (form, Qt)) return 1; #endif - if (in_redisplay) - return !NILP (eval_within_redisplay (form)); - else - return !NILP (Feval (form)); + return !NILP (in_display ? eval_within_redisplay (form) : Feval (form)); } /* @@ -406,9 +403,9 @@ * if any */ int -gui_item_active_p (Lisp_Object gui_item, int in_redisplay) +gui_item_active_p (Lisp_Object gui_item) { - return gui_item_value (XGUI_ITEM (gui_item)->active, in_redisplay); + return gui_item_value (XGUI_ITEM (gui_item)->active); } /* set menu accelerator key to first underlined character in menu name */ @@ -452,9 +449,9 @@ * if any */ int -gui_item_selected_p (Lisp_Object gui_item, int in_redisplay) +gui_item_selected_p (Lisp_Object gui_item) { - return gui_item_value (XGUI_ITEM (gui_item)->selected, in_redisplay); + return gui_item_value (XGUI_ITEM (gui_item)->selected); } Lisp_Object @@ -465,7 +462,7 @@ Lisp_Object rest; LIST_LOOP (rest, gui_item_list) { - if (gui_item_selected_p (XCAR (rest), 1)) + if (gui_item_selected_p (XCAR (rest))) return XCAR (rest); } return XCAR (gui_item_list); @@ -483,7 +480,7 @@ Lisp_Gui_Item *pgui_item = XGUI_ITEM (gui_item); /* Evaluate :included first. Shortcut to avoid evaluating Qt each time */ - if (!gui_item_value (pgui_item->included, 0)) + if (!gui_item_value (pgui_item->included)) return 0; /* Do :config if conflist is given */ @@ -632,9 +629,9 @@ } static int -gui_value_equal (Lisp_Object a, Lisp_Object b, int depth, int in_redisplay) +gui_value_equal (Lisp_Object a, Lisp_Object b, int depth) { - if (in_redisplay) + if (in_display) return internal_equal_trapping_problems (Qredisplay, "Error calling function within redisplay", 0, 0, /* say they're not equal in case of error; code calling @@ -646,18 +643,16 @@ } int -gui_item_equal_sans_selected (Lisp_Object obj1, Lisp_Object obj2, int depth, - int in_redisplay) +gui_item_equal_sans_selected (Lisp_Object obj1, Lisp_Object obj2, int depth) { Lisp_Gui_Item *p1 = XGUI_ITEM (obj1); Lisp_Gui_Item *p2 = XGUI_ITEM (obj2); - if (!(gui_value_equal (p1->name, p2->name, depth + 1, in_redisplay) + if (!(gui_value_equal (p1->name, p2->name, depth + 1) && - gui_value_equal (p1->callback, p2->callback, depth + 1, in_redisplay) + gui_value_equal (p1->callback, p2->callback, depth + 1) && - gui_value_equal (p1->callback_ex, p2->callback_ex, depth + 1, - in_redisplay) + gui_value_equal (p1->callback_ex, p2->callback_ex, depth + 1) && EQ (p1->suffix, p2->suffix) && @@ -686,7 +681,7 @@ Lisp_Gui_Item *p1 = XGUI_ITEM (obj1); Lisp_Gui_Item *p2 = XGUI_ITEM (obj2); - if (!(gui_item_equal_sans_selected (obj1, obj2, depth, 0) && + if (!(gui_item_equal_sans_selected (obj1, obj2, depth) && EQ (p1->selected, p2->selected))) return 0; return 1; diff --text -u 'xemacs-21.5.16/src/gui.h' 'xemacs-21.5.17/src/gui.h' Index: ./src/gui.h --- ./src/gui.h Fri Feb 21 15:56:58 2003 +++ ./src/gui.h Wed Feb 18 00:20:57 2004 @@ -30,8 +30,7 @@ int separator_string_p (const Ibyte *s); void get_gui_callback (Lisp_Object, Lisp_Object *, Lisp_Object *); int gui_item_equal_sans_selected (Lisp_Object obj1, Lisp_Object obj2, - int depth, int in_redisplay); - + int depth); @@ -77,8 +76,8 @@ Lisp_Object gui_parse_item_keywords (Lisp_Object item); Lisp_Object gui_parse_item_keywords_no_errors (Lisp_Object item); void gui_add_item_keywords_to_plist (Lisp_Object plist, Lisp_Object gui_item); -int gui_item_active_p (Lisp_Object, int); -int gui_item_selected_p (Lisp_Object, int); +int gui_item_active_p (Lisp_Object); +int gui_item_selected_p (Lisp_Object); Lisp_Object gui_item_list_find_selected (Lisp_Object gui_item_list); int gui_item_included_p (Lisp_Object, Lisp_Object into); Lisp_Object gui_item_accelerator (Lisp_Object gui_item); diff --text -u 'xemacs-21.5.16/src/hash.c' 'xemacs-21.5.17/src/hash.c' Index: ./src/hash.c --- ./src/hash.c Thu Feb 13 18:57:07 2003 +++ ./src/hash.c Wed Oct 1 00:26:50 2003 @@ -163,8 +163,8 @@ void free_hash_table (struct hash_table *hash_table) { - xfree (hash_table->harray); - xfree (hash_table); + xfree (hash_table->harray, hentry *); + xfree (hash_table, struct hash_table *); } struct hash_table* @@ -207,7 +207,7 @@ rehash (old_harray, hash_table, old_size); } - xfree (old_harray); + xfree (old_harray, hentry *); } void diff --text -u 'xemacs-21.5.16/src/hftctl.c' 'xemacs-21.5.17/src/hftctl.c' Index: ./src/hftctl.c --- ./src/hftctl.c Mon Aug 13 13:46:30 2001 +++ ./src/hftctl.c Wed Oct 1 00:26:50 2003 @@ -338,6 +338,6 @@ /* write request to terminal */ if (write(fd,p.c,size) == -1) return (-1); if (p.req != &req) /* free if allocated */ - xfree (p.c); + xfree (p.c, char *); return (0); } diff --text -u 'xemacs-21.5.16/src/imgproc.c' 'xemacs-21.5.17/src/imgproc.c' Index: ./src/imgproc.c --- ./src/imgproc.c Mon Aug 13 13:46:30 2001 +++ ./src/imgproc.c Wed Oct 1 00:26:50 2003 @@ -536,7 +536,7 @@ qt->num_active_colors = i; /* We're done with the boxes now */ - xfree (box_list); + xfree (box_list, Colorbox *); qt->freeboxes = qt->usedboxes = NULL; /* @@ -550,13 +550,14 @@ /* 5c: done with ColorCells */ for (i = 0; i < C_LEN*C_LEN*C_LEN; i++) - if (qt->ColorCells[i]) xfree (qt->ColorCells[i]); - xfree (qt->ColorCells); + if (qt->ColorCells[i]) + xfree (qt->ColorCells[i], C_cell *); + xfree (qt->ColorCells, C_cell **); if (res) { - /* we failed in memory allocation, so clean up an leave */ - xfree(qt); + /* we failed in memory allocation, so clean up and leave */ + xfree(qt, quant_table *); return NULL; } diff --text -u 'xemacs-21.5.16/src/insdel.c' 'xemacs-21.5.17/src/insdel.c' Index: ./src/insdel.c --- ./src/insdel.c Sun Mar 2 18:38:53 2003 +++ ./src/insdel.c Wed Oct 1 00:26:50 2003 @@ -1824,9 +1824,9 @@ if (!b->base_buffer) { BUFFER_FREE (b->text->beg); - xfree (b->text->changes); + xfree (b->text->changes, struct buffer_text_change_data *); } - xfree (b->changes); + xfree (b->changes, struct each_buffer_change_data *); #ifdef REGION_CACHE_NEEDS_WORK if (b->newline_cache) diff --text -u 'xemacs-21.5.16/src/intl-win32.c' 'xemacs-21.5.17/src/intl-win32.c' Index: ./src/intl-win32.c --- ./src/intl-win32.c Sun Jan 12 20:08:17 2003 +++ ./src/intl-win32.c Wed Oct 1 00:26:50 2003 @@ -1964,7 +1964,7 @@ TO_INTERNAL_FORMAT (DATA, (unidata, size), MALLOC, (intdata, size), Qmswindows_unicode); - xfree (unidata); + xfree (unidata, Extbyte *); if (size_out) *size_out = size; diff --text -u 'xemacs-21.5.16/src/keymap.c' 'xemacs-21.5.17/src/keymap.c' Index: ./src/keymap.c --- ./src/keymap.c Sun Jan 12 20:08:17 2003 +++ ./src/keymap.c Wed Oct 1 00:26:50 2003 @@ -3808,7 +3808,7 @@ result = Fnreverse (result); if (c.keys_so_far_malloced) - xfree (c.keys_so_far); + xfree (c.keys_so_far, Lisp_Key_Data *); return result; } diff --text -u 'xemacs-21.5.16/src/libinterface.h' 'xemacs-21.5.17/src/libinterface.h' Index: ./src/libinterface.h --- ./src/libinterface.h Mon Jun 10 21:43:42 2002 +++ ./src/libinterface.h Tue Oct 14 14:03:05 2003 @@ -28,9 +28,7 @@ #endif /* HAVE_GIF */ #ifdef HAVE_PNG -#ifdef __cplusplus -extern "C" { -#endif +BEGIN_C_DECLS #define message message_ /* Yuck */ /* See comment in libinterface.c for the following */ #define PNG_EXPORT(type, symbol) type XCDECL symbol @@ -38,9 +36,7 @@ #define ZEXPORTVA XCDECL #include #undef message -#ifdef __cplusplus -} -#endif +END_C_DECLS #endif /* HAVE_PNG */ /* #### WARNING: Utterly random magic here to prevent namespace conflicts @@ -49,9 +45,7 @@ glyphs-msw.c. For some reason, putting the XPM code after this fixes other problems; don't move it before. --ben */ #if defined (HAVE_JPEG) && !defined (DONT_NEED_JPEG) -#ifdef __cplusplus -extern "C" { -#endif +BEGIN_C_DECLS #ifdef _MSC_VER # ifndef XMD_H /* Yuck! This tricks jpeglib.h into not defining INT32, which is defined @@ -65,9 +59,7 @@ # undef XMD_H #endif #include -#ifdef __cplusplus -} -#endif +END_C_DECLS boolean XCDECL qxe_jpeg_finish_decompress (j_decompress_ptr cinfo); boolean XCDECL qxe_jpeg_start_decompress (j_decompress_ptr cinfo); diff --text -u 'xemacs-21.5.16/src/lisp.h' 'xemacs-21.5.17/src/lisp.h' Index: ./src/lisp.h --- ./src/lisp.h Mon Sep 22 12:21:19 2003 +++ ./src/lisp.h Fri Mar 19 11:59:10 2004 @@ -45,6 +45,9 @@ Various macro-related changes by Martin Buchholz, 1998-1999: LIST_LOOP macros greatly expanded and tortoise-hared; RETURN_SANS_WARNINGS; reworked DEFUN macros; EXFUN macros (???). + Various macro-related changes by Jerry James, 2003: + MODULE_API introduced; + Compiler-specific definitions modernized and moved to compiler.h. */ #ifndef INCLUDED_lisp_h_ @@ -816,127 +819,7 @@ /* ------------------------ basic compiler defines ------------------- */ -/* Also define min() and max(). (Some compilers put them in strange - places that won't be referenced by the above include files, such - as 'macros.h' under Solaris.) */ - -#ifndef min -#define min(a,b) (((a) <= (b)) ? (a) : (b)) -#endif -#ifndef max -#define max(a,b) (((a) > (b)) ? (a) : (b)) -#endif - -/* Sim, senhor, prefiro toma-lo no cu. - - Regular C complains about possible clobbering of local vars NOT declared - as volatile if there's a longjmp() in a function. C++ complains if such - vars ARE volatile; or more correctly, sans volatile no problem even when - you longjmp, avec volatile you get unfixable compile errors like - -/src/xemacs/lilfix/src/process-unix.c: In function `void - unix_send_process(Lisp_Object, lstream*)': -/src/xemacs/lilfix/src/process-unix.c:1577: no matching function for call to ` - Lisp_Object::Lisp_Object(volatile Lisp_Object&)' -/src/xemacs/lilfix/src/lisp-union.h:32: candidates are: - Lisp_Object::Lisp_Object(const Lisp_Object&) -*/ - -#ifdef __cplusplus -#define VOLATILE_IF_NOT_CPP -#else -#define VOLATILE_IF_NOT_CPP volatile -#endif - -#ifndef PRINTF_ARGS -# if defined (__GNUC__) && (__GNUC__ >= 2) -# define PRINTF_ARGS(string_index,first_to_check) \ - __attribute__ ((format (printf, string_index, first_to_check))) -# else -# define PRINTF_ARGS(string_index,first_to_check) -# endif /* GNUC */ -#endif - -#ifndef DOESNT_RETURN -# if defined __GNUC__ -# if ((__GNUC__ > 2) || (__GNUC__ == 2) && (__GNUC_MINOR__ >= 5)) -# if __GNUC__ < 3 - /* GCC 3.2 -O3 issues complaints in Fcommand_loop_1 about no return - statement if we have this definition */ -# define RETURN_NOT_REACHED(value) DO_NOTHING -# endif -# define DOESNT_RETURN void -# define DECLARE_DOESNT_RETURN(decl) \ - extern void decl __attribute__ ((noreturn)) -# define DECLARE_DOESNT_RETURN_GCC_ATTRIBUTE_SYNTAX_SUCKS(decl,str,idx) \ - /* Should be able to state multiple independent __attribute__s, but \ - the losing syntax doesn't work that way, and screws losing cpp */ \ - extern void decl \ - __attribute__ ((noreturn, format (printf, str, idx))) -# else -# define DOESNT_RETURN void volatile -# define DECLARE_DOESNT_RETURN(decl) extern void volatile decl -# define DECLARE_DOESNT_RETURN_GCC_ATTRIBUTE_SYNTAX_SUCKS(decl,str,idx) \ - extern void volatile decl PRINTF_ARGS(str,idx) -# endif /* GNUC 2.5 */ -# else -# define DOESNT_RETURN void -# define DECLARE_DOESNT_RETURN(decl) extern void decl -# define DECLARE_DOESNT_RETURN_GCC_ATTRIBUTE_SYNTAX_SUCKS(decl,str,idx) \ - extern void decl PRINTF_ARGS(str,idx) -# endif /* GNUC */ -#endif - -/* Another try to fix SunPro C compiler warnings */ -/* "end-of-loop code not reached" */ -/* "statement not reached */ -#if defined __SUNPRO_C || defined __USLC__ -#define RETURN_SANS_WARNINGS if (1) return -#define RETURN_NOT_REACHED(value) DO_NOTHING -#endif - -/* More ways to shut up compiler. This works in Fcommand_loop_1(), - where there's an infinite loop in a function returning a Lisp object. -*/ -#if defined (_MSC_VER) || defined (__SUNPRO_C) || defined (__SUNPRO_CC) || \ - (defined (DEC_ALPHA) && defined (OSF1)) -#define DO_NOTHING_DISABLING_NO_RETURN_WARNINGS if (0) return Qnil -#else -#define DO_NOTHING_DISABLING_NO_RETURN_WARNINGS DO_NOTHING -#endif - -#ifndef RETURN_NOT_REACHED -#define RETURN_NOT_REACHED(value) return (value) -#endif - -#ifndef RETURN_SANS_WARNINGS -#define RETURN_SANS_WARNINGS return -#endif - -#ifndef DO_NOTHING -#define DO_NOTHING do {} while (0) -#endif - -#ifndef DECLARE_NOTHING -#define DECLARE_NOTHING struct nosuchstruct -#endif - -/*#ifdef DEBUG_XEMACS*/ -#define REGISTER -#define register -/*#else*/ -/*#define REGISTER register*/ -/*#endif*/ - -#if defined(HAVE_MS_WINDOWS) && defined(HAVE_SHLIB) -# ifdef EMACS_MODULE -# define MODULE_API __declspec(dllimport) -# else -# define MODULE_API __declspec(dllexport) -# endif -#else -# define MODULE_API -#endif +#include "compiler.h" /* ------------------------ alignment definitions ------------------- */ @@ -1005,9 +888,7 @@ data of TYPE. */ #define ALIGN_PTR(ptr, type) ((void *) ALIGN_FOR_TYPE ((size_t) (ptr), type)) -#ifdef __cplusplus -extern "C" { -#endif +BEGIN_C_DECLS /* ------------------------ assertions ------------------- */ @@ -1045,16 +926,6 @@ # endif #endif -/* #### - Why the hell do we do this??????????????????????????????? */ -/*#ifdef DEBUG_XEMACS*/ -#define REGISTER -#define register -/*#else*/ -/*#define REGISTER register*/ -/*#endif*/ - - /* EMACS_INT is the underlying integral type into which a Lisp_Object must fit. In particular, it must be large enough to contain a pointer. config.h can override this, e.g. to use `long long' for bigger lisp ints. @@ -1067,30 +938,14 @@ # define SIZEOF_EMACS_INT SIZEOF_VOID_P #endif -#if 0 -#ifdef USE_ASSERTIONS -/* Highly dubious kludge */ -/* (thanks, Jamie, I feel better now -- ben) */ -void assert_failed (const char *, int, const char *); -# define abort() (assert_failed (__FILE__, __LINE__, "abort()")) -# define assert(x) ((x) ? 1 : (assert_failed (__FILE__, __LINE__, #x), 0)) -#else -# ifdef DEBUG_XEMACS -# define assert(x) ((x) ? 1 : ((void) abort (), 0)) -# else -# define assert(x) (1) -# endif -#endif -#endif /* 0 */ - /* ------------------------ simple memory allocation ------------------- */ /* Memory allocation */ void malloc_warning (const char *); -MODULE_API void *xmalloc (Bytecount size); -MODULE_API void *xmalloc_and_zero (Bytecount size); -MODULE_API void *xrealloc (void *, Bytecount size); -MODULE_API char *xstrdup (const char *); +MODULE_API void *xmalloc (Bytecount size) ATTRIBUTE_MALLOC; +MODULE_API void *xmalloc_and_zero (Bytecount size) ATTRIBUTE_MALLOC; +MODULE_API void *xrealloc (void *, Bytecount size) ATTRIBUTE_MALLOC; +MODULE_API char *xstrdup (const char *) ATTRIBUTE_MALLOC; /* generally useful */ #define countof(x) ((int) (sizeof(x)/sizeof((x)[0]))) #define xnew(type) ((type *) xmalloc (sizeof (type))) @@ -1102,7 +957,7 @@ #define alloca_new(type) ((type *) ALLOCA (sizeof (type))) #define alloca_array(type, len) ((type *) ALLOCA ((len) * sizeof (type))) -MODULE_API void *xemacs_c_alloca (unsigned int size); +MODULE_API void *xemacs_c_alloca (unsigned int size) ATTRIBUTE_MALLOC; MODULE_API int record_unwind_protect_freeing (void *ptr); @@ -1223,16 +1078,15 @@ } \ } while (0) -#ifdef ERROR_CHECK_MALLOC MODULE_API void xfree_1 (void *); -#define xfree(lvalue) do \ +#ifdef ERROR_CHECK_MALLOC +#define xfree(lvalue,type) do \ { \ - void **xfree_ptr = (void **) &(lvalue); \ - xfree_1 (*xfree_ptr); \ - *xfree_ptr = (void *) 0xDEADBEEF; \ + xfree_1 (lvalue); \ + lvalue = (type) 0xDEADBEEF; \ } while (0) #else -MODULE_API void xfree (void *); +#define xfree(lvalue,type) xfree_1 (lvalue) #endif /* ERROR_CHECK_MALLOC */ /* ------------------------ dynamic arrays ------------------- */ @@ -1435,14 +1289,14 @@ typedef unsigned int USID; typedef int face_index; typedef int glyph_index; -typedef struct lstream Lstream; /* lstream-impl.h */ +typedef struct lstream Lstream; /* lstream.h */ typedef struct extent *EXTENT; /* extents-impl.h */ typedef struct Lisp_Event Lisp_Event; /* "events.h" */ typedef struct Lisp_Face Lisp_Face; /* "faces-impl.h" */ typedef struct Lisp_Process Lisp_Process; /* "procimpl.h" */ typedef struct Lisp_Color_Instance Lisp_Color_Instance; /* objects-impl.h */ typedef struct Lisp_Font_Instance Lisp_Font_Instance; /* objects-impl.h */ -typedef struct Lisp_Image_Instance Lisp_Image_Instance; /* glyphs-impl.h */ +typedef struct Lisp_Image_Instance Lisp_Image_Instance; /* glyphs.h */ typedef struct Lisp_Gui_Item Lisp_Gui_Item; /* ------------------------------- */ @@ -1676,9 +1530,7 @@ /* OK, you can open them again */ -#ifdef __cplusplus -} -#endif +END_C_DECLS /************************************************************************/ /** Definitions of basic Lisp objects **/ @@ -1686,9 +1538,7 @@ #include "lrecord.h" -#ifdef __cplusplus -extern "C" { -#endif +BEGIN_C_DECLS /*------------------------------ unbound -------------------------------*/ @@ -2839,9 +2689,7 @@ int finish_marking_weak_lists (void); void prune_weak_lists (void); -#ifdef __cplusplus -} -#endif +END_C_DECLS /************************************************************************/ /* Definitions related to the format of text and of characters */ @@ -2969,9 +2817,7 @@ #include "symeval.h" -#ifdef __cplusplus -extern "C" { -#endif +BEGIN_C_DECLS /* `specpdl' is the special binding/unwind-protect stack. @@ -3157,9 +3003,7 @@ extern MODULE_API struct gcpro *gcprolist; -#ifdef __cplusplus -} -#endif +END_C_DECLS /* #### Catching insufficient gcpro: @@ -3227,9 +3071,7 @@ and so some "This function can GC" comments may be inaccurate. */ -#ifdef __cplusplus -extern "C" { -#endif +BEGIN_C_DECLS #ifdef DEBUG_GCPRO @@ -3525,10 +3367,9 @@ void register_post_gc_action (void (*fun) (void *), void *arg); int begin_gc_forbidden (void); void end_gc_forbidden (int count); +extern int gc_currently_forbidden; -#ifdef __cplusplus -} -#endif +END_C_DECLS /************************************************************************/ @@ -3554,9 +3395,7 @@ /* Prototypes for all init/syms_of/vars_of initialization functions. */ #include "symsinit.h" -#ifdef __cplusplus -extern "C" { -#endif +BEGIN_C_DECLS /* Defined in abbrev.c */ MODULE_API EXFUN (Fexpand_abbrev, 0); @@ -3921,10 +3760,8 @@ Error_Behavior); Lisp_Object maybe_signal_continuable_error_1 (Lisp_Object, Lisp_Object, Lisp_Object, Error_Behavior); -MODULE_API DECLARE_DOESNT_RETURN_GCC_ATTRIBUTE_SYNTAX_SUCKS (signal_ferror - (Lisp_Object, - const CIbyte *, - ...), 2, 3); +MODULE_API DECLARE_DOESNT_RETURN (signal_ferror (Lisp_Object, const CIbyte *, + ...)) PRINTF_ARGS(2, 3); void maybe_signal_ferror (Lisp_Object, Lisp_Object, Error_Behavior, const CIbyte *, ...) PRINTF_ARGS (4, 5); Lisp_Object signal_continuable_ferror (Lisp_Object, const CIbyte *, ...) @@ -3944,10 +3781,9 @@ Lisp_Object maybe_signal_continuable_error (Lisp_Object, const CIbyte *, Lisp_Object, Lisp_Object, Error_Behavior); -DECLARE_DOESNT_RETURN_GCC_ATTRIBUTE_SYNTAX_SUCKS (signal_ferror_with_frob - (Lisp_Object, Lisp_Object, - const CIbyte *, - ...), 3, 4); +DECLARE_DOESNT_RETURN (signal_ferror_with_frob (Lisp_Object, Lisp_Object, + const CIbyte *, ...)) + PRINTF_ARGS(3, 4); void maybe_signal_ferror_with_frob (Lisp_Object, Lisp_Object, Lisp_Object, Error_Behavior, const CIbyte *, ...) PRINTF_ARGS (5, 6); @@ -3972,10 +3808,12 @@ Error_Behavior); -DECLARE_DOESNT_RETURN (signal_malformed_list_error (Lisp_Object)); -DECLARE_DOESNT_RETURN (signal_malformed_property_list_error (Lisp_Object)); -DECLARE_DOESNT_RETURN (signal_circular_list_error (Lisp_Object)); -DECLARE_DOESNT_RETURN (signal_circular_property_list_error (Lisp_Object)); +MODULE_API DECLARE_DOESNT_RETURN (signal_malformed_list_error (Lisp_Object)); +MODULE_API DECLARE_DOESNT_RETURN (signal_malformed_property_list_error + (Lisp_Object)); +MODULE_API DECLARE_DOESNT_RETURN (signal_circular_list_error (Lisp_Object)); +MODULE_API DECLARE_DOESNT_RETURN (signal_circular_property_list_error + (Lisp_Object)); DECLARE_DOESNT_RETURN (syntax_error (const CIbyte *reason, Lisp_Object frob)); @@ -4029,10 +3867,9 @@ Lisp_Object frob)); DECLARE_DOESNT_RETURN (stack_overflow (const CIbyte *reason, Lisp_Object frob)); -MODULE_API -DECLARE_DOESNT_RETURN_GCC_ATTRIBUTE_SYNTAX_SUCKS (printing_unreadable_object - (const CIbyte *, - ...), 1, 2); +MODULE_API DECLARE_DOESNT_RETURN (printing_unreadable_object (const CIbyte *, + ...)) + PRINTF_ARGS (1, 2); Lisp_Object signal_void_function_error (Lisp_Object); Lisp_Object signal_invalid_function_error (Lisp_Object); @@ -4601,8 +4438,7 @@ void stdout_out (const CIbyte *, ...) PRINTF_ARGS (1, 2); void external_out (int dest, const CIbyte *fmt, ...) PRINTF_ARGS (2, 3); void debug_out (const CIbyte *, ...) PRINTF_ARGS (1, 2); -DECLARE_DOESNT_RETURN_GCC_ATTRIBUTE_SYNTAX_SUCKS (fatal (const CIbyte *, - ...), 1, 2); +DECLARE_DOESNT_RETURN (fatal (const CIbyte *, ...)) PRINTF_ARGS(1, 2); /* Internal functions: */ Lisp_Object canonicalize_printcharfun (Lisp_Object printcharfun); @@ -5283,7 +5119,7 @@ extern Lisp_Object Vecho_area_buffer, Vemacs_major_version; extern Lisp_Object Vemacs_minor_version, Vexec_directory, Vexec_path; extern Lisp_Object Vexecuting_macro, Vfeatures, Vfile_domain; -extern Lisp_Object Vinhibit_quit, Vinvocation_directory, Vinvocation_name; +extern Lisp_Object Vinvocation_directory, Vinvocation_name; extern Lisp_Object Vlast_command, Vlast_command_char; extern Lisp_Object Vlast_command_event, Vlast_input_event; extern Lisp_Object Vload_file_name_internal; @@ -5293,7 +5129,6 @@ extern Lisp_Object Vmodule_directory, Vmswindows_downcase_file_names; extern Lisp_Object Vmswindows_get_true_file_attributes, Vobarray; extern Lisp_Object Vprint_length, Vprint_level, Vprocess_environment; -extern Lisp_Object Vquit_flag; extern Lisp_Object Vrecent_keys_ring, Vshell_file_name, Vsite_directory; extern Lisp_Object Vsite_module_directory; extern Lisp_Object Vstandard_input, Vstandard_output, Vstdio_str; @@ -5301,8 +5136,8 @@ extern Lisp_Object Vthis_command_keys, Vunread_command_event; extern Lisp_Object Vx_initial_argv_list; -#ifdef __cplusplus -} -#endif +extern MODULE_API Lisp_Object Vinhibit_quit, Vquit_flag; + +END_C_DECLS #endif /* INCLUDED_lisp_h_ */ diff --text -u 'xemacs-21.5.16/src/lread.c' 'xemacs-21.5.17/src/lread.c' Index: ./src/lread.c --- ./src/lread.c Thu Feb 13 18:57:07 2003 +++ ./src/lread.c Sun Jan 4 06:54:42 2004 @@ -1364,7 +1364,7 @@ { /* This function can GC */ REGISTER Ichar c; - REGISTER Lisp_Object val = Qnil; + Lisp_Object val = Qnil; int speccount = specpdl_depth (); struct gcpro gcpro1, gcpro2; struct buffer *b = 0; diff --text -u 'xemacs-21.5.16/src/lrecord.h' 'xemacs-21.5.17/src/lrecord.h' Index: ./src/lrecord.h --- ./src/lrecord.h Tue Sep 16 12:57:59 2003 +++ ./src/lrecord.h Tue Oct 14 14:03:06 2003 @@ -58,9 +58,7 @@ the opaque type. --ben */ -#ifdef __cplusplus -extern "C" { -#endif +BEGIN_C_DECLS struct lrecord_header { @@ -1594,8 +1592,6 @@ #endif /* defined (USE_KKCC) || defined (PDUMP) */ -#ifdef __cplusplus -} -#endif +END_C_DECLS #endif /* INCLUDED_lrecord_h_ */ diff --text -u 'xemacs-21.5.16/src/lstream.c' 'xemacs-21.5.17/src/lstream.c' Index: ./src/lstream.c --- ./src/lstream.c Sun Jan 12 20:08:18 2003 +++ ./src/lstream.c Tue Mar 9 00:41:36 2004 @@ -777,7 +777,7 @@ static int Lstream_pseudo_close (Lstream *lstr) { - if (!lstr->flags & LSTREAM_FL_IS_OPEN) + if (! (lstr->flags & LSTREAM_FL_IS_OPEN)) Lstream_internal_error ("lstream is not open", lstr); /* don't check errors here -- best not to risk file descriptor loss */ @@ -842,17 +842,17 @@ is called more than once on the same object */ if (lstr->out_buffer) { - xfree (lstr->out_buffer); + xfree (lstr->out_buffer, unsigned char *); lstr->out_buffer = 0; } if (lstr->in_buffer) { - xfree (lstr->in_buffer); + xfree (lstr->in_buffer, unsigned char *); lstr->in_buffer = 0; } if (lstr->unget_buffer) { - xfree (lstr->unget_buffer); + xfree (lstr->unget_buffer, unsigned char *); lstr->unget_buffer = 0; } @@ -1540,7 +1540,7 @@ struct resizing_buffer_stream *str = RESIZING_BUFFER_STREAM_DATA (stream); if (str->buf) { - xfree (str->buf); + xfree (str->buf, unsigned char *); str->buf = 0; } return 0; diff --text -u 'xemacs-21.5.16/src/menubar-msw.c' 'xemacs-21.5.17/src/menubar-msw.c' Index: ./src/menubar-msw.c --- ./src/menubar-msw.c Sun Mar 9 11:27:45 2003 +++ ./src/menubar-msw.c Wed Feb 18 00:20:57 2004 @@ -273,7 +273,7 @@ goto done; } - if (!gui_item_active_p (gui_item, 0)) + if (!gui_item_active_p (gui_item)) item_info.fState = MFS_GRAYED; /* Temptation is to put 'else' right here. Although, the displayed item won't have an arrow indicating that it is a @@ -328,7 +328,7 @@ if (!STRINGP (pgui_item->name)) pgui_item->name = Feval (pgui_item->name); - if (!gui_item_active_p (gui_item, 0)) + if (!gui_item_active_p (gui_item)) item_info.fState = MFS_GRAYED; style = (NILP (pgui_item->selected) || NILP (Feval (pgui_item->selected)) diff --text -u 'xemacs-21.5.16/src/menubar-x.c' 'xemacs-21.5.17/src/menubar-x.c' Index: ./src/menubar-x.c --- ./src/menubar-x.c Sun Mar 9 11:27:45 2003 +++ ./src/menubar-x.c Thu Feb 19 11:49:20 2004 @@ -336,23 +336,6 @@ return wv; } -static widget_value * -menu_item_descriptor_to_widget_value (Lisp_Object desc, - int menu_type, /* if this is a menubar, - popup or sub menu */ - int deep_p, /* */ - int filter_p) /* if :filter forms - should run now */ -{ - widget_value *wv; - int count = begin_gc_forbidden (); - /* Can't GC! */ - wv = menu_item_descriptor_to_widget_value_1 (desc, menu_type, deep_p, - filter_p, 0); - unbind_to (count); - return wv; -} - struct menu_item_descriptor_to_widget_value { Lisp_Object desc; @@ -365,11 +348,14 @@ { struct menu_item_descriptor_to_widget_value *midtwv = (struct menu_item_descriptor_to_widget_value *) gack; - - midtwv->wv = menu_item_descriptor_to_widget_value (midtwv->desc, - midtwv->menu_type, - midtwv->deep_p, - midtwv->filter_p); + int count = begin_gc_forbidden (); + /* Can't GC! */ + midtwv->wv = menu_item_descriptor_to_widget_value_1 (midtwv->desc, + midtwv->menu_type, + midtwv->deep_p, + midtwv->filter_p, + 0); + unbind_to (count); return Qnil; } @@ -405,6 +391,36 @@ return midtwv.wv; } +/* The two callers of menu_item_descriptor_to_widget_value may both run while + in redisplay. Some descriptor to widget value conversions call Feval, and + at least one calls QUIT. Hence, we have to establish protection here.. */ + +static widget_value * +menu_item_descriptor_to_widget_value (Lisp_Object desc, + int menu_type, /* if this is a menubar, + popup or sub menu */ + int deep_p, /* */ + int filter_p) /* if :filter forms + should run now */ +{ + struct menu_item_descriptor_to_widget_value midtwv; + Lisp_Object retval; + + midtwv.desc = desc; + midtwv.menu_type = menu_type; + midtwv.deep_p = deep_p; + midtwv.filter_p = filter_p; + + retval = call_trapping_problems + (Qevent, "Error during menu construction", 0, NULL, + protected_menu_item_descriptor_to_widget_value_1, &midtwv); + + if (UNBOUNDP (retval)) + return NULL; + + return midtwv.wv; +} + /* The order in which callbacks are run is funny to say the least. It's sometimes tricky to avoid running a callback twice, and to avoid returning prematurely. So, this function returns true diff --text -u 'xemacs-21.5.16/src/menubar.c' 'xemacs-21.5.17/src/menubar.c' Index: ./src/menubar.c --- ./src/menubar.c Fri Feb 21 15:56:59 2003 +++ ./src/menubar.c Wed Feb 18 00:20:57 2004 @@ -202,7 +202,7 @@ desc = menu_parse_submenu_keywords (desc, gui_item); /* Check that this (sub)menu is active */ - if (!gui_item_active_p (gui_item, 0)) + if (!gui_item_active_p (gui_item)) RETURN_UNGCPRO (Qnil); /* Apply :filter */ diff --text -u 'xemacs-21.5.16/src/mule-charset.c' 'xemacs-21.5.17/src/mule-charset.c' Index: ./src/mule-charset.c --- ./src/mule-charset.c Sun Jan 12 20:08:19 2003 +++ ./src/mule-charset.c Wed Oct 15 02:27:54 2003 @@ -301,8 +301,13 @@ } else { + /* awfully fragile, but correct */ +#if MAX_LEADING_BYTE_PRIVATE_2 == 255 + if (chlook->next_allocated_2_byte_leading_byte == 0) +#else if (chlook->next_allocated_2_byte_leading_byte > MAX_LEADING_BYTE_PRIVATE_2) +#endif lb = 0; else lb = chlook->next_allocated_2_byte_leading_byte++; diff --text -u 'xemacs-21.5.16/src/mule-coding.c' 'xemacs-21.5.17/src/mule-coding.c' Index: ./src/mule-coding.c --- ./src/mule-coding.c Sun Jan 12 20:08:19 2003 +++ ./src/mule-coding.c Wed Oct 1 00:26:52 2003 @@ -2972,7 +2972,7 @@ { struct iso2022_detector *data = DETECTION_STATE_DATA (st, iso2022); if (data->iso) - xfree (data->iso); + xfree (data->iso, struct iso2022_coding_stream *); } diff --text -u 'xemacs-21.5.16/src/nas.c' 'xemacs-21.5.17/src/nas.c' Index: ./src/nas.c --- ./src/nas.c Sun Mar 9 11:27:45 2003 +++ ./src/nas.c Wed Oct 15 01:34:57 2003 @@ -113,6 +113,18 @@ # include