Mercurial > hg > xemacs-beta
changeset 274:ca9a9ec9c1c1 r21-0b35
Import from CVS: tag r21-0b35
line wrap: on
line diff
--- a/CHANGES-beta Mon Aug 13 10:28:54 2007 +0200 +++ b/CHANGES-beta Mon Aug 13 10:29:42 2007 +0200 @@ -1,4 +1,25 @@ -*- indented-text -*- +to 21.0 beta35 "Peacock Goat" +-- info fixes from Oscar Figueiredo +-- Various fixes from Hrvoje Niksic +-- More clean up patches from Martin Buchholz +-- MS Windows processes patches from Kirill Katsnelson +-- path searching patches from Michael Sperber +-- clean up patches from Martin Buchholz +-- Various fixes from Hrvoje Niksic +-- BSD fixes from IENAGA Kazuyuki +-- glyphs-x.c cleanup from Colin Rafferty +-- MS windows fixes from Kirill Katsnelson +-- toolbar clean up from Jeff Miller +-- Hunt the Wumpus 64 bit cleanness patches from Oliver Graf +-- miscellaneous bug fixes +-- info updates from Oscar Figueiredo +-- Various patches from Andreas Jaegar, Olivier Galibert, Karl Hegbloom, + and Amir Katz +-- FAQ update from Christian Nybø +-- miscellaneous fixes from Martin Buchholz +-- package-get-base.el updated + to 21.0 beta34 "Oberhasli" -- defsymbol cleanup from Martin Buchholz -- miscellaneous patches from Martin Buchholz
--- a/ChangeLog Mon Aug 13 10:28:54 2007 +0200 +++ b/ChangeLog Mon Aug 13 10:29:42 2007 +0200 @@ -1,3 +1,41 @@ +1998-04-10 SL Baur <steve@altair.xemacs.org> + + * XEmacs 21.0-beta35 is released. + +1998-04-10 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * etc/NEWS: Documented that Info-default-directory-list and + site-directory are gone. + + * configure.usage: Clarified --package-path documentation. + +1998-04-07 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * configure.in: Now generates src/paths.h from src/paths.h.in.in. + Removed defaults for infopath and package-path. + + * Makefile.in (src/paths.h): ... is now generated from + src/paths.h.in.in. Moved generation of paths.h to configure. + + * paths.h.in: Removed. + + * paths.h.in.in: Created. + +1998-04-06 Martin Buchholz <martin@xemacs.org> + + * configure.in: png was still being used if png_version < 0.96 + + * configure.in: Fixed magic to handle AIX, X11R6, and gcc. + +1998-04-05 Amir J. Katz <amir@ndsoft.com> + + * INSTALL (Rationale): Offix support comment is wrong. To disable, + one must use --with-offix=no and not --without-offix + +1998-04-05 SL Baur <steve@altair.xemacs.org> + + * configure.in (CPP): ppc.ldscript sits in $srcdir/src not $srcdir. + 1998-04-04 SL Baur <steve@altair.xemacs.org> * XEmacs 21.0-beta34 is released.
--- a/INSTALL Mon Aug 13 10:28:54 2007 +0200 +++ b/INSTALL Mon Aug 13 10:29:42 2007 +0200 @@ -263,7 +263,7 @@ The `--with-offix' option allows you to enable or disable OffiX drag and drop support. This requires no external library support, so if X11 support is available, then this option defaults to `yes'. OffiX -support can be explicitly disabled via the `--without-offix' option. +support can be explicitly disabled via the `--with-offix=no' option. The `--external-widget' option specifies that XEmacs should be built with support for being used as a widget by other X11 applications.
--- a/Makefile.in Mon Aug 13 10:28:54 2007 +0200 +++ b/Makefile.in Mon Aug 13 10:29:42 2007 +0200 @@ -117,14 +117,9 @@ ## system, it is inappropriate to imply that it is part of XEmacs. infodir=@infodir@ -## This is set to 'yes' if the user specified the --infodir flag at -## configuration time. -infodir_user_defined=@infodir_user_defined@ - ## Document me. ## See callproc.c for code which references this. infopath=@infopath@ -infopath_user_defined=@infopath_user_defined@ ## Where to find the source code. The source code for XEmacs's C kernel is ## expected to be in ${srcdir}/src, and the source code for XEmacs's @@ -148,18 +143,6 @@ ## themselves in separate directories. lispdir=@lispdir@ -## This is set to 'yes' if the user specified the --lispdir or -## --datadir flag at configuration time. -lispdir_user_defined=@lispdir_user_defined@ - -## Where packages are found. -package_path=@package_path@ - -## This is set to 'yes' if the user specified the --package_path -## at configuration time. -package_path_user_defined=@package_path_user_defined@ - - ## Directory XEmacs should search for lisp files specific ## to this site (i.e. customizations), before consulting ## ${lispdir}. @@ -183,19 +166,11 @@ ## at once. etcdir=@etcdir@ -## This is set to 'yes' if the user specified the --etcdir or -## --datadir flag at configuration time. -etcdir_user_defined=@etcdir_user_defined@ - ## Where to create and expect the locking directory, where ## the XEmacs locking code keeps track of which files are ## currently being edited. lockdir=@lockdir@ -## This is set to 'yes' if the user specified the --lockdir or -## --statedir flag at configuration time. -lockdir_user_defined=@lockdir_user_defined@ - ## Where to put executables to be run by XEmacs rather than ## the user. This path usually includes the XEmacs version ## and configuration name, so that multiple configurations @@ -203,10 +178,6 @@ ## once. archlibdir=@archlibdir@ -## This is set to 'yes' if the user specified any of --exec-prefix, -## --libdir or --archlibdir at configuration time. -archlibdir_user_defined=@archlibdir_user_defined@ - ## ==================== Utility Programs for the Build ==================== ## Allow the user to specify the install program. @@ -259,10 +230,21 @@ dist: all-elc info ## Convenience target for XEmacs maintainers -## Updates configure from configure.in and updates config.values.in -configure: configure.in - autoconf - /bin/sh lib-src/config.values.sh +## Updates some rarely generated files: +## - configure from configure.in +## - config.values.in from configure +## - src/depend from src/*.[ch] +.PHONY: config configure depend +config: configure depend +configure: ${srcdir}/configure +${srcdir}/configure: ${srcdir}/configure.in + cd ${srcdir} && autoconf + cd ${srcdir} && /bin/sh lib-src/config.values.sh + +depend ${srcdir}/src/depend: + cd ${srcdir}/src && \ + perl ./make-src-depend > depend.tmp && \ + $(RM) depend && mv depend.tmp depend ## Build XEmacs and recompile out-of-date and missing .elc files along ## the way. @@ -295,50 +277,6 @@ -l finder -f finder-compile-keywords ) @echo "Building finder database ...(done)" -## We force the rebuilding of src/paths.h because the user might give -## different values for the various directories. Since we use -## move-if-change, src/paths.h only actually changes if the user did -## something notable, so the only unnecessary work we do is in building -## src/paths.h.tmp, which isn't much. Note that sed is not in /bin on -## 386bsd. -src/paths.h: Makefile ${srcdir}/src/paths.h.in FRC.src.paths.h - @echo "Producing \`src/paths.h' from \`src/paths.h.in'." - @$(RM) src/paths.h.tmp - @cp ${srcdir}/src/paths.h.in src/paths.h.tmp - @-chmod 0644 src/paths.h.tmp - @(echo '#define PATH_PREFIX "${prefix}"'; \ - if test "${lispdir_user_defined}" = "yes"; \ - then echo '#define PATH_LOADSEARCH "${lispdir}"'; \ - else echo '/* #define PATH_LOADSEARCH "${lispdir}" */'; \ - fi; \ - if test "${package_path_user_defined}" = "yes"; \ - then echo '#define PATH_PACKAGEPATH "${package_path}"'; \ - else echo '/* #define PATH_PACKAGEPATH "${package_path}" */'; \ - fi; \ - if test "${sitelispdir_user_defined}" = "yes"; \ - then echo '#define PATH_SITE "${sitelispdir}"'; \ - else echo '/* #define PATH_SITE "${sitelispdir}" */'; \ - fi; \ - if test "${archlibdir_user_defined}" = "yes"; \ - then echo '#define PATH_EXEC "${archlibdir}"'; \ - else echo '/* #define PATH_EXEC "${archlibdir}" */'; \ - fi; \ - if test "${etcdir_user_defined}" = "yes"; \ - then echo '#define PATH_DATA "${etcdir}"'; \ - else echo '/* #define PATH_DATA "${etcdir}" */'; \ - fi; \ - if test "${lockdir_user_defined}" = "yes"; \ - then echo '#define PATH_LOCK "${lockdir}"'; \ - else echo '/* #define PATH_LOCK "${lockdir}" */'; \ - fi; \ - if test "${infodir_user_defined}" = "yes"; \ - then echo '#define PATH_INFO "${infodir}"'; \ - else echo '/* #define PATH_INFO "${infodir}" */'; \ - fi; \ - echo '#define PATH_INFOPATH "${infopath}"'; \ - ) >> src/paths.h.tmp; \ - sh ${srcdir}/move-if-change src/paths.h.tmp src/paths.h - ## We have to force the building of Emacs.ad.h as well in order to get it ## updated correctly when VPATH is being used. Since we use move-if-change, ## it will only actually change if the user modified ${etcdir}/Emacs.ad. @@ -392,6 +330,9 @@ src/config.h: ${srcdir}/src/config.h.in ./config.status && touch $@ +src/paths.h: ${srcdir}/src/paths.h.in.in + ./config.status && touch $@ + lwlib/config.h: ${srcdir}/lwlib/config.h.in ./config.status && touch $@
--- a/PROBLEMS Mon Aug 13 10:28:54 2007 +0200 +++ b/PROBLEMS Mon Aug 13 10:29:42 2007 +0200 @@ -199,6 +199,19 @@ Compiler fixes in Irix 6.0.1 should eliminate this problem. +** Coredumping in Irix 6.2 + +Pete Forman <gsez020@compo.bedford.waii.com> writes: +A problem noted by myself and others (I've lost the references) was +that XEmacs coredumped when the cut or copy toolbar buttons were +pressed. This has been fixed by loading the SGI patchset (Feb 98) +without having to recompile XEmacs. + +My versions are XEmacs 20.3 (problem first noted in 19.15) and IRIX +6.2, compiled using -n32. I'd guess that the relevant individual +patch was "SG0002580: multiple fixes for X libraries". SGI recommends +that the complete patch set be installed rather than parts of it. + ** Native cc on SCO OpenServer 5 is now OK. Icc may still throw you a curve. Here is what Robert Lipe <robertl@arnet.com> says:
--- a/configure Mon Aug 13 10:28:54 2007 +0200 +++ b/configure Mon Aug 13 10:29:42 2007 +0200 @@ -218,21 +218,14 @@ libdir='${exec_prefix}/lib' mandir='${prefix}/man/man1' infodir='${datadir}/xemacs-${version}/info' -infodir_user_defined='no' -infopath='/usr/local/lib/texmf/doc/info:/usr/local/lib/texmf/info:/usr/lib/texmf/doc/info:/usr/lib/texmf/info:/usr/local/info:/usr/info' +infopath='' lispdir='${datadir}/xemacs-${version}/lisp' -lispdir_user_defined='no' sitelispdir='${datadir}/xemacs/site-lisp' -sitelispdir_user_defined='no' pkgdir='${datadir}/xemacs-${version}/lisp' -package_path='~/.xemacs::${datadir}/xemacs-${version}/mule-packages:${datadir}/xemacs/mule-packages:${datadir}/xemacs-${version}/packages:${datadir}/xemacs/packages' -package_path_user_defined='no' +package_path='' etcdir='${datadir}/xemacs-${version}/etc' -etcdir_user_defined='no' lockdir='${statedir}/xemacs/lock' -lockdir_user_defined='no' archlibdir='${libdir}/xemacs-${version}/${configuration}' -archlibdir_user_defined='no' with_site_lisp='no' with_menubars='' with_scrollbars='' @@ -289,14 +282,14 @@ ;; esac + optname="$opt" + opt="`echo '' $opt | sed -e 's:^ ::' | tr - _`" + case "${valomitted}-${opt}" in yes-without_* ) opt=`echo $opt | sed 's/without/with/'` valomitted="no" val="no" ;; esac - optname="$opt" - opt="`echo '' $opt | sed -e 's:^ ::' | tr - _`" - case "$opt" in run_in_place | \ @@ -552,14 +545,78 @@ eval "$opt=\"$val\"" case "$opt" in - lispdir ) lispdir_user_defined=yes ;; - sitelispdir ) sitelispdir_user_defined=yes ;; - etcdir ) etcdir_user_defined=yes ;; - infodir ) infodir_user_defined=yes ;; - package_path ) package_path_user_defined=yes ;; - datadir ) lispdir_user_defined=yes etcdir_user_defined=yes ;; - statedir | lockdir ) lockdir_user_defined=yes ;; - exec_prefix | libdir | archlibdir ) archlibdir_user_defined=yes ;; + lispdir ) { test "$extra_verbose" = "yes" && cat << \EOF + Defining LISPDIR_USER_DEFINED +EOF +cat >> confdefs.h <<\EOF +#define LISPDIR_USER_DEFINED 1 +EOF +} + ;; + sitelispdir ) { test "$extra_verbose" = "yes" && cat << \EOF + Defining SITELISPDIR_USER_DEFINED +EOF +cat >> confdefs.h <<\EOF +#define SITELISPDIR_USER_DEFINED 1 +EOF +} + ;; + etcdir ) { test "$extra_verbose" = "yes" && cat << \EOF + Defining ETCDIR_USER_DEFINED +EOF +cat >> confdefs.h <<\EOF +#define ETCDIR_USER_DEFINED 1 +EOF +} + ;; + infodir ) { test "$extra_verbose" = "yes" && cat << \EOF + Defining INFODIR_USER_DEFINED +EOF +cat >> confdefs.h <<\EOF +#define INFODIR_USER_DEFINED 1 +EOF +} + ;; + infopath ) { test "$extra_verbose" = "yes" && cat << \EOF + Defining INFOPATH_USER_DEFINED +EOF +cat >> confdefs.h <<\EOF +#define INFOPATH_USER_DEFINED 1 +EOF +} + ;; + package_path ) { test "$extra_verbose" = "yes" && cat << \EOF + Defining PACKAGE_PATH_USER_DEFINED +EOF +cat >> confdefs.h <<\EOF +#define PACKAGE_PATH_USER_DEFINED 1 +EOF +} + ;; + datadir ) { test "$extra_verbose" = "yes" && cat << \EOF + Defining ETCDIR_USER_DEFINED +EOF +cat >> confdefs.h <<\EOF +#define ETCDIR_USER_DEFINED 1 +EOF +} + ;; + statedir | lockdir ) { test "$extra_verbose" = "yes" && cat << \EOF + Defining LOCKDIR_USER_DEFINED +EOF +cat >> confdefs.h <<\EOF +#define LOCKDIR_USER_DEFINED 1 +EOF +} + ;; + exec_prefix | libdir | archlibdir ) { test "$extra_verbose" = "yes" && cat << \EOF + Defining ARCHLIBDIR_USER_DEFINED +EOF +cat >> confdefs.h <<\EOF +#define ARCHLIBDIR_USER_DEFINED 1 +EOF +} + ;; esac ;; @@ -604,7 +661,6 @@ test -n "$libs" && LIBS="$libs" test -n "$ldflags" && LDFLAGS="$ldflags" - eval set x "$quoted_arguments"; shift test "$extra_verbose" = "yes" && verbose=yes @@ -670,7 +726,7 @@ if test -z "$configuration"; then echo $ac_n "checking "host system type"""... $ac_c" 1>&6 -echo "configure:674: checking "host system type"" >&5 +echo "configure:730: checking "host system type"" >&5 if configuration=`${CONFIG_SHELL-/bin/sh} $srcdir/config.guess | \ sed 's/^\([^-][^-]*-[^-][^-]*-[^-][^-]*\)-.*$/\1/'` ; then echo "$ac_t""$configuration" 1>&6 @@ -684,7 +740,7 @@ fi echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -echo "configure:688: checking whether ln -s works" >&5 +echo "configure:744: checking whether ln -s works" >&5 rm -f conftestdata if ln -s X conftestdata 2>/dev/null @@ -861,7 +917,7 @@ echo "checking "the configuration name"" 1>&6 -echo "configure:865: checking "the configuration name"" >&5 +echo "configure:921: checking "the configuration name"" >&5 internal_configuration=`echo $configuration | sed 's/-\(workshop\)//'` if canonical=`$srcdir/config.sub "$internal_configuration"` ; then : ; else exit $? @@ -1325,7 +1381,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:1329: checking for $ac_word" >&5 +echo "configure:1385: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1351,7 +1407,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:1355: checking for $ac_word" >&5 +echo "configure:1411: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1396,7 +1452,7 @@ fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1400: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1456: 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' @@ -1408,11 +1464,11 @@ cross_compiling=no cat > conftest.$ac_ext <<EOF -#line 1412 "configure" +#line 1468 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:1416: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1472: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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 @@ -1432,19 +1488,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:1436: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1492: 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:1441: checking whether we are using GNU C" >&5 +echo "configure:1497: checking whether we are using GNU C" >&5 cat > conftest.c <<EOF #ifdef __GNUC__ yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1448: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1504: \"$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 @@ -1458,7 +1514,7 @@ ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1462: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1518: checking whether ${CC-cc} accepts -g" >&5 echo 'void f(){}' > conftest.c if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then @@ -1487,7 +1543,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:1491: checking for $ac_word" >&5 +echo "configure:1547: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1513,7 +1569,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:1517: checking for $ac_word" >&5 +echo "configure:1573: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1558,7 +1614,7 @@ fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1562: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1618: 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' @@ -1570,11 +1626,11 @@ cross_compiling=no cat > conftest.$ac_ext <<EOF -#line 1574 "configure" +#line 1630 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:1578: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1634: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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 @@ -1594,19 +1650,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:1598: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1654: 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:1603: checking whether we are using GNU C" >&5 +echo "configure:1659: checking whether we are using GNU C" >&5 cat > conftest.c <<EOF #ifdef __GNUC__ yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1610: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1666: \"$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 @@ -1620,7 +1676,7 @@ ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1624: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1680: checking whether ${CC-cc} accepts -g" >&5 echo 'void f(){}' > conftest.c if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then @@ -1649,7 +1705,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:1653: checking for $ac_word" >&5 +echo "configure:1709: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1675,7 +1731,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:1679: checking for $ac_word" >&5 +echo "configure:1735: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1720,7 +1776,7 @@ fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1724: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1780: 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' @@ -1732,11 +1788,11 @@ cross_compiling=no cat > conftest.$ac_ext <<EOF -#line 1736 "configure" +#line 1792 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:1740: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1796: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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 @@ -1756,19 +1812,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:1760: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1816: 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:1765: checking whether we are using GNU C" >&5 +echo "configure:1821: checking whether we are using GNU C" >&5 cat > conftest.c <<EOF #ifdef __GNUC__ yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1772: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1828: \"$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 @@ -1782,7 +1838,7 @@ ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1786: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1842: checking whether ${CC-cc} accepts -g" >&5 echo 'void f(){}' > conftest.c if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then @@ -1815,7 +1871,7 @@ 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:1819: checking how to run the C preprocessor" >&5 +echo "configure:1875: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1828,13 +1884,13 @@ # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext <<EOF -#line 1832 "configure" +#line 1888 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1838: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1894: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1845,13 +1901,13 @@ rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext <<EOF -#line 1849 "configure" +#line 1905 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1855: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1911: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1874,9 +1930,9 @@ echo $ac_n "checking for AIX""... $ac_c" 1>&6 -echo "configure:1878: checking for AIX" >&5 -cat > conftest.$ac_ext <<EOF -#line 1880 "configure" +echo "configure:1934: checking for AIX" >&5 +cat > conftest.$ac_ext <<EOF +#line 1936 "configure" #include "confdefs.h" #ifdef _AIX yes @@ -1903,9 +1959,9 @@ echo $ac_n "checking for GNU libc""... $ac_c" 1>&6 -echo "configure:1907: checking for GNU libc" >&5 -cat > conftest.$ac_ext <<EOF -#line 1909 "configure" +echo "configure:1963: checking for GNU libc" >&5 +cat > conftest.$ac_ext <<EOF +#line 1965 "configure" #include "confdefs.h" #include <features.h> int main() { @@ -1917,7 +1973,7 @@ ; return 0; } EOF -if { (eval echo configure:1921: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1977: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* have_glibc=yes else @@ -1938,9 +1994,9 @@ echo $ac_n "checking whether we are using SunPro C""... $ac_c" 1>&6 -echo "configure:1942: checking whether we are using SunPro C" >&5 -cat > conftest.$ac_ext <<EOF -#line 1944 "configure" +echo "configure:1998: checking whether we are using SunPro C" >&5 +cat > conftest.$ac_ext <<EOF +#line 2000 "configure" #include "confdefs.h" int main() { @@ -1951,7 +2007,7 @@ ; return 0; } EOF -if { (eval echo configure:1955: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2011: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* __sunpro_c=yes else @@ -2214,7 +2270,7 @@ fi echo $ac_n "checking for dynodump""... $ac_c" 1>&6 -echo "configure:2218: checking for dynodump" >&5 +echo "configure:2274: checking for dynodump" >&5 if test "$unexec" != "unexsol2.o"; then echo "$ac_t""no" 1>&6 else @@ -2238,7 +2294,7 @@ fi -test "$machine$opsys" = "powerpclinux" && start_flags="-T $srcdir/ppc.ldscript" +test "$machine$opsys" = "powerpclinux" && start_flags="-T $srcdir/src/ppc.ldscript" if test "$unexec" = "unexaix.o"; then if test "$dynamic" = "no"; then @@ -2314,7 +2370,7 @@ if test "$add_runtime_path" = "yes"; then echo $ac_n "checking "for runtime libraries flag"""... $ac_c" 1>&6 -echo "configure:2318: checking "for runtime libraries flag"" >&5 +echo "configure:2374: checking "for runtime libraries flag"" >&5 dash_r="" for try_dash_r in "-R" "-R " "-rpath "; do xe_check_libs="${try_dash_r}/no/such/file-or-directory" @@ -2332,14 +2388,14 @@ done fi cat > conftest.$ac_ext <<EOF -#line 2336 "configure" -#include "confdefs.h" - -int main() { - -; return 0; } -EOF -if { (eval echo configure:2343: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +#line 2392 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:2399: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* dash_r="$try_dash_r" else @@ -2439,10 +2495,10 @@ fi after_morecore_hook_exists=yes echo $ac_n "checking for malloc_get_state""... $ac_c" 1>&6 -echo "configure:2443: checking for malloc_get_state" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2446 "configure" +echo "configure:2499: checking for malloc_get_state" >&5 + +cat > conftest.$ac_ext <<EOF +#line 2502 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char malloc_get_state(); below. */ @@ -2465,7 +2521,7 @@ ; return 0; } EOF -if { (eval echo configure:2469: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2525: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_malloc_get_state=yes" else @@ -2485,10 +2541,10 @@ fi echo $ac_n "checking for malloc_set_state""... $ac_c" 1>&6 -echo "configure:2489: checking for malloc_set_state" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2492 "configure" +echo "configure:2545: checking for malloc_set_state" >&5 + +cat > conftest.$ac_ext <<EOF +#line 2548 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char malloc_set_state(); below. */ @@ -2511,7 +2567,7 @@ ; return 0; } EOF -if { (eval echo configure:2515: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2571: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_malloc_set_state=yes" else @@ -2531,16 +2587,16 @@ fi echo $ac_n "checking whether __after_morecore_hook exists""... $ac_c" 1>&6 -echo "configure:2535: checking whether __after_morecore_hook exists" >&5 -cat > conftest.$ac_ext <<EOF -#line 2537 "configure" +echo "configure:2591: checking whether __after_morecore_hook exists" >&5 +cat > conftest.$ac_ext <<EOF +#line 2593 "configure" #include "confdefs.h" extern void (* __after_morecore_hook)(); int main() { __after_morecore_hook = 0 ; return 0; } EOF -if { (eval echo configure:2544: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2600: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "$ac_t""yes" 1>&6 else @@ -2599,7 +2655,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:2603: checking for $ac_word" >&5 +echo "configure:2659: checking for $ac_word" >&5 if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. @@ -2652,7 +2708,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:2656: checking for a BSD compatible install" >&5 +echo "configure:2712: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="${IFS}:" @@ -2703,7 +2759,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:2707: checking for $ac_word" >&5 +echo "configure:2763: checking for $ac_word" >&5 if test -n "$YACC"; then ac_cv_prog_YACC="$YACC" # Let the user override the test. @@ -2734,15 +2790,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2738: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2741 "configure" +echo "configure:2794: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 2797 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2746: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2802: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2775,15 +2831,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2779: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2782 "configure" +echo "configure:2835: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 2838 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2787: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2843: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2816,15 +2872,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2820: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2823 "configure" +echo "configure:2876: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 2879 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2828: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2884: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2854,10 +2910,10 @@ done echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 -echo "configure:2858: checking for sys/wait.h that is POSIX.1 compatible" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2861 "configure" +echo "configure:2914: checking for sys/wait.h that is POSIX.1 compatible" >&5 + +cat > conftest.$ac_ext <<EOF +#line 2917 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/wait.h> @@ -2873,7 +2929,7 @@ s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } EOF -if { (eval echo configure:2877: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2933: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_sys_wait_h=yes else @@ -2897,10 +2953,10 @@ fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:2901: checking for ANSI C header files" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2904 "configure" +echo "configure:2957: checking for ANSI C header files" >&5 + +cat > conftest.$ac_ext <<EOF +#line 2960 "configure" #include "confdefs.h" #include <stdlib.h> #include <stdarg.h> @@ -2908,7 +2964,7 @@ #include <float.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2912: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2968: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2925,7 +2981,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 -#line 2929 "configure" +#line 2985 "configure" #include "confdefs.h" #include <string.h> EOF @@ -2943,7 +2999,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 -#line 2947 "configure" +#line 3003 "configure" #include "confdefs.h" #include <stdlib.h> EOF @@ -2961,7 +3017,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 <<EOF -#line 2965 "configure" +#line 3021 "configure" #include "confdefs.h" #include <ctype.h> #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -2972,7 +3028,7 @@ exit (0); } EOF -if { (eval echo configure:2976: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:3032: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then : else @@ -2997,10 +3053,10 @@ fi echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:3001: checking whether time.h and sys/time.h may both be included" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3004 "configure" +echo "configure:3057: checking whether time.h and sys/time.h may both be included" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3060 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/time.h> @@ -3009,7 +3065,7 @@ struct tm *tp; ; return 0; } EOF -if { (eval echo configure:3013: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3069: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else @@ -3033,10 +3089,10 @@ fi echo $ac_n "checking for sys_siglist declaration in signal.h or unistd.h""... $ac_c" 1>&6 -echo "configure:3037: checking for sys_siglist declaration in signal.h or unistd.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3040 "configure" +echo "configure:3093: checking for sys_siglist declaration in signal.h or unistd.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3096 "configure" #include "confdefs.h" #include <sys/types.h> #include <signal.h> @@ -3048,7 +3104,7 @@ char *msg = *(sys_siglist + 1); ; return 0; } EOF -if { (eval echo configure:3052: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3108: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_decl_sys_siglist=yes else @@ -3073,9 +3129,9 @@ echo $ac_n "checking for struct utimbuf""... $ac_c" 1>&6 -echo "configure:3077: checking for struct utimbuf" >&5 -cat > conftest.$ac_ext <<EOF -#line 3079 "configure" +echo "configure:3133: checking for struct utimbuf" >&5 +cat > conftest.$ac_ext <<EOF +#line 3135 "configure" #include "confdefs.h" #ifdef TIME_WITH_SYS_TIME #include <sys/time.h> @@ -3094,7 +3150,7 @@ static struct utimbuf x; x.actime = x.modtime; ; return 0; } EOF -if { (eval echo configure:3098: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3154: \"$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 @@ -3114,10 +3170,10 @@ rm -f conftest* echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:3118: checking return type of signal handlers" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3121 "configure" +echo "configure:3174: checking return type of signal handlers" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3177 "configure" #include "confdefs.h" #include <sys/types.h> #include <signal.h> @@ -3134,7 +3190,7 @@ int i; ; return 0; } EOF -if { (eval echo configure:3138: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3194: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else @@ -3156,10 +3212,10 @@ echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:3160: checking for size_t" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3163 "configure" +echo "configure:3216: checking for size_t" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3219 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -3190,10 +3246,10 @@ fi echo $ac_n "checking for pid_t""... $ac_c" 1>&6 -echo "configure:3194: checking for pid_t" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3197 "configure" +echo "configure:3250: checking for pid_t" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3253 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -3224,10 +3280,10 @@ fi echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6 -echo "configure:3228: checking for uid_t in sys/types.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3231 "configure" +echo "configure:3284: checking for uid_t in sys/types.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3287 "configure" #include "confdefs.h" #include <sys/types.h> EOF @@ -3263,10 +3319,10 @@ fi echo $ac_n "checking for mode_t""... $ac_c" 1>&6 -echo "configure:3267: checking for mode_t" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3270 "configure" +echo "configure:3323: checking for mode_t" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3326 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -3297,10 +3353,10 @@ fi echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:3301: checking for off_t" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3304 "configure" +echo "configure:3357: checking for off_t" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3360 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -3332,9 +3388,9 @@ echo $ac_n "checking for struct timeval""... $ac_c" 1>&6 -echo "configure:3336: checking for struct timeval" >&5 -cat > conftest.$ac_ext <<EOF -#line 3338 "configure" +echo "configure:3392: checking for struct timeval" >&5 +cat > conftest.$ac_ext <<EOF +#line 3394 "configure" #include "confdefs.h" #ifdef TIME_WITH_SYS_TIME #include <sys/time.h> @@ -3350,7 +3406,7 @@ static struct timeval x; x.tv_sec = x.tv_usec; ; return 0; } EOF -if { (eval echo configure:3354: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3410: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 HAVE_TIMEVAL=yes @@ -3372,10 +3428,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:3376: checking whether struct tm is in sys/time.h or time.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3379 "configure" +echo "configure:3432: checking whether struct tm is in sys/time.h or time.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3435 "configure" #include "confdefs.h" #include <sys/types.h> #include <time.h> @@ -3383,7 +3439,7 @@ struct tm *tp; tp->tm_sec; ; return 0; } EOF -if { (eval echo configure:3387: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3443: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm=time.h else @@ -3407,10 +3463,10 @@ fi echo $ac_n "checking for tm_zone in struct tm""... $ac_c" 1>&6 -echo "configure:3411: checking for tm_zone in struct tm" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3414 "configure" +echo "configure:3467: checking for tm_zone in struct tm" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3470 "configure" #include "confdefs.h" #include <sys/types.h> #include <$ac_cv_struct_tm> @@ -3418,7 +3474,7 @@ struct tm tm; tm.tm_zone; ; return 0; } EOF -if { (eval echo configure:3422: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3478: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm_zone=yes else @@ -3441,10 +3497,10 @@ else echo $ac_n "checking for tzname""... $ac_c" 1>&6 -echo "configure:3445: checking for tzname" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3448 "configure" +echo "configure:3501: checking for tzname" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3504 "configure" #include "confdefs.h" #include <time.h> #ifndef tzname /* For SGI. */ @@ -3454,7 +3510,7 @@ atoi(*tzname); ; return 0; } EOF -if { (eval echo configure:3458: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3514: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_var_tzname=yes else @@ -3480,10 +3536,10 @@ echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:3484: checking for working const" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3487 "configure" +echo "configure:3540: checking for working const" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3543 "configure" #include "confdefs.h" int main() { @@ -3532,7 +3588,7 @@ ; return 0; } EOF -if { (eval echo configure:3536: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3592: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -3557,7 +3613,7 @@ echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:3561: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:3617: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` cat > conftestmake <<\EOF @@ -3582,12 +3638,12 @@ echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6 -echo "configure:3586: checking whether byte ordering is bigendian" >&5 +echo "configure:3642: checking whether byte ordering is bigendian" >&5 ac_cv_c_bigendian=unknown # See if sys/param.h defines the BYTE_ORDER macro. cat > conftest.$ac_ext <<EOF -#line 3591 "configure" +#line 3647 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/param.h> @@ -3598,11 +3654,11 @@ #endif ; return 0; } EOF -if { (eval echo configure:3602: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3658: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* # It does; now see whether it defined to BIG_ENDIAN or not. cat > conftest.$ac_ext <<EOF -#line 3606 "configure" +#line 3662 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/param.h> @@ -3613,7 +3669,7 @@ #endif ; return 0; } EOF -if { (eval echo configure:3617: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3673: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_bigendian=yes else @@ -3630,7 +3686,7 @@ rm -f conftest* if test $ac_cv_c_bigendian = unknown; then cat > conftest.$ac_ext <<EOF -#line 3634 "configure" +#line 3690 "configure" #include "confdefs.h" main () { /* Are we little or big endian? From Harbison&Steele. */ @@ -3643,7 +3699,7 @@ exit (u.c[sizeof (long) - 1] == 1); } EOF -if { (eval echo configure:3647: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:3703: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_c_bigendian=no else @@ -3669,10 +3725,10 @@ echo $ac_n "checking size of short""... $ac_c" 1>&6 -echo "configure:3673: checking size of short" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3676 "configure" +echo "configure:3729: checking size of short" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3732 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -3683,7 +3739,7 @@ exit(0); } EOF -if { (eval echo configure:3687: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:3743: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_sizeof_short=`cat conftestval` else @@ -3710,10 +3766,10 @@ exit 1 fi echo $ac_n "checking size of int""... $ac_c" 1>&6 -echo "configure:3714: checking size of int" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3717 "configure" +echo "configure:3770: checking size of int" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3773 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -3724,7 +3780,7 @@ exit(0); } EOF -if { (eval echo configure:3728: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:3784: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_sizeof_int=`cat conftestval` else @@ -3745,10 +3801,10 @@ echo $ac_n "checking size of long""... $ac_c" 1>&6 -echo "configure:3749: checking size of long" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3752 "configure" +echo "configure:3805: checking size of long" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3808 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -3759,7 +3815,7 @@ exit(0); } EOF -if { (eval echo configure:3763: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:3819: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_sizeof_long=`cat conftestval` else @@ -3780,10 +3836,10 @@ echo $ac_n "checking size of long long""... $ac_c" 1>&6 -echo "configure:3784: checking size of long long" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3787 "configure" +echo "configure:3840: checking size of long long" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3843 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -3794,7 +3850,7 @@ exit(0); } EOF -if { (eval echo configure:3798: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:3854: \"$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 @@ -3815,10 +3871,10 @@ echo $ac_n "checking size of void *""... $ac_c" 1>&6 -echo "configure:3819: checking size of void *" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3822 "configure" +echo "configure:3875: checking size of void *" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3878 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -3829,7 +3885,7 @@ exit(0); } EOF -if { (eval echo configure:3833: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:3889: \"$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 @@ -3851,7 +3907,7 @@ echo $ac_n "checking for long file names""... $ac_c" 1>&6 -echo "configure:3855: checking for long file names" >&5 +echo "configure:3911: 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: @@ -3898,12 +3954,12 @@ echo $ac_n "checking for sin in -lm""... $ac_c" 1>&6 -echo "configure:3902: checking for sin in -lm" >&5 +echo "configure:3958: checking for sin in -lm" >&5 ac_lib_var=`echo m'_'sin | sed 'y%./+-%__p_%'` xe_check_libs=" -lm " cat > conftest.$ac_ext <<EOF -#line 3907 "configure" +#line 3963 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -3914,7 +3970,7 @@ sin() ; return 0; } EOF -if { (eval echo configure:3918: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3974: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3956,14 +4012,14 @@ cat > conftest.$ac_ext <<EOF -#line 3960 "configure" +#line 4016 "configure" #include "confdefs.h" #include <math.h> int main() { return atanh(1.0) + asinh(1.0) + acosh(1.0); ; return 0; } EOF -if { (eval echo configure:3967: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4023: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_INVERSE_HYPERBOLIC @@ -3980,7 +4036,7 @@ rm -f conftest* echo "checking type of mail spool file locking" 1>&6 -echo "configure:3984: checking type of mail spool file locking" >&5 +echo "configure:4040: checking type of mail spool file locking" >&5 test -z "$mail_locking" -a "$mail_use_flock" = "yes" && mail_locking=flock test -z "$mail_locking" -a "$mail_use_lockf" = "yes" && mail_locking=lockf if test "$mail_locking" = "lockf"; then { test "$extra_verbose" = "yes" && cat << \EOF @@ -4004,12 +4060,12 @@ echo $ac_n "checking for kstat_open in -lkstat""... $ac_c" 1>&6 -echo "configure:4008: checking for kstat_open in -lkstat" >&5 +echo "configure:4064: checking for kstat_open in -lkstat" >&5 ac_lib_var=`echo kstat'_'kstat_open | sed 'y%./+-%__p_%'` xe_check_libs=" -lkstat " cat > conftest.$ac_ext <<EOF -#line 4013 "configure" +#line 4069 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4020,7 +4076,7 @@ kstat_open() ; return 0; } EOF -if { (eval echo configure:4024: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4080: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4054,12 +4110,12 @@ echo $ac_n "checking for kvm_read in -lkvm""... $ac_c" 1>&6 -echo "configure:4058: checking for kvm_read in -lkvm" >&5 +echo "configure:4114: checking for kvm_read in -lkvm" >&5 ac_lib_var=`echo kvm'_'kvm_read | sed 'y%./+-%__p_%'` xe_check_libs=" -lkvm " cat > conftest.$ac_ext <<EOF -#line 4063 "configure" +#line 4119 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4070,7 +4126,7 @@ kvm_read() ; return 0; } EOF -if { (eval echo configure:4074: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4130: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4104,12 +4160,12 @@ echo $ac_n "checking for cma_open in -lpthreads""... $ac_c" 1>&6 -echo "configure:4108: checking for cma_open in -lpthreads" >&5 +echo "configure:4164: checking for cma_open in -lpthreads" >&5 ac_lib_var=`echo pthreads'_'cma_open | sed 'y%./+-%__p_%'` xe_check_libs=" -lpthreads " cat > conftest.$ac_ext <<EOF -#line 4113 "configure" +#line 4169 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4120,7 +4176,7 @@ cma_open() ; return 0; } EOF -if { (eval echo configure:4124: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4180: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4156,7 +4212,7 @@ fi echo $ac_n "checking whether the -xildoff compiler flag is required""... $ac_c" 1>&6 -echo "configure:4160: checking whether the -xildoff compiler flag is required" >&5 +echo "configure:4216: 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; @@ -4167,7 +4223,7 @@ if test "$opsys" = "sol2" && test "$OS_RELEASE" -ge 56; then echo $ac_n "checking for \"-z ignore\" linker flag""... $ac_c" 1>&6 -echo "configure:4171: checking for \"-z ignore\" linker flag" >&5 +echo "configure:4227: 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 ;; @@ -4177,7 +4233,7 @@ echo "checking "for specified window system"" 1>&6 -echo "configure:4181: checking "for specified window system"" >&5 +echo "configure:4237: checking "for specified window system"" >&5 if test "$with_x11" != "no"; then test "$x_includes $x_libraries" != "NONE NONE" && \ @@ -4210,7 +4266,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:4214: checking for X" >&5 +echo "configure:4270: checking for X" >&5 # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then @@ -4270,12 +4326,12 @@ # First, try using that file with no special directory specified. cat > conftest.$ac_ext <<EOF -#line 4274 "configure" +#line 4330 "configure" #include "confdefs.h" #include <$x_direct_test_include> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4279: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4335: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -4344,14 +4400,14 @@ ac_save_LIBS="$LIBS" LIBS="-l$x_direct_test_library $LIBS" cat > conftest.$ac_ext <<EOF -#line 4348 "configure" +#line 4404 "configure" #include "confdefs.h" int main() { ${x_direct_test_function}() ; return 0; } EOF -if { (eval echo configure:4355: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4411: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* LIBS="$ac_save_LIBS" # We can link X programs with no special library path. @@ -4460,17 +4516,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:4464: checking whether -R must be followed by a space" >&5 +echo "configure:4520: checking whether -R must be followed by a space" >&5 ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries" cat > conftest.$ac_ext <<EOF -#line 4467 "configure" -#include "confdefs.h" - -int main() { - -; return 0; } -EOF -if { (eval echo configure:4474: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +#line 4523 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:4530: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_R_nospace=yes else @@ -4486,14 +4542,14 @@ else LIBS="$ac_xsave_LIBS -R $x_libraries" cat > conftest.$ac_ext <<EOF -#line 4490 "configure" -#include "confdefs.h" - -int main() { - -; return 0; } -EOF -if { (eval echo configure:4497: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +#line 4546 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:4553: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_R_space=yes else @@ -4529,12 +4585,12 @@ else echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6 -echo "configure:4533: checking for dnet_ntoa in -ldnet" >&5 +echo "configure:4589: checking for dnet_ntoa in -ldnet" >&5 ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'` xe_check_libs=" -ldnet " cat > conftest.$ac_ext <<EOF -#line 4538 "configure" +#line 4594 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4545,7 +4601,7 @@ dnet_ntoa() ; return 0; } EOF -if { (eval echo configure:4549: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4605: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4569,12 +4625,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:4573: checking for dnet_ntoa in -ldnet_stub" >&5 +echo "configure:4629: checking for dnet_ntoa in -ldnet_stub" >&5 ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'` xe_check_libs=" -ldnet_stub " cat > conftest.$ac_ext <<EOF -#line 4578 "configure" +#line 4634 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4585,7 +4641,7 @@ dnet_ntoa() ; return 0; } EOF -if { (eval echo configure:4589: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4645: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4614,10 +4670,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:4618: checking for gethostbyname" >&5 - -cat > conftest.$ac_ext <<EOF -#line 4621 "configure" +echo "configure:4674: checking for gethostbyname" >&5 + +cat > conftest.$ac_ext <<EOF +#line 4677 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char gethostbyname(); below. */ @@ -4640,7 +4696,7 @@ ; return 0; } EOF -if { (eval echo configure:4644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4700: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_gethostbyname=yes" else @@ -4661,12 +4717,12 @@ if test $ac_cv_func_gethostbyname = no; then echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:4665: checking for gethostbyname in -lnsl" >&5 +echo "configure:4721: checking for gethostbyname in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` xe_check_libs=" -lnsl " cat > conftest.$ac_ext <<EOF -#line 4670 "configure" +#line 4726 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4677,7 +4733,7 @@ gethostbyname() ; return 0; } EOF -if { (eval echo configure:4681: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4737: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4707,10 +4763,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:4711: checking for connect" >&5 - -cat > conftest.$ac_ext <<EOF -#line 4714 "configure" +echo "configure:4767: checking for connect" >&5 + +cat > conftest.$ac_ext <<EOF +#line 4770 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char connect(); below. */ @@ -4733,7 +4789,7 @@ ; return 0; } EOF -if { (eval echo configure:4737: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4793: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_connect=yes" else @@ -4756,12 +4812,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:4760: checking "$xe_msg_checking"" >&5 +echo "configure:4816: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'` xe_check_libs=" -lsocket $X_EXTRA_LIBS" cat > conftest.$ac_ext <<EOF -#line 4765 "configure" +#line 4821 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4772,7 +4828,7 @@ connect() ; return 0; } EOF -if { (eval echo configure:4776: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4832: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4796,10 +4852,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:4800: checking for remove" >&5 - -cat > conftest.$ac_ext <<EOF -#line 4803 "configure" +echo "configure:4856: checking for remove" >&5 + +cat > conftest.$ac_ext <<EOF +#line 4859 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char remove(); below. */ @@ -4822,7 +4878,7 @@ ; return 0; } EOF -if { (eval echo configure:4826: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4882: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_remove=yes" else @@ -4843,12 +4899,12 @@ if test $ac_cv_func_remove = no; then echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6 -echo "configure:4847: checking for remove in -lposix" >&5 +echo "configure:4903: checking for remove in -lposix" >&5 ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'` xe_check_libs=" -lposix " cat > conftest.$ac_ext <<EOF -#line 4852 "configure" +#line 4908 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4859,7 +4915,7 @@ remove() ; return 0; } EOF -if { (eval echo configure:4863: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4919: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4883,10 +4939,10 @@ # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. echo $ac_n "checking for shmat""... $ac_c" 1>&6 -echo "configure:4887: checking for shmat" >&5 - -cat > conftest.$ac_ext <<EOF -#line 4890 "configure" +echo "configure:4943: checking for shmat" >&5 + +cat > conftest.$ac_ext <<EOF +#line 4946 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char shmat(); below. */ @@ -4909,7 +4965,7 @@ ; return 0; } EOF -if { (eval echo configure:4913: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4969: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_shmat=yes" else @@ -4930,12 +4986,12 @@ if test $ac_cv_func_shmat = no; then echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6 -echo "configure:4934: checking for shmat in -lipc" >&5 +echo "configure:4990: checking for shmat in -lipc" >&5 ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'` xe_check_libs=" -lipc " cat > conftest.$ac_ext <<EOF -#line 4939 "configure" +#line 4995 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4946,7 +5002,7 @@ shmat() ; return 0; } EOF -if { (eval echo configure:4950: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5006: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4980,12 +5036,12 @@ # --interran@uluru.Stanford.EDU, kb@cs.umb.edu. echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6 -echo "configure:4984: checking for IceConnectionNumber in -lICE" >&5 +echo "configure:5040: checking for IceConnectionNumber in -lICE" >&5 ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'` xe_check_libs=" -lICE " cat > conftest.$ac_ext <<EOF -#line 4989 "configure" +#line 5045 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4996,7 +5052,7 @@ IceConnectionNumber() ; return 0; } EOF -if { (eval echo configure:5000: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5056: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5163,7 +5219,7 @@ echo "checking for X defines extracted by xmkmf" 1>&6 -echo "configure:5167: checking for X defines extracted by xmkmf" >&5 +echo "configure:5223: checking for X defines extracted by xmkmf" >&5 rm -fr conftestdir if mkdir conftestdir; then cd conftestdir @@ -5195,15 +5251,15 @@ ac_safe=`echo "X11/Intrinsic.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/Intrinsic.h""... $ac_c" 1>&6 -echo "configure:5199: checking for X11/Intrinsic.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 5202 "configure" +echo "configure:5255: checking for X11/Intrinsic.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 5258 "configure" #include "confdefs.h" #include <X11/Intrinsic.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5207: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5263: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -5227,12 +5283,12 @@ echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6 -echo "configure:5231: checking for XOpenDisplay in -lX11" >&5 +echo "configure:5287: checking for XOpenDisplay in -lX11" >&5 ac_lib_var=`echo X11'_'XOpenDisplay | sed 'y%./+-%__p_%'` xe_check_libs=" -lX11 " cat > conftest.$ac_ext <<EOF -#line 5236 "configure" +#line 5292 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5243,7 +5299,7 @@ XOpenDisplay() ; return 0; } EOF -if { (eval echo configure:5247: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5303: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5268,12 +5324,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:5272: checking "$xe_msg_checking"" >&5 +echo "configure:5328: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo X11'_'XGetFontProperty | sed 'y%./+-%__p_%'` xe_check_libs=" -lX11 -b i486-linuxaout" cat > conftest.$ac_ext <<EOF -#line 5277 "configure" +#line 5333 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5284,7 +5340,7 @@ XGetFontProperty() ; return 0; } EOF -if { (eval echo configure:5288: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5344: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5311,12 +5367,12 @@ echo $ac_n "checking for XShapeSelectInput in -lXext""... $ac_c" 1>&6 -echo "configure:5315: checking for XShapeSelectInput in -lXext" >&5 +echo "configure:5371: checking for XShapeSelectInput in -lXext" >&5 ac_lib_var=`echo Xext'_'XShapeSelectInput | sed 'y%./+-%__p_%'` xe_check_libs=" -lXext " cat > conftest.$ac_ext <<EOF -#line 5320 "configure" +#line 5376 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5327,7 +5383,7 @@ XShapeSelectInput() ; return 0; } EOF -if { (eval echo configure:5331: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5387: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5350,12 +5406,12 @@ echo $ac_n "checking for XtOpenDisplay in -lXt""... $ac_c" 1>&6 -echo "configure:5354: checking for XtOpenDisplay in -lXt" >&5 +echo "configure:5410: checking for XtOpenDisplay in -lXt" >&5 ac_lib_var=`echo Xt'_'XtOpenDisplay | sed 'y%./+-%__p_%'` xe_check_libs=" -lXt " cat > conftest.$ac_ext <<EOF -#line 5359 "configure" +#line 5415 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5366,7 +5422,7 @@ XtOpenDisplay() ; return 0; } EOF -if { (eval echo configure:5370: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5426: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5389,14 +5445,14 @@ echo $ac_n "checking the version of X11 being used""... $ac_c" 1>&6 -echo "configure:5393: checking the version of X11 being used" >&5 +echo "configure:5449: checking the version of X11 being used" >&5 cat > conftest.$ac_ext <<EOF -#line 5395 "configure" +#line 5451 "configure" #include "confdefs.h" #include <X11/Intrinsic.h> int main(int c, char *v[]) { return c>1 ? XlibSpecificationRelease : 0; } EOF -if { (eval echo configure:5400: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:5456: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ./conftest foobar; x11_release=$? else @@ -5420,15 +5476,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5424: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 5427 "configure" +echo "configure:5480: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 5483 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5432: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5488: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -5459,7 +5515,7 @@ echo $ac_n "checking for XFree86""... $ac_c" 1>&6 -echo "configure:5463: checking for XFree86" >&5 +echo "configure:5519: checking for XFree86" >&5 if test -d "/usr/X386/include" -o \ -f "/etc/XF86Config" -o \ -f "/etc/X11/XF86Config" -o \ @@ -5479,12 +5535,12 @@ test -z "$with_xmu" && { echo $ac_n "checking for XmuReadBitmapDataFromFile in -lXmu""... $ac_c" 1>&6 -echo "configure:5483: checking for XmuReadBitmapDataFromFile in -lXmu" >&5 +echo "configure:5539: checking for XmuReadBitmapDataFromFile in -lXmu" >&5 ac_lib_var=`echo Xmu'_'XmuReadBitmapDataFromFile | sed 'y%./+-%__p_%'` xe_check_libs=" -lXmu " cat > conftest.$ac_ext <<EOF -#line 5488 "configure" +#line 5544 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5495,7 +5551,7 @@ XmuReadBitmapDataFromFile() ; return 0; } EOF -if { (eval echo configure:5499: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5555: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5534,19 +5590,19 @@ echo $ac_n "checking for main in -lXbsd""... $ac_c" 1>&6 -echo "configure:5538: checking for main in -lXbsd" >&5 +echo "configure:5594: checking for main in -lXbsd" >&5 ac_lib_var=`echo Xbsd'_'main | sed 'y%./+-%__p_%'` xe_check_libs=" -lXbsd " cat > conftest.$ac_ext <<EOF -#line 5543 "configure" +#line 5599 "configure" #include "confdefs.h" int main() { main() ; return 0; } EOF -if { (eval echo configure:5550: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5606: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5568,36 +5624,37 @@ if test "$unexec" = "unexaix.o" -a "$x11_release" = "6"; then - case "$CC" in - "xlc" ) CC="xlc_r" ;; - "xlC" ) CC="xlC_r" ;; - "cc" ) CC="cc_r" ;; - "gcc" ) - X_CFLAGS="-mthreads $X_CFLAGS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-mthreads\" to \$X_CFLAGS"; fi - libs_x="-mthreads $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-mthreads\" to \$libs_x"; fi - ;; - esac + if test "$GCC" = "yes"; then + X_CFLAGS="-mthreads $X_CFLAGS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-mthreads\" to \$X_CFLAGS"; fi + libs_x="-mthreads $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-mthreads\" to \$libs_x"; fi + else + case "$CC" in + "xlc" ) CC="xlc_r" ;; + "xlC" ) CC="xlC_r" ;; + "cc" ) CC="cc_r" ;; + esac + fi fi fi if test "$with_msw" != "no"; then echo "checking for MS-Windows" 1>&6 -echo "configure:5586: checking for MS-Windows" >&5 +echo "configure:5643: checking for MS-Windows" >&5 echo $ac_n "checking for main in -lgdi32""... $ac_c" 1>&6 -echo "configure:5589: checking for main in -lgdi32" >&5 +echo "configure:5646: checking for main in -lgdi32" >&5 ac_lib_var=`echo gdi32'_'main | sed 'y%./+-%__p_%'` xe_check_libs=" -lgdi32 " cat > conftest.$ac_ext <<EOF -#line 5594 "configure" +#line 5651 "configure" #include "confdefs.h" int main() { main() ; return 0; } EOF -if { (eval echo configure:5601: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5658: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5706,7 +5763,7 @@ esac echo "checking for session-management option" 1>&6 -echo "configure:5710: checking for session-management option" >&5; +echo "configure:5767: checking for session-management option" >&5; if test "$with_session" != "no"; then { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_SESSION @@ -5721,15 +5778,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:5725: checking for X11/Xauth.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 5728 "configure" +echo "configure:5782: checking for X11/Xauth.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 5785 "configure" #include "confdefs.h" #include <X11/Xauth.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5733: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5790: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -5752,12 +5809,12 @@ } test -z "$with_xauth" && { echo $ac_n "checking for XauGetAuthByAddr in -lXau""... $ac_c" 1>&6 -echo "configure:5756: checking for XauGetAuthByAddr in -lXau" >&5 +echo "configure:5813: checking for XauGetAuthByAddr in -lXau" >&5 ac_lib_var=`echo Xau'_'XauGetAuthByAddr | sed 'y%./+-%__p_%'` xe_check_libs=" -lXau " cat > conftest.$ac_ext <<EOF -#line 5761 "configure" +#line 5818 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5768,7 +5825,7 @@ XauGetAuthByAddr() ; return 0; } EOF -if { (eval echo configure:5772: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5829: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5822,25 +5879,25 @@ EOF } - extra_objs="$extra_objs offix.o" && if test "$extra_verbose" = "yes"; then - echo " xemacs will be linked with \"offix.o\"" - fi -fi + dnd_objs="$dnd_objs offix.o" && if test "$extra_verbose" = "yes"; then echo " Appending \"offix.o\" to \$dnd_objs"; fi +fi + + test "$with_cde" = "yes" && with_tooltalk=yes # CDE requires tooltalk if test "$with_tooltalk" != "no" ; then for dir in "" "Tt/" "desktop/" ; do ac_safe=`echo "${dir}tt_c.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ${dir}tt_c.h""... $ac_c" 1>&6 -echo "configure:5836: checking for ${dir}tt_c.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 5839 "configure" +echo "configure:5893: checking for ${dir}tt_c.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 5896 "configure" #include "confdefs.h" #include <${dir}tt_c.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5844: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5901: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -5869,12 +5926,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:5873: checking "$xe_msg_checking"" >&5 +echo "configure:5930: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo tt'_'tt_message_create | sed 'y%./+-%__p_%'` xe_check_libs=" -ltt $extra_libs" cat > conftest.$ac_ext <<EOF -#line 5878 "configure" +#line 5935 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5885,7 +5942,7 @@ tt_message_create() ; return 0; } EOF -if { (eval echo configure:5889: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5946: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5934,15 +5991,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:5938: checking for Dt/Dt.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 5941 "configure" +echo "configure:5995: checking for Dt/Dt.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 5998 "configure" #include "confdefs.h" #include <Dt/Dt.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5946: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6003: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -5965,12 +6022,12 @@ } test -z "$with_cde" && { echo $ac_n "checking for DtDndDragStart in -lDtSvc""... $ac_c" 1>&6 -echo "configure:5969: checking for DtDndDragStart in -lDtSvc" >&5 +echo "configure:6026: checking for DtDndDragStart in -lDtSvc" >&5 ac_lib_var=`echo DtSvc'_'DtDndDragStart | sed 'y%./+-%__p_%'` xe_check_libs=" -lDtSvc " cat > conftest.$ac_ext <<EOF -#line 5974 "configure" +#line 6031 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5981,7 +6038,7 @@ DtDndDragStart() ; return 0; } EOF -if { (eval echo configure:5985: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6042: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6018,18 +6075,18 @@ fi echo "checking for LDAP" 1>&6 -echo "configure:6022: checking for LDAP" >&5 +echo "configure:6079: checking for LDAP" >&5 test -z "$with_ldap" && { ac_safe=`echo "ldap.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ldap.h""... $ac_c" 1>&6 -echo "configure:6025: checking for ldap.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6028 "configure" +echo "configure:6082: checking for ldap.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6085 "configure" #include "confdefs.h" #include <ldap.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6033: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6090: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -6052,15 +6109,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:6056: checking for lber.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6059 "configure" +echo "configure:6113: checking for lber.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6116 "configure" #include "confdefs.h" #include <lber.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6064: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6121: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -6086,12 +6143,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:6090: checking "$xe_msg_checking"" >&5 +echo "configure:6147: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo ldap'_'ldap_open | sed 'y%./+-%__p_%'` xe_check_libs=" -lldap -llber" cat > conftest.$ac_ext <<EOF -#line 6095 "configure" +#line 6152 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6102,7 +6159,7 @@ ldap_open() ; return 0; } EOF -if { (eval echo configure:6106: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6163: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6125,12 +6182,12 @@ } test "$with_umich_ldap" = "no" && { echo $ac_n "checking for ldap_set_option in -lldap10""... $ac_c" 1>&6 -echo "configure:6129: checking for ldap_set_option in -lldap10" >&5 +echo "configure:6186: checking for ldap_set_option in -lldap10" >&5 ac_lib_var=`echo ldap10'_'ldap_set_option | sed 'y%./+-%__p_%'` xe_check_libs=" -lldap10 " cat > conftest.$ac_ext <<EOF -#line 6134 "configure" +#line 6191 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6141,7 +6198,7 @@ ldap_set_option() ; return 0; } EOF -if { (eval echo configure:6145: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6202: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6206,17 +6263,17 @@ if test "$with_x11" = "yes"; then echo "checking for X11 graphics libraries" 1>&6 -echo "configure:6210: checking for X11 graphics libraries" >&5 +echo "configure:6267: checking for X11 graphics libraries" >&5 if test "$with_png $with_tiff" != "no no"; then echo $ac_n "checking for inflate in -lc""... $ac_c" 1>&6 -echo "configure:6215: checking for inflate in -lc" >&5 +echo "configure:6272: checking for inflate in -lc" >&5 ac_lib_var=`echo c'_'inflate | sed 'y%./+-%__p_%'` xe_check_libs=" -lc " cat > conftest.$ac_ext <<EOF -#line 6220 "configure" +#line 6277 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6227,7 +6284,7 @@ inflate() ; return 0; } EOF -if { (eval echo configure:6231: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6288: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6246,12 +6303,12 @@ echo "$ac_t""no" 1>&6 echo $ac_n "checking for inflate in -lz""... $ac_c" 1>&6 -echo "configure:6250: checking for inflate in -lz" >&5 +echo "configure:6307: checking for inflate in -lz" >&5 ac_lib_var=`echo z'_'inflate | sed 'y%./+-%__p_%'` xe_check_libs=" -lz " cat > conftest.$ac_ext <<EOF -#line 6255 "configure" +#line 6312 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6262,7 +6319,7 @@ inflate() ; return 0; } EOF -if { (eval echo configure:6266: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6323: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6281,12 +6338,12 @@ echo "$ac_t""no" 1>&6 echo $ac_n "checking for inflate in -lgz""... $ac_c" 1>&6 -echo "configure:6285: checking for inflate in -lgz" >&5 +echo "configure:6342: checking for inflate in -lgz" >&5 ac_lib_var=`echo gz'_'inflate | sed 'y%./+-%__p_%'` xe_check_libs=" -lgz " cat > conftest.$ac_ext <<EOF -#line 6290 "configure" +#line 6347 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6297,7 +6354,7 @@ inflate() ; return 0; } EOF -if { (eval echo configure:6301: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6358: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6327,10 +6384,10 @@ if test -z "$with_xpm"; then echo $ac_n "checking for Xpm - no older than 3.4f""... $ac_c" 1>&6 -echo "configure:6331: checking for Xpm - no older than 3.4f" >&5 +echo "configure:6388: checking for Xpm - no older than 3.4f" >&5 xe_check_libs=-lXpm cat > conftest.$ac_ext <<EOF -#line 6334 "configure" +#line 6391 "configure" #include "confdefs.h" #include <X11/xpm.h> int main(int c, char **v) { @@ -6338,7 +6395,7 @@ XpmIncludeVersion != XpmLibraryVersion() ? 1 : XpmIncludeVersion < 30406 ? 2 : 0 ;} EOF -if { (eval echo configure:6342: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:6399: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ./conftest dummy_arg; xpm_status=$?; if test "$?" = "0"; then @@ -6382,15 +6439,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:6386: checking for compface.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6389 "configure" +echo "configure:6443: checking for compface.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6446 "configure" #include "confdefs.h" #include <compface.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6394: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6451: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -6413,12 +6470,12 @@ } test -z "$with_xface" && { echo $ac_n "checking for UnGenFace in -lcompface""... $ac_c" 1>&6 -echo "configure:6417: checking for UnGenFace in -lcompface" >&5 +echo "configure:6474: checking for UnGenFace in -lcompface" >&5 ac_lib_var=`echo compface'_'UnGenFace | sed 'y%./+-%__p_%'` xe_check_libs=" -lcompface " cat > conftest.$ac_ext <<EOF -#line 6422 "configure" +#line 6479 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6429,7 +6486,7 @@ UnGenFace() ; return 0; } EOF -if { (eval echo configure:6433: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6490: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6464,18 +6521,18 @@ fi echo $ac_n "checking for giflib - no older than 3.1""... $ac_c" 1>&6 -echo "configure:6468: checking for giflib - no older than 3.1" >&5 +echo "configure:6525: checking for giflib - no older than 3.1" >&5 test -z "$with_gif" && { ac_safe=`echo "gif_lib.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for gif_lib.h""... $ac_c" 1>&6 -echo "configure:6471: checking for gif_lib.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6474 "configure" +echo "configure:6528: checking for gif_lib.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6531 "configure" #include "confdefs.h" #include <gif_lib.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6479: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6536: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -6498,12 +6555,12 @@ } test -z "$with_gif" && { echo $ac_n "checking for GetGifError in -lgif""... $ac_c" 1>&6 -echo "configure:6502: checking for GetGifError in -lgif" >&5 +echo "configure:6559: checking for GetGifError in -lgif" >&5 ac_lib_var=`echo gif'_'GetGifError | sed 'y%./+-%__p_%'` xe_check_libs=" -lgif " cat > conftest.$ac_ext <<EOF -#line 6507 "configure" +#line 6564 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6514,7 +6571,7 @@ GetGifError() ; return 0; } EOF -if { (eval echo configure:6518: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6575: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6550,15 +6607,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:6554: checking for jpeglib.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6557 "configure" +echo "configure:6611: checking for jpeglib.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6614 "configure" #include "confdefs.h" #include <jpeglib.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6562: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6619: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -6581,12 +6638,12 @@ } test -z "$with_jpeg" && { echo $ac_n "checking for jpeg_destroy_decompress in -ljpeg""... $ac_c" 1>&6 -echo "configure:6585: checking for jpeg_destroy_decompress in -ljpeg" >&5 +echo "configure:6642: checking for jpeg_destroy_decompress in -ljpeg" >&5 ac_lib_var=`echo jpeg'_'jpeg_destroy_decompress | sed 'y%./+-%__p_%'` xe_check_libs=" -ljpeg " cat > conftest.$ac_ext <<EOF -#line 6590 "configure" +#line 6647 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6597,7 +6654,7 @@ jpeg_destroy_decompress() ; return 0; } EOF -if { (eval echo configure:6601: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6658: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6633,9 +6690,9 @@ if test -z "$with_png"; then echo $ac_n "checking for png.h - no older than 0.96""... $ac_c" 1>&6 -echo "configure:6637: checking for png.h - no older than 0.96" >&5 +echo "configure:6694: checking for png.h - no older than 0.96" >&5 cat > conftest.$ac_ext <<EOF -#line 6639 "configure" +#line 6696 "configure" #include "confdefs.h" #include <png.h> #if PNG_LIBPNG_VER >= 96 @@ -6649,16 +6706,16 @@ echo "$ac_t""yes" 1>&6 else rm -rf conftest* - echo "$ac_t""no" 1>&6; have_png=no + echo "$ac_t""no" 1>&6; with_png=no fi rm -f conftest* fi test -z "$with_png" && { echo $ac_n "checking for pow""... $ac_c" 1>&6 -echo "configure:6659: checking for pow" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6662 "configure" +echo "configure:6716: checking for pow" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6719 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char pow(); below. */ @@ -6681,7 +6738,7 @@ ; return 0; } EOF -if { (eval echo configure:6685: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6742: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_pow=yes" else @@ -6702,12 +6759,12 @@ } test -z "$with_png" && { echo $ac_n "checking for png_read_image in -lpng""... $ac_c" 1>&6 -echo "configure:6706: checking for png_read_image in -lpng" >&5 +echo "configure:6763: checking for png_read_image in -lpng" >&5 ac_lib_var=`echo png'_'png_read_image | sed 'y%./+-%__p_%'` xe_check_libs=" -lpng " cat > conftest.$ac_ext <<EOF -#line 6711 "configure" +#line 6768 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6718,7 +6775,7 @@ png_read_image() ; return 0; } EOF -if { (eval echo configure:6722: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6779: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6754,15 +6811,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:6758: checking for tiffio.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6761 "configure" +echo "configure:6815: checking for tiffio.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6818 "configure" #include "confdefs.h" #include <tiffio.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6766: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6823: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -6785,12 +6842,12 @@ } test -z "$with_tiff" && { echo $ac_n "checking for TIFFReadScanline in -ltiff""... $ac_c" 1>&6 -echo "configure:6789: checking for TIFFReadScanline in -ltiff" >&5 +echo "configure:6846: checking for TIFFReadScanline in -ltiff" >&5 ac_lib_var=`echo tiff'_'TIFFReadScanline | sed 'y%./+-%__p_%'` xe_check_libs=" -ltiff " cat > conftest.$ac_ext <<EOF -#line 6794 "configure" +#line 6851 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6801,7 +6858,7 @@ TIFFReadScanline() ; return 0; } EOF -if { (eval echo configure:6805: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6862: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6837,12 +6894,12 @@ echo $ac_n "checking for XawScrollbarSetThumb in -lXaw""... $ac_c" 1>&6 -echo "configure:6841: checking for XawScrollbarSetThumb in -lXaw" >&5 +echo "configure:6898: checking for XawScrollbarSetThumb in -lXaw" >&5 ac_lib_var=`echo Xaw'_'XawScrollbarSetThumb | sed 'y%./+-%__p_%'` xe_check_libs=" -lXaw " cat > conftest.$ac_ext <<EOF -#line 6846 "configure" +#line 6903 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6853,7 +6910,7 @@ XawScrollbarSetThumb() ; return 0; } EOF -if { (eval echo configure:6857: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6914: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6877,15 +6934,15 @@ ac_safe=`echo "Xm/Xm.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for Xm/Xm.h""... $ac_c" 1>&6 -echo "configure:6881: checking for Xm/Xm.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6884 "configure" +echo "configure:6938: checking for Xm/Xm.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6941 "configure" #include "confdefs.h" #include <Xm/Xm.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6889: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6946: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -6902,12 +6959,12 @@ echo "$ac_t""yes" 1>&6 echo $ac_n "checking for XmStringFree in -lXm""... $ac_c" 1>&6 -echo "configure:6906: checking for XmStringFree in -lXm" >&5 +echo "configure:6963: checking for XmStringFree in -lXm" >&5 ac_lib_var=`echo Xm'_'XmStringFree | sed 'y%./+-%__p_%'` xe_check_libs=" -lXm " cat > conftest.$ac_ext <<EOF -#line 6911 "configure" +#line 6968 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6918,7 +6975,7 @@ XmStringFree() ; return 0; } EOF -if { (eval echo configure:6922: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6979: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6947,9 +7004,9 @@ if test "$have_motif" = "yes"; then echo $ac_n "checking for Lesstif""... $ac_c" 1>&6 -echo "configure:6951: checking for Lesstif" >&5 +echo "configure:7008: checking for Lesstif" >&5 cat > conftest.$ac_ext <<EOF -#line 6953 "configure" +#line 7010 "configure" #include "confdefs.h" #include <Xm/Xm.h> #ifdef LESSTIF_VERSION @@ -7233,7 +7290,7 @@ if test "$with_mule" = "yes" ; then echo "checking for Mule-related features" 1>&6 -echo "configure:7237: checking for Mule-related features" >&5 +echo "configure:7294: checking for Mule-related features" >&5 { test "$extra_verbose" = "yes" && cat << \EOF Defining MULE EOF @@ -7258,15 +7315,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:7262: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7265 "configure" +echo "configure:7319: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7322 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7270: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7327: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -7297,12 +7354,12 @@ echo $ac_n "checking for strerror in -lintl""... $ac_c" 1>&6 -echo "configure:7301: checking for strerror in -lintl" >&5 +echo "configure:7358: checking for strerror in -lintl" >&5 ac_lib_var=`echo intl'_'strerror | sed 'y%./+-%__p_%'` xe_check_libs=" -lintl " cat > conftest.$ac_ext <<EOF -#line 7306 "configure" +#line 7363 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7313,7 +7370,7 @@ strerror() ; return 0; } EOF -if { (eval echo configure:7317: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7374: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7346,19 +7403,19 @@ echo "checking for Mule input methods" 1>&6 -echo "configure:7350: checking for Mule input methods" >&5 +echo "configure:7407: checking for Mule input methods" >&5 case "$with_xim" in "" | "yes" ) echo "checking for XIM" 1>&6 -echo "configure:7353: checking for XIM" >&5 +echo "configure:7410: checking for XIM" >&5 if test "$have_lesstif" = "yes"; then with_xim=xlib else echo $ac_n "checking for XmImMbLookupString in -lXm""... $ac_c" 1>&6 -echo "configure:7357: checking for XmImMbLookupString in -lXm" >&5 +echo "configure:7414: checking for XmImMbLookupString in -lXm" >&5 ac_lib_var=`echo Xm'_'XmImMbLookupString | sed 'y%./+-%__p_%'` xe_check_libs=" -lXm " cat > conftest.$ac_ext <<EOF -#line 7362 "configure" +#line 7419 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7369,7 +7426,7 @@ XmImMbLookupString() ; return 0; } EOF -if { (eval echo configure:7373: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7430: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7435,15 +7492,15 @@ if test "$with_xfs" = "yes" ; then echo "checking for XFontSet" 1>&6 -echo "configure:7439: checking for XFontSet" >&5 +echo "configure:7496: checking for XFontSet" >&5 echo $ac_n "checking for XmbDrawString in -lX11""... $ac_c" 1>&6 -echo "configure:7442: checking for XmbDrawString in -lX11" >&5 +echo "configure:7499: checking for XmbDrawString in -lX11" >&5 ac_lib_var=`echo X11'_'XmbDrawString | sed 'y%./+-%__p_%'` xe_check_libs=" -lX11 " cat > conftest.$ac_ext <<EOF -#line 7447 "configure" +#line 7504 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7454,7 +7511,7 @@ XmbDrawString() ; return 0; } EOF -if { (eval echo configure:7458: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7515: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7494,15 +7551,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:7498: checking for wnn/jllib.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7501 "configure" +echo "configure:7555: checking for wnn/jllib.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7558 "configure" #include "confdefs.h" #include <wnn/jllib.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7506: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7563: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -7527,10 +7584,10 @@ for ac_func in crypt do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:7531: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7534 "configure" +echo "configure:7588: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7591 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -7553,7 +7610,7 @@ ; return 0; } EOF -if { (eval echo configure:7557: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7614: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -7582,12 +7639,12 @@ test "$ac_cv_func_crypt" != "yes" && { echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6 -echo "configure:7586: checking for crypt in -lcrypt" >&5 +echo "configure:7643: checking for crypt in -lcrypt" >&5 ac_lib_var=`echo crypt'_'crypt | sed 'y%./+-%__p_%'` xe_check_libs=" -lcrypt " cat > conftest.$ac_ext <<EOF -#line 7591 "configure" +#line 7648 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7598,7 +7655,7 @@ crypt() ; return 0; } EOF -if { (eval echo configure:7602: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7659: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7632,12 +7689,12 @@ fi test -z "$with_wnn" && { echo $ac_n "checking for jl_dic_list_e in -lwnn""... $ac_c" 1>&6 -echo "configure:7636: checking for jl_dic_list_e in -lwnn" >&5 +echo "configure:7693: checking for jl_dic_list_e in -lwnn" >&5 ac_lib_var=`echo wnn'_'jl_dic_list_e | sed 'y%./+-%__p_%'` xe_check_libs=" -lwnn " cat > conftest.$ac_ext <<EOF -#line 7641 "configure" +#line 7698 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7648,7 +7705,7 @@ jl_dic_list_e() ; return 0; } EOF -if { (eval echo configure:7652: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7709: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7685,12 +7742,12 @@ fi echo $ac_n "checking for jl_fi_dic_list in -lwnn""... $ac_c" 1>&6 -echo "configure:7689: checking for jl_fi_dic_list in -lwnn" >&5 +echo "configure:7746: checking for jl_fi_dic_list in -lwnn" >&5 ac_lib_var=`echo wnn'_'jl_fi_dic_list | sed 'y%./+-%__p_%'` xe_check_libs=" -lwnn " cat > conftest.$ac_ext <<EOF -#line 7694 "configure" +#line 7751 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7701,7 +7758,7 @@ jl_fi_dic_list() ; return 0; } EOF -if { (eval echo configure:7705: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7762: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7735,15 +7792,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:7739: checking for canna/jrkanji.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7742 "configure" +echo "configure:7796: checking for canna/jrkanji.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7799 "configure" #include "confdefs.h" #include <canna/jrkanji.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7747: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7804: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -7770,15 +7827,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:7774: checking for canna/jrkanji.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7777 "configure" +echo "configure:7831: checking for canna/jrkanji.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7834 "configure" #include "confdefs.h" #include <canna/jrkanji.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7782: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7839: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -7806,15 +7863,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:7810: checking for canna/RK.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7813 "configure" +echo "configure:7867: checking for canna/RK.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7870 "configure" #include "confdefs.h" #include <canna/RK.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7818: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7875: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -7837,12 +7894,12 @@ } test -z "$with_canna" && { echo $ac_n "checking for RkBgnBun in -lRKC""... $ac_c" 1>&6 -echo "configure:7841: checking for RkBgnBun in -lRKC" >&5 +echo "configure:7898: checking for RkBgnBun in -lRKC" >&5 ac_lib_var=`echo RKC'_'RkBgnBun | sed 'y%./+-%__p_%'` xe_check_libs=" -lRKC " cat > conftest.$ac_ext <<EOF -#line 7846 "configure" +#line 7903 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7853,7 +7910,7 @@ RkBgnBun() ; return 0; } EOF -if { (eval echo configure:7857: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7914: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7876,12 +7933,12 @@ } test -z "$with_canna" && { echo $ac_n "checking for jrKanjiControl in -lcanna""... $ac_c" 1>&6 -echo "configure:7880: checking for jrKanjiControl in -lcanna" >&5 +echo "configure:7937: checking for jrKanjiControl in -lcanna" >&5 ac_lib_var=`echo canna'_'jrKanjiControl | sed 'y%./+-%__p_%'` xe_check_libs=" -lcanna " cat > conftest.$ac_ext <<EOF -#line 7885 "configure" +#line 7942 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7892,7 +7949,7 @@ jrKanjiControl() ; return 0; } EOF -if { (eval echo configure:7896: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7953: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7941,12 +7998,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:7945: checking for layout_object_getvalue in -li18n" >&5 +echo "configure:8002: checking for layout_object_getvalue in -li18n" >&5 ac_lib_var=`echo i18n'_'layout_object_getvalue | sed 'y%./+-%__p_%'` xe_check_libs=" -li18n " cat > conftest.$ac_ext <<EOF -#line 7950 "configure" +#line 8007 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7957,7 +8014,7 @@ layout_object_getvalue() ; return 0; } EOF -if { (eval echo configure:7961: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8018: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8043,10 +8100,10 @@ for ac_func in cbrt closedir dup2 eaccess fmod fpathconf frexp ftime gethostname getpagesize gettimeofday getcwd getwd logb lrand48 matherr mkdir mktime perror poll random rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask snprintf strcasecmp strerror tzset ulimit usleep utimes waitpid vsnprintf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8047: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8050 "configure" +echo "configure:8104: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8107 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -8069,7 +8126,7 @@ ; return 0; } EOF -if { (eval echo configure:8073: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8130: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8106,10 +8163,10 @@ for ac_func in realpath do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8110: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8113 "configure" +echo "configure:8167: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8170 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -8132,7 +8189,7 @@ ; return 0; } EOF -if { (eval echo configure:8136: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8193: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8165,16 +8222,16 @@ esac echo $ac_n "checking whether netdb declares h_errno""... $ac_c" 1>&6 -echo "configure:8169: checking whether netdb declares h_errno" >&5 -cat > conftest.$ac_ext <<EOF -#line 8171 "configure" +echo "configure:8226: checking whether netdb declares h_errno" >&5 +cat > conftest.$ac_ext <<EOF +#line 8228 "configure" #include "confdefs.h" #include <netdb.h> int main() { return h_errno; ; return 0; } EOF -if { (eval echo configure:8178: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8235: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "$ac_t""yes" 1>&6 { test "$extra_verbose" = "yes" && cat << \EOF @@ -8194,16 +8251,16 @@ rm -f conftest* echo $ac_n "checking for sigsetjmp""... $ac_c" 1>&6 -echo "configure:8198: checking for sigsetjmp" >&5 -cat > conftest.$ac_ext <<EOF -#line 8200 "configure" +echo "configure:8255: checking for sigsetjmp" >&5 +cat > conftest.$ac_ext <<EOF +#line 8257 "configure" #include "confdefs.h" #include <setjmp.h> int main() { sigjmp_buf bar; sigsetjmp (bar, 0); ; return 0; } EOF -if { (eval echo configure:8207: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8264: \"$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 @@ -8223,11 +8280,11 @@ rm -f conftest* echo $ac_n "checking whether localtime caches TZ""... $ac_c" 1>&6 -echo "configure:8227: checking whether localtime caches TZ" >&5 +echo "configure:8284: checking whether localtime caches TZ" >&5 if test "$ac_cv_func_tzset" = "yes"; then cat > conftest.$ac_ext <<EOF -#line 8231 "configure" +#line 8288 "configure" #include "confdefs.h" #include <time.h> #if STDC_HEADERS @@ -8262,7 +8319,7 @@ exit (0); } EOF -if { (eval echo configure:8266: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:8323: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then emacs_cv_localtime_cache=no else @@ -8290,10 +8347,10 @@ fi if test "$HAVE_TIMEVAL" = "yes"; then -echo $ac_n "checking whether gettimeofday cannot accept two arguments""... $ac_c" 1>&6 -echo "configure:8295: checking whether gettimeofday cannot accept two arguments" >&5 -cat > conftest.$ac_ext <<EOF -#line 8297 "configure" +echo $ac_n "checking whether gettimeofday accepts one or two arguments""... $ac_c" 1>&6 +echo "configure:8352: checking whether gettimeofday accepts one or two arguments" >&5 +cat > conftest.$ac_ext <<EOF +#line 8354 "configure" #include "confdefs.h" #ifdef TIME_WITH_SYS_TIME @@ -8315,14 +8372,14 @@ ; return 0; } EOF -if { (eval echo configure:8319: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then - rm -rf conftest* - echo "$ac_t""no" 1>&6 -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - echo "$ac_t""yes" 1>&6 +if { (eval echo configure:8376: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then + rm -rf conftest* + echo "$ac_t""two" 1>&6 +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + echo "$ac_t""one" 1>&6 { test "$extra_verbose" = "yes" && cat << \EOF Defining GETTIMEOFDAY_ONE_ARGUMENT EOF @@ -8337,19 +8394,19 @@ echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:8341: checking for inline" >&5 +echo "configure:8398: checking for inline" >&5 ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <<EOF -#line 8346 "configure" +#line 8403 "configure" #include "confdefs.h" int main() { } $ac_kw foo() { ; return 0; } EOF -if { (eval echo configure:8353: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8410: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -8399,17 +8456,17 @@ # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:8403: checking for working alloca.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8406 "configure" +echo "configure:8460: checking for working alloca.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8463 "configure" #include "confdefs.h" #include <alloca.h> int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:8413: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8470: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_header_alloca_h=yes else @@ -8433,10 +8490,10 @@ fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:8437: checking for alloca" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8440 "configure" +echo "configure:8494: checking for alloca" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8497 "configure" #include "confdefs.h" #ifdef __GNUC__ @@ -8459,7 +8516,7 @@ char *p = (char *) alloca(1); ; return 0; } EOF -if { (eval echo configure:8463: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8520: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -8498,10 +8555,10 @@ echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:8502: checking whether alloca needs Cray hooks" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8505 "configure" +echo "configure:8559: checking whether alloca needs Cray hooks" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8562 "configure" #include "confdefs.h" #if defined(CRAY) && ! defined(CRAY2) webecray @@ -8525,10 +8582,10 @@ if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8529: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8532 "configure" +echo "configure:8586: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8589 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -8551,7 +8608,7 @@ ; return 0; } EOF -if { (eval echo configure:8555: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8612: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8581,10 +8638,10 @@ fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:8585: checking stack direction for C alloca" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8588 "configure" +echo "configure:8642: checking stack direction for C alloca" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8645 "configure" #include "confdefs.h" find_stack_direction () { @@ -8603,7 +8660,7 @@ exit (find_stack_direction() < 0); } EOF -if { (eval echo configure:8607: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:8664: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_c_stack_direction=1 else @@ -8631,15 +8688,15 @@ ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for vfork.h""... $ac_c" 1>&6 -echo "configure:8635: checking for vfork.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8638 "configure" +echo "configure:8692: checking for vfork.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8695 "configure" #include "confdefs.h" #include <vfork.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8643: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8700: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -8667,10 +8724,10 @@ fi echo $ac_n "checking for working vfork""... $ac_c" 1>&6 -echo "configure:8671: checking for working vfork" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8674 "configure" +echo "configure:8728: checking for working vfork" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8731 "configure" #include "confdefs.h" /* Thanks to Paul Eggert for this test. */ #include <stdio.h> @@ -8765,7 +8822,7 @@ } } EOF -if { (eval echo configure:8769: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:8826: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_func_vfork_works=yes else @@ -8790,10 +8847,10 @@ echo $ac_n "checking for working strcoll""... $ac_c" 1>&6 -echo "configure:8794: checking for working strcoll" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8797 "configure" +echo "configure:8851: checking for working strcoll" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8854 "configure" #include "confdefs.h" #include <string.h> main () @@ -8803,7 +8860,7 @@ strcoll ("123", "456") >= 0); } EOF -if { (eval echo configure:8807: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:8864: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_func_strcoll_works=yes else @@ -8830,10 +8887,10 @@ for ac_func in getpgrp do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8834: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8837 "configure" +echo "configure:8891: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8894 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -8856,7 +8913,7 @@ ; return 0; } EOF -if { (eval echo configure:8860: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8917: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8884,10 +8941,10 @@ done echo $ac_n "checking whether getpgrp takes no argument""... $ac_c" 1>&6 -echo "configure:8888: checking whether getpgrp takes no argument" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8891 "configure" +echo "configure:8945: checking whether getpgrp takes no argument" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8948 "configure" #include "confdefs.h" /* @@ -8942,7 +8999,7 @@ } EOF -if { (eval echo configure:8946: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:9003: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_func_getpgrp_void=yes else @@ -8968,10 +9025,10 @@ echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:8972: checking for working mmap" >&5 +echo "configure:9029: checking for working mmap" >&5 case "$opsys" in ultrix* ) have_mmap=no ;; *) cat > conftest.$ac_ext <<EOF -#line 8975 "configure" +#line 9032 "configure" #include "confdefs.h" #include <stdio.h> #include <unistd.h> @@ -9004,7 +9061,7 @@ return 1; } EOF -if { (eval echo configure:9008: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:9065: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then have_mmap=yes else @@ -9038,15 +9095,15 @@ ac_safe=`echo "termios.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for termios.h""... $ac_c" 1>&6 -echo "configure:9042: checking for termios.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9045 "configure" +echo "configure:9099: checking for termios.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9102 "configure" #include "confdefs.h" #include <termios.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9050: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9107: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9089,15 +9146,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:9093: checking for termio.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9096 "configure" +echo "configure:9150: checking for termio.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9153 "configure" #include "confdefs.h" #include <termio.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9101: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9158: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9129,10 +9186,10 @@ echo $ac_n "checking for socket""... $ac_c" 1>&6 -echo "configure:9133: checking for socket" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9136 "configure" +echo "configure:9190: checking for socket" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9193 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char socket(); below. */ @@ -9155,7 +9212,7 @@ ; return 0; } EOF -if { (eval echo configure:9159: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9216: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_socket=yes" else @@ -9170,15 +9227,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:9174: checking for netinet/in.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9177 "configure" +echo "configure:9231: checking for netinet/in.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9234 "configure" #include "confdefs.h" #include <netinet/in.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9182: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9239: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9195,15 +9252,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:9199: checking for arpa/inet.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9202 "configure" +echo "configure:9256: checking for arpa/inet.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9259 "configure" #include "confdefs.h" #include <arpa/inet.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9207: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9264: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9228,9 +9285,9 @@ } echo $ac_n "checking "for sun_len member in struct sockaddr_un"""... $ac_c" 1>&6 -echo "configure:9232: checking "for sun_len member in struct sockaddr_un"" >&5 +echo "configure:9289: checking "for sun_len member in struct sockaddr_un"" >&5 cat > conftest.$ac_ext <<EOF -#line 9234 "configure" +#line 9291 "configure" #include "confdefs.h" #include <sys/types.h> @@ -9241,7 +9298,7 @@ static struct sockaddr_un x; x.sun_len = 1; ; return 0; } EOF -if { (eval echo configure:9245: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9302: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "$ac_t""yes" 1>&6; { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_SOCKADDR_SUN_LEN @@ -9259,9 +9316,9 @@ fi rm -f conftest* echo $ac_n "checking "for ip_mreq struct in netinet/in.h"""... $ac_c" 1>&6 -echo "configure:9263: checking "for ip_mreq struct in netinet/in.h"" >&5 +echo "configure:9320: checking "for ip_mreq struct in netinet/in.h"" >&5 cat > conftest.$ac_ext <<EOF -#line 9265 "configure" +#line 9322 "configure" #include "confdefs.h" #include <netinet/in.h> @@ -9270,7 +9327,7 @@ static struct ip_mreq x; ; return 0; } EOF -if { (eval echo configure:9274: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9331: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "$ac_t""yes" 1>&6; { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_MULTICAST @@ -9301,10 +9358,10 @@ echo $ac_n "checking for msgget""... $ac_c" 1>&6 -echo "configure:9305: checking for msgget" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9308 "configure" +echo "configure:9362: checking for msgget" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9365 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char msgget(); below. */ @@ -9327,7 +9384,7 @@ ; return 0; } EOF -if { (eval echo configure:9331: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9388: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_msgget=yes" else @@ -9342,15 +9399,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:9346: checking for sys/ipc.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9349 "configure" +echo "configure:9403: checking for sys/ipc.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9406 "configure" #include "confdefs.h" #include <sys/ipc.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9354: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9411: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9367,15 +9424,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:9371: checking for sys/msg.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9374 "configure" +echo "configure:9428: checking for sys/msg.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9431 "configure" #include "confdefs.h" #include <sys/msg.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9379: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9436: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9413,15 +9470,15 @@ ac_safe=`echo "dirent.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for dirent.h""... $ac_c" 1>&6 -echo "configure:9417: checking for dirent.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9420 "configure" +echo "configure:9474: checking for dirent.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9477 "configure" #include "confdefs.h" #include <dirent.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9425: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9482: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9448,15 +9505,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:9452: checking for sys/dir.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9455 "configure" +echo "configure:9509: checking for sys/dir.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9512 "configure" #include "confdefs.h" #include <sys/dir.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9460: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9517: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9489,15 +9546,15 @@ ac_safe=`echo "nlist.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for nlist.h""... $ac_c" 1>&6 -echo "configure:9493: checking for nlist.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9496 "configure" +echo "configure:9550: checking for nlist.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9553 "configure" #include "confdefs.h" #include <nlist.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9501: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9558: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9527,7 +9584,7 @@ echo "checking "for sound support"" 1>&6 -echo "configure:9531: checking "for sound support"" >&5 +echo "configure:9588: checking "for sound support"" >&5 case "$with_sound" in native | both ) with_native_sound=yes;; nas | no ) with_native_sound=no;; @@ -9538,15 +9595,15 @@ 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:9542: checking for multimedia/audio_device.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9545 "configure" +echo "configure:9599: checking for multimedia/audio_device.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9602 "configure" #include "confdefs.h" #include <multimedia/audio_device.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9550: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9607: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9594,12 +9651,12 @@ if test -z "$native_sound_lib"; then echo $ac_n "checking for ALopenport in -laudio""... $ac_c" 1>&6 -echo "configure:9598: checking for ALopenport in -laudio" >&5 +echo "configure:9655: checking for ALopenport in -laudio" >&5 ac_lib_var=`echo audio'_'ALopenport | sed 'y%./+-%__p_%'` xe_check_libs=" -laudio " cat > conftest.$ac_ext <<EOF -#line 9603 "configure" +#line 9660 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -9610,7 +9667,7 @@ ALopenport() ; return 0; } EOF -if { (eval echo configure:9614: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9671: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -9641,12 +9698,12 @@ if test -z "$native_sound_lib"; then echo $ac_n "checking for AOpenAudio in -lAlib""... $ac_c" 1>&6 -echo "configure:9645: checking for AOpenAudio in -lAlib" >&5 +echo "configure:9702: checking for AOpenAudio in -lAlib" >&5 ac_lib_var=`echo Alib'_'AOpenAudio | sed 'y%./+-%__p_%'` xe_check_libs=" -lAlib " cat > conftest.$ac_ext <<EOF -#line 9650 "configure" +#line 9707 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -9657,7 +9714,7 @@ AOpenAudio() ; return 0; } EOF -if { (eval echo configure:9661: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9718: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -9695,15 +9752,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:9699: checking for ${dir}/soundcard.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9702 "configure" +echo "configure:9756: checking for ${dir}/soundcard.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9759 "configure" #include "confdefs.h" #include <${dir}/soundcard.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9707: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9764: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9773,7 +9830,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 -#line 9777 "configure" +#line 9834 "configure" #include "confdefs.h" #include <audio/Xtutil.h> EOF @@ -9800,7 +9857,7 @@ if test "$with_tty" = "yes" ; then echo "checking for TTY-related features" 1>&6 -echo "configure:9804: checking for TTY-related features" >&5 +echo "configure:9861: checking for TTY-related features" >&5 { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_TTY EOF @@ -9816,12 +9873,12 @@ if test -z "$with_ncurses"; then echo $ac_n "checking for tgetent in -lncurses""... $ac_c" 1>&6 -echo "configure:9820: checking for tgetent in -lncurses" >&5 +echo "configure:9877: checking for tgetent in -lncurses" >&5 ac_lib_var=`echo ncurses'_'tgetent | sed 'y%./+-%__p_%'` xe_check_libs=" -lncurses " cat > conftest.$ac_ext <<EOF -#line 9825 "configure" +#line 9882 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -9832,7 +9889,7 @@ tgetent() ; return 0; } EOF -if { (eval echo configure:9836: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9893: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -9865,15 +9922,15 @@ ac_safe=`echo "ncurses/curses.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ncurses/curses.h""... $ac_c" 1>&6 -echo "configure:9869: checking for ncurses/curses.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9872 "configure" +echo "configure:9926: checking for ncurses/curses.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9929 "configure" #include "confdefs.h" #include <ncurses/curses.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9877: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9934: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9895,15 +9952,15 @@ ac_safe=`echo "ncurses/term.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ncurses/term.h""... $ac_c" 1>&6 -echo "configure:9899: checking for ncurses/term.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9902 "configure" +echo "configure:9956: checking for ncurses/term.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9959 "configure" #include "confdefs.h" #include <ncurses/term.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9907: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9964: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9933,15 +9990,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:9937: checking for ncurses/curses.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9940 "configure" +echo "configure:9994: checking for ncurses/curses.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9997 "configure" #include "confdefs.h" #include <ncurses/curses.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9945: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10002: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9976,12 +10033,12 @@ for lib in curses termlib termcap; do echo $ac_n "checking for tgetent in -l$lib""... $ac_c" 1>&6 -echo "configure:9980: checking for tgetent in -l$lib" >&5 +echo "configure:10037: checking for tgetent in -l$lib" >&5 ac_lib_var=`echo $lib'_'tgetent | sed 'y%./+-%__p_%'` xe_check_libs=" -l$lib " cat > conftest.$ac_ext <<EOF -#line 9985 "configure" +#line 10042 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -9992,7 +10049,7 @@ tgetent() ; return 0; } EOF -if { (eval echo configure:9996: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10053: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10023,12 +10080,12 @@ else echo $ac_n "checking for tgetent in -lcurses""... $ac_c" 1>&6 -echo "configure:10027: checking for tgetent in -lcurses" >&5 +echo "configure:10084: checking for tgetent in -lcurses" >&5 ac_lib_var=`echo curses'_'tgetent | sed 'y%./+-%__p_%'` xe_check_libs=" -lcurses " cat > conftest.$ac_ext <<EOF -#line 10032 "configure" +#line 10089 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10039,7 +10096,7 @@ tgetent() ; return 0; } EOF -if { (eval echo configure:10043: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10100: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10057,12 +10114,12 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for tgetent in -ltermcap""... $ac_c" 1>&6 -echo "configure:10061: checking for tgetent in -ltermcap" >&5 +echo "configure:10118: checking for tgetent in -ltermcap" >&5 ac_lib_var=`echo termcap'_'tgetent | sed 'y%./+-%__p_%'` xe_check_libs=" -ltermcap " cat > conftest.$ac_ext <<EOF -#line 10066 "configure" +#line 10123 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10073,7 +10130,7 @@ tgetent() ; return 0; } EOF -if { (eval echo configure:10077: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10134: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10121,15 +10178,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:10125: checking for gpm.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10128 "configure" +echo "configure:10182: checking for gpm.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10185 "configure" #include "confdefs.h" #include <gpm.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10133: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10190: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -10152,12 +10209,12 @@ } test -z "$with_gpm" && { echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6 -echo "configure:10156: checking for Gpm_Open in -lgpm" >&5 +echo "configure:10213: checking for Gpm_Open in -lgpm" >&5 ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'` xe_check_libs=" -lgpm " cat > conftest.$ac_ext <<EOF -#line 10161 "configure" +#line 10218 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10168,7 +10225,7 @@ Gpm_Open() ; return 0; } EOF -if { (eval echo configure:10172: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10229: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10217,22 +10274,22 @@ echo "checking for database support" 1>&6 -echo "configure:10221: checking for database support" >&5 +echo "configure:10278: checking for database support" >&5 if test "$with_database_gnudbm" != "no"; then for ac_hdr in ndbm.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:10228: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10231 "configure" +echo "configure:10285: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10288 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10236: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10293: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -10264,12 +10321,12 @@ if test "$have_ndbm_h" = "yes"; then echo $ac_n "checking for dbm_open in -lgdbm""... $ac_c" 1>&6 -echo "configure:10268: checking for dbm_open in -lgdbm" >&5 +echo "configure:10325: checking for dbm_open in -lgdbm" >&5 ac_lib_var=`echo gdbm'_'dbm_open | sed 'y%./+-%__p_%'` xe_check_libs=" -lgdbm " cat > conftest.$ac_ext <<EOF -#line 10273 "configure" +#line 10330 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10280,7 +10337,7 @@ dbm_open() ; return 0; } EOF -if { (eval echo configure:10284: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10341: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10303,10 +10360,10 @@ fi if test "$with_database_gnudbm" != "yes"; then echo $ac_n "checking for dbm_open""... $ac_c" 1>&6 -echo "configure:10307: checking for dbm_open" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10310 "configure" +echo "configure:10364: checking for dbm_open" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10367 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dbm_open(); below. */ @@ -10329,7 +10386,7 @@ ; return 0; } EOF -if { (eval echo configure:10333: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10390: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_dbm_open=yes" else @@ -10365,10 +10422,10 @@ if test "$with_database_dbm" != "no"; then echo $ac_n "checking for dbm_open""... $ac_c" 1>&6 -echo "configure:10369: checking for dbm_open" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10372 "configure" +echo "configure:10426: checking for dbm_open" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10429 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dbm_open(); below. */ @@ -10391,7 +10448,7 @@ ; return 0; } EOF -if { (eval echo configure:10395: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10452: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_dbm_open=yes" else @@ -10412,12 +10469,12 @@ if test "$need_libdbm" != "no"; then echo $ac_n "checking for dbm_open in -ldbm""... $ac_c" 1>&6 -echo "configure:10416: checking for dbm_open in -ldbm" >&5 +echo "configure:10473: checking for dbm_open in -ldbm" >&5 ac_lib_var=`echo dbm'_'dbm_open | sed 'y%./+-%__p_%'` xe_check_libs=" -ldbm " cat > conftest.$ac_ext <<EOF -#line 10421 "configure" +#line 10478 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10428,7 +10485,7 @@ dbm_open() ; return 0; } EOF -if { (eval echo configure:10432: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10489: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10465,10 +10522,10 @@ if test "$with_database_berkdb" != "no"; then echo $ac_n "checking for dbopen""... $ac_c" 1>&6 -echo "configure:10469: checking for dbopen" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10472 "configure" +echo "configure:10526: checking for dbopen" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10529 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dbopen(); below. */ @@ -10491,7 +10548,7 @@ ; return 0; } EOF -if { (eval echo configure:10495: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10552: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_dbopen=yes" else @@ -10512,12 +10569,12 @@ if test "$need_libdb" != "no"; then echo $ac_n "checking for dbopen in -ldb""... $ac_c" 1>&6 -echo "configure:10516: checking for dbopen in -ldb" >&5 +echo "configure:10573: checking for dbopen in -ldb" >&5 ac_lib_var=`echo db'_'dbopen | sed 'y%./+-%__p_%'` xe_check_libs=" -ldb " cat > conftest.$ac_ext <<EOF -#line 10521 "configure" +#line 10578 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10528,7 +10585,7 @@ dbopen() ; return 0; } EOF -if { (eval echo configure:10532: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10589: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10552,7 +10609,7 @@ if test "$with_database_berkdb" = "yes"; then for path in "db/db.h" "db.h"; do cat > conftest.$ac_ext <<EOF -#line 10556 "configure" +#line 10613 "configure" #include "confdefs.h" #ifdef HAVE_INTTYPES_H #define __BIT_TYPES_DEFINED__ @@ -10570,7 +10627,7 @@ ; return 0; } EOF -if { (eval echo configure:10574: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:10631: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* db_h_path="$path"; break else @@ -10621,12 +10678,12 @@ if test "$with_socks" = "yes"; then echo $ac_n "checking for SOCKSinit in -lsocks""... $ac_c" 1>&6 -echo "configure:10625: checking for SOCKSinit in -lsocks" >&5 +echo "configure:10682: checking for SOCKSinit in -lsocks" >&5 ac_lib_var=`echo socks'_'SOCKSinit | sed 'y%./+-%__p_%'` xe_check_libs=" -lsocks " cat > conftest.$ac_ext <<EOF -#line 10630 "configure" +#line 10687 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10637,7 +10694,7 @@ SOCKSinit() ; return 0; } EOF -if { (eval echo configure:10641: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10698: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10694,15 +10751,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:10698: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10701 "configure" +echo "configure:10755: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10758 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10706: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10763: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -10733,12 +10790,12 @@ test -z "$with_shlib" && test ! -z "$have_dlfcn" && { echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 -echo "configure:10737: checking for dlopen in -ldl" >&5 +echo "configure:10794: checking for dlopen in -ldl" >&5 ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` xe_check_libs=" -ldl " cat > conftest.$ac_ext <<EOF -#line 10742 "configure" +#line 10799 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10749,7 +10806,7 @@ dlopen() ; return 0; } EOF -if { (eval echo configure:10753: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10810: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10778,12 +10835,12 @@ } test -z "$with_shlib" && test ! -z "$have_dlfcn" && { echo $ac_n "checking for _dlopen in -lc""... $ac_c" 1>&6 -echo "configure:10782: checking for _dlopen in -lc" >&5 +echo "configure:10839: checking for _dlopen in -lc" >&5 ac_lib_var=`echo c'_'_dlopen | sed 'y%./+-%__p_%'` xe_check_libs=" -lc " cat > conftest.$ac_ext <<EOF -#line 10787 "configure" +#line 10844 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10794,7 +10851,7 @@ _dlopen() ; return 0; } EOF -if { (eval echo configure:10798: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10855: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10823,12 +10880,12 @@ } test -z "$with_shlib" && test ! -z "$have_dlfcn" && { echo $ac_n "checking for dlopen in -lc""... $ac_c" 1>&6 -echo "configure:10827: checking for dlopen in -lc" >&5 +echo "configure:10884: checking for dlopen in -lc" >&5 ac_lib_var=`echo c'_'dlopen | sed 'y%./+-%__p_%'` xe_check_libs=" -lc " cat > conftest.$ac_ext <<EOF -#line 10832 "configure" +#line 10889 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10839,7 +10896,7 @@ dlopen() ; return 0; } EOF -if { (eval echo configure:10843: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10900: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10868,12 +10925,12 @@ } test -z "$with_shlib" && { echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6 -echo "configure:10872: checking for shl_load in -ldld" >&5 +echo "configure:10929: checking for shl_load in -ldld" >&5 ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'` xe_check_libs=" -ldld " cat > conftest.$ac_ext <<EOF -#line 10877 "configure" +#line 10934 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10884,7 +10941,7 @@ shl_load() ; return 0; } EOF -if { (eval echo configure:10888: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10945: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10913,12 +10970,12 @@ } test -z "$with_shlib" && { echo $ac_n "checking for dld_init in -ldld""... $ac_c" 1>&6 -echo "configure:10917: checking for dld_init in -ldld" >&5 +echo "configure:10974: checking for dld_init in -ldld" >&5 ac_lib_var=`echo dld'_'dld_init | sed 'y%./+-%__p_%'` xe_check_libs=" -ldld " cat > conftest.$ac_ext <<EOF -#line 10922 "configure" +#line 10979 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10929,7 +10986,7 @@ dld_init() ; return 0; } EOF -if { (eval echo configure:10933: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10990: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10979,7 +11036,7 @@ dll_oflags="-o " echo $ac_n "checking how to build a shared library""... $ac_c" 1>&6 -echo "configure:10983: checking how to build a shared library" >&5 +echo "configure:11040: checking how to build a shared library" >&5 case `uname -rs` in UNIX_SV*|UNIX_System_V*) dll_lflags="-G" @@ -11076,11 +11133,11 @@ fi cat > conftest.$ac_ext <<EOF -#line 11080 "configure" +#line 11137 "configure" #include "confdefs.h" int main(int c,char *v[]){return 0;} EOF -if { (eval echo configure:11084: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:11141: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then : else @@ -11247,16 +11304,90 @@ - - - - - - - - - - +INFODIR=$infodir +while true; do + case "$INFODIR" in + *\$* ) eval "INFODIR=$INFODIR" ;; + *) break ;; + esac +done + + + + +INFOPATH=$infopath +while true; do + case "$INFOPATH" in + *\$* ) eval "INFOPATH=$INFOPATH" ;; + *) break ;; + esac +done + + + + +PACKAGE_PATH=$package_path +while true; do + case "$PACKAGE_PATH" in + *\$* ) eval "PACKAGE_PATH=$PACKAGE_PATH" ;; + *) break ;; + esac +done + + + + +LISPDIR=$lispdir +while true; do + case "$LISPDIR" in + *\$* ) eval "LISPDIR=$LISPDIR" ;; + *) break ;; + esac +done + + + + +SITELISPDIR=$sitelispdir +while true; do + case "$SITELISPDIR" in + *\$* ) eval "SITELISPDIR=$SITELISPDIR" ;; + *) break ;; + esac +done + + + + +ETCDIR=$etcdir +while true; do + case "$ETCDIR" in + *\$* ) eval "ETCDIR=$ETCDIR" ;; + *) break ;; + esac +done + + + + +LOCKDIR=$lockdir +while true; do + case "$LOCKDIR" in + *\$* ) eval "LOCKDIR=$LOCKDIR" ;; + *) break ;; + esac +done + + + + +ARCHLIBDIR=$archlibdir +while true; do + case "$ARCHLIBDIR" in + *\$* ) eval "ARCHLIBDIR=$ARCHLIBDIR" ;; + *) break ;; + esac +done @@ -11663,7 +11794,7 @@ file="src/Makefile.in:src/Makefile.in.in:src/depend" ac_output_files="${ac_output_files+$ac_output_files }$file" done -ac_output_files="$ac_output_files lib-src/config.values" +ac_output_files="$ac_output_files src/paths.h.in lib-src/config.values" trap '' 1 2 15 @@ -11720,7 +11851,7 @@ ac_given_srcdir=$srcdir ac_given_INSTALL="$INSTALL" -trap 'rm -fr `echo "$ac_output_files src/config.h lwlib/config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 +trap 'rm -fr `echo "$ac_output_files src/config.h src/paths.h lwlib/config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 EOF cat >> $CONFIG_STATUS <<EOF @@ -11769,6 +11900,7 @@ s%@X_LIBS@%$X_LIBS%g s%@X_EXTRA_LIBS@%$X_EXTRA_LIBS%g s%@libs_xauth@%$libs_xauth%g +s%@dnd_objs@%$dnd_objs%g s%@lwlib_objs@%$lwlib_objs%g s%@ALLOCA@%$ALLOCA%g s%@dll_ld@%$dll_ld%g @@ -11785,20 +11917,29 @@ s%@srcdir@%$srcdir%g s%@pkgdir@%$pkgdir%g s%@statedir@%$statedir%g -s%@infodir_user_defined@%$infodir_user_defined%g +s%@INFODIR_USER_DEFINED@%$INFODIR_USER_DEFINED%g +s%@INFODIR@%$INFODIR%g s%@infopath@%$infopath%g +s%@INFOPATH_USER_DEFINED@%$INFOPATH_USER_DEFINED%g +s%@INFOPATH@%$INFOPATH%g s%@package_path@%$package_path%g -s%@package_path_user_defined@%$package_path_user_defined%g +s%@PACKAGE_PATH_USER_DEFINED@%$PACKAGE_PATH_USER_DEFINED%g +s%@PACKAGE_PATH@%$PACKAGE_PATH%g s%@lispdir@%$lispdir%g -s%@lispdir_user_defined@%$lispdir_user_defined%g +s%@LISPDIR_USER_DEFINED@%$LISPDIR_USER_DEFINED%g +s%@LISPDIR@%$LISPDIR%g s%@sitelispdir@%$sitelispdir%g -s%@sitelispdir_user_defined@%$sitelispdir_user_defined%g +s%@SITELISPDIR_USER_DEFINED@%$SITELISPDIR_USER_DEFINED%g +s%@SITELISPDIR@%$SITELISPDIR%g s%@etcdir@%$etcdir%g -s%@etcdir_user_defined@%$etcdir_user_defined%g +s%@ETCDIR_USER_DEFINED@%$ETCDIR_USER_DEFINED%g +s%@ETCDIR@%$ETCDIR%g s%@lockdir@%$lockdir%g -s%@lockdir_user_defined@%$lockdir_user_defined%g +s%@LOCKDIR_USER_DEFINED@%$LOCKDIR_USER_DEFINED%g +s%@LOCKDIR@%$LOCKDIR%g s%@archlibdir@%$archlibdir%g -s%@archlibdir_user_defined@%$archlibdir_user_defined%g +s%@ARCHLIBDIR_USER_DEFINED@%$ARCHLIBDIR_USER_DEFINED%g +s%@ARCHLIBDIR@%$ARCHLIBDIR%g s%@docdir@%$docdir%g s%@bitmapdir@%$bitmapdir%g s%@extra_objs@%$extra_objs%g @@ -11941,7 +12082,7 @@ if test "${CONFIG_HEADERS+set}" != set; then EOF cat >> $CONFIG_STATUS <<EOF - CONFIG_HEADERS="src/config.h lwlib/config.h" + CONFIG_HEADERS="src/config.h src/paths.h lwlib/config.h" EOF cat >> $CONFIG_STATUS <<\EOF fi
--- a/configure.in Mon Aug 13 10:28:54 2007 +0200 +++ b/configure.in Mon Aug 13 10:29:42 2007 +0200 @@ -289,7 +289,7 @@ ac_max_here_lines=12 ])dnl AC_INIT(src/lisp.h)dnl -AC_CONFIG_HEADER(src/config.h lwlib/config.h) +AC_CONFIG_HEADER(src/config.h src/paths.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 @@ -324,24 +324,14 @@ libdir='${exec_prefix}/lib' mandir='${prefix}/man/man1' infodir='${datadir}/xemacs-${version}/info' -infodir_user_defined='no' -dnl BETA NOTE: ! Will you please add to this list? Nonexistent dirs -dnl are dropped from the list at runtime, so it is safe to add -dnl directories to this list that you don't have at home. -infopath='/usr/local/lib/texmf/doc/info:/usr/local/lib/texmf/info:/usr/lib/texmf/doc/info:/usr/lib/texmf/info:/usr/local/info:/usr/info' +infopath='' lispdir='${datadir}/xemacs-${version}/lisp' -lispdir_user_defined='no' sitelispdir='${datadir}/xemacs/site-lisp' -sitelispdir_user_defined='no' pkgdir='${datadir}/xemacs-${version}/lisp' -package_path='~/.xemacs::${datadir}/xemacs-${version}/mule-packages:${datadir}/xemacs/mule-packages:${datadir}/xemacs-${version}/packages:${datadir}/xemacs/packages' -package_path_user_defined='no' +package_path='' etcdir='${datadir}/xemacs-${version}/etc' -etcdir_user_defined='no' lockdir='${statedir}/xemacs/lock' -lockdir_user_defined='no' archlibdir='${libdir}/xemacs-${version}/${configuration}' -archlibdir_user_defined='no' with_site_lisp='no' with_menubars='' with_scrollbars='' @@ -433,16 +423,16 @@ ;; esac + dnl translate "-" in option string to "_" + optname="$opt" + opt="`echo '' $opt | sed -e 's:^ ::' | tr - _`" + dnl Support --without-FOO as a synonym for --with-FOO=no case "${valomitted}-${opt}" in yes-without_* ) opt=`echo $opt | sed 's/without/with/'` valomitted="no" val="no" ;; esac - dnl translate "-" in option string to "_" - optname="$opt" - opt="`echo '' $opt | sed -e 's:^ ::' | tr - _`" - dnl Process the option. case "$opt" in @@ -706,14 +696,15 @@ dnl of etcdir and lispdir. Changing statedir will change the dnl default value of lockdir. case "$opt" in - lispdir ) lispdir_user_defined=yes ;; - sitelispdir ) sitelispdir_user_defined=yes ;; - etcdir ) etcdir_user_defined=yes ;; - infodir ) infodir_user_defined=yes ;; - package_path ) package_path_user_defined=yes ;; - datadir ) lispdir_user_defined=yes etcdir_user_defined=yes ;; - statedir | lockdir ) lockdir_user_defined=yes ;; - exec_prefix | libdir | archlibdir ) archlibdir_user_defined=yes ;; + lispdir ) AC_DEFINE(LISPDIR_USER_DEFINED) ;; + sitelispdir ) AC_DEFINE(SITELISPDIR_USER_DEFINED) ;; + etcdir ) AC_DEFINE(ETCDIR_USER_DEFINED) ;; + infodir ) AC_DEFINE(INFODIR_USER_DEFINED) ;; + infopath ) AC_DEFINE(INFOPATH_USER_DEFINED) ;; + package_path ) AC_DEFINE(PACKAGE_PATH_USER_DEFINED) ;; + datadir ) AC_DEFINE(ETCDIR_USER_DEFINED) ;; + statedir | lockdir ) AC_DEFINE(LOCKDIR_USER_DEFINED) ;; + exec_prefix | libdir | archlibdir ) AC_DEFINE(ARCHLIBDIR_USER_DEFINED) ;; esac ;; @@ -763,11 +754,6 @@ test -n "$libs" && LIBS="$libs" test -n "$ldflags" && LDFLAGS="$ldflags" -dnl Personal settings shouldn't affect the configuration process. -dnl if test "$infopath_user_defined" = "no" -a -n "$INFOPATH" ; then -dnl infopath="$INFOPATH" -dnl fi - dnl Get the arguments back. See the diatribe on Shell Magic above. eval set x "$quoted_arguments"; shift @@ -1746,7 +1732,7 @@ dnl Feed s&m crud to src/Makefile dnl Linux/powerpc needs the following magic for some reason -test "$machine$opsys" = "powerpclinux" && start_flags="-T $srcdir/ppc.ldscript" +test "$machine$opsys" = "powerpclinux" && start_flags="-T $srcdir/src/ppc.ldscript" if test "$unexec" = "unexaix.o"; then dnl AIX needs various hacks to make static linking work. @@ -2341,15 +2327,16 @@ dnl Problem with the MIT distribution of X on AIX if test "$unexec" = "unexaix.o" -a "$x11_release" = "6"; then dnl X11R6 requires thread-safe code on AIX for some reason - case "$CC" in - "xlc" ) CC="xlc_r" ;; - "xlC" ) CC="xlC_r" ;; - "cc" ) CC="cc_r" ;; - "gcc" ) - XE_PREPEND(-mthreads, X_CFLAGS) - XE_PREPEND(-mthreads, libs_x) - ;; - esac + if test "$GCC" = "yes"; then + XE_PREPEND(-mthreads, X_CFLAGS) + XE_PREPEND(-mthreads, libs_x) + else + case "$CC" in + "xlc" ) CC="xlc_r" ;; + "xlC" ) CC="xlC_r" ;; + "cc" ) CC="cc_r" ;; + esac + fi fi fi dnl $with_x11 = yes @@ -2467,9 +2454,11 @@ test -z "$with_offix" && with_offix=yes if test "$with_offix" = "yes"; then AC_DEFINE(HAVE_OFFIX_DND) - XE_ADD_OBJS(offix.o) + XE_APPEND(offix.o, dnd_objs) fi +AC_SUBST(dnd_objs) + dnl Autodetect tooltalk test "$with_cde" = "yes" && with_tooltalk=yes # CDE requires tooltalk if test "$with_tooltalk" != "no" ; then @@ -2617,7 +2606,7 @@ #if PNG_LIBPNG_VER >= 96 yes #endif -], [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no); have_png=no]) +], [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no); with_png=no]) fi test -z "$with_png" && { AC_CHECK_FUNC(pow, ,with_png=no) } test -z "$with_png" && { AC_CHECK_LIB(png, png_read_image,[:],with_png=no) } @@ -3487,11 +3476,11 @@ dnl There are no more compile tests; remove the core they created. rm -f core -dnl ------------------------------------- -dnl Substitute into Makefile and config.h -dnl ------------------------------------- - -dnl what sort of things to edit into Makefile and config.h. +dnl ---------------------------------------------- +dnl Substitute into Makefile, config.h and paths.h +dnl ---------------------------------------------- + +dnl what sort of things to edit into Makefile, config.h and paths.h dnl configuration here uncanonicalized to avoid exceeding size limits. AC_SUBST(version) @@ -3506,21 +3495,96 @@ AC_SUBST(statedir) AC_SUBST(libdir) AC_SUBST(mandir) + AC_SUBST(infodir) -AC_SUBST(infodir_user_defined) +AC_SUBST(INFODIR_USER_DEFINED) +dnl Yo, Stephen Bourne! I want to marry you! +INFODIR=$infodir +while true; do + case "$INFODIR" in + *\$* ) eval "INFODIR=$INFODIR" ;; + *) break ;; + esac +done +AC_SUBST(INFODIR) + AC_SUBST(infopath) +AC_SUBST(INFOPATH_USER_DEFINED) +INFOPATH=$infopath +while true; do + case "$INFOPATH" in + *\$* ) eval "INFOPATH=$INFOPATH" ;; + *) break ;; + esac +done +AC_SUBST(INFOPATH) + AC_SUBST(package_path) -AC_SUBST(package_path_user_defined) +AC_SUBST(PACKAGE_PATH_USER_DEFINED) +PACKAGE_PATH=$package_path +while true; do + case "$PACKAGE_PATH" in + *\$* ) eval "PACKAGE_PATH=$PACKAGE_PATH" ;; + *) break ;; + esac +done +AC_SUBST(PACKAGE_PATH) + AC_SUBST(lispdir) -AC_SUBST(lispdir_user_defined) +AC_SUBST(LISPDIR_USER_DEFINED) +LISPDIR=$lispdir +while true; do + case "$LISPDIR" in + *\$* ) eval "LISPDIR=$LISPDIR" ;; + *) break ;; + esac +done +AC_SUBST(LISPDIR) + AC_SUBST(sitelispdir) -AC_SUBST(sitelispdir_user_defined) +AC_SUBST(SITELISPDIR_USER_DEFINED) +SITELISPDIR=$sitelispdir +while true; do + case "$SITELISPDIR" in + *\$* ) eval "SITELISPDIR=$SITELISPDIR" ;; + *) break ;; + esac +done +AC_SUBST(SITELISPDIR) + AC_SUBST(etcdir) -AC_SUBST(etcdir_user_defined) +AC_SUBST(ETCDIR_USER_DEFINED) +ETCDIR=$etcdir +while true; do + case "$ETCDIR" in + *\$* ) eval "ETCDIR=$ETCDIR" ;; + *) break ;; + esac +done +AC_SUBST(ETCDIR) + AC_SUBST(lockdir) -AC_SUBST(lockdir_user_defined) +AC_SUBST(LOCKDIR_USER_DEFINED) +LOCKDIR=$lockdir +while true; do + case "$LOCKDIR" in + *\$* ) eval "LOCKDIR=$LOCKDIR" ;; + *) break ;; + esac +done +AC_SUBST(LOCKDIR) + AC_SUBST(archlibdir) -AC_SUBST(archlibdir_user_defined) +AC_SUBST(ARCHLIBDIR_USER_DEFINED) +ARCHLIBDIR=$archlibdir +while true; do + case "$ARCHLIBDIR" in + *\$* ) eval "ARCHLIBDIR=$ARCHLIBDIR" ;; + *) break ;; + esac +done +AC_SUBST(ARCHLIBDIR) + AC_SUBST(docdir) AC_SUBST(bitmapdir) AC_SUBST(extra_objs) @@ -3772,7 +3836,7 @@ file="src/Makefile.in:src/Makefile.in.in:src/depend" ac_output_files="${ac_output_files+$ac_output_files }$file" done -ac_output_files="$ac_output_files lib-src/config.values" +ac_output_files="$ac_output_files src/paths.h.in lib-src/config.values" AC_OUTPUT($ac_output_files, [for dir in $MAKE_SUBDIR; do
--- a/configure.usage Mon Aug 13 10:28:54 2007 +0200 +++ b/configure.usage Mon Aug 13 10:29:42 2007 +0200 @@ -133,18 +133,21 @@ --with-site-lisp Allow for a site-lisp directory in the XEmacs hierarchy searched before the installation packages. --package-path=PATH Directories to search for packages to dump with xemacs. - Defaults to - `~/.xemacs::/usr/local/lib/xemacs-${version}/mule-packages:/usr/local/lib/xemacs/mule-packages:/usr/local/lib/xemacs-${version}/packages:/usr/local/lib/xemacs/packages'. - Components before the double colon (::) will not - be seen at dump time. They will also show up - as the first thing in the various paths. + PATH splits into three parts separated + by double colons (::), an early, a late, and a last part, + corresponding to their position in the various + system paths: The early part is always first, + the late part somewhere in the middle, and the + last part at the very back. + Only the late part gets seen at dump time. + If PATH has only one component, that component + is late. + If PATH has two components, the first is + early, the second is late. --infodir=DIR Directory to install the XEmacs Info manuals and dir in. - Defaults to: `'. --infopath=PATH Directories to search for Info documents, info dir and localdir files in case run-time searching for them fails. - Defaults to the value of: - `/usr/local/lib/texmf/doc/info:/usr/local/lib/texmf/info:/usr/lib/texmf/doc/info:/usr/lib/texmf/info:/usr/local/info:/usr/info'. Internationalization options:
--- a/etc/NEWS Mon Aug 13 10:28:54 2007 +0200 +++ b/etc/NEWS Mon Aug 13 10:29:42 2007 +0200 @@ -29,12 +29,12 @@ particular version is implied, "Emacs" will be used. -* Changes in XEmacs 20.5 +* Changes in XEmacs 21.0 ======================== ** XEmacs has been unbundled into constituent installable packages. - -#### Document me, please. +See the file `etc/PACKAGES' in the distribution for a full +description. ** Using the new `-private' option, you can make XEmacs use a private colormap. @@ -74,18 +74,6 @@ customization buffer shows all the customizable options for which Emacs versions of changes are recorded. -** defcustom now accepts the keyword `:version'. Use this to specify -in which version of Emacs a certain variable's default value changed. -For example, - - (defcustom foo-max 34 "*Maximum number of foo's allowed." - :type 'integer - :group 'foo - :version "20.5") - -This information is used to control the customize-changed-options -command. - ** The new command `add-log-convert' can be used to convert the old-style (pre-20.3) ChangeLog buffers to new style, for consistency. A reminder: if you wish to revert to old-style @@ -94,6 +82,8 @@ ** XEmacs/Mule (internationalization) changes. +*** Mule support now works on TTY's. #### What, where, how? + *** Egg/SJ3 input method is now officially supported. Quail and Egg/Skk have been available through the generalized Leim since 20.3. @@ -115,13 +105,14 @@ use the new mode, Paragraph Indent Text mode. -* Lisp and internal changes in XEmacs 20.5 +* Lisp and internal changes in XEmacs 21.0 ========================================== -** There is initial support for 31-bit integers in elisp (normally, -integers are only 28 bits wide on 32-bit machines.) Compile with --DUSE_MINIMAL_TAGBITS to test. With this change, the maximum buffer -size on 32-bit machines is bumped from 128M to 1G. +** It is now possible to build XEmacs with support for 31-bit Lisp +integers (normally, Lisp integers are only 28 bits wide on 32-bit +machines.) Configure with --use-minimal-tagbits to test. With this +change, the maximum buffer size on 32-bit machines is bumped from 128M +to 1G. This setting will be the default in a future XEmacs version. ** The XEmacs hashtables now have a consistent read/print syntax. This means that a hashtable will be readably printed in a @@ -161,12 +152,42 @@ ** The new `lwarn' function, analogous to `lmessage', allows printing a formatted warning, with a non-default CLASS or LABEL. +** Specifiers and symbols whose value is a specifier are now allowed +as modeline specifications. #### Provide an example. + +** defcustom now accepts the keyword `:version'. Use this to specify +in which version of Emacs a certain variable's default value changed. +For example, + + (defcustom foo-max 34 "*Maximum number of foo's allowed." + :type 'integer + :group 'foo + :version "20.5") + +This information is used to control the customize-changed-options +command. + ** The line number tracking in modeline is now efficient, even for very large buffers. This is achieved by caching the line numbers of recent buffer positions, and reusing them. This cache is used only in the buffers where `line-number-mode' is in effect. -** When the new GNU Malloc aka Doug Lea Malloc is available, it will be used. +** When the new GNU Malloc aka Doug Lea Malloc is available, it will +be used. This should result in better performance on Linux systems +with libc6. + +** The code XEmacs uses to assemble its various paths into the directory + hierarchy has been completely rewritten to support the package system. + +*** Since site-lisp is now off by default, the variable `site-directory' + is now obsolete. Code that depends on its value is probably wrong. + In a default setup, it is set to nil. + +*** `Info-default-directory-list' is obsolete. + It never served any useful function anyway. + + If you want to change the path which XEmacs uses to search for + info files, set `Info-directory-list' instead. * Changes in XEmacs 20.4
--- a/lib-src/config.values.in Mon Aug 13 10:28:54 2007 +0200 +++ b/lib-src/config.values.in Mon Aug 13 10:29:42 2007 +0200 @@ -16,23 +16,39 @@ ;;; (These are used in Makefiles) ALLOCA "@ALLOCA@" +ARCHLIBDIR "@ARCHLIBDIR@" +ARCHLIBDIR_USER_DEFINED "@ARCHLIBDIR_USER_DEFINED@" CC "@CC@" CFLAGS "@CFLAGS@" CPP "@CPP@" CPPFLAGS "@CPPFLAGS@" CXXFLAGS "@CXXFLAGS@" DEFS "@DEFS@" +ETCDIR "@ETCDIR@" +ETCDIR_USER_DEFINED "@ETCDIR_USER_DEFINED@" +INFODIR "@INFODIR@" +INFODIR_USER_DEFINED "@INFODIR_USER_DEFINED@" +INFOPATH "@INFOPATH@" +INFOPATH_USER_DEFINED "@INFOPATH_USER_DEFINED@" INSTALL "@INSTALL@" INSTALL_ARCH_DEP_SUBDIR "@INSTALL_ARCH_DEP_SUBDIR@" INSTALL_DATA "@INSTALL_DATA@" INSTALL_PROGRAM "@INSTALL_PROGRAM@" LDFLAGS "@LDFLAGS@" LIBS "@LIBS@" +LISPDIR "@LISPDIR@" +LISPDIR_USER_DEFINED "@LISPDIR_USER_DEFINED@" LN_S "@LN_S@" +LOCKDIR "@LOCKDIR@" +LOCKDIR_USER_DEFINED "@LOCKDIR_USER_DEFINED@" MAKE_SUBDIR "@MAKE_SUBDIR@" +PACKAGE_PATH "@PACKAGE_PATH@" +PACKAGE_PATH_USER_DEFINED "@PACKAGE_PATH_USER_DEFINED@" RANLIB "@RANLIB@" RECURSIVE_MAKE "@RECURSIVE_MAKE@" SET_MAKE "@SET_MAKE@" +SITELISPDIR "@SITELISPDIR@" +SITELISPDIR_USER_DEFINED "@SITELISPDIR_USER_DEFINED@" SRC_SUBDIR_DEPS "@SRC_SUBDIR_DEPS@" SUBDIR_MAKEFILES "@SUBDIR_MAKEFILES@" X_CFLAGS "@X_CFLAGS@" @@ -41,7 +57,6 @@ X_PRE_LIBS "@X_PRE_LIBS@" YACC "@YACC@" archlibdir "@archlibdir@" -archlibdir_user_defined "@archlibdir_user_defined@" bindir "@bindir@" bitmapdir "@bitmapdir@" blddir "@blddir@" @@ -56,15 +71,14 @@ dll_ld "@dll_ld@" dll_lflags "@dll_lflags@" dll_oflags "@dll_oflags@" +dnd_objs "@dnd_objs@" docdir "@docdir@" dynodump_arch "@dynodump_arch@" etcdir "@etcdir@" -etcdir_user_defined "@etcdir_user_defined@" exec_prefix "@exec_prefix@" extra_objs "@extra_objs@" includedir "@includedir@" infodir "@infodir@" -infodir_user_defined "@infodir_user_defined@" infopath "@infopath@" internal_makefile_list "@internal_makefile_list@" ld "@ld@" @@ -81,10 +95,8 @@ libexecdir "@libexecdir@" libs_xauth "@libs_xauth@" lispdir "@lispdir@" -lispdir_user_defined "@lispdir_user_defined@" localstatedir "@localstatedir@" lockdir "@lockdir@" -lockdir_user_defined "@lockdir_user_defined@" lwlib_objs "@lwlib_objs@" machfile "@machfile@" mandir "@mandir@" @@ -92,14 +104,12 @@ oldincludedir "@oldincludedir@" opsysfile "@opsysfile@" package_path "@package_path@" -package_path_user_defined "@package_path_user_defined@" pkgdir "@pkgdir@" prefix "@prefix@" program_transform_name "@program_transform_name@" sbindir "@sbindir@" sharedstatedir "@sharedstatedir@" sitelispdir "@sitelispdir@" -sitelispdir_user_defined "@sitelispdir_user_defined@" sound_cflags "@sound_cflags@" srcdir "@srcdir@" start_files "@start_files@"
--- a/lisp/ChangeLog Mon Aug 13 10:28:54 2007 +0200 +++ b/lisp/ChangeLog Mon Aug 13 10:29:42 2007 +0200 @@ -1,3 +1,92 @@ +1998-04-10 Kirill M. Katsnelson <kkm@kis.ru> + + * code-process.el (start-process): Fallback to 'undecided instead + of 'binary for process input coding stream. + + * process.el (start-process): Docstring fix. + +1998-04-09 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch> + + * info.el (Info-insert-dir): Do not insert temporary dir files + in Info-dir-file-attributes + (Info-build-dir-anew): Ensure temporary buffer is not read-only + (Info-rebuild-dir): Ditto. + +1998-04-09 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * obsolete.el: Added obsoleteness declarations for + `site-directory' and `Info-default-directory-list'. + +1998-04-08 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * find-paths.el (paths-find-emacs-root): Only look at the + executable at the end of the symlink chain for determining the + Emacs root. + +1998-04-07 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * setup-paths.el (paths-construct-info-path): Changed construction + to cater to gone default in configure. + + * find-paths.el (paths-uniq-append): Added. + + * packages.el: Rewritten package path construction once again. + + * dump-paths.el, startup.el: Removed package-path as a global + variable. + + * package-admin.el (package-admin-add-single-file-package): + (package-admin-add-binary-package): Changed package-path to + late-packages. + + * packages.el (packages-split-path): Split path at "/" rather than + nil according to change in emacs.c. + +1998-04-06 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * setup-paths.el (paths-construct-info-path): Changed info path + order so that directories come out right. + (paths-find-lock-directory): Fixed bug: It used to think + configure-lock-directory is a path. + +1998-04-06 Jeff Miller <jmiller@smart.net> + + * x-toolbar.el: Added toolbar-vector-xxxxxx defvars. Modified + initial-toolbar-spec to use new toolbar-vector-xxxxxx defvars. This + eases the use of toolbar-add/kill-item functions. + +1998-04-07 Kirill M. Katsnelson <kkm@kis.ru> + + * code-files.el (file-coding-system-alist): Commented out + loaddefs.el magical treatment. + +1998-04-06 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch> + + * info.el (Info-rebuild-outdated-dir): Added new option + `conservative' and made it the default + (Info-rebuild-dir): Appropriately parse multi-line description + strings, and multi-section dir files. Issue warning when dir + is rebuilt as temporary + (Info-build-dir-anew): Issue warning when dir is built as + temporary + +1998-04-04 Kirill M. Katsnelson <kkm@kis.ru> + + * list-mode.el (list-mode-map): Bind highlight motion commands to + standard keys left, right, C-b and C-f. + +1998-03-29 Karl M. Hegbloom <karlheg@bittersweet.inetarena.com> + + * files.el (auto-mode-alist): allow .sc for Scheme->C + +1998-04-06 SL Baur <steve@altair.xemacs.org> + + * loadup.el (pureload): Don't quote (garbage-collect). + +1998-04-04 SL Baur <steve@altair.xemacs.org> + + * package-get-base.el: Updated. + 1998-04-04 Hrvoje Niksic <hniksic@srce.hr> * isearch-mode.el (isearch-just-started): New variable.
--- a/lisp/code-files.el Mon Aug 13 10:28:54 2007 +0200 +++ b/lisp/code-files.el Mon Aug 13 10:29:42 2007 +0200 @@ -58,7 +58,8 @@ (defvar file-coding-system-alist '(("\\.elc$" . (binary . binary)) - ("loaddefs.el$" . (binary . binary)) +;; This must not be neccessary, slb suggests -kkm +;; ("loaddefs.el$" . (binary . binary)) ("\\.tar$" . (binary . binary)) ("\\.\\(tif\\|tiff\\)$" . (binary . binary)) ("\\.png$" . (binary . binary))
--- a/lisp/code-process.el Mon Aug 13 10:28:54 2007 +0200 +++ b/lisp/code-process.el Mon Aug 13 10:29:42 2007 +0200 @@ -184,7 +184,7 @@ (setq cs-r ret cs-w ret)))) (let ((coding-system-for-read - (or coding-system-for-read cs-r)) + (or coding-system-for-read cs-r 'undecided)) (coding-system-for-write (or coding-system-for-write cs-w))) (apply 'start-process-internal name buffer program program-args)
--- a/lisp/dump-paths.el Mon Aug 13 10:28:54 2007 +0200 +++ b/lisp/dump-paths.el Mon Aug 13 10:29:42 2007 +0200 @@ -32,9 +32,7 @@ (let ((roots (paths-find-emacs-roots invocation-directory invocation-name))) - (setq package-path (packages-find-package-path roots)) - - (let ((stuff (packages-find-packages package-path inhibit-package-init))) + (let ((stuff (packages-find-packages roots inhibit-package-init))) (setq late-packages (car (cdr stuff)))) (setq late-package-load-path (packages-find-package-load-path late-packages))
--- a/lisp/files.el Mon Aug 13 10:28:54 2007 +0200 +++ b/lisp/files.el Mon Aug 13 10:29:42 2007 +0200 @@ -1219,7 +1219,7 @@ ("\\.[sS]\\'" . asm-mode) ("[Cc]hange.?[Ll]og?\\(.[0-9]+\\)?\\'" . change-log-mode) ("\\$CHANGE_LOG\\$\\.TXT" . change-log-mode) - ("\\.scm\\(\\.[0-9]*\\)?\\'" . scheme-mode) + ("\\.scm?\\(?:\\.[0-9]*\\)?\\'" . scheme-mode) ("\\.e\\'" . eiffel-mode) ("\\.mss\\'" . scribe-mode) ("\\.m\\([mes]\\|an\\)\\'" . nroff-mode)
--- a/lisp/find-paths.el Mon Aug 13 10:28:54 2007 +0200 +++ b/lisp/find-paths.el Mon Aug 13 10:29:42 2007 +0200 @@ -81,26 +81,30 @@ (file-directory-p (concat directory "lisp")) (file-directory-p (concat directory "src"))))) +(defun paths-chase-symlink (file-name) + "Chase a symlink until the bitter end." + (let ((maybe-symlink (file-symlink-p file-name))) + (if maybe-symlink + (let* ((directory (file-name-directory file-name)) + (destination (expand-file-name maybe-symlink directory))) + (paths-chase-symlink destination)) + file-name))) + (defun paths-find-emacs-root (invocation-directory invocation-name) "Find the run-time root of XEmacs." - (let ((maybe-root-1 (file-name-as-directory - (expand-file-name ".." invocation-directory))) - (maybe-root-2 (file-name-as-directory - (expand-file-name "../.." invocation-directory)))) - (cond - ((paths-emacs-root-p maybe-root-1) - maybe-root-1) - ((paths-emacs-root-p maybe-root-2) - maybe-root-2) - (t - (let ((maybe-symlink (file-symlink-p (concat invocation-directory - invocation-name)))) - (if maybe-symlink - (let* ((symlink (expand-file-name maybe-symlink invocation-directory)) - (directory (file-name-directory symlink))) - (paths-find-emacs-root directory invocation-name)) - nil)))))) + (let* ((executable-file-name (paths-chase-symlink + (concat invocation-directory + invocation-name))) + (executable-directory (file-name-directory executable-file-name)) + (maybe-root-1 (file-name-as-directory + (expand-file-name ".." executable-directory))) + (maybe-root-2 (file-name-as-directory + (expand-file-name "../.." executable-directory)))) + (or (and (paths-emacs-root-p maybe-root-1) + maybe-root-1) + (and (paths-emacs-root-p maybe-root-2) + maybe-root-2)))) (defun paths-construct-emacs-directory (root suffix base) "Construct a directory name within the XEmacs hierarchy." @@ -213,6 +217,16 @@ (setq directories (cdr directories))) (reverse reverse-directories))) +(defun paths-uniq-append (list-1 list-2) + "Append LIST-1 and LIST-2, omitting duplicates." + (let ((reverse-survivors '())) + (while list-2 + (if (null (member (car list-2) list-1)) + (setq reverse-survivors (cons (car list-2) reverse-survivors))) + (setq list-2 (cdr list-2))) + (append list-1 + (reverse reverse-survivors)))) + (defun paths-find-site-path (roots base &optional envvar default) "Find a path underneath the site hierarchy." (paths-find-emacs-path roots "lib/xemacs/" base envvar default))
--- a/lisp/info.el Mon Aug 13 10:28:54 2007 +0200 +++ b/lisp/info.el Mon Aug 13 10:29:42 2007 +0200 @@ -387,15 +387,17 @@ :type '(repeat directory) :group 'info) -(defcustom Info-rebuild-outdated-dir 'ask +(defcustom Info-rebuild-outdated-dir 'conservative "*What to do if the `dir' or `localdir' file needs to be (re)built. Possible values are: `never' never (re)build the `dir' or `localdir' file `always' automatically (re)builds when needed -`ask' asks the user before (re)building" +`ask' asks the user before (re)building +`conservative' asks the user before overwriting existing files" :type '(choice (const :tag "never" never) (const :tag "always" always) - (const :tag "ask" ask)) + (const :tag "ask" ask) + (const :tag "conservative" conservative)) :group 'info) (defvar Info-emacs-info-file-name "xemacs.info" @@ -502,6 +504,9 @@ ") +(defvar Info-no-description-string "[No description available]" + "Description string for info files that have none") + ;;;###autoload (defun info (&optional file) "Enter Info, the documentation browser. @@ -814,9 +819,7 @@ (cons truename (cons (directory-file-name truename) dirs-done))) - (if (not (string= truename - (file-truename (car Info-directory-list)))) - (Info-maybe-update-dir file)) + (Info-maybe-update-dir file) (setq attrs (file-attributes file)) (if (or (setq buf (find-buffer-visiting file)) attrs) @@ -833,9 +836,10 @@ (if (string-match "localdir" (buffer-name)) (setq lbuffers (cons (current-buffer) lbuffers)) (setq buffers (cons (current-buffer) buffers))) - (setq Info-dir-file-attributes - (cons (cons file attrs) - Info-dir-file-attributes)))))) + (if attrs + (setq Info-dir-file-attributes + (cons (cons file attrs) + Info-dir-file-attributes))))))) (or (cdr dirs) (setq Info-dir-contents-directory (car dirs))) (setq dirs (cdr dirs)))) @@ -974,11 +978,15 @@ (if (not (find-buffer-visiting file)) (if (not (file-exists-p file)) (if (or (eq Info-rebuild-outdated-dir 'always) + (and (eq Info-rebuild-outdated-dir 'conservative) + (not (file-writable-p file))) (and (eq Info-rebuild-outdated-dir 'ask) (y-or-n-p (format "No dir file in %s. Rebuild now ? " (file-name-directory file))))) (Info-build-dir-anew (file-name-directory file) (not (file-writable-p file)))) (if (Info-dir-outdated-p file) (if (or (eq Info-rebuild-outdated-dir 'always) + (and (eq Info-rebuild-outdated-dir 'conservative) + (not (file-writable-p file))) (and (eq Info-rebuild-outdated-dir 'ask) (y-or-n-p (format "%s is outdated. Rebuild now ? " file)))) (Info-rebuild-dir file (not (file-writable-p file))))))))) @@ -988,7 +996,7 @@ (defun Info-dir-outdated-p (file) "Return non-nil if dir or localdir is outdated. -dir or localdir are outdated when an *.info file in the same +dir or localdir are outdated when a *.info file in the same directory has been modified more recently." (let ((dir-mod-time (nth 5 (file-attributes file))) f-mod-time @@ -1012,9 +1020,9 @@ t)) Info-dir-newer-info-files)) -(defun Info-extract-dir-entries-from (file) - "Extract dir entries from the info FILE. -dir entries are delimited by the markers `START-INFO-DIR-ENTRY' +(defun Info-extract-dir-entry-from (file) + "Extract the dir entry from the info FILE. +The dir entry is delimited by the markers `START-INFO-DIR-ENTRY' and `END-INFO-DIR-ENTRY'" (save-excursion (set-buffer (get-buffer-create " *Info-tmp*")) @@ -1027,29 +1035,83 @@ (setq beg (point)) (unless (null (re-search-forward "^END-INFO-DIR-ENTRY" nil t)) (goto-char (match-beginning 0)) - (buffer-substring beg (point)))))))) + (car (Info-parse-dir-entries beg (point))))))))) + +;; Parse dir entries contained between BEG and END into a list of the form +;; (filename topic node (description-line-1 description-line-2 ...)) +(defun Info-parse-dir-entries (beg end) + (let (entry entries) + (save-excursion + (save-restriction + (narrow-to-region beg end) + (goto-char beg) + (while (re-search-forward "^\\* \\([^:]+\\):\\([ \t]*(\\(.*\\))\\w*\\.\\|:\\)" nil t) + (setq entry (list (match-string 2) + (match-string 1) + (downcase (or (match-string 3) + (match-string 1))))) + (setq entry (cons (nreverse + (cdr + (nreverse + (split-string (buffer-substring (re-search-forward "[ \t]*" nil t) + (or (and (re-search-forward "^[^ \t]" nil t) + (goto-char (match-beginning 0))) + (point-max))) + "[ \t]*\n[ \t]*")))) + entry)) + (setq entries (cons (nreverse entry) entries))))) + (nreverse entries))) + +(defun Info-dump-dir-entries (entries) + (let ((tab-width 8) + (description-col 0) + len) + (mapcar '(lambda (e) + (setq e (cdr e)) ; Drop filename + (setq len (length (concat (car e) + (car (cdr e))))) + (if (> len description-col) + (setq description-col len))) + entries) + (setq description-col (+ 5 description-col)) + (mapcar '(lambda (e) + (setq e (cdr e)) ; Drop filename + (insert "* " (car e) ":" (car (cdr e))) + (setq e (car (cdr (cdr e)))) + (while e + (indent-to-column description-col) + (insert (car e) "\n") + (setq e (cdr e)))) + entries))) + (defun Info-build-dir-anew (directory to-temp) "Build a new info dir file in DIRECTORY" (save-excursion - (let ((dirfile (expand-file-name "dir" directory))) + (let ((dirfile (expand-file-name "dir" directory)) + (info-files + (directory-files directory + 'fullname + ".*\\.info\\(.gz\\|.Z\\|-z\\|.zip\\)?$" + nil + t))) (if to-temp - (message "Creating temporary dir...") + (display-warning 'info (format "Missing info dir file in %s" directory) 'notice) (message "Creating %s..." dirfile)) - (set-buffer (find-file-noselect dirfile)) + (set-buffer (find-file-noselect dirfile t)) + (setq buffer-read-only nil) (erase-buffer) (insert Info-dir-prologue - "Info files in " directory "\n\n") - (mapcar - '(lambda (f) - (insert (or (Info-extract-dir-entries-from f) - (format "* %s::\t[No description available]\n" - (file-name-sans-extension (file-name-nondirectory f)))))) - (directory-files directory - 'fullname - ".*\\.info\\(.gz\\|.Z\\|-z\\|.zip\\)?$" - nil - t)) + "Info files in " directory ":\n\n") + (Info-dump-dir-entries + (mapcar + '(lambda (f) + (or (Info-extract-dir-entry-from f) + (list 'dummy + (file-name-sans-extension (file-name-nondirectory f)) + ":" + (list Info-no-description-string)))) + info-files)) (if to-temp (set-buffer-modified-p nil) (save-buffer)) @@ -1057,75 +1119,82 @@ (message "Creating temporary dir...done") (message "Creating %s...done" dirfile))))) -(defvar Info-dir-entry-matcher "^\\* \\([^:]+\\):\\([ \t]*(\\(.*\\))\\w*\\.\\|:\\)[ \t]+\\(.*\\)$") - -(defun Info-parse-dir-entry (entry) - (string-match Info-dir-entry-matcher entry) - (list (match-string 1 entry) (match-string 2 entry) (match-string 4 entry))) (defun Info-rebuild-dir (file to-temp) "Update an existing info dir file after info files have been modified" (save-excursion - (let (dir-contents - dir-entry - file-dir-entry) - (set-buffer (find-file-noselect file)) - (if to-temp - (message "Rebuilding temporary dir...") - (message "Rebuilding %s..." file)) - (setq buffer-read-only nil) - (goto-char (point-min)) - (search-forward "\^_") - (re-search-forward "^\\* Menu:.*$" nil t) - (narrow-to-region (or (and (re-search-forward Info-dir-entry-matcher nil t) - (match-beginning 0)) - (point)) - (point-max)) - (goto-char (point-min)) - (while (re-search-forward Info-dir-entry-matcher nil t) - (setq dir-contents (cons (list (downcase (or (match-string 3) - (match-string 1))) - (match-string 1) - (match-string 2) - (match-string 4)) - dir-contents))) - (mapcar '(lambda (file) - (setq dir-entry (assoc (downcase + (save-restriction + (let (dir-section-contents dir-full-contents + dir-entry + file-dir-entry + mark next-section + not-first-section) + (set-buffer (find-file-noselect file t)) + (setq buffer-read-only nil) + (if to-temp + (display-warning 'info (format "Outdated info dir file: %s" file) 'notice) + (message "Rebuilding %s..." file)) + (catch 'done + (setq buffer-read-only nil) + (goto-char (point-min)) + (unless (and (search-forward "\^_") + (re-search-forward "^\\* Menu:.*$" nil t) + (setq mark (and (re-search-forward "^\\* " nil t) + (match-beginning 0)))) + (throw 'done nil)) + (setq dir-full-contents (Info-parse-dir-entries mark (point-max))) + (setq next-section (or (and (re-search-forward "^[^* \t].*:[ \t]*$" nil t) + (match-beginning 0)) + (point-max))) + (while next-section + (narrow-to-region mark next-section) + (setq dir-section-contents (nreverse (Info-parse-dir-entries (point-min) + (point-max)))) + (mapcar '(lambda (file) + (setq dir-entry (assoc (downcase + (file-name-sans-extension + (file-name-nondirectory file))) + dir-section-contents) + file-dir-entry (Info-extract-dir-entry-from file)) + (if dir-entry + (if file-dir-entry + ;; A dir entry in the info file takes precedence over an + ;; existing entry in the dir file + (setcdr dir-entry (cdr file-dir-entry))) + (unless (or not-first-section + (assoc (downcase (file-name-sans-extension (file-name-nondirectory file))) - dir-contents) - file-dir-entry (Info-extract-dir-entries-from file)) - (if dir-entry - (if file-dir-entry - ;; A dir entry in the info file takes precedence over an - ;; existing entry in the dir file - (setcdr dir-entry (Info-parse-dir-entry file-dir-entry))) - (if file-dir-entry - (setq dir-contents (cons (cons 'dummy (Info-parse-dir-entry file-dir-entry)) - dir-contents)) - (setq dir-contents (cons (list 'dummy - (capitalize (file-name-sans-extension - (file-name-nondirectory file))) - ":" - "[No description available]") - dir-contents))))) - Info-dir-newer-info-files) - (delete-region (point-min) (point-max)) - (mapcar '(lambda (entry) - (setq entry (cdr entry)) - (insert (format "* %s:" - (car entry))) - (setq entry (cdr entry)) - (insert (car entry)) - (insert "\t" (car (cdr entry)) "\n")) - (nreverse dir-contents)) - (widen) - (if to-temp - (set-buffer-modified-p nil) - (save-buffer)) - (if to-temp - (message "Rebuilding temporary dir...done") - (message "Rebuilding %s...done" file))))) + dir-full-contents)) + (if file-dir-entry + (setq dir-section-contents (cons file-dir-entry + dir-section-contents)) + (setq dir-section-contents + (cons (list 'dummy + (capitalize (file-name-sans-extension + (file-name-nondirectory file))) + ":" + (list Info-no-description-string)) + dir-section-contents)))))) + Info-dir-newer-info-files) + (delete-region (point-min) (point-max)) + (Info-dump-dir-entries (nreverse dir-section-contents)) + (widen) + (if (= next-section (point-max)) + (setq next-section nil) + (or (setq mark (and (re-search-forward "^\\* " nil t) + (match-beginning 0))) + (throw 'done nil)) + (setq next-section (or (and (re-search-forward "^[^* \t].*:[ \t]*$" nil t) + (match-beginning 0)) + (point-max)))) + (setq not-first-section t))) + (if to-temp + (set-buffer-modified-p nil) + (save-buffer)) + (if to-temp + (message "Rebuilding temporary dir...done") + (message "Rebuilding %s...done" file)))))) (defun Info-history-add (file node point)
--- a/lisp/list-mode.el Mon Aug 13 10:28:54 2007 +0200 +++ b/lisp/list-mode.el Mon Aug 13 10:29:42 2007 +0200 @@ -44,10 +44,24 @@ (define-key map 'button2up 'list-mode-item-mouse-selected) (define-key map 'button2 'undefined) (define-key map "\C-m" 'list-mode-item-keyboard-selected) - (substitute-key-definition 'forward-char 'next-list-mode-item map - global-map) - (substitute-key-definition 'backward-char 'previous-list-mode-item map - global-map))) +;; +;; The following calls to `substitute-key-definition' losed because +;; they were based on an incorrect assumption that `forward-char' and +;; `backward-char' are bound to keys in the global map. This might not +;; be the case if a user binds motion keys to different functions, +;; and was not actually the case since 20.5 beta 28 or around. +;; +;; (substitute-key-definition 'forward-char 'next-list-mode-item map +;; global-map) +;; (substitute-key-definition 'backward-char 'previous-list-mode-item map +;; global-map) +;; +;; We bind standard keys to motion commands instead. +;; + (dolist (key '(kp-right right (control ?f))) + (define-key map key 'next-list-mode-item)) + (dolist (key '(kp-left left (control ?b))) + (define-key map key 'previous-list-mode-item)))) (defun list-mode () "Major mode for buffer containing lists of items."
--- a/lisp/loadup.el Mon Aug 13 10:28:54 2007 +0200 +++ b/lisp/loadup.el Mon Aug 13 10:29:42 2007 +0200 @@ -60,7 +60,7 @@ ;; has been found. At this point, enough of XEmacs has been ;; initialized that we can start dumping "standard" lisp. ;; Dumped lisp from external packages is added when we search - ;; the `package-path'. + ;; the package path. ;; #### This code is duplicated in two other places. (let ((temp-path (expand-file-name "." (car load-path)))) (setq source-directory temp-path) @@ -87,7 +87,7 @@ (if full-path (prog1 (load full-path) - '(garbage-collect)) + (garbage-collect)) (external-debugging-output (format "\nLoad file %s: not found\n" file)) ;; Uncomment in case of trouble
--- a/lisp/obsolete.el Mon Aug 13 10:28:54 2007 +0200 +++ b/lisp/obsolete.el Mon Aug 13 10:29:42 2007 +0200 @@ -314,6 +314,18 @@ (define-obsolete-variable-alias 'after-write-file-hooks 'after-save-hook) (define-obsolete-function-alias 'truename 'file-truename) +;;;;;;;;;;;;;;;;;;;;;;;;;;;; paths + +(defvar site-directory nil + "This used to be the location of the site-lisp directory.") +(make-obsolete-variable 'site-directory "call paths-find-site-lisp-directory instead.") + +(defvar Info-default-directory-list nil + "This used to be the initial value of Info-directory-list. +If you want to change the locations where XEmacs looks for info files, +set Info-directory-list.") +(make-obsolete-variable 'Info-default-directory-list 'Info-directory-list) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;; hooks (make-obsolete-variable 'auto-fill-hook 'auto-fill-function)
--- a/lisp/package-admin.el Mon Aug 13 10:28:54 2007 +0200 +++ b/lisp/package-admin.el Mon Aug 13 10:29:42 2007 +0200 @@ -44,10 +44,10 @@ `file' should be the full path to the lisp file to install. `destdir' should be a simple directory name. The optional `pkg-dir' can be used to override the default package hierarchy -\(last package-path)." +\(car \(last late-packages))." (interactive "fLisp File: \nsDestination: ") (when (null pkg-dir) - (setq pkg-dir (cadr package-path))) + (setq pkg-dir (car (last late-packages)))) (let ((destination (concat pkg-dir "/lisp/" destdir)) (buf (get-buffer-create package-admin-temp-buffer))) (call-process "add-little-package.sh" @@ -62,10 +62,10 @@ "Install a pre-bytecompiled XEmacs package into package hierarchy." (interactive "fPackage tarball: ") (when (null pkg-dir) - (when (or (not (listp package-path)) - (not package-path)) + (when (or (not (listp late-packages)) + (not late-packages)) (error "No package path")) - (setq pkg-dir (car (last package-path)))) + (setq pkg-dir (car (last late-packages)))) (let ((buf (get-buffer-create package-admin-temp-buffer))) (call-process "add-big-package.sh"
--- a/lisp/package-get-base.el Mon Aug 13 10:28:54 2007 +0200 +++ b/lisp/package-get-base.el Mon Aug 13 10:29:42 2007 +0200 @@ -1,21 +1,21 @@ (setq package-get-base '((eudc (standards-version 1.0 - version "1.01" - author-version "1.0" - date "1998-03-15" - build-date "1998-03-22" + version "1.02" + author-version "1.02" + date "1998-03-24" + build-date "1998-04-04" maintainer "Oscar Figueiredo <Oscar.Figueiredo@epfl.ch>" distribution stable priority low category "comm" dump nil description "Emacs Unified Directory Client." - filename "eudc-1.01-pkg.tar.gz" - md5sum "c5b44d0c33a6232c8e2095e30259b870" - size 28687 + filename "eudc-1.02-pkg.tar.gz" + md5sum "d2bf22f6d9587303b62736e31af23faf" + size 36621 provides (eudc eudc-ldap eudc-ph) - requires (xemacs-base) + requires (fsf-compat xemacs-base) type regular )) (footnote @@ -23,7 +23,7 @@ version "1.02" author-version "0.18" date "1998-01-24" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "SL Baur <steve@xemacs.org>" distribution stable priority low @@ -31,8 +31,8 @@ dump nil description "Footnoting in mail message editing modes." filename "footnote-1.02-pkg.tar.gz" - md5sum "460a7309abcb52bc6fce3c80cfcdf1d9" - size 18045 + md5sum "145e79418bac020596e7bc66654aab4f" + size 18065 provides (footnote) requires (mail-lib xemacs-base) type regular @@ -42,7 +42,7 @@ version "1.02" author-version "3.101" date "1998-01-24" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority high @@ -50,27 +50,27 @@ dump nil description "XEmacs bug reports." filename "gnats-1.02-pkg.tar.gz" - md5sum "0cd0ab1a2c7dfc61b043948bc98f43d9" - size 126338 + md5sum "67b301b42b9edad9fe22dce5b5dd29ac" + size 126358 provides (gnats gnats-admin send-pr) requires (mail-lib xemacs-base) type regular )) (gnus (standards-version 1.0 - version "1.11" - author-version "5.6.3" - date "1998-03-19" - build-date "1998-03-20" + version "1.12" + author-version "5.6.4" + date "1998-03-31" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority medium category "comm" dump nil description "The Gnus Newsreader and Mailreader." - filename "gnus-1.11-pkg.tar.gz" - md5sum "13d451110a73a55cd8537a9d38909b66" - size 1650283 + filename "gnus-1.12-pkg.tar.gz" + md5sum "3dba6b7965a8b7e3db944c8b0d09b484" + size 1650833 provides (gnus message) requires (gnus w3 mh-e mailcrypt rmail mail-lib xemacs-base) type regular @@ -80,7 +80,7 @@ version "1.03" author-version "3.4" date "1998-01-24" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low @@ -88,8 +88,8 @@ dump nil description "Support for messaging encryption with PGP." filename "mailcrypt-1.03-pkg.tar.gz" - md5sum "78c26e92be2b302d462045527c5d46ed" - size 66823 + md5sum "c7b308a44833254d3d457f460f3592ba" + size 66834 provides (mailcrypt) requires (gnus vm mail-lib xemacs-base) type regular @@ -97,9 +97,9 @@ (mh-e (standards-version 1.0 version "1.04" - author-version "20.5b29" + author-version "21.0b35" date "1998-01-24" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution contrib priority low @@ -107,28 +107,28 @@ dump nil description "Front end support for MH." filename "mh-e-1.04-pkg.tar.gz" - md5sum "5ecad7b26355ed5adcf2b1ecee9a9c95" - size 128977 + md5sum "4b28aec34185ae94734cd5be3e36dc4d" + size 129010 provides (mh-e) requires (mail-lib xemacs-base) type regular )) (net-utils (standards-version 1.0 - version "1.02" - author-version "20.5b29" - date "1998-01-24" - build-date "1998-02-27" + version "1.04" + author-version "21.0b35" + date "1998-03-30" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low category "comm" dump nil description "Miscellaneous Networking Utilities." - filename "net-utils-1.02-pkg.tar.gz" - md5sum "48d2bd98d8b26f2ad4c451982807d960" - size 48559 - provides (ilisp-browse-cltl2 emacsbug feedmail metamail rcompile shadowfile webjump webster-www) + filename "net-utils-1.04-pkg.tar.gz" + md5sum "9aea3b824c54ebe69bbf3f7f83c0f4f4" + size 81591 + provides (ilisp-browse-cltl2 emacsbug feedmail metamail net-utils rcompile shadowfile webjump webster-www) requires (w3 efs mail-lib xemacs-base) type single )) @@ -137,7 +137,7 @@ version "1.02" author-version "2.6" date "1998-01-24" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low @@ -145,8 +145,8 @@ dump nil description "LDAP support." filename "ph-1.02-pkg.tar.gz" - md5sum "753a88169b747db3a449f60255d38cf2" - size 27548 + md5sum "83a6feef756065a093450fa000d2724a" + size 27567 provides (ph) requires (xemacs-base) type regular @@ -154,9 +154,9 @@ (rmail (standards-version 1.0 version "1.02" - author-version "20.5b29" + author-version "21.0b35" date "1998-01-24" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution contrib priority low @@ -164,8 +164,8 @@ dump nil description "An obsolete Emacs mailer." filename "rmail-1.02-pkg.tar.gz" - md5sum "d385c1d48a41899ec5436669c422699f" - size 83574 + md5sum "fc0b4a884c59a00ab1830276c56c5bf0" + size 83586 provides (rmail rmailsum) requires (tm apel mail-lib xemacs-base) type regular @@ -175,7 +175,7 @@ version "1.05" author-version "3.55x" date "1998-02-11" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low @@ -183,8 +183,8 @@ dump nil description "An Emacs citation tool for News & Mail messages." filename "supercite-1.05-pkg.tar.gz" - md5sum "34e772eff70739d2d25f282b71264428" - size 90161 + md5sum "de8676b20143e985ab2b7c46f82218dc" + size 90162 provides (supercite) requires (mail-lib xemacs-base) type regular @@ -192,9 +192,9 @@ (tm (standards-version 1.0 version "1.04" - author-version "20.5b29" + author-version "21.0b35" date "1998-01-25" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low @@ -202,7 +202,7 @@ dump nil description "Emacs MIME support." filename "tm-1.04-pkg.tar.gz" - md5sum "f52c4e83a3c2b9a33ffec67668cd2dff" + md5sum "35fb54b645164dc27fc33f9bb2f9718f" size 252091 provides (tm tm-edit tm-view mime-setup) requires (gnus mh-e rmail vm mailcrypt mail-lib apel xemacs-base) @@ -213,7 +213,7 @@ version "1.06" author-version "6.41" date "1998-02-17" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority medium @@ -221,8 +221,8 @@ dump t description "An Emacs mailer." filename "vm-1.06-pkg.tar.gz" - md5sum "7a9e4f7943fa74752bd677ac1d26fc6f" - size 506117 + md5sum "e38e76e531a8e818a29e3231b26b0e8d" + size 506233 provides (vm) requires (mail-lib xemacs-base) type regular @@ -232,7 +232,7 @@ version "1.04" author-version "4.0pre16" date "1998-03-07" - build-date "1998-03-08" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution experimental priority high @@ -240,8 +240,8 @@ dump nil description "A Web browser." filename "w3-1.04-pkg.tar.gz" - md5sum "41efc75e9ea1cc6287e5e86d89cb3572" - size 584497 + md5sum "d8e742ce7e806e14dcfab27b0e6ae767" + size 584488 provides (w3 url) requires (w3 mail-lib xemacs-base) type regular @@ -249,9 +249,9 @@ (cookie (standards-version 1.0 version "1.06" - author-version "20.5b29" + author-version "21.0b35" date "1998-02-01" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low @@ -259,8 +259,8 @@ dump nil description "Spook and Yow (Zippy quotes)." filename "cookie-1.06-pkg.tar.gz" - md5sum "528a9773c0e84394d3cc04fdc2f5304e" - size 34107 + md5sum "317920a2e78fb5bc49f6647dca605cb6" + size 34122 provides (cookie1 yow) requires (xemacs-base) type regular @@ -270,7 +270,7 @@ version "1.02" author-version "1.0" date "1998-01-24" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low @@ -278,56 +278,56 @@ dump nil description "Tetris, Sokoban, and Snake." filename "games-1.02-pkg.tar.gz" - md5sum "d9c68af0f2e98e80b5dade3508d4d1bf" - size 29267 + md5sum "2d14ef7a300f8d49343cccaa89b1f463" + size 29281 provides (gamegrid snake tetris sokoban) requires (xemacs-base) type regular )) (mine (standards-version 1.0 - version "1.04" - author-version "1.8" - date "1998-01-24" - build-date "1998-02-27" + version "1.05" + author-version "1.8x1" + date "1998-03-31" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low category "games" dump nil description "Minehunt Game." - filename "mine-1.04-pkg.tar.gz" - md5sum "59b117b2d0b581f67f09db288d82263d" - size 67519 + filename "mine-1.05-pkg.tar.gz" + md5sum "330cd395304f600487b748d466993e06" + size 67568 provides (xmine) requires (xemacs-base) type regular )) (misc-games (standards-version 1.0 - version "1.05" - author-version "20.5b29" - date "1998-01-24" - build-date "1998-02-27" + version "1.06" + author-version "21.0b35" + date "1998-03-22" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low category "games" dump nil description "Other amusements and diversions." - filename "misc-games-1.05-pkg.tar.gz" - md5sum "cafe2c566a63f7b049ead69e27326cd1" - size 163192 - provides (decipher gomoku hanoi life) + filename "misc-games-1.06-pkg.tar.gz" + md5sum "48d883e7e6092c227b476386ece41672" + size 165586 + provides (decipher gomoku hanoi life morse rot13) requires (xemacs-base) type single )) (Sun (standards-version 1.0 version "1.05" - author-version "20.5b30" + author-version "21.0b35" date "1998-03-06" - build-date "1998-03-08" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution sun priority low @@ -335,29 +335,29 @@ dump t description "Support for Sparcworks." filename "Sun-1.05-pkg.tar.gz" - md5sum "d6c701e221c32cdbf2874eb68cc4def0" - size 63782 + md5sum "70a776046ea5b12d08ca7276484f6139" + size 63826 provides (sccs eos-browser eos-common eos-debugger eos-debugger eos-editor eos-init eos-load eos-menubar eos-toolbar sunpro) requires (cc-mode xemacs-base) type regular )) (apel (standards-version 1.0 - version "1.03" + version "1.04" author-version "3.3" date "1998-01-24" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution mule priority high category "libs" dump nil description "A Portable Emacs Library. Used by XEmacs MIME support." - filename "apel-1.03-pkg.tar.gz" - md5sum "8122f0fd87cc0fd5d2c15fbd9d9ee10d" - size 34609 + filename "apel-1.04-pkg.tar.gz" + md5sum "7082f6eaa80bfef9e655e1c603ff68d3" + size 34597 provides (atype emu-20 emu-e19 emu-x20 emu-xemacs emu file-detect filename install mule-caesar path-util richtext std11-parse std11 tinyrich) - requires (xemacs-base) + requires (fsf-compat xemacs-base) type regular )) (dired @@ -365,7 +365,7 @@ version "1.0" author-version "7.9" date "1998-02-17" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "Mike Sperber <sperber@informatik.uni-tuebingen.de>" distribution stable priority medium @@ -373,8 +373,8 @@ dump nil description "Manage file systems." filename "dired-1.0-pkg.tar.gz" - md5sum "e81b83bc45d46ea06e82b8118ab0fbc7" - size 187313 + md5sum "9d0fab9ce63853d8a44d95fe8f87ad29" + size 187355 provides (diff dired) requires (xemacs-base) type regular @@ -382,9 +382,9 @@ (edebug (standards-version 1.0 version "1.04" - author-version "21.0b31" + author-version "21.0b35" date "1998-03-12" - build-date "1998-03-20" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low @@ -392,8 +392,8 @@ dump nil description "An Emacs Lisp debugger." filename "edebug-1.04-pkg.tar.gz" - md5sum "ac269699ffcfba6396f1cd27e3c2bbed" - size 118166 + md5sum "d4a46e9bee361d60cb079731e5b152e9" + size 118141 provides (edebug cl-read cust-print eval-reg cl-specs) requires (xemacs-base) type regular @@ -403,7 +403,7 @@ version "1.08" author-version "1.16x1" date "1998-03-21" - build-date "1998-03-21" + build-date "1998-04-04" maintainer "Mike Sperber <sperber@informatik.uni-tuebingen.de>" distribution stable priority medium @@ -411,27 +411,46 @@ dump nil description "Treat files on remote systems the same as local files." filename "efs-1.08-pkg.tar.gz" - md5sum "1c650947f5c9011455327602a2e7f25b" - size 358151 + md5sum "1ec45851fe72d06d32a6f941877ae544" + size 347544 provides (efs) requires (xemacs-base vm dired) type regular )) +(fsf-compat + (standards-version 1.0 + version "1.0" + author-version "21.0b35" + date "1998-03-25" + build-date "1998-04-04" + maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" + distribution mule + priority high + category "libs" + dump nil + description "FSF Emacs compatibility files." + filename "fsf-compat-1.0-pkg.tar.gz" + md5sum "813d839e6907a1e0b4a1226ca4340e0b" + size 16103 + provides (overlay thingatpt timer) + requires () + type single +)) (mail-lib (standards-version 1.0 - version "1.08" - author-version "21.0b31" - date "S and SLB." - build-date "1998-03-22" + version "1.09" + author-version "21.0b35" + date "1998-03-22" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority medium category "libs" dump nil description "Fundamental lisp files for providing email support." - filename "mail-lib-1.08-pkg.tar.gz" - md5sum "e0c4144f55c0d4b40d24125692420c97" - size 119632 + filename "mail-lib-1.09-pkg.tar.gz" + md5sum "17c0038a1e441add44faaeb0e8dd7941" + size 119331 provides (browse-url highlight-headers mail-abbrevs mail-extr mail-utils reporter rfc822 rmail-mini rmailout sendmail smtpmail) requires (xemacs-base) type single @@ -439,9 +458,9 @@ (tooltalk (standards-version 1.0 version "1.04" - author-version "20.5b29" + author-version "21.0b35" date "1998-01-24" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution contrib priority low @@ -449,37 +468,37 @@ dump t description "Support for building with Tooltalk." filename "tooltalk-1.04-pkg.tar.gz" - md5sum "56c6ff17e4144bf7e8086ee62a9551c5" - size 9235 + md5sum "60ea390c4aa203ea26d66ddb2f3ad99f" + size 9245 provides () requires () type regular )) (xemacs-base (standards-version 1.0 - version "1.15" - author-version "20.5b30" - date "1998-03-04" - build-date "1998-03-08" + version "1.17" + author-version "21.0b35" + date "1998-04-04" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution mule priority high category "libs" dump nil description "Fundamental XEmacs support, you almost certainly need this." - filename "xemacs-base-1.15-pkg.tar.gz" - md5sum "0b8aaecdcd8ce5070ad4c66310e0f42d" - size 384120 - provides (add-log advice annotations assoc case-table chistory comint-xemacs comint compile debug ebuff-menu echistory edmacro ehelp electric enriched env facemenu helper imenu iso-syntax macros novice outline overlay passwd pp regi ring shell skeleton sort thing time-stamp timezone xbm-button xpm-button) + filename "xemacs-base-1.17-pkg.tar.gz" + md5sum "e610fb980cae1ef459df0e9611ad92e8" + size 417610 + provides (add-log advice annotations assoc case-table chistory comint-xemacs comint compile debug ebuff-menu echistory edmacro ehelp electric enriched env facemenu ffap helper imenu iso-syntax macros novice outline overlay passwd pp regi ring shell skeleton sort thing time-stamp timezone xbm-button xpm-button) requires () type regular )) (xemacs-devel (standards-version 1.0 version "1.10" - author-version "21.0b31" + author-version "21.0b35" date "1998-03-09" - build-date "1998-03-20" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority medium @@ -487,8 +506,8 @@ dump nil description "Emacs Lisp developer support." filename "xemacs-devel-1.10-pkg.tar.gz" - md5sum "4f9d605e05c24d1219ed74f3f3553b89" - size 76390 + md5sum "3dab1194f0ba1807ac06f710b057d86c" + size 76359 provides (docref eldoc elp find-func hide-copyleft ielm regexp-opt trace) requires (xemacs-base) type single @@ -515,9 +534,9 @@ (egg-its (standards-version 1.0 version "1.04" - author-version "20.5b29" + author-version "21.0b35" date "1998-01-24" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution mule priority high @@ -525,37 +544,37 @@ dump t description "Wnn (4.2 and 6) support. SJ3 support." filename "egg-its-1.04-pkg.tar.gz" - md5sum "5d531d513111576d4e0367abf7c2aa3c" - size 260075 + md5sum "a5bccad96425d89d9a590580c14fddee" + size 259362 provides () requires (leim mule-base xemacs-base) type regular )) (leim (standards-version 1.0 - version "1.05" - author-version "20.5b29" + version "1.06" + author-version "21.0b35" date "1998-02-06" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution mule priority medium category "mule" dump nil description "Quail. All non-English and non-Japanese language support." - filename "leim-1.05-pkg.tar.gz" - md5sum "3c846cdbe34e946f0ca0fd371f149b84" - size 1743902 + filename "leim-1.06-pkg.tar.gz" + md5sum "fe4649250d6882b828a0e408e9c4d010" + size 1743964 provides () - requires (mule-base xemacs-base) + requires (mule-base fsf-compat xemacs-base) type regular )) (locale (standards-version 1.0 version "1.04" - author-version "20.5b30" + author-version "21.0b35" date "1998-03-01" - build-date "1998-03-08" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution mule priority high @@ -563,29 +582,29 @@ dump nil description "Localized menubars and localized splash screens." filename "locale-1.04-pkg.tar.gz" - md5sum "897687db6df1450d83576511da728db1" - size 35573 + md5sum "5d6dd1391ac017f4f210a810db2541cb" + size 34651 provides () requires (mule-base) type regular )) (mule-base (standards-version 1.0 - version "1.11" - author-version "21.0b31" + version "1.12" + author-version "21.0b35" date "1998-03-13" - build-date "1998-03-22" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution mule priority high category "mule" dump t description "Basic Mule support, required for building with Mule." - filename "mule-base-1.11-pkg.tar.gz" - md5sum "370c0a3dc8569beded926950c5e447f4" - size 487578 + filename "mule-base-1.12-pkg.tar.gz" + md5sum "336cc78d33b94190b3ae2ed1dc44b9f4" + size 487519 provides (canna-leim canna char-table china-util cyril-util isearch-ext japan-util ccl can-n-egg mule-help) - requires (xemacs-base) + requires (fsf-compat xemacs-base) type regular )) (skk @@ -593,7 +612,7 @@ version "1.03" author-version "10.38" date "1998-01-24" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution mule priority medium @@ -601,8 +620,8 @@ dump t description "Japanese Language Input Method." filename "skk-1.03-pkg.tar.gz" - md5sum "f5a459223e78f146959a4c44795b7830" - size 1466964 + md5sum "84341a8fd04ff28542c428b7413d0996" + size 1466996 provides (skk skk-tut) requires (viper mule-base xemacs-base) type regular @@ -612,7 +631,7 @@ version "1.03" author-version "2.02fX1" date "1998-03-03" - build-date "1998-03-22" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low @@ -620,8 +639,8 @@ dump nil description "Emacs calculator" filename "calc-1.03-pkg.tar.gz" - md5sum "842bee3ddff8695683917d92afd2b401" - size 1158637 + md5sum "ea536d7e82fb24812614d4984be9e0fe" + size 1158896 provides (calc) requires () type regular @@ -629,9 +648,9 @@ (calendar (standards-version 1.0 version "1.03" - author-version "20.5b29" + author-version "21.0b35" date "1998-01-25" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low @@ -639,27 +658,27 @@ dump nil description "Calendar and diary support." filename "calendar-1.03-pkg.tar.gz" - md5sum "c1688fe7c3228dd369a096d7c47cb51c" - size 168688 + md5sum "6d36eec11379155801304020b0c3ccf3" + size 168747 provides (appt cal-dst cal-french cal-mayan cal-x cal-xemacs calendar diary-ins diary-lib holidays lunar solar) requires (xemacs-base) type regular )) (edit-utils (standards-version 1.0 - version "1.14" - author-version "21.0b31" - date "1998-03-19" - build-date "1998-03-20" + version "1.16" + author-version "21.0b35" + date "1998-03-23" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority high category "oa" dump nil description "Miscellaneous editor extensions, you probably need this." - filename "edit-utils-1.14-pkg.tar.gz" - md5sum "dfa29846f0dfc07b5f4a22ce93efe996" - size 557068 + filename "edit-utils-1.16-pkg.tar.gz" + md5sum "795df69759eda984202e932a11afa340" + size 552434 provides (abbrevlist atomic-extents avoid backup-dir balloon-help big-menubar blink-cursor blink-paren bookmark compare-w completion dabbrev desktop detached-minibuf edit-toolbar fast-lock file-part floating-toolbar flow-ctrl foldout func-menu hippie-exp icomplete id-select info-look iswitchb lazy-lock lazy-shot live-icon man mic-paren paren popper mode-motion+ outl-mouse page-ext blink-paren paren permanent-buffers recent-files redo reportmail rsz-minibuf saveconfsavehist saveplace scroll-in-place tempo toolbar-utils tree-menu uniquify where-was-i-db) requires (xemacs-base) type single @@ -669,7 +688,7 @@ version "1.05" author-version "2.10" date "1998-01-25" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution contrib priority low @@ -677,8 +696,8 @@ dump nil description "Forms editing support (obsolete, use Widget instead)." filename "forms-1.05-pkg.tar.gz" - md5sum "fbf0d97c78f304cf4cb8212490c58a25" - size 39853 + md5sum "b5628009e9cc195df0cb3ec067800f68" + size 39867 provides (forms forms-mode) requires () type regular @@ -686,9 +705,9 @@ (frame-icon (standards-version 1.0 version "1.02" - author-version "20.5b29" + author-version "21.0b35" date "1998-02-26" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution contrib priority low @@ -696,8 +715,8 @@ dump nil description "Set up mode-specific icons for each frame under XEmacs" filename "frame-icon-1.02-pkg.tar.gz" - md5sum "5878c2f4fed7546265bf93b381f9aa83" - size 33563 + md5sum "82d098425df2fd7e3a7e7d16c9a9e12b" + size 33568 provides (forms forms-mode) requires () type regular @@ -707,7 +726,7 @@ version "1.05" author-version "5.9" date "1998-01-25" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low @@ -715,47 +734,47 @@ dump nil description "HTML editing." filename "hm--html-menus-1.05-pkg.tar.gz" - md5sum "544597bdddd4b2e138bf6f26a8ecb2b8" - size 134645 + md5sum "46bf51078423bbe8f934b0b0ce980aca" + size 134687 provides (adapt hm--date hm--html-configuration hm--html-drag-and-drop hm--html-indentation hm--html-keys hm--html-menu hm--html-mode hm--html-not-standard hm--html html-view tmpl-minor-mode) requires (xemacs-base) type regular )) (ispell (standards-version 1.0 - version "1.07" - author-version "3.0" - date "1998-03-21" - build-date "1998-03-22" + version "1.08" + author-version "3.0x1" + date "1998-04-01" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low category "oa" dump nil description "Spell-checking with GNU ispell." - filename "ispell-1.07-pkg.tar.gz" - md5sum "7c366f560ccde1c513e3cbcfea739a1e" - size 64455 + filename "ispell-1.08-pkg.tar.gz" + md5sum "54cd76987a472eca72c24592a10756d6" + size 64990 provides (ispell) requires () type regular )) (pc (standards-version 1.0 - version "1.07" - author-version "20.5b29" - date "1998-02-25" - build-date "1998-02-27" + version "1.08" + author-version "21.0b35" + date "1998-03-22" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low category "oa" dump nil description "PC style interface emulation." - filename "pc-1.07-pkg.tar.gz" - md5sum "c5e92917cbe06e156f8ba08c36cae217" - size 12155 - provides (delbs pc-select pending-del s-region) + filename "pc-1.08-pkg.tar.gz" + md5sum "1d170e2a7cc2483e4f002afa99482d15" + size 15535 + provides (delbs fusion pc-select pending-del s-region) requires (xemacs-base) type regular )) @@ -764,7 +783,7 @@ version "1.06" author-version "1.01" date "1998-03-20" - build-date "1998-03-22" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority medium @@ -772,8 +791,8 @@ dump nil description "Validated HTML/SGML editing." filename "psgml-1.06-pkg.tar.gz" - md5sum "9dfb79a1f9532a0725f0d8a8aafb863b" - size 418577 + md5sum "97c4a41f501629201c35de44c0568c83" + size 418630 provides (psgml sgml) requires (edit-utils) type regular @@ -781,9 +800,9 @@ (sgml (standards-version 1.0 version "1.01" - author-version "20.5b29" + author-version "21.0b35" date "1998-01-25" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution contrib priority low @@ -791,8 +810,8 @@ dump nil description "SGML/Linuxdoc-SGML editing." filename "sgml-1.01-pkg.tar.gz" - md5sum "a9377edae67887eec79458909e143f4a" - size 26872 + md5sum "4e7039730eb4399c09b1a85d1758381c" + size 26874 provides (sgml linuxdoc-sgml) requires (xemacs-base) type regular @@ -802,7 +821,7 @@ version "1.05" author-version "0.3" date "1998-01-25" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution experimental priority low @@ -810,8 +829,8 @@ dump nil description "User interface tool." filename "slider-1.05-pkg.tar.gz" - md5sum "10632105a03c6c186168b7e9746c6074" - size 12123 + md5sum "67b376e5b886a78f5094eb13c61ff8ec" + size 12116 provides (slider color-selector) requires () type regular @@ -821,7 +840,7 @@ version "1.05" author-version "0.6.2" date "1998-02-07" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low @@ -829,8 +848,8 @@ dump nil description "??? Document me." filename "speedbar-1.05-pkg.tar.gz" - md5sum "122c2b1676a2d9cd0cb5dbdb2c787514" - size 95006 + md5sum "8a988bada9d09dac0e934f0859f88613" + size 95018 provides (speedbar) requires (xemacs-base) type regular @@ -838,9 +857,9 @@ (strokes (standards-version 1.0 version "1.01" - author-version "20.5b29" + author-version "21.0b35" date "1998-01-25" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority medium @@ -848,29 +867,29 @@ dump nil description "Mouse enhancement utility." filename "strokes-1.01-pkg.tar.gz" - md5sum "38979b99949b221fe85c0845a922aa9e" - size 43723 + md5sum "a160a62e0570fc69f3c03b6ee1693fcd" + size 43743 provides (strokes) requires (text-modes edit-utils mail-lib xemacs-base) type regular )) (text-modes (standards-version 1.0 - version "1.05" - author-version "20.5b29" - date "1998-02-26" - build-date "1998-02-27" + version "1.07" + author-version "21.0b35" + date "1998-03-25" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority high category "oa" dump nil description "Miscellaneous support for editing text files." - filename "text-modes-1.05-pkg.tar.gz" - md5sum "bf46fbc87327b7512932aa4374bcf1f9" - size 106135 - provides (autoinsert crontab-edit filladapt image-mode iso-acc iso-ascii iso-cvt iso-insert iso-swed swedish tabify whitespace-mode winmgr-mode xpm-mode xrdb-mode) - requires (xemacs-base) + filename "text-modes-1.07-pkg.tar.gz" + md5sum "a9a674d12ba0aebc83fb6a0ea998fff8" + size 171607 + provides (autoinsert crontab-edit filladapt fold-isearch folding image-mode iso-acc iso-ascii iso-cvt iso-insert iso-swed swedish tabify whitespace-mode winmgr-mode xpm-mode xrdb-mode) + requires (fsf-compat xemacs-base) type regular )) (time @@ -878,7 +897,7 @@ version "1.03" author-version "1.17" date "1998-01-25" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority medium @@ -886,8 +905,8 @@ dump nil description "Display time & date on the modeline." filename "time-1.03-pkg.tar.gz" - md5sum "47dcbd05b3b7b6982f2f1a42475de338" - size 20091 + md5sum "319c60e36fc0e51000323e22e8955f32" + size 20087 provides (time) requires (xemacs-base) type regular @@ -895,9 +914,9 @@ (eterm (standards-version 1.0 version "1.03" - author-version "20.5b29" + author-version "21.0b35" date "1998-01-24" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority medium @@ -905,8 +924,8 @@ dump nil description "Terminal emulation." filename "eterm-1.03-pkg.tar.gz" - md5sum "4314f3f85e2ac035c356d99df910231c" - size 102100 + md5sum "2aa35f7f492facc7bccea1053cb2975c" + size 102144 provides (eterm) requires (xemacs-base) type regular @@ -914,9 +933,9 @@ (igrep (standards-version 1.0 version "1.01" - author-version "20.5b29" + author-version "21.0b35" date "1998-01-24" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low @@ -924,8 +943,8 @@ dump nil description "Enhanced front-end for Grep." filename "igrep-1.01-pkg.tar.gz" - md5sum "d1e1224ed2547cb28d17064e46dcad48" - size 13961 + md5sum "e50e3a5ac2d6ca5eea67d7f664dee406" + size 13971 provides (igrep) requires (dired xemacs-base) type regular @@ -935,7 +954,7 @@ version "1.03" author-version "5.8" date "1998-01-24" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low @@ -943,8 +962,8 @@ dump nil description "Front-end for Inferior Lisp." filename "ilisp-1.03-pkg.tar.gz" - md5sum "62c1e14eaca07d6ed5c00cba517c3b26" - size 223412 + md5sum "638983fd9403ce9a512f8adbe7d8d66b" + size 223413 provides (ilisp completer) requires (xemacs-base) type regular @@ -952,9 +971,9 @@ (os-utils (standards-version 1.0 version "1.06" - author-version "20.5b29" + author-version "21.0b35" date "1998-02-21" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority medium @@ -962,8 +981,8 @@ dump nil description "Miscellaneous O/S utilities." filename "os-utils-1.06-pkg.tar.gz" - md5sum "c2b8aec12884057993b11b19868cd1d8" - size 224310 + md5sum "43db6a9e28ac5626850a2aabb2511ab3" + size 228053 provides (archive-mode background crypt crypt++ inf-lisp jka-compr lpr mchat ps-print tar-mode telnet terminal uncompress) requires (xemacs-base) type single @@ -973,7 +992,7 @@ version "1.03" author-version "2.4" date "1998-01-24" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low @@ -981,8 +1000,8 @@ dump nil description "A Unix process browsing tool." filename "view-process-1.03-pkg.tar.gz" - md5sum "9e9567a768184a0aeea90bbdadf15f08" - size 59864 + md5sum "96bcf35e325034ee3c37563fecfe623d" + size 59886 provides (view-process-mode) requires (xemacs-base) type regular @@ -992,7 +1011,7 @@ version "1.03" author-version "2.27" date "1998-01-24" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low @@ -1000,46 +1019,46 @@ dump nil description "Ada language support." filename "ada-1.03-pkg.tar.gz" - md5sum "4626ea66734003692b32b86fa7fa4fe8" - size 54305 + md5sum "661f8c0ac17fe447f8cc0e54f753704d" + size 54323 provides (ada-mode ada-stmt) requires () type regular )) (c-support (standards-version 1.0 - version "1.06" - author-version "21.0b31" - date "1998-03-21" - build-date "1998-03-22" + version "1.07" + author-version "21.0b35" + date "1998-03-25" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution contrib priority low category "prog" dump nil description "Basic single-file add-ons for editing C code." - filename "c-support-1.06-pkg.tar.gz" - md5sum "358de6577a1e5405e9b065b9661427d1" - size 41866 - provides (c-comment-edit cmacexp hideif hideshow) + filename "c-support-1.07-pkg.tar.gz" + md5sum "771e606d76e18922efb6559e101c7ecf" + size 68651 + provides (c-comment-edit cmacexp ctypes hideif hideshow) requires (cc-mode xemacs-base) type regular )) (cc-mode (standards-version 1.0 - version "1.09" + version "1.10" author-version "5.22" date "1998-03-05" - build-date "1998-03-16" + build-date "1998-04-04" maintainer "Barry Warsaw <cc-mode-help@python.org>" distribution stable priority medium category "prog" dump nil description "C, C++ and Java language support." - filename "cc-mode-1.09-pkg.tar.gz" - md5sum "1682c56b515ea634e1b21b10321bcced" - size 151206 + filename "cc-mode-1.10-pkg.tar.gz" + md5sum "cbedfe4372993f1a98c9824840a64cff" + size 150896 provides (cc-mode) requires (xemacs-base) type regular @@ -1047,9 +1066,9 @@ (debug (standards-version 1.0 version "1.01" - author-version "20.5b29" + author-version "21.0b35" date "1998-01-24" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution contrib priority low @@ -1057,8 +1076,8 @@ dump nil description "GUD, gdb, dbx debugging support." filename "debug-1.01-pkg.tar.gz" - md5sum "dab66c6b6fc130a9bf4a6e6794014971" - size 87152 + md5sum "b36126702924e2822387957b5db68827" + size 87176 provides () requires (xemacs-base) type regular @@ -1068,7 +1087,7 @@ version "1.06" author-version "2.70.1" date "1998-02-25" - build-date "1998-03-22" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority medium @@ -1076,8 +1095,8 @@ dump nil description "Interface over GNU patch." filename "ediff-1.06-pkg.tar.gz" - md5sum "4c604cf4b004557659252ba82b8a27a9" - size 244441 + md5sum "1bad29a3f9a6e28c34afc1f155ffdb05" + size 244476 provides (ediff) requires (pcl-cvs dired xemacs-base) type regular @@ -1085,9 +1104,9 @@ (emerge (standards-version 1.0 version "1.01" - author-version "20.5b29" + author-version "21.0b35" date "1998-01-24" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low @@ -1095,7 +1114,7 @@ dump nil description "Another interface over GNU patch." filename "emerge-1.01-pkg.tar.gz" - md5sum "59f3d69e46bf05f1f1f8cd26e6caac43" + md5sum "8c112dda38c9274792d72f0583c9415b" size 60905 provides (emerge) requires () @@ -1104,9 +1123,9 @@ (pcl-cvs (standards-version 1.0 version "1.03" - author-version "20.5b29" + author-version "21.0b35" date "1998-01-24" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low @@ -1114,8 +1133,8 @@ dump nil description "CVS frontend." filename "pcl-cvs-1.03-pkg.tar.gz" - md5sum "e077c161d2013314bb98d94fc50efa7f" - size 134541 + md5sum "5d538ca24b26958463898ec80e0bac4b" + size 134577 provides (pcl-cvs dll elib-node generic-sc) requires (xemacs-base) type regular @@ -1123,9 +1142,9 @@ (prog-modes (standards-version 1.0 version "1.04" - author-version "20.5b29" + author-version "21.0b35" date "1998-02-08" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority medium @@ -1133,8 +1152,8 @@ dump nil description "Support for various programming languages." filename "prog-modes-1.04-pkg.tar.gz" - md5sum "82d3259204008efa69d7eab20db7a80b" - size 535354 + md5sum "ab211a10361e9485c502b7c466131640" + size 535455 provides (autoconf-mode cperl-mode eiffel3 f90 fortran ksh-mode m4-mode makefile perl-mode postscript python-mode rexx-mode simula-mode tcl teco verilog-mod) requires (mail-lib xemacs-base) type regular @@ -1142,9 +1161,9 @@ (scheme (standards-version 1.0 version "1.02" - author-version "20.5b29" + author-version "21.0b35" date "1998-01-24" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution contrib priority low @@ -1152,8 +1171,8 @@ dump nil description "Front-end support for Inferior Scheme." filename "scheme-1.02-pkg.tar.gz" - md5sum "b23c568e5939392f054119f9c6eee981" - size 34801 + md5sum "f79ca713130470b1040b19b94e2d8087" + size 34812 provides (scheme xscheme cmuscheme) requires (xemacs-base) type regular @@ -1163,7 +1182,7 @@ version "1.04" author-version "2.0e" date "1998-01-24" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low @@ -1171,8 +1190,8 @@ dump nil description "Support for editing shell scripts." filename "sh-script-1.04-pkg.tar.gz" - md5sum "d3840b34d0b92b57257b4170d8fa33a5" - size 33617 + md5sum "7e14483d0732a83b1f5e32f059f76b04" + size 33630 provides (sh-script executable) requires (xemacs-base) type regular @@ -1180,9 +1199,9 @@ (vc-cc (standards-version 1.0 version "1.03" - author-version "20.5b29" + author-version "21.0b35" date "1998-01-24" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution contrib priority low @@ -1190,8 +1209,8 @@ dump t description "Version Control for ClearCase (UnFree) systems." filename "vc-cc-1.03-pkg.tar.gz" - md5sum "b9d346ff0e29fdb75bf0309c5b25d869" - size 96057 + md5sum "fbdd450eb5db37a1fd76829b9b93ebc2" + size 96065 provides (vc) requires (dired xemacs-base) type regular @@ -1199,9 +1218,9 @@ (vc (standards-version 1.0 version "1.06" - author-version "21.0b31" + author-version "21.0b35" date "1998-03-20" - build-date "1998-03-22" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low @@ -1209,8 +1228,8 @@ dump t description "Version Control for Free systems." filename "vc-1.06-pkg.tar.gz" - md5sum "04519e6a475308de47da52f3cb927e68" - size 74601 + md5sum "875822474ef43fcb0ad83521279acb7c" + size 74620 provides (vc) requires (dired xemacs-base) type regular @@ -1220,7 +1239,7 @@ version "1.03" author-version "2.74" date "1998-01-24" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low @@ -1228,8 +1247,8 @@ dump nil description "Support for VHDL." filename "vhdl-1.03-pkg.tar.gz" - md5sum "0edc086261a9e0526704e99400d100e2" - size 54064 + md5sum "2d04e2bc20fe2f105238ad65b6a73969" + size 54083 provides (vhdl-mode) requires () type regular @@ -1239,7 +1258,7 @@ version "1.06" author-version "9.7p" date "1998-02-25" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority medium @@ -1247,8 +1266,8 @@ dump nil description "Basic TeX/LaTeX support." filename "auctex-1.06-pkg.tar.gz" - md5sum "e6ed0053066ca0c49251d1f85dc31fc1" - size 304695 + md5sum "bdd76782a4b9e02b0cecc51ebace3ed8" + size 304787 provides (auc-old bib-cite font-latex latex multi-prompt tex-buf tex-info tex-jp tex-site tex) requires (xemacs-base) type regular @@ -1258,7 +1277,7 @@ version "1.03" author-version "1.31" date "1998-01-24" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low @@ -1266,8 +1285,8 @@ dump nil description "Crisp/Brief emulation." filename "crisp-1.03-pkg.tar.gz" - md5sum "7d1e952213bd159dd11957daff005083" - size 9054 + md5sum "422b7bcbb0b0097a0f3688e0f475e3b5" + size 9059 provides (crisp scroll-lock) requires () type regular @@ -1275,9 +1294,9 @@ (edt (standards-version 1.0 version "1.03" - author-version "20.5b29" + author-version "21.0b35" date "1998-01-24" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution contrib priority low @@ -1285,37 +1304,37 @@ dump nil description "DEC EDIT/EDT emulation." filename "edt-1.03-pkg.tar.gz" - md5sum "93715876897a4f0bfcf66eed73010c2c" - size 46019 + md5sum "30c7aa5a4b6a5822f30976a947d422a4" + size 46031 provides (edt) requires (xemacs-base) type regular )) (reftex (standards-version 1.0 - version "1.03" + version "1.04" author-version "3.22" date "1998-03-21" - build-date "1998-03-22" + build-date "1998-04-04" maintainer "Carsten Dominik <dominik@strw.LeidenUniv.nl>" distribution stable priority medium category "wp" dump nil description "Emacs support for LaTeX cross-references, citations.." - filename "reftex-1.03-pkg.tar.gz" - md5sum "7e650c64e653631b1cb8c14975af6941" - size 141804 + filename "reftex-1.04-pkg.tar.gz" + md5sum "817a50763a3e909449a93780f662723c" + size 141810 provides (reftex) - requires (xemacs-base) + requires (fsf-compat xemacs-base) type regular )) (texinfo (standards-version 1.0 version "1.06" - author-version "20.5b30" + author-version "21.0b35" date "1998-03-03" - build-date "1998-03-08" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority high @@ -1323,8 +1342,8 @@ dump nil description "XEmacs TeXinfo support." filename "texinfo-1.06-pkg.tar.gz" - md5sum "60579a4364d996cb65b85e62f9c2bf47" - size 125816 + md5sum "4fa94b9ade9864cc915032157a921a4c" + size 125853 provides (makeinfo tex-mode texinfmt texinfo texnfo-tex texnfo-upd) requires (xemacs-base) type regular @@ -1332,9 +1351,9 @@ (textools (standards-version 1.0 version "1.04" - author-version "20.5b29" + author-version "21.0b35" date "1998-02-17" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stabl priority medium @@ -1342,8 +1361,8 @@ dump nil description "Miscellaneous TeX support." filename "textools-1.04-pkg.tar.gz" - md5sum "b18c912373db3b8ae4ad9c472c33128b" - size 78953 + md5sum "2e90b7dfd81c0b5748ac09b3db86e2c8" + size 78964 provides (bib-mode bibtex refer-to-bibtex) requires (xemacs-base) type single @@ -1351,9 +1370,9 @@ (tpu (standards-version 1.0 version "1.04" - author-version "20.5b29" + author-version "21.0b35" date "1998-01-24" - build-date "1998-02-27" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution mule priority high @@ -1361,8 +1380,8 @@ dump nil description "DEC EDIT/TPU support." filename "tpu-1.04-pkg.tar.gz" - md5sum "08968507b0879b85c2d56e49bc69b379" - size 57407 + md5sum "f45c9f761d6a88b2d3bdb4a4af2abf25" + size 57425 provides (tpu) requires () type regular @@ -1372,7 +1391,7 @@ version "1.06" author-version "3.02" date "1998-02-25" - build-date "1998-03-22" + build-date "1998-04-04" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low @@ -1380,8 +1399,8 @@ dump nil description "VI emulation support." filename "viper-1.06-pkg.tar.gz" - md5sum "d868d8e027ae6e86b77a9737acab6885" - size 261257 + md5sum "23528829ed5464cafb97fd3f278b41aa" + size 261321 provides (viper) requires (xemacs-base) type regular
--- a/lisp/packages.el Mon Aug 13 10:28:54 2007 +0200 +++ b/lisp/packages.el Mon Aug 13 10:29:42 2007 +0200 @@ -75,6 +75,23 @@ (defvar last-package-load-path nil "Load path for packages last in the load path.") +(defvar package-locations + (list + (list "~/.xemacs" 'early #'(lambda () t)) + (list "mule-packages" 'late #'(lambda () (featurep 'mule))) + (list "packages" 'late #'(lambda () t)) + (list "infodock-packages" 'late #'(lambda () (featurep 'infodock)))) + "Locations of the various package directories. +This is a list each of whose elements describes one directory. +A directory description is a three-element list. +The first element is either an absolute path or a subdirectory +in the XEmacs hierarchy. +The second component is one of the symbols EARLY, LATE, LAST, +depending on the load-path segment the hierarchy is supposed to +show up in. +The third component is a thunk which, if it returns NIL, causes +the directory to be ignored.") + (defun package-get-key-1 (info key) "Locate keyword `key' in list." (cond ((null info) @@ -298,52 +315,13 @@ ;; Path setup -(defun packages-find-package-path (roots) - "Construct the package path underneath installation roots ROOTS." - (let ((envvar-value (getenv "EMACSPACKAGEPATH"))) - (if envvar-value - (decode-path-internal envvar-value) - (let ((site-base-directory (paths-find-site-directory roots "packages")) - (version-base-directory (paths-find-version-directory roots "packages"))) - (if (or site-base-directory version-base-directory) - (let ((site-mule-directory - (and (featurep 'mule) - (paths-find-site-directory roots - "mule-packages"))) - (version-mule-directory - (and (featurep 'mule) - (paths-find-version-directory roots - "mule-packages"))) - ;; There needs to be a cleverer way of doing this - (site-infodock-directory - (and (featurep 'infodock) - (paths-find-site-directory roots - "infodock-packages"))) - (version-infodock-directory - (and (featurep 'infodock) - (paths-find-version-directory roots - "infodock-packages")))) - (append '("~/.xemacs/") - '(nil) - (and version-infodock-directory - (null (string-equal version-infodock-directory - site-infodock-directory)) - (list version-infodock-directory)) - (and site-infodock-directory - (list site-infodock-directory)) - (and version-mule-directory - (null (string-equal version-mule-directory - site-mule-directory)) - (list version-mule-directory)) - (and site-mule-directory - (list site-mule-directory)) - (and version-base-directory - (null (string-equal version-base-directory - site-base-directory)) - (list version-base-directory)) - (and site-base-directory - (list site-base-directory)))) - configure-package-path))))) +(defun packages-find-package-directories (roots base) + "Find a set of package directories." + (let ((version-directory (paths-find-version-directory roots base)) + (site-directory (paths-find-site-directory roots base))) + (paths-uniq-append + (and version-directory (list version-directory)) + (and site-directory (list site-directory))))) (defvar packages-special-bases '("etc" "info" "lisp" "lib-src" "bin") "Special subdirectories of packages.") @@ -355,35 +333,82 @@ packages-special-bases))) (defun packages-split-path (path) - "Split PATH at NIL, return pair with two components. + "Split PATH at \"/\", return pair with two components. The second component is shared with PATH." (let ((reverse-tail '()) (rest path)) - (while (and rest (null (null (car rest)))) + (while (and rest (null (string-equal "/" (car rest)))) (setq reverse-tail (cons (car rest) reverse-tail)) (setq rest (cdr rest))) (if (null rest) (cons path nil) (cons (nreverse reverse-tail) (cdr rest))))) -(defun packages-find-packages (package-path &optional inhibit) - "Search for all packages in PACKAGE-PATH. -PACKAGE-PATH may distinguish (by NIL-separation) between early, -late and last packages. -If INHIBIT is non-NIL, return empty paths. +(defun packages-split-package-path (package-path) + "Split up PACKAGE-PATH into early, late and last components. +The separation is by \"/\" components. This returns (LIST EARLY-PACKAGES LATE-PACKAGES LAST-PACKAGES)." + ;; When in doubt, it's late + (let* ((stuff (packages-split-path package-path)) + (early (and (cdr stuff) (car stuff))) + (late+last (or (cdr stuff) (car stuff))) + (stuff (packages-split-path late+last)) + (late (car stuff)) + (last (cdr stuff))) + (list (packages-find-packages-in-directories early) + (packages-find-packages-in-directories late) + (packages-find-packages-in-directories last)))) + +(defun packages-deconstruct (list consumer) + "Deconstruct LIST and feed it to CONSUMER." + (apply consumer list)) + +(defun packages-find-packages-by-name (roots name) + "Find a package hierarchy by its name." + (packages-find-packages-in-directories + (if (and (file-name-absolute-p name) + (file-name-directory (expand-file-name name))) + (list (file-name-as-directory (expand-file-name name))) + (packages-find-package-directories roots name)))) + +(defun packages-find-packages-at-time + (roots package-locations time &optional default) + "Find packages at given time. +For the format of PACKAGE-LOCATIONS, see the global variable of the same name. +TIME is either 'EARLY, 'LATE, or 'LAST. +DEFAULT is a default list of packages." + (let ((packages '())) + (while package-locations + (packages-deconstruct + (car package-locations) + #'(lambda (name a-time thunk) + (if (and (eq time a-time) + (funcall thunk)) + (setq packages + (nconc packages + (packages-find-packages-by-name roots name)))))) + (setq package-locations (cdr package-locations))) + (paths-uniq-append packages + default))) + +(defun packages-find-packages (roots &optional inhibit) + "Find the packages." (if inhibit (list '() '() '()) - ;; When in doubt, it's late - (let* ((stuff (packages-split-path package-path)) - (early (and (cdr stuff) (car stuff))) - (late+last (or (cdr stuff) (car stuff))) - (stuff (packages-split-path late+last)) - (late (car stuff)) - (last (cdr stuff))) - (list (packages-find-packages-in-directories early) - (packages-find-packages-in-directories late) - (packages-find-packages-in-directories last))))) + (let ((envvar-value (getenv "EMACSPACKAGEPATH"))) + (if envvar-value + (packages-split-package-path envvar-value) + (packages-deconstruct + (packages-split-package-path configure-package-path) + #'(lambda (configure-early-packages + configure-late-packages + configure-last-packages) + (list (packages-find-packages-at-time roots package-locations 'early + configure-early-packages) + (packages-find-packages-at-time roots package-locations 'late + configure-late-packages) + (packages-find-packages-at-time roots package-locations 'last + configure-last-packages)))))))) (defun packages-find-package-library-path (packages suffixes) "Construct a path into a component of the packages hierarchy.
--- a/lisp/process.el Mon Aug 13 10:28:54 2007 +0200 +++ b/lisp/process.el Mon Aug 13 10:29:42 2007 +0200 @@ -304,9 +304,7 @@ BUFFER may be also nil, meaning that this process is not associated with any buffer Third arg is program file name. It is searched for as in the shell. -Remaining arguments are strings to give program as arguments. -INCODE and OUTCODE specify the coding-system objects used in input/output - from/to the process." +Remaining arguments are strings to give program as arguments." (apply 'start-process-internal name buffer program program-args)) (defun open-network-stream (name buffer host service)
--- a/lisp/setup-paths.el Mon Aug 13 10:28:54 2007 +0200 +++ b/lisp/setup-paths.el Mon Aug 13 10:29:42 2007 +0200 @@ -76,20 +76,24 @@ (defun paths-construct-info-path (roots early-packages late-packages last-packages) "Construct the info path." - (append - (packages-find-package-info-path early-packages) - (packages-find-package-info-path late-packages) - (let ((info-directory - (paths-find-version-directory roots "info" - nil - configure-info-directory))) - (and info-directory - (list info-directory))) - (packages-find-package-info-path last-packages) - (let ((info-path-envval (getenv "INFOPATH"))) - (if info-path-envval - (decode-path-internal info-path-envval) - (paths-directories-which-exist configure-info-path))))) + (let ((info-path-envval (getenv "INFOPATH"))) + (paths-uniq-append + (append + (let ((info-directory + (paths-find-version-directory roots "info" + nil + configure-info-directory))) + (and info-directory + (list info-directory))) + (packages-find-package-info-path early-packages) + (packages-find-package-info-path late-packages) + (packages-find-package-info-path last-packages) + (and info-path-envval + (decode-path-internal info-path-envval))) + (and (not info-path-envval) + (paths-uniq-append + (paths-directories-which-exist configure-info-path) + (paths-directories-which-exist '("/usr/local/info/" "/usr/info/"))))))) (defun paths-find-doc-directory (roots) "Find the documentation directory." @@ -97,7 +101,7 @@ (defun paths-find-lock-directory (roots) "Find the lock directory." - (paths-find-site-path roots "lock" "EMACSLOCKDIR" configure-lock-directory)) + (paths-find-site-directory roots "lock" "EMACSLOCKDIR" configure-lock-directory)) (defun paths-find-superlock-file (lock-directory) "Find the superlock file."
--- a/lisp/startup.el Mon Aug 13 10:28:54 2007 +0200 +++ b/lisp/startup.el Mon Aug 13 10:29:42 2007 +0200 @@ -345,6 +345,7 @@ stream)) (princ (format "\nexec-directory is %S" exec-directory) stream) (princ (format "\ndata-directory is %S" data-directory) stream) + (princ (format "\ndata-directory-list is %S" data-directory-list) stream) (princ (format "\ndoc-directory is %S" doc-directory) stream) (princ (format "\nload-path is %S" load-path) stream) (princ "\n\n" stream))) @@ -1016,13 +1017,11 @@ If INHIBIT-SITE-LISP is non-NIL, don't do site-lisp. It's idempotent, so call this as often as you like!" - (setq package-path (packages-find-package-path roots)) - (apply #'(lambda (early late last) (setq early-packages early) (setq late-packages late) (setq last-packages last)) - (packages-find-packages package-path inhibit-packages)) + (packages-find-packages roots inhibit-packages)) (setq early-package-load-path (packages-find-package-load-path early-packages)) (setq late-package-load-path (packages-find-package-load-path late-packages))
--- a/lisp/x-toolbar.el Mon Aug 13 10:28:54 2007 +0200 +++ b/lisp/x-toolbar.el Mon Aug 13 10:29:42 2007 +0200 @@ -463,8 +463,69 @@ icon-list ) ) +(defvar toolbar-vector-open + [toolbar-file-icon toolbar-open t "Open a file"] + "Define the vector for the \"Open\" toolbar button") + +(defvar toolbar-vector-dired + [toolbar-folder-icon toolbar-dired t "View directory"] + "Define the vector for the \"Dired\" toolbar button") + +(defvar toolbar-vector-save + [toolbar-disk-icon toolbar-save t "Save buffer"] + "Define the vector for the \"Save\" toolbar button") + +(defvar toolbar-vector-print + [toolbar-printer-icon toolbar-print t "Print buffer"] + "Define the vector for the \"Printer\" toolbar button") + +(defvar toolbar-vector-cut + [toolbar-cut-icon toolbar-cut t "Kill region"] + "Define the vector for the \"Cut\" toolbar button") + +(defvar toolbar-vector-copy + [toolbar-copy-icon toolbar-copy t "Copy region"] + "Define the vector for the \"Copy\" toolbar button") + +(defvar toolbar-vector-paste + [toolbar-paste-icon toolbar-paste t "Paste from clipboard"] + "Define the vector for the \"Paste\" toolbar button") + +(defvar toolbar-vector-undo + [toolbar-undo-icon toolbar-undo t "Undo edit"] + "Define the vector for the \"Undo\" toolbar button") + +(defvar toolbar-vector-spell + [toolbar-spell-icon toolbar-ispell t "Spellcheck"] + "Define the vector for the \"Spell\" toolbar button") + +(defvar toolbar-vector-replace + [toolbar-replace-icon toolbar-replace t "Replace text"] + "Define the vector for the \"Replace\" toolbar button") + +(defvar toolbar-vector-mail + [toolbar-mail-icon toolbar-mail t "Mail"] + "Define the vector for the \"Mail\" toolbar button") + +(defvar toolbar-vector-info + [toolbar-info-icon toolbar-info t "Information"] + "Define the vector for the \"Info\" toolbar button") + +(defvar toolbar-vector-compile + [toolbar-compile-icon toolbar-compile t "Compile"] + "Define the vector for the \"Compile\" toolbar button") + +(defvar toolbar-vector-debug + [toolbar-debug-icon toolbar-debug t "Debug"] + "Define the vector for the \"Debug\" toolbar button") + +(defvar toolbar-vector-news + [toolbar-news-icon toolbar-news t "News"] + "Define the vector for the \"News\" toolbar button") + (defvar initial-toolbar-spec - '(;;[toolbar-last-win-icon pop-window-configuration + (list + ;;[toolbar-last-win-icon pop-window-configuration ;;(frame-property (selected-frame) ;; 'window-config-stack) t "Most recent window config"] ;; #### Illicit knowledge? @@ -478,23 +539,22 @@ ;;(frame-property (selected-frame) ;; 'window-config-unpop-stack) t "Undo \"Most recent window config\""] ;; #### Illicit knowledge? - - [toolbar-file-icon toolbar-open t "Open a file"] - [toolbar-folder-icon toolbar-dired t "View directory"] - [toolbar-disk-icon toolbar-save t "Save buffer"] - [toolbar-printer-icon toolbar-print t "Print buffer"] - [toolbar-cut-icon toolbar-cut t "Kill region"] - [toolbar-copy-icon toolbar-copy t "Copy region"] - [toolbar-paste-icon toolbar-paste t "Paste from clipboard"] - [toolbar-undo-icon toolbar-undo t "Undo edit"] - [toolbar-spell-icon toolbar-ispell t "Spellcheck"] - [toolbar-replace-icon toolbar-replace t "Replace text"] - [toolbar-mail-icon toolbar-mail t "Mail"] - [toolbar-info-icon toolbar-info t "Information"] - [toolbar-compile-icon toolbar-compile t "Compile"] - [toolbar-debug-icon toolbar-debug t "Debug"] - [toolbar-news-icon toolbar-news t "News"] -) + toolbar-vector-open + toolbar-vector-dired + toolbar-vector-save + toolbar-vector-print + toolbar-vector-cut + toolbar-vector-copy + toolbar-vector-paste + toolbar-vector-undo + toolbar-vector-spell + toolbar-vector-replace + toolbar-vector-mail + toolbar-vector-info + toolbar-vector-compile + toolbar-vector-debug + toolbar-vector-news + ) "The initial toolbar for a buffer.") (defun x-init-toolbar-from-resources (locale)
--- a/man/xemacs-faq.texi Mon Aug 13 10:28:54 2007 +0200 +++ b/man/xemacs-faq.texi Mon Aug 13 10:29:42 2007 +0200 @@ -4,17 +4,18 @@ @settitle Frequently asked questions about XEmacs @setchapternewpage off @c %**end of header - +@finalout @titlepage @title XEmacs FAQ @subtitle Frequently asked questions about XEmacs -@subtitle Last Modified: 1997-12-04 02:05:05 EET +@subtitle Last Modified: $Date: 1998/04/07 05:39:30 $ @sp 1 @author Tony Rossini <arossini@@stat.sc.edu> @author Ben Wing <wing@@666.com> @author Chuck Thompson <cthomp@@xemacs.org> @author Steve Baur <steve@@xemacs.org> @author Andreas Kaempf <andreas@@sccon.com> +@author Christian Nyb@o{} <chr@@mediascience.no> @page @end titlepage @@ -32,10 +33,14 @@ FITNESS FOR A PARTICULAR PURPOSE. If you have a Web browser, the official hypertext version is at -<URL:http://www.sccon.com/~andreas/xemacs-faq.html> and also at -<URL:http://www.xemacs.org/faq/xemacs-faq.html>. This version is much -nicer than the unofficial hypertext versions that are archived at -Utrecht, Oxford, Smart Pages, and other FAQ archives. +@iftex +@* +@end iftex +@uref{http://www.xemacs.org/faq/xemacs-faq.html}. + +This version is somewhat nicer than the unofficial hypertext versions +that are archived at Utrecht, Oxford, Smart Pages, and other FAQ +archives. @menu * Introduction:: Introduction, Policy, Credits. @@ -56,10 +61,10 @@ * Q1.0.3:: Where can I find it? * Q1.0.4:: Why Another Version of Emacs? * Q1.0.5:: Why Haven't XEmacs and GNU Emacs Merged? -* Q1.0.6:: Where can I get help? +* Q1.0.6:: Where can I get help? * Q1.0.7:: Where is the mailing list archived? * Q1.0.8:: How do you pronounce XEmacs? -* Q1.0.9:: What does XEmacs look like? +* Q1.0.9:: What does XEmacs look like? * Q1.0.10:: Is there a port of XEmacs to Microsoft ('95 or NT)? * Q1.0.11:: Is there a port of XEmacs to the Macintosh? * Q1.0.12:: Is there a port of XEmacs to NextStep? @@ -73,17 +78,17 @@ Credits: * Q1.2.1:: Who wrote XEmacs? -* Q1.2.2:: Who contributed to this version of the FAQ? -* Q1.2.3:: Who contributed to the FAQ in the past? +* Q1.2.2:: Who contributed to this version of the FAQ? +* Q1.2.3:: Who contributed to the FAQ in the past? Internationalization: -* Q1.3.1:: What is the status of XEmacs v20? +* Q1.3.1:: What is the status of XEmacs v20? * Q1.3.2:: What is the status of Asian-language support, aka @var{mule}? * Q1.3.3:: How do I type non-ASCII characters? * Q1.3.4:: Can XEmacs messages come out in a different language? * Q1.3.5:: Please explain the various input methods in MULE/XEmacs 20.0 * Q1.3.6:: How do I portably code for MULE/XEmacs 20.0? -* Q1.3.7:: How about Cyrillic Modes? +* Q1.3.7:: How about Cyrillic Modes? Getting Started: * Q1.4.1:: What is a @file{.emacs} and is there a sample one? @@ -96,20 +101,20 @@ Installation and Trouble Shooting -* Q2.0.1:: Running XEmacs without installing. -* Q2.0.2:: XEmacs is too big. +* Q2.0.1:: Running XEmacs without installing. +* Q2.0.2:: XEmacs is too big. * Q2.0.3:: Compiling XEmacs with Netaudio. * Q2.0.4:: Problems with Linux and ncurses. * Q2.0.5:: Do I need X11 to run XEmacs? * Q2.0.6:: I'm having strange crashes. What do I do? * Q2.0.7:: Libraries in non-standard locations. * Q2.0.8:: can't resolve symbol _h_errno -* Q2.0.9:: Where do I find external libraries? +* Q2.0.9:: Where do I find external libraries? * Q2.0.10:: After I run configure I find a coredump, is something wrong? * Q2.0.11:: XEmacs can't resolve host names. -* Q2.0.12:: Why can't I strip XEmacs? +* Q2.0.12:: Why can't I strip XEmacs? * Q2.0.13:: Can't link XEmacs on Solaris with Gcc. -* Q2.0.14:: Make on HP/UX 9 fails after linking temacs +* Q2.0.14:: Make on HP/UX 9 fails after linking temacs Trouble Shooting: * Q2.1.1:: XEmacs just crashed on me! @@ -138,13 +143,13 @@ Customization and Options -* Q3.0.1:: What version of Emacs am I running? +* Q3.0.1:: What version of Emacs am I running? * Q3.0.2:: How do I evaluate Elisp expressions? * Q3.0.3:: @code{(setq tab-width 6)} behaves oddly. * Q3.0.4:: How can I add directories to the @code{load-path}? * Q3.0.5:: How to check if a lisp function is defined? * Q3.0.6:: Can I force the output of @code{(face-list)} to a buffer? -* Q3.0.7:: Font selections don't get saved after @code{Save Options}. +* Q3.0.7:: Font selections don't get saved after @code{Save Options}. * Q3.0.8:: How do I make a single minibuffer frame? * Q3.0.9:: What is @code{Customize}? @@ -156,13 +161,13 @@ * Q3.1.5:: How can I get the icon to just say @samp{XEmacs}? * Q3.1.6:: How can I have the window title area display the full path? * Q3.1.7:: @samp{xemacs -name junk} doesn't work? -* Q3.1.8:: @samp{-iconic} doesn't work. +* Q3.1.8:: @samp{-iconic} it doesn't work. Textual Fonts & Colors: * Q3.2.1:: How can I set color options from @file{.emacs}? * Q3.2.2:: How do I set the text, menu and modeline fonts? * Q3.2.3:: How can I set the colors when highlighting a region? -* Q3.2.4:: How can I limit color map usage? +* Q3.2.4:: How can I limit color map usage? * Q3.2.5:: My tty supports color, but XEmacs doesn't use them. The Modeline: @@ -173,7 +178,7 @@ * Q3.3.5:: How can one change the modeline color based on the mode used? 3.4 Multiple Device Support: -* Q3.4.1:: How do I open a frame on another screen of my multi-headed display? +* Q3.4.1:: How do I open a frame on another screen of my multi-headed display? * Q3.4.2:: Can I really connect to a running XEmacs after calling up over a modem? How? 3.5 The Keyboard: @@ -182,7 +187,7 @@ * Q3.5.3:: How do I bind C-. and C-; to scroll one line up and down? * Q3.5.4:: Globally binding @kbd{Delete}? * Q3.5.5:: Scrolling one line at a time. -* Q3.5.6:: How to map @kbd{Help} key alone on Sun type4 keyboard? +* Q3.5.6:: How to map @kbd{Help} key alone on Sun type4 keyboard? * Q3.5.7:: How can you type in special characters in XEmacs? * Q3.5.8:: Why does @code{(global-set-key [delete-forward] 'delete-char)} complain? * Q3.5.9:: How do I make the Delete key delete forward? @@ -217,7 +222,7 @@ * Q3.9.4:: How can I get automatic horizontal scrolling? Text Selections: -* Q3.10.1:: How can I turn off or change highlighted selections? +* Q3.10.1:: How can I turn off or change highlighted selections? * Q3.10.2:: How do I get that typing on an active region removes it? * Q3.10.3:: Can I turn off the highlight during isearch? * Q3.10.4:: How do I turn off highlighting after @kbd{C-x C-p} (mark-page)? @@ -244,7 +249,7 @@ * Q4.1.3:: Is it true that W3 supports style sheets and tables? Reading Netnews and Mail with Gnus: -* Q4.2.1:: GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus, Quassia Gnus, argh! +* Q4.2.1:: GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus, Quassia Gnus, argh! * Q4.2.2:: [This question intentionally left blank] * Q4.2.3:: How do I make Gnus stay within a single frame? * Q4.2.4:: How do I customize the From: line? @@ -257,7 +262,7 @@ * Q4.3.5:: Where do I find pstogif (required by tm)? Sparcworks, EOS, and WorkShop: -* Q4.4.1:: What is SPARCworks, EOS, and WorkShop +* Q4.4.1:: What is SPARCworks, EOS, and WorkShop Energize: * Q4.5.1:: What is/was Energize? @@ -283,8 +288,8 @@ * Q5.0.7:: Telnet from shell filters too much. * Q5.0.8:: Why does edt emulation not work? * Q5.0.9:: How can I emulate VI and use it as my default mode? -* Q5.0.10:: [This question intentionally left blank] -* Q5.0.11:: Filladapt doesn't work in 19.15? +* Q5.0.10:: [This question intentionally left blank] +* Q5.0.11:: Filladapt doesn't work in 19.15? * Q5.0.12:: How do I disable gnuserv from opening a new frame? * Q5.0.13:: How do I start gnuserv so that each subsequent XEmacs is a client? * Q5.0.14:: Strange things are happening in Shell Mode. @@ -293,6 +298,7 @@ * Q5.0.17:: How can I get two instances of info? * Q5.0.18:: I upgraded to XEmacs 19.14 and gnuserv stopped working * Q5.0.19:: Is there something better than LaTeX mode? +* Q5.0.20:: Is there a way to start a new XEmacs if there's no gnuserv running, and otherwise use gnuclient? Emacs Lisp Programming Techniques: * Q5.1.1:: The difference in key sequences between XEmacs and GNU Emacs? @@ -329,39 +335,41 @@ * Q6.0.1:: What is new in 20.2? * Q6.0.2:: What is new in 20.3? -* Q6.0.3:: Procedural changes in XEmacs development. +* Q6.0.3:: What is new in 20.4? +* Q6.0.4:: Procedural changes in XEmacs development. @end detailmenu @end menu @node Introduction, Installation, Top, Top -@chapter Introduction, Policy, Credits - -Learning XEmacs is a lifelong activity. I've been using Emacs for -over a decade now, and I'm still discovering new features. Therefore -this document cannot be complete. Instead it is aimed at the person -who is either considering XEmacs for their own use, or has just -obtained it and is wondering what to do next. It is also useful as a -reference to available resources. - -The previous maintainer of the FAQ was Anthony Rossini -<rossini@@stat.sc.edu>, who started it, after getting tired of hearing -JWZ complain about repeatedly having to answer questions. Ben Wing -<ben@@666.com> and Chuck Thompson <cthomp@@xemacs.org>, the principal -authors of XEmacs, then took over and Ben did a massive update -reorganizing the whole thing. At which point Anthony took back over, -but then had to give it up again. Some of the other contributors to -this FAQ are listed later in this document. +@unnumbered 1 Introduction, Policy, Credits + +Learning XEmacs is a lifelong activity. Even people who have used Emacs +for years keep discovering new features. Therefore this document cannot +be complete. Instead it is aimed at the person who is either +considering XEmacs for their own use, or has just obtained it and is +wondering what to do next. It is also useful as a reference to +available resources. + +The previous maintainer of the FAQ was @email{rossini@@stat.sc.edu, +Anthony Rossini}, who started it, after getting tired of hearing JWZ +complain about repeatedly having to answer questions. +@email{ben@@666.com, Ben Wing} and @email{cthomp@@xemacs.org, Chuck +Thompson}, the principal authors of XEmacs, then took over and Ben did +a massive update reorganizing the whole thing. At which point Anthony +took back over, but then had to give it up again. Some of the other +contributors to this FAQ are listed later in this document. The previous version was converted to hypertext format, and edited by -Steven L. Baur <steve@@altair.xemacs.org>. It was converted back to -texinfo by Hrvoje Niksic <hniksic@@srce.hr>. - -Since Steve Baur is so busy putting out multiple versions of XEmacs I -have taken on the task of maintaining the FAQ. I use XEmacs on a daily -basis and I wanted to give something back to the community that has made -XEmacs possible. If you notice any errors or items which should be -added or amended to this FAQ please send email to Andreas Kaempf -<andreas@@sccon.com>. Include @samp{XEmacs FAQ} on the Subject: line. +@email{steve@@altair.xemacs.org, Steven L. Baur}. It was converted back to +texinfo by @email{hniksic@@srce.hr, Hrvoje Niksic}. + +The FAQ was then maintained by @email{andreas@@sccon.com, Andreas +Kaempf}, who passed it on to @email{chr@@mediascience.no, Christian +Nyb@o{}}, the current FAQ maintainer. + +If you notice any errors or items which should be added or amended to +this FAQ please send email to @email{chr@@mediascience.no, Christian +Nyb@o{}}. Include @samp{XEmacs FAQ} on the Subject: line. @menu Introduction: @@ -370,10 +378,10 @@ * Q1.0.3:: Where can I find it? * Q1.0.4:: Why Another Version of Emacs? * Q1.0.5:: Why Haven't XEmacs and GNU Emacs Merged? -* Q1.0.6:: Where can I get help? +* Q1.0.6:: Where can I get help? * Q1.0.7:: Where is the mailing list archived? * Q1.0.8:: How do you pronounce XEmacs? -* Q1.0.9:: What does XEmacs look like? +* Q1.0.9:: What does XEmacs look like? * Q1.0.10:: Is there a port of XEmacs to Microsoft ('95 or NT)? * Q1.0.11:: Is there a port of XEmacs to the Macintosh? * Q1.0.12:: Is there a port of XEmacs to NextStep? @@ -387,17 +395,17 @@ Credits: * Q1.2.1:: Who wrote XEmacs? -* Q1.2.2:: Who contributed to this version of the FAQ? -* Q1.2.3:: Who contributed to the FAQ in the past? +* Q1.2.2:: Who contributed to this version of the FAQ? +* Q1.2.3:: Who contributed to the FAQ in the past? Internationalization: -* Q1.3.1:: What is the status of XEmacs v20? +* Q1.3.1:: What is the status of XEmacs v20? * Q1.3.2:: What is the status of Asian-language support, aka @var{mule}? * Q1.3.3:: How do I type non-ASCII characters? * Q1.3.4:: Can XEmacs messages come out in a different language? * Q1.3.5:: Please explain the various input methods in MULE/XEmacs 20.0 * Q1.3.6:: How do I portably code for MULE/XEmacs 20.0? -* Q1.3.7:: How about Cyrillic Modes? +* Q1.3.7:: How about Cyrillic Modes? Getting Started: * Q1.4.1:: What is a @file{.emacs} and is there a sample one? @@ -410,7 +418,9 @@ @end menu @node Q1.0.1, Q1.0.2, Introduction, Introduction -@section What is XEmacs? +@unnumberedsec 1.0: Introduction +@unnumberedsubsec Q1.0.1: What is XEmacs? + An alternative to GNU Emacs, originally based on an early alpha version of FSF's version 19, and has diverged quite a bit since then. XEmacs @@ -419,32 +429,30 @@ track changes to GNU Emacs while also working to add new features. @node Q1.0.2, Q1.0.3, Q1.0.1, Introduction -@section What is the current version of XEmacs? - -The current stable version of XEmacs is 20.3, released in November, -1997. - -The next feature release will be XEmacs 20.4. +@unnumberedsubsec Q1.0.2: What is the current version of XEmacs? + +XEmacs 20.4 is a minor upgrade from 20.3, containing many bugfixes. It +was released in February 1998. XEmacs 19.16 was the last release of v19, released in November, 1997, which was also the last version without international language support. @node Q1.0.3, Q1.0.4, Q1.0.2, Introduction -@section Where can I find it? +@unnumberedsubsec Q1.0.3: Where can I find it? The canonical source and binaries is found via anonymous FTP at: @example -<URL:ftp.xemacs.org:/pub/xemacs/> +@uref{ftp://ftp.xemacs.org/pub/xemacs/} @end example @node Q1.0.4, Q1.0.5, Q1.0.3, Introduction -@section Why Another Version of Emacs? +@unnumberedsubsec Q1.0.4: Why Another Version of Emacs? For a detailed description of the differences between GNU Emacs and XEmacs and a detailed history of XEmacs, check out the @example -<URL:http://www.xemacs.org/NEWS.html> +@uref{http://www.xemacs.org/NEWS.html, NEWS file} @end example However, here is a list of some of the reasons why we think you might @@ -511,7 +519,7 @@ @end itemize @node Q1.0.5, Q1.0.6, Q1.0.4, Introduction -@section Why Haven't XEmacs and GNU Emacs Merged? +@unnumberedsubsec Q1.0.5: Why Haven't XEmacs and GNU Emacs Merged? There are currently irreconcilable differences in the views about technical, programming, design and organizational matters between RMS @@ -519,12 +527,12 @@ take place in the short-term future. If you have a comment to add regarding the merge, it is a good idea to -avoid posting to the newsgroups, because of the very heated flamewars -that often result. Mail your questions to <xemacs-beta@@xemacs.org> and -<bug-gnu-emacs@@prep.ai.mit.edu>. +avoid posting to the newsgroups, because of the very heated flamewars +that often result. Mail your questions to @email{xemacs-beta@@xemacs.org} and +@email{bug-gnu-emacs@@prep.ai.mit.edu}. @node Q1.0.6, Q1.0.7, Q1.0.5, Introduction -@section Where can I get help? +@unnumberedsubsec Q1.0.6: Where can I get help? Probably the easiest way, if everything is installed, is to use info, by pressing @kbd{C-h i}, or selecting @code{Emacs Info} from the Help Menu. @@ -533,7 +541,7 @@ Try reading this FAQ, examining the regular GNU Emacs FAQ (which can be found with the Emacs 19 distribution) as well as at -<URL:http://www.eecs.nwu.edu/emacs/faq/> and reading the Usenet group +@uref{http://www.eecs.nwu.edu/emacs/faq/} and reading the Usenet group comp.emacs.xemacs. If that does not help, try posting your question to comp.emacs.xemacs. @@ -541,8 +549,8 @@ If you cannot post or read Usenet news, there is a corresponding mailing list which is available. It can be subscribed to by sending a message -with a subject of @samp{subscribe} to <xemacs-request@@xemacs.org> -for subscription information and <xemacs@@xemacs.org> to send messages +with a subject of @samp{subscribe} to @email{xemacs-request@@xemacs.org} +for subscription information and @email{xemacs@@xemacs.org} to send messages to the list. To cancel a subscription, you @strong{must} use the xemacs-request @@ -550,79 +558,85 @@ removed. @node Q1.0.7, Q1.0.8, Q1.0.6, Introduction -@section Where is the mailing list archived? +@unnumberedsubsec Q1.0.7: Where is the mailing list archived? The mailing list was archived in the directory @example -<URL:ftp://ftp.xemacs.org:/pub/mlists/>. +@uref{ftp://ftp.xemacs.org/pub/mlists/}. @end example However, this archive is out of date. The current mailing list server supports an @code{archive} feature, which may be utilized. @node Q1.0.8, Q1.0.9, Q1.0.7, Introduction -@section How do you pronounce XEmacs? +@unnumberedsubsec Q1.0.8: How do you pronounce XEmacs? I pronounce it @samp{Eks eemax}. @node Q1.0.9, Q1.0.10, Q1.0.8, Introduction -@section What does XEmacs look like? +@unnumberedsubsec Q1.0.9: What does XEmacs look like? Screen snapshots are available in the WWW version of the FAQ. @example -<URL:http://www.xemacs.org/faq/xemacs-faq.html> +@uref{http://www.xemacs.org/faq/xemacs-faq.html} @end example @node Q1.0.10, Q1.0.11, Q1.0.9, Introduction -@section Is there a port of XEmacs to Microsoft ('95 or NT)? - -Thanks to efforts of many people, coordinated by David Hobley -<davidh@@wr.com.au> and Marc Paquette <marcpa@@cam.org>, beta versions -of XEmacs now run on 32-bit Windows platforms (NT and 95). The current -betas require having an X server to run XEmacs; however, a native NT/95 -port is in alpha, thanks to Jonathan Harris <jhar@@tardis.ed.ac.uk>. +@unnumberedsubsec Q1.0.10: Is there a port of XEmacs to Microsoft ('95 or NT)? + +Thanks to efforts of many people, coordinated by +@email{davidh@@wr.com.au, David Hobley} and @email{marcpa@@cam.org, Marc +Paquette}, beta versions of XEmacs now run on 32-bit Windows platforms +(NT and 95). The current betas require having an X server to run +XEmacs; however, a native NT/95 port is in alpha, thanks to +@email{jhar@@tardis.ed.ac.uk, Jonathan Harris}. The NT development is now coordinated by a mailing list at -<xemacs-nt@@xemacs.org>. If you are willing to contribute or want to -follow the progress, mail to <xemacs-nt-request@@xemacs.org> to -subscribe. +@email{xemacs-nt@@xemacs.org}. + +If you are willing to contribute or want to follow the progress, mail to +@iftex +@* +@end iftex +@email{xemacs-nt-request@@xemacs.org} to subscribe. Furthermore, Altrasoft is seeking corporate and government sponsors to help fund a fully native port of XEmacs to Windows 95 and NT using full-time, senior-level staff working under a professionally managed -project structure. See <URL:http://www.altrasoft.com/> for more details +project structure. See @uref{http://www.altrasoft.com/, the Altrasoft +web site} for more details or contact Altrasoft directly at 1-888-ALTSOFT. The closest existing port is @dfn{Win-Emacs}, which is based on Lucid -Emacs 19.6. Available from <URL:http://www.pearlsoft.com/>. +Emacs 19.6. Available from @uref{http://www.pearlsoft.com/}. There's a port of GNU Emacs (not XEmacs) at @example -<URL:http://www.cs.washington.edu/homes/voelker/ntemacs.html>. +@uref{http://www.cs.washington.edu/homes/voelker/ntemacs.html}. @end example @node Q1.0.11, Q1.0.12, Q1.0.10, Introduction -@section Is there a port of XEmacs to the Macintosh? +@unnumberedsubsec Q1.0.11: Is there a port of XEmacs to the Macintosh? There has been a port to the MachTen environment of XEmacs 19.13, but no patches have been submitted to the maintainers to get this in the mainstream distribution. @node Q1.0.12, Q1.0.13, Q1.0.11, Introduction -@section Is there a port of XEmacs to NextStep? - -Carl Edman, apparently no longer at <cedman@@princeton.edu>, did the -port of GNU Emacs to NeXTstep and expressed interest in doing the XEmacs -port, but never went any farther. +@unnumberedsubsec Q1.0.12: Is there a port of XEmacs to NextStep? + +Carl Edman, apparently no longer at @email{cedman@@princeton.edu}, did +the port of GNU Emacs to NeXTstep and expressed interest in doing the +XEmacs port, but never went any farther. @node Q1.0.13, Q1.0.14, Q1.0.12, Introduction -@section Is there a port of XEmacs to OS/2? +@unnumberedsubsec Q1.0.13: Is there a port of XEmacs to OS/2? No, and there is no news of anyone working on it. @node Q1.0.14, Q1.1.1, Q1.0.13, Introduction -@section Where can I obtain a printed copy of the XEmacs users manual? +@unnumberedsubsec Q1.0.14: Where can I obtain a printed copy of the XEmacs users manual? Altrasoft Associates, a firm specializing in Emacs-related support and development, will be maintaining the XEmacs user manual. The firm plans @@ -630,13 +644,14 @@ @c This used to say `March 1997'! @example - Web: http://www.xemacs.com - E-mail: <info@@xemacs.com> + Web: @uref{http://www.xemacs.com} + E-mail: @email{info@@xemacs.com} Tel: +1 408 243 3300 @end example @node Q1.1.1, Q1.1.2, Q1.0.14, Introduction -@section What is the FAQ editorial policy? +@unnumberedsec 1.1: Policies +@unnumberedsubsec Q1.1.1: What is the FAQ editorial policy? The FAQ is actively maintained and modified regularly. All links should be up to date. @@ -646,8 +661,11 @@ month. Preexisting questions that have been changed are marked as such. Brand new questions are tagged. -All submissions are welcome. E-mail submissions to Andreas Kaempf -<andreas@@sccon.com>. +All submissions are welcome. E-mail submissions +to @iftex +@* +@end iftex +@email{chr@@mediascience.no, Christian Nyb@o{}}. Please make sure that @samp{XEmacs FAQ} appears on the Subject: line. If you think you have a better way of answering a question, or think a @@ -660,18 +678,18 @@ author. @node Q1.1.2, Q1.1.3, Q1.1.1, Introduction -@section How do I become a Beta Tester? - -Send an email message to <xemacs-beta-request@@xemacs.org> with a -subject line of @samp{subscribe}. +@unnumberedsubsec Q1.1.2: How do I become a Beta Tester? + +Send an email message to @email{xemacs-beta-request@@xemacs.org} with a +subject line of @samp{subscribe}. Be prepared to get your hands dirty, as beta testers are expected to identify problems as best they can. @node Q1.1.3, Q1.2.1, Q1.1.2, Introduction -@section How do I contribute to XEmacs itself? - -Ben Wing <ben@@666.com> writes: +@unnumberedsubsec Q1.1.3: How do I contribute to XEmacs itself? + +Ben Wing @email{ben@@666.com} writes: @quotation BTW if you have a wish list of things that you want added, you have to @@ -701,28 +719,50 @@ @end quotation @node Q1.2.1, Q1.2.2, Q1.1.3, Introduction -@section Who wrote XEmacs? +@unnumberedsec 1.2: Credits +@unnumberedsubsec Q1.2.1: Who wrote XEmacs? XEmacs is the result of the time and effort of many people. The developers responsible for the 19.16/20.x releases are: @itemize @bullet -@item Martin Buchholz <martin@@xemacs.org> - -@item Steve Baur <steve@@altair.xemacs.org> - -@item Hrvoje Niksic <hniksic@@srce.hr> +@item @email{martin@@xemacs.org, Martin Buchholz} +@ifhtml +<img src="mrb.jpeg"> +@end ifhtml + + +@item @email{steve@@altair.xemacs.org, Steve Baur} + +@ifhtml +<img src="steve.gif"> +@end ifhtml + + +@item @email{hniksic@@srce.hr, Hrvoje Niksic} + +@ifhtml +<img src="hniksic.jpeg"> +@end ifhtml + @end itemize The developers responsible for the 19.14 release are: @itemize @bullet -@item Chuck Thompson <cthomp@@xemacs.org> +@item @email{cthomp@@xemacs.org, Chuck Thompson} +@ifhtml +<img src="cthomp.jpeg"> +@end ifhtml Chuck was Mr. XEmacs from 19.11 through 19.14, and is responsible for XEmacs becoming a widely distributed program over the Internet. -@item Ben Wing <ben@@666.com> +@item @email{ben@@666.com, Ben Wing} +@ifhtml +<img src="wing.gif"> +@end ifhtml + @end itemize Jamie Zawinski was Mr. Lucid Emacs from 19.0 through 19.10, the last @@ -730,81 +770,85 @@ most of those releases. @itemize @bullet -@item Jamie Zawinski <jwz@@netscape.com> - -@item Richard Mlynarik <mly@@adoc.xerox.com> +@item @email{jwz@@netscape.com, Jamie Zawinski} +@ifhtml +<img src="jwz.gif"> +@end ifhtml + +@item @email{mly@@adoc.xerox.com, Richard Mlynarik} @end itemize Along with many other contributors, partially enumerated in the @samp{About XEmacs} option in the Help menu. @node Q1.2.2, Q1.2.3, Q1.2.1, Introduction -@section Who contributed to this version of the FAQ? +@unnumberedsubsec Q1.2.2: Who contributed to this version of the FAQ? The following people contributed valuable suggestions to building this version of the FAQ (listed in alphabetical order): @itemize @bullet -@item SL Baur <steve@@xemacs.org> - -@item Hrvoje Niksic <hniksic@@srce.hr> - -@item Aki Vehtari <Aki.Vehtari@@hut.fi> +@item @email{steve@@xemacs.org, SL Baur} + +@item @email{hniksic@@srce.hr, Hrvoje Niksic} + +@item @email{Aki.Vehtari@@hut.fi, Aki Vehtari} @end itemize @node Q1.2.3, Q1.3.1, Q1.2.2, Introduction -@section Who contributed to the FAQ in the past? +@unnumberedsubsec Q1.2.3: Who contributed to the FAQ in the past? This is only a partial list, as many names were lost in a hard disk crash some time ago. @itemize @bullet -@item Curtis.N.Bingham <binge@@aloft.att.com> - -@item Richard Caley <rjc@@cogsci.ed.ac.uk> - -@item Richard Cognot <cognot@@ensg.u-nancy.fr> - -@item William G. Dubuque <wgd@@martigny.ai.mit.edu> - -@item Eric Eide <eeide@@cs.utah.edu> - -@item Chris Flatters <cflatter@@nrao.edu> - -@item Evelyn Ginsparg <ginsparg@@adra.com> - -@item Marty Hall <hall@@aplcenmp.apl.jhu.edu> - -@item Darrell Kindred <dkindred@@cmu.edu> - -@item David Moore <dmoore@@ucsd.edu> - -@item Arup Mukherjee <arup+@@cmu.edu> - -@item Juergen Nickelsen <nickel@@prz.tu-berlin.de> - -@item Kevin R. Powell <powell@@csl.ncsa.uiuc.edu> - -@item Justin Sheehy <dworkin@@ccs.neu.edu> - -@item Stig <stig@@hackvan.com> - -@item Aki Vehtari <Aki.Vehtari@@hut.fi> +@item @email{binge@@aloft.att.com, Curtis.N.Bingham} + +@item @email{rjc@@cogsci.ed.ac.uk, Richard Caley} + +@item @email{cognot@@ensg.u-nancy.fr, Richard Cognot} + +@item @email{wgd@@martigny.ai.mit.edu, William G. Dubuque} + +@item @email{eeide@@cs.utah.edu, Eric Eide} + +@item @email{cflatter@@nrao.edu, Chris Flatters} + +@item @email{ginsparg@@adra.com, Evelyn Ginsparg} + +@item @email{hall@@aplcenmp.apl.jhu.edu, Marty Hall} + +@item @email{dkindred@@cmu.edu, Darrell Kindred} + +@item @email{dmoore@@ucsd.edu, David Moore} + +@item @email{arup+@@cmu.edu, Arup Mukherjee} + +@item @email{nickel@@prz.tu-berlin.de, Juergen Nickelsen} + +@item @email{powell@@csl.ncsa.uiuc.edu, Kevin R. Powell} + +@item @email{dworkin@@ccs.neu.edu, Justin Sheehy} + +@item @email{stig@@hackvan.com, Stig} + +@item @email{Aki.Vehtari@@hut.fi, Aki Vehtari} @end itemize @node Q1.3.1, Q1.3.2, Q1.2.3, Introduction -@section What is the status of XEmacs v20? +@unnumberedsec 1.3: Internationalization +@unnumberedsubsec Q1.3.1: What is the status of XEmacs v20? XEmacs v20 is the version of XEmacs that includes MULE (Asian-language) support. XEmacs 20.0 was released in February 1997, followed by XEmacs -20.2 in May and XEmacs 20.3 in November. When compiled without MULE -support, 20.3 is approximately as stable as 19.16, and probably faster +20.2 in May, XEmacs 20.3 in November and XEmacs 20.4 in February 1998. When compiled without MULE +support, 20.4 is approximately as stable as 19.16, and probably faster (due to additional optimization work.) As of XEmacs 20.3, version 20 is @emph{the} supported version of XEmacs. This means that 19.16 will optionally receive stability fixes -(if any), but that all the real development work will be done on the v20 +(if any), but that all the real development work will be done on the v20 tree. The incompatible changes in XEmacs 20 include the additional byte-codes, @@ -815,7 +859,7 @@ However, to avoid breaking old code, many functions that should normally accept characters work with integers, and vice versa. For more -information, see the Lisp reference manual. Here is a relevant excerpt, +information, see the Lisp reference manual. Here is a relevant excerpt, for your convenience. @quotation @@ -865,26 +909,26 @@ @end quotation @node Q1.3.2, Q1.3.3, Q1.3.1, Introduction -@section What is the status of Asian-language support, aka MULE? +@unnumberedsubsec Q1.3.2: What is the status of Asian-language support, aka MULE? The MULE support works OK but still needs a fair amount of work before it's really solid. We could definitely use some help here, esp. people who speak Japanese and will use XEmacs/MULE to work with Japanese and have some experience with E-Lisp. -As the funding on Mule have stopped, Mule part of XEmacs is currently +As the fundings on Mule have stopped, Mule part of XEmacs is currently looking for a full-time maintainer. If you can provide help here, or -are willing to fund the work, please mail to <xemacs-beta@@xemacs.org>. +are willing to fund the work, please mail to @email{xemacs-beta@@xemacs.org}. @xref{Q1.1.2}. @node Q1.3.3, Q1.3.4, Q1.3.2, Introduction -@section How do I type non-ASCII characters? +@unnumberedsubsec Q1.3.3: How do I type non-ASCII characters? See question 3.5.7 (@xref{Q3.5.7}) in part 3 of this FAQ. @node Q1.3.4, Q1.3.5, Q1.3.3, Introduction -@section Can XEmacs messages come out in a different language? +@unnumberedsubsec Q1.3.4: Can XEmacs messages come out in a different language? The message-catalog support has mostly been written but doesn't currently work. The first release of XEmacs 20 will @emph{not} support @@ -901,12 +945,12 @@ removing punctuation and capitalizing as above. @node Q1.3.5, Q1.3.6, Q1.3.4, Introduction -@section Please explain the various input methods in MULE/XEmacs 20.0 - -MORIOKA Tomohiko <morioka@@jaist.ac.jp> writes: +@unnumberedsubsec Q1.3.5: Please explain the various input methods in MULE/XEmacs 20.0 + +@email{morioka@@jaist.ac.jp, MORIOKA Tomohiko} writes: @quotation -Original Mule supports the following input methods: Wnn4, Wnn6, Canna, SJ3 +Original Mule supports following input methods: Wnn4, Wnn6, Canna, SJ3 and XIM. Interfaces for Wnn and SJ3 uses the @code{egg} user interface. Interface for Canna does not use @samp{egg}. I don't know about XIM. It is to support ATOK, of course, it may work for another @@ -950,9 +994,9 @@ @end quotation @node Q1.3.6, Q1.3.7, Q1.3.5, Introduction -@section How do I portably code for MULE/XEmacs 20? - -MORIOKA Tomohiko <morioka@@jaist.ac.jp> writes: +@unnumberedsubsec Q1.3.6: How do I portably code for MULE/XEmacs 20? + +@email{morioka@@jaist.ac.jp, MORIOKA Tomohiko} writes: @quotation MULE and XEmacs are quite different. So the application @@ -999,34 +1043,42 @@ @end quotation @node Q1.3.7, Q1.4.1, Q1.3.6, Introduction -@section How about Cyrillic Modes? - -Ilya Zakharevich <ilya@@math.ohio-state.edu> writes: +@unnumberedsubsec Q1.3.7: How about Cyrillic Modes? + +@email{ilya@@math.ohio-state.edu, Ilya Zakharevich} writes: @quotation There is a cyrillic mode in the file @file{mysetup.zip} in -<URL:ftp://ftp.math.ohio-state.edu/pub/users/ilya/emacs/>. This is a -modification to Valery Alexeev's <ava@@math.jhu.ed> @file{russian.el} -which can be obtained from <URL:ftp://ftp.cis.ohio-state.edu/pub/gnu/emacs/elisp-archive/packages/russian.el.Z>. +@iftex +@* +@end iftex +@uref{ftp://ftp.math.ohio-state.edu/pub/users/ilya/emacs/}. This is a +modification to @email{ava@@math.jhu.ed, Valery Alexeev's} @file{russian.el} +which can be obtained from @uref{ftp://ftp.cis.ohio-state.edu/pub/gnu/emacs/elisp-archive/packages/russian.el.Z}. @end quotation -Dima Barsky <d.barsky@@ee.surrey.ac.uk> writes: +@email{d.barsky@@ee.surrey.ac.uk, Dima Barsky} writes: @quotation -There is another cyrillic mode for both GNU Emacs and XEmacs by Dmitrii -(Mitya) Manin <manin@@camelot.mssm.edu> at -<URL:http://camelot.mssm.edu/~manin/cyr.el>. +There is another cyrillic mode for both GNU Emacs and XEmacs by +@email{manin@@camelot.mssm.edu, Dmitrii +(Mitya) Manin} at +@iftex + +@end iftex +@uref{http://camelot.mssm.edu/~manin/cyr.el}. @end quotation -Rebecca Ore <rebecca.ore@@op.net> writes: +@email{rebecca.ore@@op.net, Rebecca Ore} writes: @quotation The fullest resource I found on Russian language use (in and out of -XEmacs) is <URL:http://sunsite.oit.unc.edu/sergei/Software/Software.html> +XEmacs) is @uref{http://sunsite.oit.unc.edu/sergei/Software/Software.html} @end quotation @node Q1.4.1, Q1.4.2, Q1.3.7, Introduction -@section What is a @file{.emacs} and is there a sample one? +@unnumberedsec 1.4: Getting Started, Backing up & Recovery +@unnumberedsubsec Q1.4.1: What is a @file{.emacs} and is there a sample one? The @file{.emacs} file is used to customize XEmacs to your tastes. No two are alike, nor are they expected to be alike, but that's the point. @@ -1040,28 +1092,34 @@ @kbd{C-h v data-directory RET}. @node Q1.4.2, Q1.4.3, Q1.4.1, Introduction -@section Can I use the same @file{.emacs} with the other Emacs? +@unnumberedsubsec Q1.4.2: Can I use the same @file{.emacs} with the other Emacs? Yes. The sample @file{.emacs} included in the XEmacs distribution will show you how to handle different versions and flavors of Emacs. @node Q1.4.3, Q1.4.4, Q1.4.2, Introduction -@section Any good tutorials around? +@unnumberedsubsec Q1.4.3: Any good tutorials around? There's the XEmacs tutorial available from the Help Menu, or by typing -@kbd{C-h t}. +@kbd{C-h t}. To check whether it's available in a non-english language, +type @kbd{C-u C-h t TAB}, type the first letters of your preferred +language, then type @kbd{RET}. There's an Emacs Lisp tutorial at @example -<URL:ftp://prep.ai.mit.edu/pub/gnu/emacs-lisp-intro-1.04.tar.gz>. +@uref{ftp://prep.ai.mit.edu/pub/gnu/emacs-lisp-intro-1.04.tar.gz}. @end example -Erik Sundermann <erik@@petaxp.rug.ac.be> has made a tutorial web page at -<URL:http://petaxp.rug.ac.be/~erik/xemacs/>. +@email{erik@@petaxp.rug.ac.be, Erik Sundermann} has made a tutorial web +page at +@iftex +@* +@end iftex +@uref{http://petaxp.rug.ac.be/~erik/xemacs/}. @node Q1.4.4, Q1.4.5, Q1.4.3, Introduction -@section May I see an example of a useful XEmacs Lisp function? +@unnumberedsubsec Q1.4.4: May I see an example of a useful XEmacs Lisp function? The following function does a little bit of everything useful. It does something with the prefix argument, it examines the text around the @@ -1096,7 +1154,7 @@ @code{interactive} allows you to execute the command with @kbd{M-x}. @node Q1.4.5, Q1.4.6, Q1.4.4, Introduction -@section And how do I bind it to a key? +@unnumberedsubsec Q1.4.5: And how do I bind it to a key? To bind to a key do: @@ -1107,7 +1165,7 @@ Or interactively, @kbd{M-x global-set-key} and follow the prompts. @node Q1.4.6, Q1.4.7, Q1.4.5, Introduction -@section What's the difference between a macro and a function? +@unnumberedsubsec Q1.4.6: What's the difference between a macro and a function? Quoting from the Lisp Reference (a.k.a @dfn{Lispref}) Manual: @@ -1127,7 +1185,7 @@ other keys. Refer to manual for details. @node Q1.4.7, , Q1.4.6, Introduction -@section How come options saved with 19.13 don't work with 19.14 or later? +@unnumberedsubsec Q1.4.7: How come options saved with 19.13 don't work with 19.14 or later? There's a problem with options of the form: @@ -1152,32 +1210,32 @@ (or (and (= emacs-major-version 19) (>= emacs-minor-version 12)) (>= emacs-major-version 20))) - ... - )) + ... + )) @end lisp @node Installation, Customization, Introduction, Top -@chapter Installation and Trouble Shooting +@unnumbered 2 Installation and Trouble Shooting This is part 2 of the XEmacs Frequently Asked Questions list. This section is devoted to Installation, Maintenance and Trouble Shooting. @menu Installation: -* Q2.0.1:: Running XEmacs without installing. -* Q2.0.2:: XEmacs is too big. +* Q2.0.1:: Running XEmacs without installing. +* Q2.0.2:: XEmacs is too big. * Q2.0.3:: Compiling XEmacs with Netaudio. * Q2.0.4:: Problems with Linux and ncurses. * Q2.0.5:: Do I need X11 to run XEmacs? * Q2.0.6:: I'm having strange crashes. What do I do? * Q2.0.7:: Libraries in non-standard locations. * Q2.0.8:: can't resolve symbol _h_errno -* Q2.0.9:: Where do I find external libraries? +* Q2.0.9:: Where do I find external libraries? * Q2.0.10:: After I run configure I find a coredump, is something wrong? * Q2.0.11:: XEmacs can't resolve host names. -* Q2.0.12:: Why can't I strip XEmacs? +* Q2.0.12:: Why can't I strip XEmacs? * Q2.0.13:: Can't link XEmacs on Solaris with Gcc. -* Q2.0.14:: Make on HP/UX 9 fails after linking temacs +* Q2.0.14:: Make on HP/UX 9 fails after linking temacs Trouble Shooting: * Q2.1.1:: XEmacs just crashed on me! @@ -1206,8 +1264,8 @@ @end menu @node Q2.0.1, Q2.0.2, Installation, Installation -@section Running XEmacs without installing - +@unnumberedsec 2.0: Installation +@unnumberedsubsec Q2.0.1: Running XEmacs without installing The @file{INSTALL} file says that up to 108 MB of space is needed temporarily during installation! How can I just try it out? @@ -1228,12 +1286,12 @@ This will let you run XEmacs without massive copying. @node Q2.0.2, Q2.0.3, Q2.0.1, Installation -@section XEmacs is too big +@unnumberedsubsec Q2.0.2: XEmacs is too big Although this entry has been written for XEmacs 19.13, most of it still stands true. -Steve Baur <steve@@altair.xemacs.org> writes: +@email{steve@@altair.xemacs.org, Steve Baur} writes: @quotation The 45MB of space required by the installation directories can be @@ -1360,7 +1418,7 @@ @strong{and} can be achieved without deleting a single file. @end quotation -giacomo boffi <boffi@@hp735.stru.polimi.it> provides this procedure: +@email{boffi@@hp735.stru.polimi.it, Giacomo Boffi} provides this procedure: @quotation Substitute @file{/usr/local/lib/} with the path where the xemacs tree is @@ -1380,8 +1438,8 @@ cd $d for f in *.el ; do # compress (remove) only (ONLY) the sources that have a -# corresponding compiled file --- do not (DO NOT) touch other -# sources +# corresponding compiled file --- do not (DO NOT) +# touch other sources if test -f $@{f@}c ; then gzip -v9 $f >> $r/cmpr ; fi done cd .. @@ -1406,7 +1464,7 @@ @end quotation @node Q2.0.3, Q2.0.4, Q2.0.2, Installation -@section Compiling XEmacs with Netaudio. +@unnumberedsubsec Q2.0.3: Compiling XEmacs with Netaudio. What is the best way to compile XEmacs with the netaudio system, since I have got the netaudio system compiled but installed at a weird place, I @@ -1432,20 +1490,23 @@ BTW, netaudio has been renamed as it has a name clash with something else, so if you see references to NAS or Network Audio System, it's the same thing. It also might be found at -<URL:ftp.x.org:/contrib/audio/nas/>. +@uref{ftp://ftp.x.org/contrib/audio/nas/}. @node Q2.0.4, Q2.0.5, Q2.0.3, Installation -@section Problems with Linux and ncurses. +@unnumberedsubsec Q2.0.4: Problems with Linux and ncurses. On Linux 1.3.98 with termcap 2.0.8 and the ncurses that came with libc 5.2.18, XEmacs 20.0b20 is unable to open a tty device: @example src/xemacs -nw -q -Initialization error: Terminal type `xterm' undefined (or can't access database?) +Initialization error: @iftex +@* +@end iftex +Terminal type `xterm' undefined (or can't access database?) @end example -Ben Wing <ben@@666.com> writes: +@email{ben@@666.com, Ben Wing} writes: @quotation Your ncurses configuration is messed up. Your /usr/lib/terminfo is a @@ -1453,7 +1514,7 @@ @end quotation @node Q2.0.5, Q2.0.6, Q2.0.4, Installation -@section Do I need X11 to run XEmacs? +@unnumberedsubsec Q2.0.5: Do I need X11 to run XEmacs? No. The name @dfn{XEmacs} is unfortunate in the sense that it is @strong{not} an X Window System-only version of Emacs. Starting with @@ -1461,14 +1522,14 @@ terminal. @node Q2.0.6, Q2.0.7, Q2.0.5, Installation -@section I'm having strange crashes. What do I do? +@unnumberedsubsec Q2.0.6: I'm having strange crashes. What do I do? There have been a variety of reports of crashes due to compilers with buggy optimizers. Please see the @file{PROBLEMS} file that comes with XEmacs to read what it says about your platform. @node Q2.0.7, Q2.0.8, Q2.0.6, Installation -@section Libraries in non-standard locations +@unnumberedsubsec Q2.0.7: Libraries in non-standard locations I have x-faces, jpeg, xpm etc. all in different places. I've tried space-separated, comma-separated, several --site-libraries, all to no @@ -1479,7 +1540,7 @@ @end example @node Q2.0.8, Q2.0.9, Q2.0.7, Installation -@section can't resolve symbol _h_errno +@unnumberedsubsec Q2.0.8: can't resolve symbol _h_errno You are using the Linux/ELF distribution of XEmacs 19.14, and your ELF libraries are out of date. You have the following options: @@ -1491,7 +1552,10 @@ @item Patch the XEmacs binary by replacing all occurrences of -@samp{_h_errno^@@} with @samp{h_errno^@@^@@}. Any version of Emacs will +@samp{_h_errno^@@} with @iftex +@* +@end iftex +@samp{h_errno^@@^@@}. Any version of Emacs will suffice. If you don't understand how to do this, don't do it. @item @@ -1499,13 +1563,14 @@ O.K. @end enumerate -Hrvoje Niksic <hniksic@@srce.hr> writes: +@email{hniksic@@srce.hr, Hrvoje Niksic} writes: @quotation Why not use a Perl one-liner for No. 2? @example -perl -pi -e 's/_h_errno\0/h_errno\0\0/g' /usr/local/bin/xemacs-19.14 +perl -pi -e 's/_h_errno\0/h_errno\0\0/g' \ +/usr/local/bin/xemacs-19.14 @end example NB: You @emph{must} patch @file{/usr/local/bin/xemacs-19.14}, and not @@ -1514,7 +1579,7 @@ a symbolic link. @end quotation -SL Baur <steve@@xemacs.org> writes: +@email{steve@@xemacs.org, SL Baur} writes: @quotation If you build against a recent libc-5.4 (late enough to have caused @@ -1533,10 +1598,14 @@ @end quotation @node Q2.0.9, Q2.0.10, Q2.0.8, Installation -@section Where do I find external libraries? +@unnumberedsubsec Q2.0.9: Where do I find external libraries? All external libraries used by XEmacs can be found at the XEmacs FTP -site <URL:ftp://ftp.xemacs.org/pub/aux/>. +site +@iftex +@* +@end iftex +@uref{ftp://ftp.xemacs.org/pub/aux/}. @c This list is a pain in the you-know-what to keep in synch with the @c world. @@ -1544,37 +1613,37 @@ @table @asis @item JPEG -<URL:ftp://ftp.uu.net/graphics/jpeg/>. Version 6a is current. +@uref{ftp://ftp.uu.net/graphics/jpeg/}. Version 6a is current. @item XPM -<URL:ftp://ftp.x.org/contrib/libraries/>. Version 3.4j is current. +@uref{ftp://ftp.x.org/contrib/libraries/}. Version 3.4j is current. Older versions of this package are known to cause XEmacs crashes. @item TIFF -<URL:ftp://ftp.sgi.com/graphics/tiff/>. v3.4 is current. The latest +@uref{ftp://ftp.sgi.com/graphics/tiff/}. v3.4 is current. The latest beta is v3.4b035. There is a HOWTO here. @item PNG -<URL:ftp://ftp.uu.net/graphics/png/>. 0.89c is current. XEmacs +@uref{ftp://ftp.uu.net/graphics/png/}. 0.89c is current. XEmacs requires a fairly recent version to avoid using temporary files. -<URL:ftp://swrinde.nde.swri.edu/pub/png/src/> +@uref{ftp://swrinde.nde.swri.edu/pub/png/src/} @item Compface -<URL:ftp://ftp.cs.indiana.edu/pub/faces/compface/>. This library has +@uref{ftp://ftp.cs.indiana.edu/pub/faces/compface/}. This library has been frozen for about 6 years, and is distributed without version numbers. @emph{It should be compiled with the same options that X11 was compiled with on your system}. The version of this library at XEmacs.org includes the @file{xbm2xface.pl} script, written by -stig@@hackvan.com, which may be useful when generating your own xface. +@email{stig@@hackvan.com}, which may be useful when generating your own xface. @item NAS -<URL:ftp://ftp.x.org/contrib/audio/nas/>. +@uref{ftp://ftp.x.org/contrib/audio/nas/}. Version 1.2p5 is current. There is a FAQ here. @end table @node Q2.0.10, Q2.0.11, Q2.0.9, Installation -@section After I run configure I find a core dump, is something wrong? +@unnumberedsubsec Q2.0.10: After I run configure I find a core dump, is something wrong? Not necessarily. If you have GNU sed 3.0 you should downgrade it to 2.05. From the @file{README} at prep.ai.mit.edu: @@ -1593,12 +1662,12 @@ core dump. @node Q2.0.11, Q2.0.12, Q2.0.10, Installation -@section XEmacs doesn't resolve hostnames. +@unnumberedsubsec Q2.0.11: XEmacs doesn't resolve hostnames. This is the result of a long-standing problem with SunOS and the fact that stock SunOS systems do not ship with DNS resolver code in libc. -Christopher Davis <ckd@@loiosh.kei.com> writes: +@email{ckd@@loiosh.kei.com, Christopher Davis} writes: @quotation That's correct [The SunOS 4.1.3 precompiled binaries don't do name @@ -1614,9 +1683,9 @@ @end quotation @node Q2.0.12, Q2.0.13, Q2.0.11, Installation -@section Why can't I strip XEmacs? - -Richard Cognot <cognot@@fronsac.ensg.u-nancy.fr> writes: +@unnumberedsubsec Q2.0.12: Why can't I strip XEmacs? + +@email{cognot@@fronsac.ensg.u-nancy.fr, Richard Cognot} writes: @quotation Because of the way XEmacs (and every other Emacsen, AFAIK) is built. The @@ -1638,7 +1707,7 @@ kits). @end quotation -Nat Makarevitch <nat@@nataa.fr.eu.org> writes: +@email{nat@@nataa.fr.eu.org, Nat Makarevitch} writes: @quotation Here is the trick: @@ -1660,23 +1729,27 @@ cp src/xemacs /usr/local/bin/xemacs @item -cp lib-src/DOC-19.16-XEmacs /usr/local/lib/xemacs-19.16/i586-unknown-linuxaout +cp lib-src/DOC-19.16-XEmacs +@iftex +\ @* +@end iftex +/usr/local/lib/xemacs-19.16/i586-unknown-linuxaout @end enumerate @end quotation @node Q2.0.13, Q2.0.14, Q2.0.12, Installation -@section Problems linking with Gcc on Solaris +@unnumberedsubsec Q2.0.13: Problems linking with Gcc on Solaris There are known difficulties linking with Gnu ld on Solaris. A typical error message might look like: @example -unexec(): dlopen(../dynodump/dynodump.so): ld.so.1: ./temacs: -fatal: relocation error: +unexec(): dlopen(../dynodump/dynodump.so): ld.so.1: ./temacs: +fatal: relocation error: symbol not found: main: referenced in ../dynodump/dynodump.so @end example -Martin Buchholz <martin@@xemacs.org> writes: +@email{martin@@xemacs.org, Martin Buchholz} writes: @quotation You need to specify @samp{-fno-gnu-linker} as part of your flags to pass @@ -1684,11 +1757,11 @@ @end quotation @node Q2.0.14, Q2.1.1, Q2.0.13, Installation -@section Make on HP/UX 9 fails after linking temacs +@unnumberedsubsec Q2.0.14: Make on HP/UX 9 fails after linking temacs Problem when building xemacs-19.16 on hpux 9: -Richard Cognot <cognot@@ensg.u-nancy.fr> writes: +@email{cognot@@ensg.u-nancy.fr, Richard Cognot} writes: @quotation make on hpux fails after linking temacs with a message: @@ -1704,7 +1777,8 @@ @node Q2.1.1, Q2.1.2, Q2.0.14, Installation -@section Help! XEmacs just crashed on me! +@unnumberedsec 2.1: Trouble Shooting +@unnumberedsubsec Q2.1.1: Help! XEmacs just crashed on me! First of all, don't panic. Whenever XEmacs crashes, it tries extremely hard to auto-save all of your files before dying. (The main time that @@ -1722,7 +1796,7 @@ come up with a reproducible way of doing this (or even if you have a pretty good memory of exactly what you were doing at the time), the maintainers would be very interested in knowing about it. Post a -message to comp.emacs.xemacs or send mail to <crashes@@xemacs.org>. +message to comp.emacs.xemacs or send mail to @email{crashes@@xemacs.org}. Please note that the @samp{crashes} address is exclusively for crash reports. @@ -1774,7 +1848,7 @@ @end enumerate @node Q2.1.2, Q2.1.3, Q2.1.1, Installation -@section Cryptic Minibuffer messages. +@unnumberedsubsec Q2.1.2: Cryptic Minibuffer messages. When I try to use some particular option of some particular package, I get a cryptic error in the minibuffer. @@ -1805,7 +1879,7 @@ command is bound to @kbd{C-h l} by default. @node Q2.1.3, Q2.1.4, Q2.1.2, Installation -@section Translation Table Syntax messages at Startup +@unnumberedsubsec Q2.1.3: Translation Table Syntax messages at Startup I get tons of translation table syntax error messages during startup. How do I get rid of them? @@ -1822,6 +1896,9 @@ set the environment variable @var{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 +@* +@end iftex @file{<xemacs_root_directory>/lib/xemacs-19.16/etc/XKeysymDB}. @item @@ -1833,7 +1910,7 @@ @end itemize @node Q2.1.4, Q2.1.5, Q2.1.3, Installation -@section Startup warnings about deducing proper fonts? +@unnumberedsubsec Q2.1.4: Startup warnings about deducing proper fonts? How can I avoid the startup warnings about deducing proper fonts? @@ -1860,7 +1937,7 @@ The buffer still exists; it just isn't in your face. @node Q2.1.5, Q2.1.6, Q2.1.4, Installation -@section XEmacs cannot connect to my X Terminal! +@unnumberedsubsec Q2.1.5: XEmacs cannot connect to my X Terminal! Help! I can not get XEmacs to display on my Envizex X-terminal! @@ -1868,7 +1945,7 @@ the host you are running XEmacs from. @node Q2.1.6, Q2.1.7, Q2.1.5, Installation -@section XEmacs just locked up my Linux X server! +@unnumberedsubsec Q2.1.6: XEmacs just locked up my Linux X server! There have been several reports of the X server locking up under Linux. In all reported cases removing speedo and scaled fonts from the font @@ -1878,7 +1955,7 @@ It is possible that using a font server may also solve the problem. @node Q2.1.7, Q2.1.8, Q2.1.6, Installation -@section HP Alt key as Meta. +@unnumberedsubsec Q2.1.7: HP Alt key as Meta. How can I make XEmacs recognize the Alt key of my HP workstation as a Meta key? @@ -1891,9 +1968,9 @@ @end example @node Q2.1.8, Q2.1.9, Q2.1.7, Installation -@section got (wrong-type-argument color-instance-p nil) - -Natalie Kershaw <nataliek@@rd.scitec.com.au> writes: +@unnumberedsubsec Q2.1.8: got (wrong-type-argument color-instance-p nil) + +@email{nataliek@@rd.scitec.com.au, Natalie Kershaw} writes: @quotation I am trying to run xemacs 19.13 under X11R4. Whenever I move the mouse I @@ -1901,11 +1978,13 @@ doesn't occur on X11R5. @lisp -Signalling: (error "got (wrong-type-argument color-instance-p nil) and I don't know why!") +Signalling: +(error "got (wrong-type-argument color-instance-p nil) +and I don't know why!") @end lisp @end quotation -dinos <map01kd@@gold.ac.uk> writes: +@email{map01kd@@gold.ac.uk, dinos} writes: @quotation I think this is due to undefined resources; You need to define color @@ -1932,15 +2011,15 @@ xemacs*pointerColor: black @end example -With the new colors installed the problem still occurs if the above +With the new colours installed the problem still occurs if the above resources are not defined. -If the new colors are not present then an additional error occurs on +If the new colours are not present then an additional error occurs on XEmacs startup, which says @samp{Color Red3} not defined. @end quotation @node Q2.1.9, Q2.1.10, Q2.1.8, Installation -@section XEmacs causes my OpenWindows 3.0 server to crash. +@unnumberedsubsec Q2.1.9: XEmacs causes my OpenWindows 3.0 server to crash. The OpenWindows 3.0 server is incredibly buggy. Your best bet is to replace it with one from the generic MIT X11 release. You might also @@ -1948,7 +2027,7 @@ pixmaps. @node Q2.1.10, Q2.1.11, Q2.1.9, Installation -@section Warnings from incorrect key modifiers. +@unnumberedsubsec Q2.1.10: Warnings from incorrect key modifiers. The following information comes from the @file{PROBLEMS} file that comes with XEmacs. @@ -1974,42 +2053,42 @@ @end example @node Q2.1.11, Q2.1.12, Q2.1.10, Installation -@section [This question intentionally left blank] +@unnumberedsubsec Q2.1.11: [This question intentionally left blank] Obsolete question, left blank to avoid renumbering. @node Q2.1.12, Q2.1.13, Q2.1.11, Installation -@section Problems with Regular Expressions on DEC OSF1. +@unnumberedsubsec Q2.1.12: Problems with Regular Expressions on DEC OSF1. I have xemacs 19.13 running on an alpha running OSF1 V3.2 148 and ispell would not run because it claimed the version number was incorrect although it was indeed OK. I traced the problem to the regular expression handler. -Douglas Kosovic <douglask@@dstc.edu.au> writes: +@email{douglask@@dstc.edu.au, Douglas Kosovic} writes: @quotation -Actually it's a DEC cc optimization bug that screws up the regexp +Actually it's a DEC cc optimisation bug that screws up the regexp handling in XEmacs. Rebuilding using the @samp{-migrate} switch for DEC cc (which uses a -different sort of optimization) works fine. +different sort of optimisation) works fine. @end quotation See @file{xemacs-19_13-dunix-3_2c.patch} at the following URL on how to build with the @samp{-migrate} flag: @example -<URL:http://www-digital.cern.ch/carney/emacs/emacs.html> +@uref{http://www-digital.cern.ch/carney/emacs/emacs.html} @end example NOTE: There have been a variety of other problems reported that are fixed in this fashion. @node Q2.1.13, Q2.1.14, Q2.1.12, Installation -@section HP/UX 10.10 and @code{create_process} failure. - -Dave Carrigan <Dave.Carrigan@@ipl.ca> writes: +@unnumberedsubsec Q2.1.13: HP/UX 10.10 and @code{create_process} failure. + +@email{Dave.Carrigan@@ipl.ca, Dave Carrigan} writes: @quotation With XEmacs 19.13 and HP/UX 10.10, anything that relies on the @@ -2017,7 +2096,7 @@ (shell-mode, compile, ange-ftp, to name a few). @end quotation -Phil Johnson <johnson@@dtc.hp.com> writes: +@email{johnson@@dtc.hp.com, Phil Johnson} writes: @quotation This is a problem specific to HP-UX 10.10. It only occurs when XEmacs @@ -2029,7 +2108,7 @@ if it's a kernel problem which crept into 10.10. @end quotation -Richard Cognot <cognot@@ensg.u-nancy.fr> writes: +@email{cognot@@ensg.u-nancy.fr, Richard Cognot} writes: @quotation I had a few problems with 10.10. Apparently, some of them were solved by @@ -2037,9 +2116,9 @@ @end quotation @node Q2.1.14, Q2.1.15, Q2.1.13, Installation -@section @kbd{C-g} doesn't work for me. Is it broken? - -Ben Wing <ben@@666.com> writes: +@unnumberedsubsec Q2.1.14: @kbd{C-g} doesn't work for me. Is it broken? + +@email{ben@@666.com, Ben Wing} writes: @quotation @kbd{C-g} does work for most people in most circumstances. If it @@ -2058,7 +2137,7 @@ buffer. If @kbd{C-g} doesn't interrupt, then you're seeing #2. @end quotation -Morten Welinder <terra@@diku.dk> writes: +@email{terra@@diku.dk, Morten Welinder} writes: @quotation On some (but @emph{not} all) machines a hung XEmacs can be revived by @@ -2070,7 +2149,7 @@ @end quotation @node Q2.1.15, Q2.1.16, Q2.1.14, Installation -@section How to Debug an XEmacs problem with a debugger +@unnumberedsubsec Q2.1.15: How to Debug an XEmacs problem with a debugger If XEmacs does crash on you, one of the most productive things you can do to help get the bug fixed is to poke around a bit with the debugger. @@ -2080,11 +2159,11 @@ @item First of all, if the crash is at all reproducible, consider very strongly recompiling your XEmacs with debugging symbols, with no -optimization, and with the configure options @samp{--debug=yes} and -@samp{--error-checking=all}. This will make your XEmacs run somewhat -slower but make it a lot more likely to catch the problem earlier -(closer to its source), and a lot easier to determine what's going on -with a debugger. +optimization, and with the configure options @samp{--debug=yes}, +@samp{--error-checking=all}, and @samp{--dynamic=no}. This will make +your XEmacs run somewhat slower but make it a lot more likely to catch +the problem earlier (closer to its source), and a lot easier to +determine what's going on with a debugger. @item If you're able to run XEmacs under a debugger and reproduce the crash @@ -2108,8 +2187,8 @@ Internally, you will probably see lots of variables that hold objects of type @code{Lisp_Object}. These are exactly what they appear to be, i.e. references to Lisp objects. Printing them out with the debugger -probably won't be too useful---you'll likely just see a number. To -decode them, do this: +probably won't be too useful---you'll just see a number. To decode +them, do this: @example call debug_print (OBJECT) @@ -2156,7 +2235,7 @@ running the XEmacs process under a debugger, the stack trace should be clean. -Curtiss <1CMC3466@@ibm.mtsac.edu> suggests upgrading to ld.so version 1.8 +@email{1CMC3466@@ibm.mtsac.edu, Curtiss} suggests upgrading to ld.so version 1.8 if dynamic linking and debugging is a problem on Linux. @item @@ -2172,7 +2251,7 @@ @item Your stack is getting trashed. Debugging this is hard; you have to do a -binary-search type of narrowing down where the crash occurs, until you +binary-search-type of narrowing down where the crash occurs, until you figure out exactly which line is causing the problem. Of course, this only works if the bug is highly reproducible. @@ -2189,27 +2268,67 @@ @item If you compiled 19.14 with @samp{--debug} (or by default in later versions), you will get a Lisp backtrace output when XEmacs crashes, so -you'll have something useful. +you'll have something useful. If you're in 19.13, you could try doing +@code{call debug_backtrace()}---sometimes this works even after a fatal +signal has been received. + @end enumerate -@item -If you compile with the newer gcc variants gcc-2.8 or egcs, you will -need gdb 4.17. At the time of writing, this has not yet been released. -Pre-releases are available at ftp://ftp.cygnus.com/private/gdb. - -@item -The above information on using @file{src/gdbinit} works for XEmacs-21.0 -and above. For older versions of XEmacs, there are different -@file{gdbinit} files provided in the @file{src} directory. Use the one -corresponding to the configure options used when building XEmacs. - @end itemize + + +Here's some more info about using gdbinit: + +Different version of @code{gdbinit} are provided for different +platforms. One of these should be installed as @file{.gdbinit} in your +home directory. If you're using XEmacs 19.14 or better, you should +install the default @code{gdbinit} in the @file{src/} directory if you +have GDB 4.14 or better. With GDB 4.13 or earlier, install +@file{gdbinit.pre-4.14}; however, this is noticeably harder to use. If +you're on a machine that uses a union type for Lisp_Objects (only the +DEC Alpha, I think), you'll have to use @code{gdbinit.union}, which is +of the pre-4.14 variety but should be easily upgradable. + +With XEmacs 19.13 and earlier, only one @code{gdbinit} is provided (I +think); it's of the pre-4.14 variety and of the union-type +variety. (Many more machines used the union type under 19.13). + +With the GDB 4.14+ gdbinit, you can print out a Lisp_Object using +@code{p1 OBJECT} (which calls @code{debug_print()}, and hence only works +if you have a running process) or @code{frob OBJECT} (which works even +on core dumps, and does its own decoding of the object, but its output +isn't always so convenient). + +With the pre-GDB 4.14 gdbinit, you have to do these steps: + +@example +print OBJECT +xtype +<then type "xcons" or "xstring" or +whatever, depending on the type> +@end example + +If the object is a record type, you'll probably have to the following +steps: + +@example +print OBJECT +xtype +xrecord +<remember what type is printed> +print OBJECT +<then type "xbuffer" or "xsymbol" or whatever> +@end example + +Of course, if you know in advance what type the object is of, you can +omit all but the last two steps. + @node Q2.1.16, Q2.1.17, Q2.1.15, Installation -@section XEmacs crashes in @code{strcat} on HP/UX 10 +@unnumberedsubsec Q2.1.16: XEmacs crashes in @code{strcat} on HP/UX 10 >From the problems database (through -<URL:http://support.mayfield.hp.com/>): +@uref{http://support.mayfield.hp.com/}): @example Problem Report: 5003302299 @@ -2219,8 +2338,8 @@ Product Name: HPUX S800 10.0X Product Vers: 9245XB.10.00 -Description: strcat(3C) may read beyond end of source string, can cause -SIGSEGV +Description: strcat(3C) may read beyond +end of source string, can cause SIGSEGV *** PROBLEM TEXT *** @@ -2229,7 +2348,7 @@ @end example @node Q2.1.17, Q2.1.18, Q2.1.16, Installation -@section @samp{Marker does not point anywhere} +@unnumberedsubsec Q2.1.17: @samp{Marker does not point anywhere} As with other errors, set @code{debug-on-error} to @code{t} to get the backtrace when the error occurs. Specifically, two problems have been @@ -2247,9 +2366,9 @@ @end enumerate @node Q2.1.18, Q2.1.19, Q2.1.17, Installation -@section 19.14 hangs on HP/UX 10.10. - -Richard Cognot <cognot@@ensg.u-nancy.fr> writes: +@unnumberedsubsec Q2.1.18: 19.14 hangs on HP/UX 10.10. + +@email{cognot@@ensg.u-nancy.fr, Richard Cognot} writes: @quotation For the record, compiling on hpux 10.10 leads to a hang in Gnus when @@ -2266,10 +2385,14 @@ works as expected. @end quotation -Richard Cognot <cognot@@ensg.u-nancy.fr> adds: +@email{cognot@@ensg.u-nancy.fr, Richard Cognot} adds: @quotation -Apparently somebody has found the reason why there is this @samp{poll: +Apparently somebody has found the reason why there is this +@iftex +@* +@end iftex +@samp{poll: interrupted...} message for each event. For some reason, libcurses reimplements a @code{select()} system call, in a highly broken fashion. The fix is to add a -lc to the link line @emph{before} the @@ -2277,7 +2400,7 @@ @end quotation -Alain Fauconnet <af@@biomath.jussieu.fr> writes: +@email{af@@biomath.jussieu.fr, Alain Fauconnet} writes: @quotation The @emph{real} solution is to @emph{not} link -lcurses in! I just @@ -2297,7 +2420,7 @@ @end quotation @node Q2.1.19, Q2.1.20, Q2.1.18, Installation -@section XEmacs does not follow the local timezone. +@unnumberedsubsec Q2.1.19: XEmacs does not follow the local timezone. When using one of the prebuilt binaries many users have observed that XEmacs uses the timezone under which it was built, but not the timezone @@ -2311,7 +2434,7 @@ Replace @code{MET} with your local timezone. @node Q2.1.20, Q2.1.21, Q2.1.19, Installation -@section @samp{Symbol's function definition is void: hkey-help-show.} +@unnumberedsubsec Q2.1.20: @samp{Symbol's function definition is void: hkey-help-show.} This is a problem with a partially loaded hyperbole. Try adding: @@ -2322,15 +2445,15 @@ where you load hyperbole and the problem should go away. @node Q2.1.21, Q2.1.22, Q2.1.20, Installation -@section Every so often the XEmacs frame freezes +@unnumberedsubsec Q2.1.21: Every so often the XEmacs frame freezes This problem has been fixed in 19.15, and was due to a not easily reproducible race condition. @node Q2.1.22, Q2.1.23, Q2.1.21, Installation -@section XEmacs seems to take a really long time to do some things - -David Moore <dmoore@@ucsd.edu> writes: +@unnumberedsubsec Q2.1.22: XEmacs seems to take a really long time to do some things + +@email{dmoore@@ucsd.edu, David Moore} writes: @quotation Two things you can do: @@ -2363,12 +2486,12 @@ @end quotation @node Q2.1.23, , Q2.1.22, Installation -@section Movemail on Linux does not work for XEmacs 19.15 and later. +@unnumberedsubsec Q2.1.23: Movemail on Linux does not work for XEmacs 19.15 and later. Movemail used to work fine in 19.14 but has stopped working in 19.15 and 20.x. I am using Linux. -SL Baur <steve@@xemacs.org> writes: +@email{steve@@xemacs.org, SL Baur} writes: @quotation Movemail on Linux used to default to using flock file locking. With @@ -2382,20 +2505,20 @@ @end quotation @node Customization, Subsystems, Installation, Top -@chapter Customization and Options +@unnumbered 3 Customization and Options This is part 3 of the XEmacs Frequently Asked Questions list. This section is devoted to Customization and screen settings. @menu Customization---Emacs Lisp and @file{.emacs}: -* Q3.0.1:: What version of Emacs am I running? +* Q3.0.1:: What version of Emacs am I running? * Q3.0.2:: How do I evaluate Elisp expressions? * Q3.0.3:: @code{(setq tab-width 6)} behaves oddly. * Q3.0.4:: How can I add directories to the @code{load-path}? * Q3.0.5:: How to check if a lisp function is defined? * Q3.0.6:: Can I force the output of @code{(face-list)} to a buffer? -* Q3.0.7:: Font selections don't get saved after @code{Save Options}. +* Q3.0.7:: Font selections don't get saved after @code{Save Options}. * Q3.0.8:: How do I make a single minibuffer frame? * Q3.0.9:: What is @code{Customize}? @@ -2407,13 +2530,13 @@ * Q3.1.5:: How can I get the icon to just say @samp{XEmacs}? * Q3.1.6:: How can I have the window title area display the full path? * Q3.1.7:: @samp{xemacs -name junk} doesn't work? -* Q3.1.8:: @samp{-iconic} doesn't work. +* Q3.1.8:: @samp{-iconic} it doesn't work. Textual Fonts & Colors: * Q3.2.1:: How can I set color options from @file{.emacs}? * Q3.2.2:: How do I set the text, menu and modeline fonts? * Q3.2.3:: How can I set the colors when highlighting a region? -* Q3.2.4:: How can I limit color map usage? +* Q3.2.4:: How can I limit color map usage? * Q3.2.5:: My tty supports color, but XEmacs doesn't use them. The Modeline: @@ -2424,7 +2547,7 @@ * Q3.3.5:: How can one change the modeline color based on the mode used? 3.4 Multiple Device Support: -* Q3.4.1:: How do I open a frame on another screen of my multi-headed display? +* Q3.4.1:: How do I open a frame on another screen of my multi-headed display? * Q3.4.2:: Can I really connect to a running XEmacs after calling up over a modem? How? 3.5 The Keyboard: @@ -2433,7 +2556,7 @@ * Q3.5.3:: How do I bind C-. and C-; to scroll one line up and down? * Q3.5.4:: Globally binding @kbd{Delete}? * Q3.5.5:: Scrolling one line at a time. -* Q3.5.6:: How to map @kbd{Help} key alone on Sun type4 keyboard? +* Q3.5.6:: How to map @kbd{Help} key alone on Sun type4 keyboard? * Q3.5.7:: How can you type in special characters in XEmacs? * Q3.5.8:: Why does @code{(global-set-key [delete-forward] 'delete-char)} complain? * Q3.5.9:: How do I make the Delete key delete forward? @@ -2468,7 +2591,7 @@ * Q3.9.4:: How can I get automatic horizontal scrolling? Text Selections: -* Q3.10.1:: How can I turn off or change highlighted selections? +* Q3.10.1:: How can I turn off or change highlighted selections? * Q3.10.2:: How do I get that typing on an active region removes it? * Q3.10.3:: Can I turn off the highlight during isearch? * Q3.10.4:: How do I turn off highlighting after @kbd{C-x C-p} (mark-page)? @@ -2476,7 +2599,8 @@ @end menu @node Q3.0.1, Q3.0.2, Customization, Customization -@section What version of Emacs am I running? +@unnumberedsec 3.0: Customization -- Emacs Lisp and .emacs +@unnumberedsubsec Q3.0.1: What version of Emacs am I running? How can @file{.emacs} determine which of the family of Emacsen I am using? @@ -2493,7 +2617,7 @@ @end lisp @node Q3.0.2, Q3.0.3, Q3.0.1, Customization -@section How can I evaluate Emacs-Lisp expressions? +@unnumberedsubsec Q3.0.2: How can I evaluate Emacs-Lisp expressions? I know I can evaluate Elisp expressions from @code{*scratch*} buffer with @kbd{C-j} after the expression. How do I do it from another @@ -2505,7 +2629,7 @@ this is the case, upgrade your XEmacs. @node Q3.0.3, Q3.0.4, Q3.0.2, Customization -@section @code{(setq tab-width 6)} behaves oddly. +@unnumberedsubsec Q3.0.3: @code{(setq tab-width 6)} behaves oddly. If you put @code{(setq tab-width 6)} in your @file{.emacs} file it does not work! Is there a reason for this? If you do it at the EVAL prompt @@ -2515,7 +2639,7 @@ all-buffer-local. @node Q3.0.4, Q3.0.5, Q3.0.3, Customization -@section How can I add directories to the @code{load-path}? +@unnumberedsubsec Q3.0.4: How can I add directories to the @code{load-path}? Here are two ways to do that, one that puts your directories at the front of the load-path, the other at the end: @@ -2531,7 +2655,7 @@ (setq load-path (nconc load-path '("foo" "bar"))) @end lisp -keith (k.p.) hanlan <keithh@@nortel.ca> writes: +@email{keithh@@nortel.ca, keith (k.p.) hanlan} writes: @quotation To add directories using Unix shell metacharacters use @@ -2543,7 +2667,7 @@ @end quotation @node Q3.0.5, Q3.0.6, Q3.0.4, Customization -@section How to check if a lisp function is defined? +@unnumberedsubsec Q3.0.5: How to check if a lisp function is defined? Use the following elisp: @@ -2555,12 +2679,12 @@ variables. Instead, use feature-tests, such as @code{featurep}, @code{boundp}, -@code{fboundp}, or even simple behavioral tests, eg.: +@code{fboundp}, or even simple behavioural tests, eg.: @lisp -(defvar foo-old-losing-code-p +(defvar foo-old-losing-code-p (condition-case nil (progn (losing-code t) nil) - (wrong-number-of-arguments t))) + (wrong-number-of-arguments t))) @end lisp There is an incredible amount of broken code out there which could work @@ -2568,7 +2692,7 @@ trying to divine its environment from the value of one variable. @node Q3.0.6, Q3.0.7, Q3.0.5, Customization -@section Can I force the output of @code{(face-list)} to a buffer? +@unnumberedsubsec Q3.0.6: Can I force the output of @code{(face-list)} to a buffer? It would be good having it in a buffer, as the output of @code{(face-list)} is too wide to fit to a minibuffer. @@ -2581,11 +2705,11 @@ buffer. @node Q3.0.7, Q3.0.8, Q3.0.6, Customization -@section Font selections in don't get saved after @code{Save Options}. +@unnumberedsubsec Q3.0.7: Font selections in don't get saved after @code{Save Options}. For XEmacs 19.14 and previous: -John Mann <mannj@@ll.mit.edu> writes: +@email{mannj@@ll.mit.edu, John Mann} writes: @quotation You have to go to Options->Menubar Appearance and unselect @@ -2596,31 +2720,31 @@ For XEmacs 19.15 and later: -Implement the above as well as set the following in your @file{.emacs} +Implement the above as well as set the following in your @file{.emacs} @lisp (setq options-save-faces t) @end lisp @node Q3.0.8, Q3.0.9, Q3.0.7, Customization -@section How do I get a single minibuffer frame? - -Vin Shelton <acs@@acm.org> writes: +@unnumberedsubsec Q3.0.8: How do I get a single minibuffer frame? + +@email{acs@@acm.org, Vin Shelton} writes: @lisp (setq initial-frame-plist '(minibuffer nil)) (setq default-frame-plist '(minibuffer nil)) (setq default-minibuffer-frame (make-frame - '(minibuffer only - width 86 - height 1 - menubar-visible-p nil - default-toolbar-visible-p nil - name "minibuffer" - top -2 - left -2 - has-modeline-p nil))) + '(minibuffer only + width 86 + height 1 + menubar-visible-p nil + default-toolbar-visible-p nil + name "minibuffer" + top -2 + left -2 + has-modeline-p nil))) (frame-notice-user-settings) @end lisp @@ -2629,7 +2753,7 @@ make it difficult or inconvenient to use. @node Q3.0.9, Q3.1.1, Q3.0.8, Customization -@section What is @code{Customize}? +@unnumberedsubsec Q3.0.9: What is @code{Customize}? Starting with XEmacs 20.2 there is new system 'Customize' for customizing XEmacs options. @@ -2643,7 +2767,8 @@ Try it out with @kbd{M-x customize-browse} @node Q3.1.1, Q3.1.2, Q3.0.9, Customization -@section Where is a list of X resources? +@unnumberedsec 3.1: X Window System & Resources +@unnumberedsubsec Q3.1.1: Where is a list of X resources? Search through the @file{NEWS} file for @samp{X Resources}. A fairly comprehensive list is given after it. @@ -2657,7 +2782,7 @@ you use GNU Emacs under X11 as well. @node Q3.1.2, Q3.1.3, Q3.1.1, Customization -@section How can I detect a color display? +@unnumberedsubsec Q3.1.2: How can I detect a color display? You can test the return value of the function @code{(device-class)}, as in: @@ -2671,11 +2796,15 @@ @end lisp @node Q3.1.3, Q3.1.4, Q3.1.2, Customization -@section @code{(set-screen-width)} worked in 19.6, but not in 19.13? +@unnumberedsubsec Q3.1.3: @code{(set-screen-width)} worked in 19.6, but not in 19.13? In Lucid Emacs 19.6 I did @code{(set-screen-width @var{characters})} and @code{(set-screen-height @var{lines})} in my @file{.emacs} instead of -specifying @code{Emacs*EmacsScreen.geometry} in my @file{.Xdefaults} but +specifying @code{Emacs*EmacsScreen.geometry} in my +@iftex +@* +@end iftex +@file{.Xdefaults} but this does not work in XEmacs 19.13. These two functions now take frame arguments: @@ -2686,7 +2815,7 @@ @end lisp @node Q3.1.4, Q3.1.5, Q3.1.3, Customization -@section Specifying @code{Emacs*EmacsScreen.geometry} in @file{.emacs} does not work in 19.15? +@unnumberedsubsec Q3.1.4: Specifying @code{Emacs*EmacsScreen.geometry} in @file{.emacs} does not work in 19.15? In XEmacs 19.11 I specified @code{Emacs*EmacsScreen.geometry} in my @file{.emacs} but this does not work in XEmacs 19.15. @@ -2701,7 +2830,7 @@ @end example @node Q3.1.5, Q3.1.6, Q3.1.4, Customization -@section How can I get the icon to just say @samp{XEmacs}? +@unnumberedsubsec Q3.1.5: How can I get the icon to just say @samp{XEmacs}? I'd like the icon to just say @samp{XEmacs}, and not include the name of the current file in it. @@ -2713,7 +2842,7 @@ @end lisp @node Q3.1.6, Q3.1.7, Q3.1.5, Customization -@section How can I have the window title area display the full path? +@unnumberedsubsec Q3.1.6: How can I have the window title area display the full path? I'd like to have the window title area display the full directory/name of the current buffer file and not just the name. @@ -2728,13 +2857,14 @@ @lisp (setq frame-title-format - '("%S: " (buffer-file-name "%f" (dired-directory dired-directory "%b")))) + '("%S: " (buffer-file-name "%f" + (dired-directory dired-directory "%b")))) @end lisp That is, use the file name, or the dired-directory, or the buffer name. @node Q3.1.7, Q3.1.8, Q3.1.6, Customization -@section @samp{xemacs -name junk} doesn't work? +@unnumberedsubsec Q3.1.7: @samp{xemacs -name junk} doesn't work? When I run @samp{xterm -name junk}, I get an xterm whose class name according to xprop, is @samp{junk}. This is the way it's supposed to @@ -2785,13 +2915,13 @@ @end lisp @node Q3.1.8, Q3.2.1, Q3.1.7, Customization -@section @samp{-iconic} doesn't work. +@unnumberedsubsec Q3.1.8: @samp{-iconic} doesn't work. When I start up XEmacs using @samp{-iconic} it doesn't work right. Using @samp{-unmapped} on the command line, and setting the @code{initiallyUnmapped} X Resource don't seem to help much either... -Ben Wing <ben@@666.com> writes: +@email{ben@@666.com, Ben Wing} writes: @quotation Ugh, this stuff is such an incredible mess that I've about given up @@ -2800,7 +2930,8 @@ @end quotation @node Q3.2.1, Q3.2.2, Q3.1.8, Customization -@section How can I set color options from @file{.emacs}? +@unnumberedsec 3.2: Textual Fonts & Colors +@unnumberedsubsec Q3.2.1: How can I set color options from @file{.emacs}? How can I set the most commonly used color options from my @file{.emacs} instead of from my @file{.Xdefaults}? @@ -2808,28 +2939,31 @@ Like this: @lisp -(set-face-background 'default "bisque") ; frame background -(set-face-foreground 'default "black") ; normal text -(set-face-background 'zmacs-region "red") ; When selecting w/ - ; mouse +(set-face-background 'default "bisque") ; frame background +(set-face-foreground 'default "black") ; normal text +(set-face-background 'zmacs-region "red") ; When selecting w/ + ; mouse (set-face-foreground 'zmacs-region "yellow") (set-face-font 'default "*courier-bold-r*120-100-100*") -(set-face-background 'highlight "blue") ; Ie when selecting buffers +(set-face-background 'highlight "blue") ; Ie when selecting + ; buffers (set-face-foreground 'highlight "yellow") -(set-face-background 'modeline "blue") ; Line at bottom of buffer +(set-face-background 'modeline "blue") ; Line at bottom + ; of buffer (set-face-foreground 'modeline "white") (set-face-font 'modeline "*bold-r-normal*140-100-100*") -(set-face-background 'isearch "yellow") ; When highlighting while - ; searching +(set-face-background 'isearch "yellow") ; When highlighting + ; while searching (set-face-foreground 'isearch "red") -(setq x-pointer-foreground-color "black") ; Adds to bg color, - ; so keep black -(setq x-pointer-background-color "blue") ; This is color you really - ; want ptr/crsr +(setq x-pointer-foreground-color "black") ; Adds to bg color, + ; so keep black +(setq x-pointer-background-color "blue") ; This is color + ; you really + ; want ptr/crsr @end lisp @node Q3.2.2, Q3.2.3, Q3.2.1, Customization -@section How do I set the text, menu and modeline fonts? +@unnumberedsubsec Q3.2.2: How do I set the text, menu and modeline fonts? Note that you should use @samp{Emacs.} and not @samp{Emacs*} when setting face values. @@ -2837,7 +2971,7 @@ In @file{.Xdefaults}: @example -Emacs.default.attributeFont: -*-*-medium-r-*-*-*-120-*-*-m-*-*-* +Emacs.default.attributeFont: -*-*-medium-r-*-*-*-120-*-*-m-*-*-* Emacs*menubar*font: fixed Emacs.modeline.attributeFont: fixed @end example @@ -2850,7 +2984,7 @@ instead of @code{font}. @node Q3.2.3, Q3.2.4, Q3.2.2, Customization -@section How can I set the colors when highlighting a region? +@unnumberedsubsec Q3.2.3: How can I set the colors when highlighting a region? How can I set the background/foreground colors when highlighting a region? @@ -2866,12 +3000,12 @@ or in your @file{.emacs}: @lisp -(set-face-background 'zmacs-region "red") +(set-face-background 'zmacs-region "red") (set-face-foreground 'zmacs-region "yellow") @end lisp @node Q3.2.4, Q3.2.5, Q3.2.3, Customization -@section How can I limit color map usage? +@unnumberedsubsec Q3.2.4: How can I limit color map usage? I'm using Netscape (or another color grabber like XEmacs); is there anyway to limit the number of available colors in the color map? @@ -2891,7 +3025,7 @@ the colormap is full, so it's O.K. now to start Netscape first. @node Q3.2.5, Q3.3.1, Q3.2.4, Customization -@section My tty supports color, but XEmacs doesn't use them. +@unnumberedsubsec Q3.2.5: My tty supports color, but XEmacs doesn't use them. XEmacs tries to automatically determine whether your tty supports color, but sometimes guesses wrong. In that case, you can make XEmacs Do The @@ -2903,7 +3037,7 @@ @end lisp @node Q3.3.1, Q3.3.2, Q3.2.5, Customization -@section How can I make the modeline go away? +@unnumberedsubsec Q3.3.1: How can I make the modeline go away? @lisp (set-specifier has-modeline-p nil) @@ -2914,7 +3048,7 @@ try the new version out. @node Q3.3.2, Q3.3.3, Q3.3.1, Customization -@section How do you have XEmacs display the line number in the modeline? +@unnumberedsubsec Q3.3.2: How do you have XEmacs display the line number in the modeline? Add the following line to your @file{.emacs} file to display the line number: @@ -2930,14 +3064,20 @@ @end lisp Or select from the @code{Options} menu - @code{Customize->Emacs->Editing->Basics->Line Number Mode} +@iftex +@* +@end iftex +@code{Customize->Emacs->Editing->Basics->Line Number Mode} and/or - @code{Customize->Emacs->Editing->Basics->Column Number Mode} +@iftex +@* +@end iftex +@code{Customize->Emacs->Editing->Basics->Column Number Mode} Or type @kbd{M-x customize RET editing-basics RET}. @node Q3.3.3, Q3.3.4, Q3.3.2, Customization -@section How do I get XEmacs to put the time of day on the modeline? +@unnumberedsubsec Q3.3.3: How do I get XEmacs to put the time of day on the modeline? Add the following line to your @file{.emacs} file to display the time: @@ -2949,7 +3089,7 @@ See @code{Customize} from the @code{Options} menu for customization. @node Q3.3.4, Q3.3.5, Q3.3.3, Customization -@section How do I turn off current chapter from AUC TeX modeline? +@unnumberedsubsec Q3.3.4: How do I turn off current chapter from AUC TeX modeline? With AUC TeX, fast typing is hard because the current chapter, section etc. are given in the modeline. How can I turn this off? @@ -2965,10 +3105,11 @@ mode: @lisp -(add-hook 'TeX-mode-hook '(lambda () (setq fume-display-in-modeline-p nil))) +(add-hook 'TeX-mode-hook + '(lambda () (setq fume-display-in-modeline-p nil))) @end lisp -David Hughes <dhughes@@origin-at.co.uk> writes: +@email{dhughes@@origin-at.co.uk, David Hughes} writes: @quotation If you have 19.14 or later, try this instead; you'll still get the @@ -2983,12 +3124,12 @@ @end quotation @node Q3.3.5, Q3.4.1, Q3.3.4, Customization -@section How can one change the modeline color based on the mode used? +@unnumberedsubsec Q3.3.5: How can one change the modeline color based on the mode used? You can use something like the following: @lisp -(add-hook 'lisp-mode-hook +(add-hook 'lisp-mode-hook (lambda () (set-face-background 'modeline "red" (current-buffer)))) @end lisp @@ -3026,7 +3167,8 @@ @code{modeline-mousable-minor-mode}, which you may want to customize. @node Q3.4.1, Q3.4.2, Q3.3.5, Customization -@section How do I open a frame on another screen of my multi-headed display? +@unnumberedsec 3.4: Multiple Device Support +@unnumberedsubsec Q3.4.1: How do I open a frame on another screen of my multi-headed display? The support for this was revamped for 19.14. Use the command @kbd{M-x make-frame-on-display}. This command is also on the File menu @@ -3037,7 +3179,7 @@ TTY devices should be left to @code{gnuclient}, though. @node Q3.4.2, Q3.5.1, Q3.4.1, Customization -@section Can I really connect to a running XEmacs after calling up over a modem? How? +@unnumberedsubsec Q3.4.2: Can I really connect to a running XEmacs after calling up over a modem? How? If you're not running at least XEmacs 19.14, you can't. Otherwise check out the @code{gnuattach} program supplied with XEmacs. Starting with @@ -3047,7 +3189,8 @@ Also @xref{Q5.0.12}. @node Q3.5.1, Q3.5.2, Q3.4.2, Customization -@section How can I bind complex functions (or macros) to keys? +@unnumberedsec 3.5: The Keyboard +@unnumberedsubsec Q3.5.1: How can I bind complex functions (or macros) to keys? As an example, say you want the @kbd{paste} key on a Sun keyboard to insert the current Primary X selection at point. You can accomplish this @@ -3066,7 +3209,7 @@ @lisp (global-set-key [f18] - (lambda () (interactive) (x-insert-selection t nil))) + (lambda () (interactive) (x-insert-selection t nil))) @end lisp This binds the f18 key to a @dfn{generic} functional object. The @@ -3077,9 +3220,9 @@ @lisp (global-set-key [(control ?.)] - (lambda () (interactive) (scroll-up 1))) -(global-set-key [(control ?;)] - (lambda () (interactive) (scroll-up -1))) + (lambda () (interactive) (scroll-up 1))) +(global-set-key [(control ? ;)] + (lambda () (interactive) (scroll-up -1))) @end lisp This is fine if you only need a few functions within the lambda body. @@ -3087,7 +3230,7 @@ question 3.5.3 (@xref{Q3.5.3}). @node Q3.5.2, Q3.5.3, Q3.5.1, Customization -@section How can I stop down-arrow from adding empty lines to the bottom of my buffers? +@unnumberedsubsec Q3.5.2: How can I stop down-arrow from adding empty lines to the bottom of my buffers? Add the following line to your @file{.emacs} file: @@ -3098,10 +3241,10 @@ This has been the default setting in XEmacs for some time. @node Q3.5.3, Q3.5.4, Q3.5.2, Customization -@section How do I bind C-. and C-; to scroll one line up and down? - -Add the following (Thanks to Richard Mlynarik <mly@@adoc.xerox.com> and -Wayne Newberry <wayne@@zen.cac.stratus.com>) to @file{.emacs}: +@unnumberedsubsec Q3.5.3: How do I bind C-. and C-; to scroll one line up and down? + +Add the following (Thanks to @email{mly@@adoc.xerox.com, Richard Mlynarik} and +@email{wayne@@zen.cac.stratus.com, Wayne Newberry}) to @file{.emacs}: @lisp (defun scroll-up-one-line () @@ -3112,8 +3255,8 @@ (interactive) (scroll-down 1)) -(global-set-key [(control ?.)] 'scroll-up-one-line) ; C-. -(global-set-key [(control ?;)] 'scroll-down-one-line) ; C-; +(global-set-key [(control ?.)] 'scroll-up-one-line) ; C-. +(global-set-key [(control ? ;)] 'scroll-down-one-line) ; C-; @end lisp The key point is that you can only bind simple functions to keys; you @@ -3121,7 +3264,7 @@ (@xref{Q3.5.1} for a better answer). @node Q3.5.4, Q3.5.5, Q3.5.3, Customization -@section Globally binding @kbd{Delete}? +@unnumberedsubsec Q3.5.4: Globally binding @kbd{Delete}? I cannot manage to globally bind my @kbd{Delete} key to something other than the default. How does one do this? @@ -3146,7 +3289,7 @@ Also @xref{Q3.5.10}. @node Q3.5.5, Q3.5.6, Q3.5.4, Customization -@section Scrolling one line at a time. +@unnumberedsubsec Q3.5.5: Scrolling one line at a time. Can the cursor keys scroll the screen a line at a time, rather than the default half page jump? I tend it to find it disorienting. @@ -3181,18 +3324,18 @@ @kbd{M-x customize RET windows RET}. @node Q3.5.6, Q3.5.7, Q3.5.5, Customization -@section How to map @kbd{Help} key alone on Sun type4 keyboard? +@unnumberedsubsec Q3.5.6: How to map @kbd{Help} key alone on Sun type4 keyboard? The following works in GNU Emacs 19: @lisp -(global-set-key [help] 'help-command) ;; Help +(global-set-key [help] 'help-command);; Help @end lisp The following works in XEmacs 19.15 with the addition of shift: @lisp -(global-set-key [(shift help)] 'help-command) ;; Help +(global-set-key [(shift help)] 'help-command);; Help @end lisp But it doesn't work alone. This is in the file @file{PROBLEMS} which @@ -3200,14 +3343,18 @@ @kbd{help} key when running OLWM}. OLWM grabs the @kbd{help} key, and retransmits it to the appropriate -client using @code{XSendEvent}. Allowing Emacs to react to synthetic +client using +@iftex +@* +@end iftex +@code{XSendEvent}. Allowing Emacs to react to synthetic events is a security hole, so this is turned off by default. You can enable it by setting the variable @code{x-allow-sendevents} to t. You can also cause fix this by telling OLWM to not grab the help key, with the null binding @code{OpenWindows.KeyboardCommand.Help:}. @node Q3.5.7, Q3.5.8, Q3.5.6, Customization -@section How can you type in special characters in XEmacs? +@unnumberedsubsec Q3.5.7: How can you type in special characters in XEmacs? One way is to use the package @code{x-compose}. Then you can use sequences like @kbd{Compose " a} to get ä, etc. @@ -3217,7 +3364,7 @@ ä, etc. @node Q3.5.8, Q3.5.9, Q3.5.7, Customization -@section Why does @code{(global-set-key [delete-forward] 'delete-char)} complain? +@unnumberedsubsec Q3.5.8: Why does @code{(global-set-key [delete-forward] 'delete-char)} complain? Why does @code{(define-key global-map [ delete-forward ] 'delete-char)} complain of not being able to bind an unknown key? @@ -3241,7 +3388,7 @@ This bug has been fixed in 19.14. @node Q3.5.9, Q3.5.10, Q3.5.8, Customization -@section How do I make the Delete key delete forward? +@unnumberedsubsec Q3.5.9: How do I make the Delete key delete forward? With XEmacs-20.2 use the @code{delbs} package: @@ -3262,14 +3409,14 @@ Also @xref{Q3.5.4}. @node Q3.5.10, Q3.6.1, Q3.5.9, Customization -@section Can I turn on @dfn{sticky} modifier keys? +@unnumberedsubsec Q3.5.10: Can I turn on @dfn{sticky} modifier keys? Yes, with @code{(setq modifier-keys-are-sticky t)}. This will give the effect of being able to press and release Shift and have the next character typed come out in upper case. This will affect all the other modifier keys like Control and Meta as well. -Ben Wing <ben@@666.com> writes: +@email{ben@@666.com, Ben Wing} writes: @quotation One thing about the sticky modifiers is that if you move the mouse out @@ -3277,7 +3424,8 @@ @end quotation @node Q3.6.1, Q3.6.2, Q3.5.10, Customization -@section Is there a way to make the bar cursor thicker? +@unnumberedsec 3.6: The Cursor +@unnumberedsubsec Q3.6.1: Is there a way to make the bar cursor thicker? I'd like to have the bar cursor a little thicker, as I tend to "lose" it often. @@ -3306,7 +3454,7 @@ @end example @node Q3.6.2, Q3.6.3, Q3.6.1, Customization -@section Is there a way to get back the block cursor? +@unnumberedsubsec Q3.6.2: Is there a way to get back the block cursor? @lisp (setq bar-cursor nil) @@ -3318,7 +3466,7 @@ @kbd{M-x customize RET display RET}. @node Q3.6.3, Q3.7.1, Q3.6.2, Customization -@section Can I make the cursor blink? +@unnumberedsubsec Q3.6.3: Can I make the cursor blink? If you are running a version of XEmacs older than 19.14, no. Otherwise you can do the following: @@ -3332,7 +3480,8 @@ => Frame Appearance => Blinking Cursor}. Remember to save options. @node Q3.7.1, Q3.7.2, Q3.6.3, Customization -@section How can I turn off Mouse pasting? +@unnumberedsec 3.7: The Mouse and Highlighting +@unnumberedsubsec Q3.7.1: How can I turn off Mouse pasting? I keep hitting the middle mouse button by accident and getting stuff pasted into my buffer so how can I turn this off? @@ -3352,7 +3501,7 @@ @end lisp @node Q3.7.2, Q3.7.3, Q3.7.1, Customization -@section How do I set control/meta/etc modifiers on mouse buttons? +@unnumberedsubsec Q3.7.2: How do I set control/meta/etc modifiers on mouse buttons? Use, for instance, @code{[(meta button1)]}. For example, here is a common setting for Common Lisp programmers who use the bundled @code{ilisp} @@ -3368,7 +3517,7 @@ @end lisp @node Q3.7.3, Q3.7.4, Q3.7.2, Customization -@section Clicking the left button does not do anything in buffer list. +@unnumberedsubsec Q3.7.3: Clicking the left button does not do anything in buffer list. I do @kbd{C-x C-b} to get a list of buffers and the entries get highlighted when I move the mouse over them but clicking the left mouse @@ -3377,7 +3526,7 @@ Use the middle mouse button. @node Q3.7.4, Q3.7.5, Q3.7.3, Customization -@section How can I get a list of buffers when I hit mouse button 3? +@unnumberedsubsec Q3.7.4: How can I get a list of buffers when I hit mouse button 3? The following code will replace the default popup on button3: @@ -3386,7 +3535,7 @@ @end lisp @node Q3.7.5, Q3.7.6, Q3.7.4, Customization -@section Why does cut-and-paste not work between XEmacs and a cmdtool? +@unnumberedsubsec Q3.7.5: Why does cut-and-paste not work between XEmacs and a cmdtool? We don't know. It's a bug. There does seem to be a work-around, however. Try running xclipboard first. It appears to fix the problem @@ -3394,7 +3543,7 @@ haven't yet verified that). @node Q3.7.6, Q3.7.7, Q3.7.5, Customization -@section How I can set XEmacs up so that it pastes where the text cursor is? +@unnumberedsubsec Q3.7.6: How I can set XEmacs up so that it pastes where the text cursor is? By default XEmacs pastes X selections where the mouse pointer is. How do I disable this? @@ -3414,7 +3563,7 @@ @kbd{M-x customize RET mouse RET}. @node Q3.7.7, Q3.7.8, Q3.7.6, Customization -@section How do I select a rectangular region? +@unnumberedsubsec Q3.7.7: How do I select a rectangular region? Just select the region normally, then use the rectangle commands (e.g. @code{kill-rectangle} on it. The region does not highlight as a @@ -3444,7 +3593,7 @@ @end example @node Q3.7.8, Q3.8.1, Q3.7.7, Customization -@section Why does @kbd{M-w} take so long? +@unnumberedsubsec Q3.7.8: Why does @kbd{M-w} take so long? It actually doesn't. It leaves the region visible for a second so that you can see what area is being yanked. If you start working, though, it @@ -3452,7 +3601,8 @@ delay for a second if you let it. @node Q3.8.1, Q3.8.2, Q3.7.8, Customization -@section How do I get rid of the menu (or menubar)? +@unnumberedsec 3.8: The Menubar and Toolbar +@unnumberedsubsec Q3.8.1: How do I get rid of the menu (or menubar)? If you are running XEmacs 19.13 and earlier, add this command to your @file{.emacs}. @@ -3468,7 +3618,7 @@ @end lisp @node Q3.8.2, Q3.8.3, Q3.8.1, Customization -@section Can I customize the basic menubar? +@unnumberedsubsec Q3.8.2: Can I customize the basic menubar? For an extensive menubar, add this line to your @file{.emacs}: @@ -3482,7 +3632,7 @@ directory. @node Q3.8.3, Q3.8.4, Q3.8.2, Customization -@section How do I control how many buffers are listed in the menu @code{Buffers List}? +@unnumberedsubsec Q3.8.3: How do I control how many buffers are listed in the menu @code{Buffers List}? Add the following to your @file{.emacs} (suit to fit): @@ -3498,7 +3648,7 @@ type @kbd{M-x customize RET buffers-menu RET}. @node Q3.8.4, Q3.8.5, Q3.8.3, Customization -@section Resources like @code{Emacs*menubar*font} are not working? +@unnumberedsubsec Q3.8.4: Resources like @code{Emacs*menubar*font} are not working? I am trying to use a resource like @code{Emacs*menubar*font} to set the font of the menubar but it's not working. @@ -3527,7 +3677,7 @@ even though the latter is more specific. @node Q3.8.5, Q3.9.1, Q3.8.4, Customization -@section How can I bind a key to a function to toggle the toolbar? +@unnumberedsubsec Q3.8.5: How can I bind a key to a function to toggle the toolbar? Try something like: @@ -3544,11 +3694,12 @@ may need to resize the frame before XEmacs completely realizes the toolbar is really gone. -Thanks to Martin Buchholz <martin@@xemacs.org> for the correct +Thanks to @email{martin@@xemacs.org, Martin Buchholz} for the correct code. @node Q3.9.1, Q3.9.2, Q3.8.5, Customization -@section How can I disable the scrollbar? +@unnumberedsec 3.9: Scrollbars +@unnumberedsubsec Q3.9.1: How can I disable the scrollbar? To disable them for all frames, add the following line to your @file{.Xdefaults}: @@ -3557,7 +3708,7 @@ Emacs.scrollBarWidth: 0 @end example -Or select from the @code{Options} menu @code{Frame Appearance->Scrollbars}. +Or select from the @code{Options} menu @code{Frame Appearance->Scrolbars}. Remember to save options. To turn the scrollbar off on a per-frame basis, use the following @@ -3582,7 +3733,7 @@ @end lisp @node Q3.9.2, Q3.9.3, Q3.9.1, Customization -@section How can one use resources to change scrollbar colors? +@unnumberedsubsec Q3.9.2: How can one use resources to change scrollbar colors? Here's a recap of how to use resources to change your scrollbar colors: @@ -3601,7 +3752,7 @@ Note the capitalization of @code{Scrollbar} for the Athena widget. @node Q3.9.3, Q3.9.4, Q3.9.2, Customization -@section Moving the scrollbar can move the point; can I disable this? +@unnumberedsubsec Q3.9.3: Moving the scrollbar can move the point; can I disable this? When I move the scrollbar in an XEmacs window, it moves the point as well, which should not be the default behavior. Is this a bug or a @@ -3615,7 +3766,7 @@ This cannot be changed. @node Q3.9.4, Q3.10.1, Q3.9.3, Customization -@section How can I get automatic horizontal scrolling? +@unnumberedsubsec Q3.9.4: How can I get automatic horizontal scrolling? By the same token, how can I turn it off in specific modes? @@ -3643,7 +3794,8 @@ Automatic horizontal scrolling is now standard, starting with 19.14. @node Q3.10.1, Q3.10.2, Q3.9.4, Customization -@section How can I turn off or change highlighted selections? +@unnumberedsec Text Selections +@unnumberedsubsec Q3.10.1: How can I turn off or change highlighted selections? The @code{zmacs} mode allows for what some might call gratuitous highlighting for selected regions (either by setting mark or by using @@ -3662,7 +3814,7 @@ the menubar. @node Q3.10.2, Q3.10.3, Q3.10.1, Customization -@section How do I get that typing on an active region removes it? +@unnumberedsubsec Q3.10.2: How do I get that typing on an active region removes it? I want to change things so that if I select some text and start typing, the typed text replaces the selected text, similar to Motif. @@ -3681,7 +3833,7 @@ Note that this will work with both Backspace and Delete. @node Q3.10.3, Q3.10.4, Q3.10.2, Customization -@section Can I turn off the highlight during isearch? +@unnumberedsubsec Q3.10.3: Can I turn off the highlight during isearch? I do not like my text highlighted while I am doing isearch as I am not able to see what's underneath. How do I turn it off? @@ -3700,7 +3852,7 @@ solution consists of customizing the @code{isearch} face. @node Q3.10.4, Q3.10.5, Q3.10.3, Customization -@section How do I turn off highlighting after @kbd{C-x C-p} (mark-page)? +@unnumberedsubsec Q3.10.4: How do I turn off highlighting after @kbd{C-x C-p} (mark-page)? Put this in your @code{.emacs}: @@ -3713,7 +3865,7 @@ Also @xref{Q3.10.1}. @node Q3.10.5, , Q3.10.4, Customization -@section The region disappears when I hit the end of buffer while scrolling. +@unnumberedsubsec Q3.10.5: The region disappears when I hit the end of buffer while scrolling. This has been fixed by default starting with XEmacs-20.3. @@ -3740,11 +3892,11 @@ ad-do-it))) @end lisp -Thanks to T. V. Raman <raman@@adobe.com> for assistance in deriving this +Thanks to @email{raman@@adobe.com, T. V. Raman} for assistance in deriving this answer. @node Subsystems, Miscellaneous, Customization, Top -@chapter Major Subsystems +@unnumbered 4 Major Subsystems This is part 4 of the XEmacs Frequently Asked Questions list. This section is devoted to major XEmacs subsystems. @@ -3770,7 +3922,7 @@ * Q4.1.3:: Is it true that W3 supports style sheets and tables? Reading Netnews and Mail with Gnus: -* Q4.2.1:: GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus,argh! +* Q4.2.1:: GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus,argh! * Q4.2.2:: [This question intentionally left blank] * Q4.2.3:: How do I make Gnus stay within a single frame? * Q4.2.4:: How do I customize the From: line? @@ -3783,7 +3935,7 @@ * Q4.3.5:: Where do I find pstogif (required by tm)? Sparcworks, EOS, and WorkShop: -* Q4.4.1:: What is SPARCworks, EOS, and WorkShop +* Q4.4.1:: What is SPARCworks, EOS, and WorkShop Energize: * Q4.5.1:: What is/was Energize? @@ -3800,7 +3952,8 @@ @end menu @node Q4.0.1, Q4.0.2, Subsystems, Subsystems -@section How do I set up VM to retrieve mail from a remote site using POP? +@unnumberedsec Reading Mail with VM +@unnumberedsubsec Q4.0.1: How do I set up VM to retrieve mail from a remote site using POP? Use @code{vm-spool-files}, like this for example: @@ -3812,20 +3965,23 @@ Of course substitute your actual password for MYPASS. @node Q4.0.2, Q4.0.3, Q4.0.1, Subsystems -@section How do I get VM to filter mail for me? +@unnumberedsubsec Q4.0.2: How do I get VM to filter mail for me? One possibility is to use procmail to split your mail before it gets to VM. I prefer this personally, since there are many strange and wonderful things one can do with procmail. Procmail may be found at -<URL:ftp://ftp.informatik.rwth-aachen.de/pub/packages/procmail/>. +@uref{ftp://ftp.informatik.rwth-aachen.de/pub/packages/procmail/}. Also see the Mail Filtering FAQ at: -<URL:http://www.cis.ohio-state.edu/hypertext/faq/usenet/mail/filtering-faq/faq.html>. +@iftex +@* +@end iftex +@uref{http://www.cis.ohio-state.edu/hypertext/faq/usenet/mail/filtering-faq/faq.html}. @node Q4.0.3, Q4.0.4, Q4.0.2, Subsystems -@section How can I get VM to automatically check for new mail? - -John Turner <turner@@lanl.gov> writes: +@unnumberedsubsec Q4.0.3: How can I get VM to automatically check for new mail? + +@email{turner@@lanl.gov, John Turner} writes: @quotation Use the following: @@ -3836,38 +3992,39 @@ @end quotation @node Q4.0.4, Q4.0.5, Q4.0.3, Subsystems -@section [This question intentionally left blank] +@unnumberedsubsec Q4.0.4: [This question intentionally left blank] Obsolete question, left blank to avoid renumbering. @node Q4.0.5, Q4.0.6, Q4.0.4, Subsystems -@section How do I get my outgoing mail archived? +@unnumberedsubsec Q4.0.5: How do I get my outgoing mail archived? @lisp (setq mail-archive-file-name "~/outbox") @end lisp @node Q4.0.6, Q4.0.7, Q4.0.5, Subsystems -@section I have various addresses at which I receive mail. How can I tell VM to ignore them when doing a "reply-all"? +@unnumberedsubsec Q4.0.6: I have various addresses at which I receive mail. How can I tell VM to ignore them when doing a "reply-all"? Set @code{vm-reply-ignored-addresses} to a list, like @lisp -(setq vm-reply-ignored-addresses '("wing@@netcom[0-9]*.netcom.com" - "wing@@netcom.com" "wing@@666.com")) +(setq vm-reply-ignored-addresses + '("wing@@nuspl@@nvwls.cc.purdue.edu,netcom[0-9]*.netcom.com" + "wing@@netcom.com" "wing@@666.com")) @end lisp Note that each string is a regular expression. @node Q4.0.7, Q4.0.8, Q4.0.6, Subsystems -@section Is there a mailing list or FAQ for VM? - -A FAQ for VM exists at <URL:http://www.cyberpass.net/~gorkab/vmfaq.htm>. +@unnumberedsubsec Q4.0.7: Is there a mailing list or FAQ for VM? + +A FAQ for VM exists at @uref{http://www.cyberpass.net/~gorkab/vmfaq.htm}. VM has its own newsgroups gnu.emacs.vm.info and gnu.emacs.vm.bug. -@node Q4.0.8, Q4.0.9, Q4.0.7, Subsystems -@section Remote mail reading with VM. +@node Q4.0.8, Q4.0.9, Q4.0.7, Subsystems +@unnumberedsubsec Q4.0.8: Remote mail reading with VM. My mailbox lives at the office on a big honkin server. My regular INBOX lives on my honkin desktop machine. I now can PPP to the office from @@ -3875,7 +4032,7 @@ home without storing it here and I'd like to use xemacs and VM at home... Is there a recommended setup? -Joseph J. Nuspl Jr. <nuspl@@nvwls.cc.purdue.edu> writes: +@email{nuspl@@nvwls.cc.purdue.edu, Joseph J. Nuspl Jr.} writes: @quotation There are several ways to do this. @@ -3896,7 +4053,7 @@ @end enumerate @end quotation -William Perry <wmperry@@monolith.spry.com> adds: + @email{wmperry@@monolith.spry.com, William Perry} adds: @quotation Or you could run a pop script periodically on your desktop machine, and @@ -3905,7 +4062,7 @@ @end quotation @node Q4.0.9, Q4.0.10, Q4.0.8, Subsystems -@section rmail or VM gets an error incorporating new mail. +@unnumberedsubsec Q4.0.9: rmail or VM gets an error incorporating new mail. Quoting the XEmacs PROBLEMS file: @@ -3913,7 +4070,7 @@ rmail and VM get new mail from @file{/usr/spool/mail/$USER} using a program called @code{movemail}. This program interlocks with @code{/bin/mail} using the protocol defined by @code{/bin/mail}. - + There are two different protocols in general use. One of them uses the @code{flock} system call. The other involves creating a lock file; @code{movemail} must be able to write in @file{/usr/spool/mail} in order @@ -3955,13 +4112,13 @@ @end quotation @node Q4.0.10, Q4.0.11, Q4.0.9, Subsystems -@section How do I make VM stay in a single frame? - -John S Cooper <John.Cooper@@Eng.Sun.COM> writes: +@unnumberedsubsec Q4.0.10: How do I make VM stay in a single frame? + +John.@email{Cooper@@Eng.Sun.COM, John S Cooper} writes: @quotation @lisp -; Don't use multiple frames + ; Don't use multiple frames (setq vm-frame-per-composition nil) (setq vm-frame-per-folder nil) (setq vm-frame-per-edit nil) @@ -3970,21 +4127,24 @@ @end quotation @node Q4.0.11, Q4.0.12, Q4.0.10, Subsystems -@section How do I make VM or mh-e display graphical smilies? +@unnumberedsubsec Q4.0.11: How do I make VM or mh-e display graphical smilies? For mh-e use the following: @lisp -(add-hook 'mh-show-mode-hook '(lambda () (smiley-region (point-min) - (point-max)))) +(add-hook 'mh-show-mode-hook '(lambda () + (smiley-region (point-min) + (point-max)))) @end lisp For vm use the following: @lisp (require 'messagexmas) (require 'smiley) -(add-hook 'vm-select-message-hook '(lambda () (smiley-region (point-min) - (point-max)))) +(add-hook 'vm-select-message-hook + '(lambda () + (smiley-region (point-min) + (point-max)))) @end lisp For tm use the following: @@ -3994,9 +4154,9 @@ @end lisp @node Q4.0.12, Q4.1.1, Q4.0.11, Subsystems -@section Customization of VM not covered in the manual, or here. - -giacomo boffi <boffi@@hp735.stru.polimi.it> writes: +@unnumberedsubsec Q4.0.12: Customization of VM not covered in the manual, or here. + +@email{boffi@@hp735.stru.polimi.it, giacomo boffi} writes: @quotation The meta-answer is to look into the file @file{vm-vars.el}, in the vm @@ -4017,49 +4177,51 @@ @end quotation @node Q4.1.1, Q4.1.2, Q4.0.12, Subsystems -@section What is W3? +@unnumberedsec Web browsing with W3 +@unnumberedsubsec Q4.1.1: What is W3? W3 is an advanced graphical browser written in Emacs lisp that runs on XEmacs. It has full support for cascaded style sheets, and more... It has a home web page at -<URL:http://www.cs.indiana.edu/elisp/w3/docs.html>. +@uref{http://www.cs.indiana.edu/elisp/w3/docs.html}. @node Q4.1.2, Q4.1.3, Q4.1.1, Subsystems -@section How do I run W3 from behind a firewall? +@unnumberedsubsec Q4.1.2: How do I run W3 from behind a firewall? There is a long, well-written, detailed section in the W3 manual that describes how to do this. Look in the section entitled "Firewalls". @node Q4.1.3, Q4.2.1, Q4.1.2, Subsystems -@section Is it true that W3 supports style sheets and tables? +@unnumberedsubsec Q4.1.3: Is it true that W3 supports style sheets and tables? Yes, and much more. W3, as distributed with the latest XEmacs is a full-featured web browser. @node Q4.2.1, Q4.2.2, Q4.1.3, Subsystems -@section GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus, Quassia Gnus, argh! +@unnumberedsec Reading Netnews and Mail with Gnus +@unnumberedsubsec Q4.2.1: GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus, Quassia Gnus, argh! The Gnus numbering issues are not meant for mere mortals to know them. If you feel you @emph{must} enter the muddy waters of Gnus, visit the excellent FAQ, maintained by Justin Sheehy, at: @example -<URL:http://www.ccs.neu.edu/software/gnus/> +@uref{http://www.ccs.neu.edu/software/gnus/} @end example See also Gnus home page @example -<URL:http://www.gnus.org/> +@uref{http://www.gnus.org/} @end example @node Q4.2.2, Q4.2.3, Q4.2.1, Subsystems -@section This question intentionally left blank. +@unnumberedsubsec Q4.2.2: This question intentionally left blank. Obsolete question, left blank to avoid renumbering. @node Q4.2.3, Q4.2.4, Q4.2.2, Subsystems -@section How do I make Gnus stay within a single frame? +@unnumberedsubsec Q4.2.3: How do I make Gnus stay within a single frame? The toolbar code to start Gnus opens the new frame---and it's a feature rather than a bug. If you don't like it, but would still like to click @@ -4074,15 +4236,21 @@ @code{gnus}, without all the fancy frame stuff. @node Q4.2.4, Q4.3.1, Q4.2.3, Subsystems -@section How do I customize the From: line? +@unnumberedsubsec Q4.2.4: How do I customize the From: line? How do I change the @code{From:} line? I have set gnus-user-from-line -to Gail Gurman <gail.gurman@@sybase.com>, but XEmacs Gnus doesn't use -it. Instead it uses Gail Mara Gurman <gailg@@deall> and then complains +to @example +Gail Gurman <gail.gurman@@sybase.com> +@end example +@noindent , but XEmacs Gnus doesn't use +it. Instead it uses @example +Gail Mara Gurman @email{gailg@@deall} +@end example +@noindent and then complains that it's incorrect. Also, as you perhaps can see, my Message-ID is screwy. How can I change that? -Lars Magne Ingebrigtsen <larsi@@aegir.ifi.uio.no> writes: +@email{larsi@@ifi.uio.no, Lars Magne Ingebrigtsen} writes: @quotation Set @code{user-mail-address} to @samp{gail.gurman@@sybase.com} or @@ -4090,22 +4258,32 @@ @end quotation @node Q4.3.1, Q4.3.2, Q4.2.4, Subsystems -@section How can I read and/or compose MIME messages? +@unnumberedsec Other Mail & News +@unnumberedsubsec Q4.3.1: How can I read and/or compose MIME messages? One answer is @code{tra-vm-mime}. You may find it at -<URL:http://lenkkari.cs.tut.fi/~tra/software/tra-vm-mime.el>. +@iftex +@* +@end iftex +@uref{http://lenkkari.cs.tut.fi/~tra/software/tra-vm-mime.el}. Another possibility is RMIME. You may find RMIME at -<URL:http://www.cinti.net/~rmoody/rmime/index.html>. +@iftex +@* +@end iftex +@uref{http://www.cinti.net/~rmoody/rmime/index.html}. You probably want to use the Tools for MIME (tm). @xref{Q4.3.2} for details. -Trey Jackson <trey@@cs.berkeley.edu> has an Emacs & MIME web page at -<URL:http://bmrc.berkeley.edu/~trey/emacs/mime.html>. +@email{trey@@cs.berkeley.edu, Trey Jackson} has an Emacs & MIME web page at +@iftex +@* +@end iftex +@uref{http://bmrc.berkeley.edu/~trey/emacs/mime.html}. @node Q4.3.2, Q4.3.3, Q4.3.1, Subsystems -@section What is TM and where do I get it? +@unnumberedsubsec Q4.3.2: What is TM and where do I get it? TM stands for @dfn{Tools for MIME} and not Tiny MIME. TM integrates with all major XEmacs packages like Gnus (all flavors), VM, MH-E, and @@ -4115,9 +4293,12 @@ TM now comes as a package with XEmacs 19.16 and XEmacs 20.2. -TM was written by MORIOKA Tomohiko <morioka@@jaist.ac.jp> and KOBAYASHI -Shuhei <shuhei-k@@jaist.ac.jp>. It is based on the work of UMEDA -Masanobu <umerin@@mse.kyutech.ac.jp>, the original writer of GNUS. +TM was written by @email{morioka@@jaist.ac.jp, MORIOKA Tomohiko} and +@email{shuhei-k@@jaist.ac.jp, KOBAYASHI +Shuhei}. + +It is based on the work of @email{umerin@@mse.kyutech.ac.jp, UMEDA +Masanobu}, the original writer of GNUS. The following information is from the @file{README}: @@ -4133,13 +4314,13 @@ tm is available from following anonymous ftp sites: @itemize @bullet -@item <URL:ftp://ftp.jaist.ac.jp/pub/GNU/elisp/mime/> (Japan). -@item <URL:ftp://ftp.nis.co.jp/pub/gnu/emacs-lisp/tm/> (Japan). -@item <URL:ftp://ftp.nisiq.net/pub/gnu/emacs-lisp/tm/> (US). -@item <URL:ftp://ftp.miranova.com/pub/gnus/jaist.ac.jp/> (US). -@item <URL:ftp://ftp.unicamp.br/pub/mail/mime/tm/> (Brasil). -@item <URL:ftp://ftp.th-darmstadt.de/pub/editors/GNU-Emacs/lisp/mime/> (Germany). -@item <URL:ftp://ftp.tnt.uni-hannover.de/pub/editors/xemacs/contrib/> (Germany). +@item @uref{ftp://ftp.jaist.ac.jp/pub/GNU/elisp/mime/} (Japan). +@item @uref{ftp://ftp.nis.co.jp/pub/gnu/emacs-lisp/tm/} (Japan). +@item @uref{ftp://ftp.nisiq.net/pub/gnu/emacs-lisp/tm/} (US). +@item @uref{ftp://ftp.miranova.com/pub/gnus/jaist.ac.jp/} (US). +@item @uref{ftp://ftp.unicamp.br/pub/mail/mime/tm/} (Brasil). +@item @uref{ftp://ftp.th-darmstadt.de/pub/editors/GNU-Emacs/lisp/mime/} (Germany). +@item @uref{ftp://ftp.tnt.uni-hannover.de/pub/editors/xemacs/contrib/} (Germany). @end itemize Don't let the installation procedure & instructions stop you from trying @@ -4147,54 +4328,65 @@ trivial to use. @node Q4.3.3, Q4.3.4, Q4.3.2, Subsystems -@section Why isn't this @code{movemail} program working? - -Ben Wing <ben@@666.com> writes: +@unnumberedsubsec Q4.3.3: Why isn't this @code{movemail} program working? + +Ben Wing @email{ben@@666.com} writes: @quotation It wasn't chown'ed/chmod'd correctly. @end quotation @node Q4.3.4, Q4.3.5, Q4.3.3, Subsystems -@section Movemail is also distributed by Netscape? Can that cause problems? - -Steve Baur <steve@@altair.xemacs.org> writes: +@unnumberedsubsec Q4.3.4: Movemail is also distributed by Netscape? Can that cause problems? + +@email{steve@@altair.xemacs.org, Steve Baur} writes: @quotation Yes. Always use the movemail installed with your XEmacs. Failure to do so can result in lost mail. @end quotation -Please refer to Jamie Zawinski's <jwz@@netscape.com> notes at -<URL:http://home.netscape.com/eng/mozilla/2.0/relnotes/demo/movemail.html>. +Please refer to @email{jwz@@netscape.com, Jamie Zawinski's} notes at +@iftex +@* +@end iftex +@uref{http://home.netscape.com/eng/mozilla/2.0/relnotes/demo/movemail.html}. In particular, this document will show you how to make Netscape use the version of movemail configured for your system by the person who built XEmacs. @node Q4.3.5, Q4.4.1, Q4.3.4, Subsystems -@section Where do I find pstogif (required by tm)? +@unnumberedsubsec Q4.3.5: Where do I find pstogif (required by tm)? pstogif is part of the latex2html package. -Jan Vroonhof <vroonhof@@math.ethz.ch> writes: +@email{vroonhof@@math.ethz.ch, Jan Vroonhof} writes: latex2html is best found at the CTAN hosts and their mirrors -in @file{tex-archive/support/latex2html}. +in +@iftex +@* +@end iftex +@file{tex-archive/support/latex2html}. CTAN hosts are: @itemize @bullet -@item <URL:ftp://ftp.tex.ac.uk/tex-archive/support/latex2html/>. -@item <URL:ftp://ftp.dante.de/tex-archive/support/latex2html/>. +@item @uref{ftp://ftp.tex.ac.uk/tex-archive/support/latex2html/}. +@item @uref{ftp://ftp.dante.de/tex-archive/support/latex2html/}. @end itemize There is a good mirror at ftp.cdrom.com; -<URL:ftp://ftp.cdrom.com/pub/tex/ctan/support/latex2html/>. +@iftex +@* +@end iftex +@uref{ftp://ftp.cdrom.com/pub/tex/ctan/support/latex2html/}. @node Q4.4.1, Q4.5.1, Q4.3.5, Subsystems -@section What is SPARCworks, EOS, and WorkShop? - -John Turner <turner@@lanl.gov> writes: +@unnumberedsec Sparcworks, EOS, and WorkShop +@unnumberedsubsec Q4.4.1: What is SPARCworks, EOS, and WorkShop? + +@email{turner@@lanl.gov, John Turner} writes: @quotation SPARCworks is SunSoft's development environment, comprising compilers @@ -4202,7 +4394,7 @@ tools such as TeamWare (for configuration management), MakeTool, etc. @end quotation -See <URL:http://www.sun.com/sunsoft/Developer-products/> +See @uref{http://www.sun.com/sunsoft/Developer-products/} for more info. EOS stands for "Era on SPARCworks", but I don't know what Era stands @@ -4214,7 +4406,7 @@ using the SPARCworks debugger. It works very well and I use it all the time. -Chuck Thompson <cthomp@@xemacs.org> writes: +@email{cthomp@@xemacs.org, Chuck Thompson} writes: @quotation Era stood for "Emacs Rewritten Again". It was what we were calling the @@ -4222,19 +4414,23 @@ to work on this wonderful editor. @end quotation -Martin Buchholz <martin@@xemacs.org> writes: +@email{martin@@xemacs.org, Martin Buchholz} writes: @quotation EOS is being replaced with a new graphical development environment called Sun WorkShop, which is currently (07/96) in Alpha Test. For more details, check out -<URL:http://www.sun.com/sunsoft/Products/Developer-products/programs.html>. +@iftex +@* +@end iftex +@uref{http://www.sun.com/sunsoft/Products/Developer-products/programs.html}. @end quotation @node Q4.5.1, Q4.6.1, Q4.4.1, Subsystems -@section What is/was Energize? - -David N Gray <gray@@meteor.harlequin.com> writes: +@unnumberedsec Energize +@unnumberedsubsec Q4.5.1: What is/was Energize? + +@email{gray@@meteor.harlequin.com, David N Gray} writes: @quotation The files in @file{lisp/energize} are to enable Emacs to interface with the "Energize Programming System", a C and C++ development environment, @@ -4247,13 +4443,14 @@ @end quotation @node Q4.6.1, Q4.7.1, Q4.5.1, Subsystems -@section What is Infodock? +@unnumberedsec Infodock +@unnumberedsubsec Q4.6.1: What is Infodock? InfoDock is an integrated productivity toolset, mainly aimed at technical people. It is developed and supported by InfoDock Associates, a firm that offers custom support and development -for InfoDock, XEmacs and GNU Emacs. (http://www.infodock.com, -<info@@infodock.com>, +1 408 243 3300). +for InfoDock, XEmacs and GNU Emacs. ( @uref{http://www.infodock.com}, +@email{info@@infodock.com}, +1 408 243 3300). InfoDock is built atop the XEmacs variant of GNU Emacs and so has all of the power of Emacs, but with an easier to use and more comprehensive @@ -4283,7 +4480,7 @@ InfoDock menus are much more extensive and more mature than standard Emacs menus. Each menu offers a @samp{Manual} item which displays documentation associated with the menu's functions. - + @noindent Four types of menubars are provided: @enumerate @@ -4335,15 +4532,18 @@ highlighting and browsing, and man page browsing. InfoDock questions, answers and discussion should go to the mail list -@samp{infodock@@infodock.com}. Use -@samp{infodock-request@@infodock.com} to be added or removed from the +@iftex +@* +@end iftex +@email{infodock@@infodock.com}. Use +@email{infodock-request@@infodock.com} to be added or removed from the list. Always include your InfoDock version number when sending help requests. InfoDock is available across the Internet via anonymous FTP. To get it, first move to a directory into which you want the InfoDock archive files placed. We will call this <DIST-DIR>. - + @example cd <DIST-DIR> @end example @@ -4356,10 +4556,10 @@ Login as @samp{anonymous} with your own <user-id>@@<site-name> as a password. -@example +@example Name (ftp.xemacs.org): anonymous 331 Guest login ok, send your complete e-mail address as password. - Password: -<your-user-id@@your-domain> + Password: -<your-user-id>@@<your-domain> 230 Guest login ok, access restrictions apply. @end example @@ -4403,9 +4603,10 @@ step-by-step installation instructions. @node Q4.7.1, Q4.7.2, Q4.6.1, Subsystems -@section What is AUC TeX? Where do you get it? - -AUC TeX is a package written by Per Abrahamsen <abraham@@dina.kvl.dk>. +@unnumberedsec Other Unbundled Packages +@unnumberedsubsec Q4.7.1: What is AUC TeX? Where do you get it? + +AUC TeX is a package written by @email{abraham@@dina.kvl.dk, Per Abrahamsen}. Starting with XEmacs 19.16, AUC TeX is bundled with XEmacs. The following information is from the @file{README} and website. @@ -4414,27 +4615,36 @@ are supported, including AMS TeX, LaTeX, and TeXinfo. The most recent version is always available by ftp at -<URL:ftp://sunsite.auc.dk/packages/auctex/auctex.tar.gz>. +@iftex +@* +@end iftex +@uref{ftp://sunsite.auc.dk/packages/auctex/auctex.tar.gz}. In case you don't have access to anonymous ftp, you can get it by an -email request to <URL:mailto:ftpmail@@decwrl.dec.com>. +email request to @email{ftpmail@@decwrl.dec.com}. WWW users may want to check out the AUC TeX page at -<URL:http://sunsite.auc.dk/auctex/>. +@iftex +@* +@end iftex +@uref{http://sunsite.auc.dk/auctex/}. @node Q4.7.2, Q4.7.3, Q4.7.1, Subsystems -@section Are there any Emacs Lisp Spreadsheets? +@unnumberedsubsec Q4.7.2: Are there any Emacs Lisp Spreadsheets? Yes. Check out @dfn{dismal} (which stands for Dis' Mode Ain't Lotus) at -<URL:ftp://cs.nyu.edu/pub/local/fox/dismal/>. +@iftex +@* +@end iftex +@uref{ftp://cs.nyu.edu/pub/local/fox/dismal/}. @node Q4.7.3, Q4.7.4, Q4.7.2, Subsystems -@section Byte compiling AUC TeX on XEmacs 19.14. - -Georges Brun-Cottan <bruncott@@dormeur.inria.fr> writes: +@unnumberedsubsec Q4.7.3: Byte compiling AUC TeX on XEmacs 19.14. + +@email{bruncott@@dormeur.inria.fr, Georges Brun-Cottan} writes: @quotation -When byte compiling auctex-9.4g, you must use the command: +When byte compiling auxtex-9.4g, you must use the command: @example xemacs -batch -l lpath.el @@ -4442,14 +4652,14 @@ @end quotation @node Q4.7.4, Q4.7.5, Q4.7.3, Subsystems -@section Problems installing AUC TeX. - -Jan Vroonhof <vroonhof@@math.ethz.ch> writes: +@unnumberedsubsec Q4.7.4: Problems installing AUC TeX. + +@email{vroonhof@@math.ethz.ch, Jan Vroonhof} writes: @quotation AUC TeX works fine on both stock Emacs and XEmacs has been doing so for -a very very long time. This is mostly due to the work of Per Abrahamsen -<abraham@@dina.kvl.dk> (clap clap) in particular his @file{easymenu} +a very very long time. This is mostly due to the work of +@email{abraham@@dina.kvl.dk, Per Abrahamsen} (clap clap) in particular his @file{easymenu} package. Which leads to what is probably the problem... @end quotation @@ -4471,7 +4681,7 @@ @node Q4.7.5, , Q4.7.4, Subsystems -@section Is there a reason for an Emacs package not to be included in XEmacs? +@unnumberedsubsec Q4.7.5: Is there a reason for an Emacs package not to be included in XEmacs? The reason for an Emacs package not to be included in XEmacs is usually one or more of the following: @@ -4510,7 +4720,7 @@ @end enumerate @node Miscellaneous, Current Events, Subsystems, Top -@chapter The Miscellaneous Stuff +@unnumbered 5 The Miscellaneous Stuff This is part 5 of the XEmacs Frequently Asked Questions list. This section is devoted to anything that doesn't fit neatly into the other @@ -4527,8 +4737,8 @@ * Q5.0.7:: Telnet from shell filters too much. * Q5.0.8:: Why does edt emulation not work? * Q5.0.9:: How can I emulate VI and use it as my default mode? -* Q5.0.10:: [This question intentionally left blank] -* Q5.0.11:: Filladapt doesn't work in 19.15? +* Q5.0.10:: [This question intentionally left blank] +* Q5.0.11:: Filladapt doesn't work in 19.15? * Q5.0.12:: How do I disable gnuserv from opening a new frame? * Q5.0.13:: How do I start gnuserv so that each subsequent XEmacs is a client? * Q5.0.14:: Strange things are happening in Shell Mode. @@ -4537,6 +4747,7 @@ * Q5.0.17:: How can I get two instances of info? * Q5.0.18:: I upgraded to XEmacs 19.14 and gnuserv stopped working * Q5.0.19:: Is there something better than LaTeX mode? +* Q5.0.20:: Is there a way to start a new XEmacs if there's no gnuserv running, and otherwise use gnuclient? Emacs Lisp Programming Techniques: * Q5.1.1:: The difference in key sequences between XEmacs and GNU Emacs? @@ -4572,7 +4783,8 @@ @end menu @node Q5.0.1, Q5.0.2, Miscellaneous, Miscellaneous -@section How can I do source code highlighting using font-lock? +@unnumberedsec Major & Minor Modes +@unnumberedsubsec Q5.0.1: How can I do source code highlighting using font-lock? For most modes, font-lock is already set up and just needs to be turned on. This can be done by @kbd{M-x font-lock-mode}, or by having XEmacs @@ -4590,7 +4802,7 @@ Remember to save options. @node Q5.0.2, Q5.0.3, Q5.0.1, Miscellaneous -@section I do not like cc-mode. How do I use the old c-mode? +@unnumberedsubsec Q5.0.2: I do not like cc-mode. How do I use the old c-mode? Well, first off, consider if you really want to do this. cc-mode is much more powerful than the old c-mode. If you're having trouble @@ -4606,14 +4818,14 @@ (makunbound 'c++-mode-map) (makunbound 'c-style-alist) (load-library "old-c-mode") -(load-library "old-c++-mode") +(load-library "old-c++-mode") @end lisp This must be done before any other reference is made to either c-mode or c++-mode. @node Q5.0.3, Q5.0.4, Q5.0.2, Miscellaneous -@section How do I get @samp{More} Syntax Highlighting on by default? +@unnumberedsubsec Q5.0.3: How do I get @samp{More} Syntax Highlighting on by default? Use the following code in your @file{.emacs}: @@ -4636,7 +4848,7 @@ Remember to save options. @node Q5.0.4, Q5.0.5, Q5.0.3, Miscellaneous -@section How can I enable auto-indent? +@unnumberedsubsec Q5.0.4: How can I enable auto-indent? Put the following line in your @file{.emacs}: @@ -4665,7 +4877,7 @@ Please note that the @code{fa-extras} package is no longer useful. @node Q5.0.5, Q5.0.6, Q5.0.4, Miscellaneous -@section How can I get XEmacs to come up in text/auto-fill mode by default? +@unnumberedsubsec Q5.0.5: How can I get XEmacs to come up in text/auto-fill mode by default? Try the following lisp in your @file{.emacs}: @@ -4710,7 +4922,7 @@ some programming language). @node Q5.0.6, Q5.0.7, Q5.0.5, Miscellaneous -@section How do I start up a second shell buffer? +@unnumberedsubsec Q5.0.6: How do I start up a second shell buffer? In the @code{*shell*} buffer: @@ -4725,7 +4937,7 @@ rename-buffer}. @node Q5.0.7, Q5.0.8, Q5.0.6, Miscellaneous -@section Telnet from shell filters too much +@unnumberedsubsec Q5.0.7: Telnet from shell filters too much I'm using the Emacs @kbd{M-x shell} function, and I would like to invoke and use a telnet session within it. Everything works fine except that @@ -4737,7 +4949,7 @@ if you have @code{ssh} installed. @node Q5.0.8, Q5.0.9, Q5.0.7, Miscellaneous -@section Why does edt emulation not work? +@unnumberedsubsec Q5.0.8: Why does edt emulation not work? We don't know, but you can use tpu-edt emulation instead, which works fine and is a little fancier than the standard edt emulation. To do @@ -4755,7 +4967,7 @@ @end lisp @node Q5.0.9, Q5.0.10, Q5.0.8, Miscellaneous -@section How can I emulate VI and use it as my default mode? +@unnumberedsubsec Q5.0.9: How can I emulate VI and use it as my default mode? Our recommended VI emulator is viper. To make viper-mode the default, add this to your @file{.emacs}: @@ -4764,7 +4976,7 @@ (viper-mode) @end lisp -Michael Kifer <kifer@@CS.SunySB.EDU> writes: +@email{kifer@@CS.SunySB.EDU, Michael Kifer} writes: @quotation This should be added as close to the top of @file{.emacs} as you can get @@ -4772,12 +4984,12 @@ @end quotation @node Q5.0.10, Q5.0.11, Q5.0.9, Miscellaneous -@section [This question intentionally left blank] +@unnumberedsubsec Q5.0.10: [This question intentionally left blank] Obsolete question, left blank to avoid renumbering - + @node Q5.0.11, Q5.0.12, Q5.0.10, Miscellaneous -@section Filladapt doesn't work in 19.15 +@unnumberedsubsec Q5.0.11: Filladapt doesn't work in 19.15 Filladapt 2.x is included in 19.15. In it filladapt is now a minor mode and minor modes are traditionally off by default. The following @@ -4791,11 +5003,11 @@ major modes, like this: @lisp -(add-hook 'text-mode-hook 'turn-on-filladapt-mode) +(add-hook 'text-mode-hook 'turn-on-filladapt-mode) @end lisp @node Q5.0.12, Q5.0.13, Q5.0.11, Miscellaneous -@section How do I disable gnuserv from opening a new frame? +@unnumberedsubsec Q5.0.12: How do I disable gnuserv from opening a new frame? If you set the @code{gnuserv-frame} variable to the frame that should be used to display buffers that are pulled up, a new frame will not be @@ -4819,7 +5031,7 @@ @node Q5.0.13, Q5.0.14, Q5.0.12, Miscellaneous -@section How do I start gnuserv so that each subsequent XEmacs is a client? +@unnumberedsubsec Q5.0.13: How do I start gnuserv so that each subsequent XEmacs is a client? Put the following in your @file{.emacs} file to start the server: @@ -4841,7 +5053,7 @@ See also man page of gnuclient. @node Q5.0.14, Q5.0.15, Q5.0.13, Miscellaneous -@section Strange things are happening in Shell Mode. +@unnumberedsubsec Q5.0.14: Strange things are happening in Shell Mode. Sometimes (i.e. it's not repeatable, and I can't work out why it happens) when I'm typing into shell mode, I hit return and only a @@ -4849,7 +5061,7 @@ returned. If I hit return again, the rest of the previous command is given to the shell. -Martin Buchholz <martin@@xemacs.org> writes: +@email{martin@@xemacs.org, Martin Buchholz} writes: @quotation There is a known problem with interaction between @code{csh} and the @@ -4862,16 +5074,16 @@ @end quotation @node Q5.0.15, Q5.0.16, Q5.0.14, Miscellaneous -@section Where do I get the latest CC Mode? - -Barry A. Warsaw <bwarsaw@@cnri.reston.va.us> writes: +@unnumberedsubsec Q5.0.15: Where do I get the latest CC Mode? + +@email{bwarsaw@@cnri.reston.va.us, Barry A. Warsaw} writes: @quotation -This can be had from <URL:http://www.python.org/ftp/emacs/>. +This can be had from @uref{http://www.python.org/ftp/emacs/}. @end quotation @node Q5.0.16, Q5.0.17, Q5.0.15, Miscellaneous -@section I find auto-show-mode disconcerting. How do I turn it off? +@unnumberedsubsec Q5.0.16: I find auto-show-mode disconcerting. How do I turn it off? @code{auto-show-mode} controls whether or not a horizontal scrollbar magically appears when a line is too long to be displayed. This is @@ -4884,36 +5096,66 @@ @end lisp @node Q5.0.17, Q5.0.18, Q5.0.16, Miscellaneous -@section How can I get two instances of info? +@unnumberedsubsec Q5.0.17: How can I get two instances of info? You can't. The @code{info} package does not provide for multiple info buffers. @node Q5.0.18, Q5.0.19, Q5.0.17, Miscellaneous -@section I upgraded to XEmacs 19.14 and gnuserv stopped working. - -Mark Daku <daku@@nortel.ca> writes: +@unnumberedsubsec Q5.0.18: I upgraded to XEmacs 19.14 and gnuserv stopped working. + +@email{daku@@nortel.ca, Mark Daku} writes: @quotation It turns out I was using an older version of gnuserv. The installation didn't put the binary into the public bin directory. It put it in +@iftex +@* +@end iftex @file{lib/xemacs-19.14/hppa1.1-hp-hpux9.05/gnuserv}. Shouldn't it have been put in @file{bin/hppa1.1-hp-hpux9.0}? @end quotation -@node Q5.0.19, Q5.1.1, Q5.0.18, Miscellaneous -@section Is there something better than LaTeX mode? - -David Kastrup <dak@@fsnif.neuroinformatik.ruhr-uni-bochum.de> writes: +@node Q5.0.19, Q5.0.20, Q5.0.18, Miscellaneous +@unnumberedsubsec Q5.0.19: Is there something better than LaTeX mode? + +@email{dak@@fsnif.neuroinformatik.ruhr-uni-bochum.de, David Kastrup} writes: @quotation The standard TeX modes leave much to be desired, and are somewhat leniently maintained. Serious TeX users use AUC TeX (@xref{Q4.7.1}). @end quotation -@node Q5.1.1, Q5.1.2, Q5.0.19, Miscellaneous -@section What is the difference in key sequences between XEmacs and GNU Emacs? - -Erik Naggum <erik@@naggum.no> writes; +@node Q5.0.20, Q5.1.1, Q5.0.19, Miscellaneous +@unnumberedsubsec Q5.0.20: Is there a way to start a new XEmacs if there's no gnuserv running, and otherwise use gnuclient? + +@email{vroonhof@@math.ethz.ch, Jan Vroonhof} writes: +@quotation +Here is one of the solutions, we have this in a script called +@file{etc/editclient.sh}. +@example + #!/bin/sh + if gnuclient -batch -eval t >/dev/null 2>&1 + then + exec gnuclient $@{1+"$@@"@} + else + xemacs -unmapped -f gnuserv-start & + until gnuclient -batch -eval t >/dev/null 2>&1 + do + sleep 1 + done + exec gnuclient $@{1+"$@@"@} + fi +@end example + +Note that there is a known problem when running XEmacs and 'gnuclient +-nw' on the same TTY. +@end quotation + +@node Q5.1.1, Q5.1.2, Q5.0.20, Miscellaneous +@unnumberedsec Emacs Lisp Programming Techniques +@unnumberedsubsec Q5.1.1: What is the difference in key sequences between XEmacs and GNU Emacs? + +@email{clerik@@naggum.no, Erik Naggum} writes; @quotation Emacs has a legacy of keyboards that produced characters with modifier @@ -4944,7 +5186,7 @@ you use. The function is available both on XEmacs and GNU Emacs. @node Q5.1.2, Q5.1.3, Q5.1.1, Miscellaneous -@section Can I generate "fake" keyboard events? +@unnumberedsubsec Q5.1.2: Can I generate "fake" keyboard events? I wonder if there is an interactive function that can generate @dfn{fake} keyboard events. This way, I could simply map them inside @@ -4959,13 +5201,13 @@ ;; Backspace and Delete stuff (global-set-key [backspace] - (lambda () (interactive) (cg--generate-char-event 127))) + (lambda () (interactive) (cg--generate-char-event 127))) (global-set-key [unknown_keysym_0x4] - (lambda () (interactive) (cg--generate-char-event 4))) + (lambda () (interactive) (cg--generate-char-event 4))) @end lisp @node Q5.1.3, Q5.1.4, Q5.1.2, Miscellaneous -@section Could you explain @code{read-kbd-macro} in more detail? +@unnumberedsubsec Q5.1.3: Could you explain @code{read-kbd-macro} in more detail? The @code{read-kbd-macro} function returns the internal Emacs representation of a human-readable string (which is its argument). @@ -4973,10 +5215,10 @@ @lisp (read-kbd-macro "C-c C-a") - @result{} [(control ?c) (control ?a)] +@result{} [(control ?c) (control ?a)] (read-kbd-macro "C-c C-. <up>") - @result{} [(control ?c) (control ?.) up] +@result{} [(control ?c) (control ?.) up] @end lisp In GNU Emacs the same forms will be evaluated to what GNU Emacs @@ -5040,7 +5282,11 @@ Any word may be prefixed by a multiplier in the form of a decimal number and @code{*}: @code{3*<right>} @equiv{} @code{<right> <right> <right>}, -and @code{10*foo} @equiv{} @code{foofoofoofoofoofoofoofoofoofoo}. +and @code{10*foo} @equiv{} +@iftex +@* +@end iftex +@code{foofoofoofoofoofoofoofoofoofoo}. Multiple text keys can normally be strung together to form a word, but you may need to add whitespace if the word would look like one of the @@ -5052,7 +5298,7 @@ @end quotation @node Q5.1.4, Q5.1.5, Q5.1.3, Miscellaneous -@section What is the performance hit of @code{let}? +@unnumberedsubsec Q5.1.4: What is the performance hit of @code{let}? In most cases, not noticeable. Besides, there's no avoiding @code{let}---you have to bind your local variables, after all. Some @@ -5062,7 +5308,7 @@ provide the clearest code. @node Q5.1.5, Q5.1.6, Q5.1.4, Miscellaneous -@section What is the recommended use of @code{setq}? +@unnumberedsubsec Q5.1.5: What is the recommended use of @code{setq}? @itemize @bullet @item Global variables @@ -5078,7 +5324,7 @@ @lisp (let ((case-fold-search nil)) - ... ; code with searches that must be case-sensitive + ... ; code with searches that must be case-sensitive ...) @end lisp @@ -5125,7 +5371,7 @@ @end itemize @node Q5.1.6, Q5.1.7, Q5.1.5, Miscellaneous -@section What is the typical misuse of @code{setq} ? +@unnumberedsubsec Q5.1.6: What is the typical misuse of @code{setq} ? A typical misuse is probably @code{setq}ing a variable that was meant to be local. Such a variable will remain bound forever, never to be @@ -5143,7 +5389,7 @@ @lisp (defun my-function (whatever) - (let (a) ; default initialization is to nil + (let (a) ; default initialization is to nil ... build a large list ... ... and exit, unbinding `a' in the process ...) @end lisp @@ -5156,18 +5402,18 @@ The reason for the warning is the following: @lisp -(defun flurgoze nil) ; ok, global internal variable +(defun flurgoze nil) ; ok, global internal variable ... -(setq flurghoze t) ; ops! a typo, but semantically correct. - ; however, the byte-compiler warns. +(setq flurghoze t) ; ops! a typo, but semantically correct. + ; however, the byte-compiler warns. While compiling toplevel forms: - ** assignment to free variable flurghoze +** assignment to free variable flurghoze @end lisp @node Q5.1.7, Q5.1.8, Q5.1.6, Miscellaneous -@section I like the the @code{do} form of cl, does it slow things down? +@unnumberedsubsec Q5.1.7: I like the the @code{do} form of cl, does it slow things down? It shouldn't. Here is what Dave Gillespie has to say about cl.el performance: @@ -5209,7 +5455,7 @@ @end quotation @node Q5.1.8, Q5.1.9, Q5.1.7, Miscellaneous -@section I like recursion, does it slow things down? +@unnumberedsubsec Q5.1.8: I like recursion, does it slow things down? Yes. Emacs byte-compiler cannot do much to optimize recursion. But think well whether this is a real concern in Emacs. Much of the Emacs @@ -5220,7 +5466,7 @@ gain. It's not usually worth it. @node Q5.1.9, Q5.1.10, Q5.1.8, Miscellaneous -@section How do I put a glyph as annotation in a buffer? +@unnumberedsubsec Q5.1.9: How do I put a glyph as annotation in a buffer? Here is a solution that will insert the glyph annotation at the beginning of buffer: @@ -5233,23 +5479,27 @@ (current-buffer)) @end lisp -Replace @samp{FORMAT} with an unquoted symbol representing the format of +Replace @samp{FORMAT} with an unquoted symbol representing the format of the image (e.g. @code{xpm}, @code{xbm}, @code{gif}, @code{jpeg}, etc.) Instead of @samp{FILE}, use the image file name -(e.g. @file{/usr/local/lib/xemacs-20.2/etc/recycle.xpm}). +(e.g. +@iftex +@* +@end iftex +@file{/usr/local/lib/xemacs-20.2/etc/recycle.xpm}). You can turn this to a function (that optionally prompts you for a file name), and inserts the glyph at @code{(point)} instead of @code{(point-min)}. @node Q5.1.10, Q5.2.1, Q5.1.9, Miscellaneous -@section @code{map-extents} won't traverse all of my extents! +@unnumberedsubsec Q5.1.10: @code{map-extents} won't traverse all of my extents! I tried to use @code{map-extents} to do an operation on all the extents -in a region. However, it seems to quit after processing a random number +in a region. However, it seems to quit after processing a random number of extents. Is it buggy? -No. The documentation of @code{map-extents} states that it will iterate +No. The documentation of @code{map-extents} states that it will iterate across the extents as long as @var{function} returns @code{nil}. Unexperienced programmers often forget to return @code{nil} explicitly, which results in buggy code. For instance, the following code is @@ -5274,7 +5524,7 @@ @end lisp @node Q5.2.1, Q5.2.2, Q5.1.10, Miscellaneous -@section How do I turn off the sound? +@unnumberedsubsec Q5.2.1: How do I turn off the sound? Add the following line to your @file{.emacs}: @@ -5283,7 +5533,7 @@ (setq sound-alist nil) @end lisp -That will make your XEmacs totally silent -- even the default ding sound +That will make your XEmacs totally silent -- even the default ding sound (TTY beep on TTY-s) will be gone. Starting with XEmacs-20.2 you can also change these with Customize. @@ -5293,7 +5543,7 @@ @node Q5.2.2, Q5.2.3, Q5.2.1, Miscellaneous -@section How do I get funky sounds instead of a boring beep? +@unnumberedsubsec Q5.2.2: How do I get funky sounds instead of a boring beep? Make sure your XEmacs was compiled with sound support, and then put this in your @file{.emacs}: @@ -5306,18 +5556,18 @@ versions. @node Q5.2.3, Q5.2.4, Q5.2.2, Miscellaneous -@section What's NAS, how do I get it? +@unnumberedsubsec Q5.2.3: What's NAS, how do I get it? @xref{Q2.0.3} for an explanation of the @dfn{Network Audio System}. @node Q5.2.4, Q5.3.1, Q5.2.3, Miscellaneous -@section Sunsite sounds don't play. +@unnumberedsubsec Q5.2.4: Sunsite sounds don't play. I'm having some trouble with sounds I've downloaded from sunsite. They play when I run them through @code{showaudio} or cat them directly to @file{/dev/audio}, but XEmacs refuses to play them. -Markus Gutschke <gutschk@@uni-muenster.de> writes: +@email{gutschk@@uni-muenster.de, Markus Gutschke} writes: @quotation [Many of] These files have an (erroneous) 24byte header that tells about @@ -5330,7 +5580,8 @@ @end quotation @node Q5.3.1, Q5.3.2, Q5.2.4, Miscellaneous -@section How do you make XEmacs indent CL if-clauses correctly? +@unnumberedsec Miscellaneous +@unnumberedsubsec Q5.3.1: How do you make XEmacs indent CL if-clauses correctly? I'd like XEmacs to indent all the clauses of a Common Lisp @code{if} the same amount instead of indenting the 3rd clause differently from the @@ -5366,7 +5617,7 @@ any indent-functions. @node Q5.3.2, Q5.3.3, Q5.3.1, Miscellaneous -@section Fontifying hang when editing a postscript file. +@unnumberedsubsec Q5.3.2: Fontifying hang when editing a postscript file. When I try to edit a postscript file it gets stuck saying: @samp{fontifying 'filename' (regexps....)} and it just sits there. If I @@ -5386,17 +5637,17 @@ files anymore. @node Q5.3.3, Q5.3.4, Q5.3.2, Miscellaneous -@section How can I print WYSIWYG a font-locked buffer? +@unnumberedsubsec Q5.3.3: How can I print WYSIWYG a font-locked buffer? Font-lock looks nice. How can I print (WYSIWYG) the highlighted document? The package @code{ps-print}, which is now included with XEmacs, provides the ability to do this. The source code contains complete instructions -on its use, in @file{<xemacs_src_root>/lisp/packages/ps-print.el}. +on its use, in @file{@email{xemacs_src_root}/lisp/packages/ps-print.el}. @node Q5.3.4, Q5.3.5, Q5.3.3, Miscellaneous -@section Getting @kbd{M-x lpr} to work with postscript printer. +@unnumberedsubsec Q5.3.4: Getting @kbd{M-x lpr} to work with postscript printer. My printer is a Postscript printer and @code{lpr} only works for Postscript files, so how do I get @kbd{M-x lpr-region} and @kbd{M-x @@ -5414,7 +5665,7 @@ versions of a2ps require a @samp{-Pprinter} to ensure spooling. @node Q5.3.5, Q5.3.6, Q5.3.4, Miscellaneous -@section How do I specify the paths that XEmacs uses for finding files? +@unnumberedsubsec Q5.3.5: How do I specify the paths that XEmacs uses for finding files? You can specify what paths to use by using a number of different flags when running configure. See the section MAKE VARIABLES in the top-level @@ -5429,12 +5680,12 @@ file. @node Q5.3.6, Q5.3.7, Q5.3.5, Miscellaneous -@section [This question intentionally left blank] +@unnumberedsubsec Q5.3.6: [This question intentionally left blank] Obsolete question, left blank to avoid renumbering. @node Q5.3.7, Q5.3.8, Q5.3.6, Miscellaneous -@section Can I have the end of the buffer delimited in some way? +@unnumberedsubsec Q5.3.7: Can I have the end of the buffer delimited in some way? Say, with: @samp{[END]}? @@ -5444,7 +5695,7 @@ (let ((ext (make-extent (point-min) (point-max)))) (set-extent-property ext 'start-closed t) (set-extent-property ext 'end-closed t) - (set-extent-property ext 'detachable nil) + (set-extent-property ext 'detachable nil) (set-extent-end-glyph ext (make-glyph [string :data "[END]"]))) @end lisp @@ -5465,7 +5716,7 @@ (let ((ext (make-extent (point-min) (point-max)))) (set-extent-property ext 'start-closed t) (set-extent-property ext 'end-closed t) - (set-extent-property ext 'detachable nil) + (set-extent-property ext 'detachable nil) (set-extent-end-glyph ext (make-glyph '([xpm :data "\ /* XPM */ static char* eye = @{ @@ -5477,17 +5728,17 @@ \"_c c #fefe00\", \"_d c #fe0000\", \"_e c #bfbfbf\", -\"___________`_`_`___b_b_b_b_________`____\", -\"_________`_`_`___b_c_c_c_b_b____________\", -\"_____`_`_`_e___b_b_c_c_c___b___b_______`\", -\"___`_`_e_a___b_b_d___b___b___b___b______\", -\"_`_`_e_a_e___b_b_d_b___b___b___b___b____\", -\"_`_`_a_e_a___b_b_d___b___b___b___b___b__\", -\"_`_`_e_a_e___b_b_d_b___b___b___b___b_b__\", -\"___`_`_e_a___b_b_b_d_c___b___b___d_b____\", -\"_____`_`_e_e___b_b_b_d_c___b_b_d_b______\", -\"_`_____`_`_`_`___b_b_b_d_d_d_d_b________\", -\"___`_____`_`_`_`___b_b_b_b_b_b__________\", +\"___________`_`_`___b_b_b_b_________`____\", +\"_________`_`_`___b_c_c_c_b_b____________\", +\"_____`_`_`_e___b_b_c_c_c___b___b_______`\", +\"___`_`_e_a___b_b_d___b___b___b___b______\", +\"_`_`_e_a_e___b_b_d_b___b___b___b___b____\", +\"_`_`_a_e_a___b_b_d___b___b___b___b___b__\", +\"_`_`_e_a_e___b_b_d_b___b___b___b___b_b__\", +\"___`_`_e_a___b_b_b_d_c___b___b___d_b____\", +\"_____`_`_e_e___b_b_b_d_c___b_b_d_b______\", +\"_`_____`_`_`_`___b_b_b_d_d_d_d_b________\", +\"___`_____`_`_`_`___b_b_b_b_b_b__________\", @} ;"] [string :data "[END]"])))) @end lisp @@ -5496,7 +5747,7 @@ We leave that as an exercise for the reader. @node Q5.3.8, Q5.3.9, Q5.3.7, Miscellaneous -@section How do I insert today's date into a buffer? +@unnumberedsubsec Q5.3.8: How do I insert today's date into a buffer? Like this: @@ -5505,9 +5756,9 @@ @end lisp @node Q5.3.9, Q5.3.10, Q5.3.8, Miscellaneous -@section Are only certain syntactic character classes available for abbrevs? - -Markus Gutschke <gutschk@@uni-muenster.de> writes: +@unnumberedsubsec Q5.3.9: Are only certain syntactic character classes available for abbrevs? + +@email{gutschk@@uni-muenster.de, Markus Gutschke} writes: @quotation Yes, abbrevs only expands word-syntax strings. While XEmacs does not @@ -5525,11 +5776,11 @@ Starting with XEmacs 20.3 this restriction has been lifted. @node Q5.3.10, Q5.3.11, Q5.3.9, Miscellaneous -@section How can I get those oh-so-neat X-Face lines? +@unnumberedsubsec Q5.3.10: How can I get those oh-so-neat X-Face lines? Firstly there is an ftp site which describes X-faces and has the associated tools mentioned below, at -<URL:ftp://ftp.cs.indiana.edu:/pub/faces/>. +@uref{ftp://ftp.cs.indiana.edu:/pub/faces/}. Then the steps are @@ -5550,7 +5801,11 @@ Then be sure to quote things that are necessary for emacs strings: @example -cat ./file.face | sed 's/\\/\\\\/g' | sed 's/\"/\\\"/g' > ./file.face.quoted +cat ./file.face | sed 's/\\/\\\\/g' +@iftex +\ @* +@end iftex +| sed 's/\"/\\\"/g' > ./file.face.quoted @end example @item @@ -5558,15 +5813,15 @@ couple of suggestions here---either something like: @lisp -(setq mail-default-headers - "X-Face: <Ugly looking text string here>") +(setq mail-default-headers + "X-Face: @email{Ugly looking text string here}") @end lisp Or, alternatively, as: @lisp (defun mail-insert-x-face () - (save-excursion + (save-excursion (goto-char (point-min)) (search-forward mail-header-separator) (beginning-of-line) @@ -5590,34 +5845,34 @@ Some people have also found that if one uses the @code{(insert-file)} method, one should NOT quote the face string using the sed script . -It might also be helpful to use Stig's <stig@@hackvan.com> script +It might also be helpful to use @email{stig@@hackvan.com, Stig's} script (included in the compface distribution at XEmacs.org) to do the conversion. For convenience xbm2xface is available for anonymous FTP at -<URL:ftp://ftp.miranova.com/pub/xemacs/xbm2xface.pl>. +@uref{ftp://ftp.miranova.com/pub/xemacs/xbm2xface.pl}. Contributors for this item: -Paul Emsley, +Paul Emsley, Ricardo Marek, Amir J. Katz, Glen McCort, -Heinz Uphoff, +Heinz Uphoff, Peter Arius, Paul Harrison, and Vegard Vesterheim @node Q5.3.11, Q5.3.12, Q5.3.10, Miscellaneous -@section How do I add new Info directories? +@unnumberedsubsec Q5.3.11: How do I add new Info directories? You use something like: @lisp -(setq Info-directory-list (cons - (expand-file-name "~/info") - Info-default-directory-list)) +(setq Info-directory-list (cons + (expand-file-name "~/info") + Info-default-directory-list)) @end lisp -David Masterson <davidm@@prism.kla.com> writes: +@email{davidm@@prism.kla.com, David Masterson} writes: @quotation Emacs Info and XEmacs Info do many things differently. If you're trying to @@ -5651,7 +5906,7 @@ @end quotation @node Q5.3.12, , Q5.3.11, Miscellaneous -@section What do I need to change to make printing work? +@unnumberedsubsec Q5.3.12: What do I need to change to make printing work? For regular printing there are two variables that can be customized. @@ -5695,7 +5950,7 @@ window system environment. It cannot be used outside of X11. @node Current Events, , Miscellaneous, Top -@chapter What the Future Holds +@unnumbered 6 What the Future Holds This is part 6 of the XEmacs Frequently Asked Questions list. This section will change monthly, and contains any interesting items that have @@ -5706,11 +5961,13 @@ @menu * Q6.0.1:: What is new in 20.2? * Q6.0.2:: What is new in 20.3? -* Q6.0.3:: Procedural changes in XEmacs development. +* Q6.0.3:: What is new in 20.4? +* Q6.0.4:: Procedural changes in XEmacs development. @end menu @node Q6.0.1, Q6.0.2, Current Events, Current Events -@section What is new in 20.2? +@unnumberedsec Changes +@unnumberedsubsec Q6.0.1: What is new in 20.2? The biggest changes in 20.2 include integration of EFS (the next generation of ange-ftp) and AUC Tex (the Emacs subsystem that includes a @@ -5723,7 +5980,7 @@ considered unstable. @node Q6.0.2, Q6.0.3, Q6.0.1, Current Events -@section What is new in 20.3? +@unnumberedsubsec Q6.0.2: What is new in 20.3? XEmacs 20.3 was released in November 1997. It contains many bugfixes, and a number of new features, including Autoconf 2 based configuration, @@ -5742,20 +5999,31 @@ XEmacs 20.3 is the first non-beta v20 release, and will be the basis for all further development. -@node Q6.0.3, , Q6.0.2, Current Events -@section Procedural changes in XEmacs development. +@node Q6.0.3, Q6.0.4, Q6.0.2, Current Events +@unnumberedsubsec Q6.0.3: What's new in XEmacs 20.4? + +XEmacs 20.4 is a bugfix release with no user-visible changes. +@c Filled in from NEWS file of 20.5-b33 + + +@node Q6.0.4, , Q6.0.3, Current Events +@unnumberedsubsec Q6.0.4: Procedural changes in XEmacs development. @enumerate @item Discussion about the development of XEmacs occurs on the xemacs-beta mailing list. Subscriptions to this list will now be fully automated instead of being handled by hand. Send a mail message to -<xemacs-beta-request@@xemacs.org> with a subject of subscribe to join +@email{xemacs-beta-request@@xemacs.org} with a subject of subscribe to join the list. Please note this is a developers mailing list for people who have an active interest in the development process. The discussion of NT XEmacs development is taking place on a separate -mailing list. Send mail to <xemacs-nt-request@@xemacs.org> to +mailing list. Send mail to +@iftex +@* +@end iftex +@email{xemacs-nt-request@@xemacs.org} to subscribe. @item @@ -5767,7 +6035,7 @@ the collected bugfixes. @item -As of December 1996, Steve Baur <steve@@altair.xemacs.org> has become +As of December 1996, @email{steve@@altair.xemacs.org, Steve Baur} has become the lead maintainer of XEmacs. @end enumerate
--- a/nt/ChangeLog Mon Aug 13 10:28:54 2007 +0200 +++ b/nt/ChangeLog Mon Aug 13 10:29:42 2007 +0200 @@ -1,3 +1,39 @@ +1998-04-10 Kirill M. Katsnelson <kkm@kis.ru> + + * config.h: Do not USE_ASSERTION when DEBUG_XEMACS is not + defined. + + * xemacs.mak: Added new file process-nt.c + +1998-04-07 Kirill M. Katsnelson <kkm@kis.ru> + + * xemacs.mak: Added build options which can be defined in nmake + command line (defaults are parentheses): + HAVE_MSW=0/1 (0) Build with native GUI + HAVE_X=0/1 (0) Build with X-Windows + ** At least one must be defined + X11_DIR=path () Path to the root dir of X11R6 installation + ** Must be defined when HAVE_X=1 + HAVE_MULE=0/1 (0) Compile in MULE + HAVE_MSW_C_DIRED=0/1(1) Compile in fast dired + PATH_PACKAGEPATH=path Package search path + ("~/.xemacs") + DEBUG_XEMACS=0/1 (1) Compile with symbols, assertions and + extra debugging checks + USE_UNION_TYPE=0/1 (0) + USE_MINIMAL_TAGBITS=0/1 (0) + USE_INDEXED_LRECORD_IMPLEMENTATION=0/1 (0) + GUNG_HO=0/1 (none) When specified, overrides the above two. + : Added output of a configuration report + : Added copyright notice. + : Deleted remains of ImageMagick. + (distclean): Do not use mskedepend + (install): echo "Not yet implmented". + +1998-04-05 Kirill M. Katsnelson <kkm@kis.ru> + + * config.h (enum_field): Borrow new definition from config.h.in + 1998-04-01 Kirill M. Katsnelson <kkm@kis.ru> * config.h: Patial sync-up with config.h.in
--- a/nt/config.h Mon Aug 13 10:28:54 2007 +0200 +++ b/nt/config.h Mon Aug 13 10:29:42 2007 +0200 @@ -311,6 +311,8 @@ #define LOWTAGS +#ifdef DEBUG_XEMACS + /* Define USE_ASSERTIONS if you want the abort() to be changed to assert() If the assertion fails, assert_failed() will be called. This is recommended for general use because it gives more info about the crash @@ -318,12 +320,6 @@ or have limited core dumps out of existence. */ #define USE_ASSERTIONS -/* Define one or more of the following if you want lots of extra checks - (e.g. structure validation) compiled in. These should be turned - on during the beta-test cycle. */ - -#ifdef DEBUG_XEMACS - /* Check the entire extent structure of a buffer each time an extent change is done, and do other extent-related checks. */ #define ERROR_CHECK_EXTENTS @@ -344,10 +340,6 @@ #endif /* DEBUG_XEMACS */ -/* Define DEBUG_XEMACS if you want extra debugging code compiled in. - This is mainly intended for use by developers. */ -/* #define DEBUG_XEMACS 0 */ - /* Define MEMORY_USAGE_STATS if you want extra code compiled in to determine where XEmacs's memory is going. */ #undef MEMORY_USAGE_STATS @@ -649,6 +641,8 @@ #endif /* compiler understands #pragma warning*/ +#define enum_field(enumeration_type) enum enumeration_type + /* We want to avoid saving the signal mask if possible, because that necessitates a system call. */ #ifdef HAVE_SIGSETJMP
--- a/nt/xemacs.mak Mon Aug 13 10:28:54 2007 +0200 +++ b/nt/xemacs.mak Mon Aug 13 10:29:42 2007 +0200 @@ -1,18 +1,118 @@ +# Makefile for Microsoft NMAKE +# Copyright (C) 1995 Board of Trustees, University of Illinois. +# Copyright (C) 1995, 1996 Ben Wing. +# Copyright (C) 1995 Sun Microsystems, Inc. +# Copyright (C) 1998 Free Software Foundation, Inc. +# +# 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. +# + XEMACS=.. LISP=$(XEMACS)\lisp -PATH_PACKAGEPATH="~/.xemacs;;d:/src/xemacs/packages" + +# +# Command line options defaults +# +!if !defined(PATH_PACKAGEPATH) +PATH_PACKAGEPATH="~/.xemacs" +!endif +!if !defined(HAVE_MSW) +HAVE_MSW=0 +!endif +!if !defined(HAVE_X) HAVE_X=0 -HAVE_MSW=1 - +!endif +!if !defined(HAVE_MULE) HAVE_MULE=0 -HAVE_IMAGEMAGICK=0 +!endif +!if !defined(HAVE_MSW_C_DIRED) +HAVE_MSW_C_DIRED=1 +!endif +!if !defined(DEBUG_XEMACS) +DEBUG_XEMACS=1 +!endif +!if !defined(USE_UNION_TYPE) +USE_UNION_TYPE=0 +!endif +!if !defined(USE_MINIMAL_TAGBITS) +USE_MINIMAL_TAGBITS=0 +!endif +!if !defined(USE_INDEXED_LRECORD_IMPLEMENTATION) +USE_INDEXED_LRECORD_IMPLEMENTATION=0 +!endif -DEBUG_XEMACS=1 +# +# Conf error checks +# +!if !$(HAVE_MSW) && !$(HAVE_X) +!error Please specify at least one HAVE_MSW=1 and/or HAVE_X=1 +!endif +!if $(HAVE_X) && !defined(X11_DIR) +!error Please specify root directory for your X11 installation: X11_DIR=path +!endif + +# +# Handle GUNG_HO +# +!if defined(GUNG_HO) +USE_MINIMAL_TAGBITS=$(GUNG_HO) +USE_INDEXED_LRECORD_IMPLEMENTATION=$(GUNG_HO) +!endif +# +# Small configuration report +# +!if !defined(CONF_REPORT_ALREADY_PRINTED) +!if [set CONF_REPORT_ALREADY_PRINTED=1] +!endif +!message ------------------------------------------------ +!if $(HAVE_MSW) +!message Compiling in support for native GUI. +!endif +!if $(HAVE_X) +!message Compiling in support for X-Windows. +!endif +!if $(HAVE_MULE) +!message Compiling in MULE. +!endif +!if $(HAVE_MSW_C_DIRED) # Define HAVE_MSW_C_DIRED to be non-zero if you want Xemacs to use C # primitives to significantly speed up dired, at the expense of an # additional ~4KB of code. -HAVE_MSW_C_DIRED=1 +!message Compiling in fast dired implementation. +!endif +!if $(USE_MINIMAL_TAGBITS) +!message Using minimal tagbits. +!endif +!if $(USE_INDEXED_LRECORD_IMPLEMENTATION) +!message Using indexed lrecord implementation. +!endif +!if $(USE_UNION_TYPE) +!message Using union type for Lisp object storage. +!endif +!if $(DEBUG_XEMACS) +!message Compiling in extra debug checks. XEmacs will be slow! +!endif +!message ------------------------------------------------ +!message +!endif # !defined(CONF_REPORT_ALREADY_PRINTED) !if $(DEBUG_XEMACS) OPT=-Od -Zi @@ -22,22 +122,10 @@ WARN_CPP_FLAGS = -W3 -#------------------------------------------------------------------------------ - !if $(HAVE_X) - -X11R6=h:\utils\X11R6 - -!if $(HAVE_IMAGEMAGICK) -MAGICK=e:\utils\ImageMagick - -MAGICK_INCLUDES=-I$(MAGICK)\Magick -MAGICK_LIBS=Magick.dll.lib -!endif - X_DEFINES=-DHAVE_X_WINDOWS -X_INCLUDES=-I$(X11R6)\include $(MAGICK_INCLUDES) -X_LIBS=$(MAGICK_LIBS) Xaw.lib Xmu.lib Xt.lib SM.lib ICE.lib Xext.lib X11.lib +X_INCLUDES=-I$(X11_DIR)\include +X_LIBS=-libpath:$(X11_DIR)\lib Xaw.lib Xmu.lib Xt.lib SM.lib ICE.lib Xext.lib X11.lib !endif !if $(HAVE_MSW) @@ -60,9 +148,6 @@ !include "..\version.sh" -# Nothing should need to be edited below this point. -#------------------------------------------------------------------------------ - # Generic variables INCLUDES=$(X_INCLUDES) -I$(XEMACS)\nt\inc -I$(XEMACS)\src -I$(XEMACS)\lwlib -I"$(MSVCDIR)\include" @@ -242,6 +327,7 @@ $(XEMACS)\src\opaque.c \ $(XEMACS)\src\print.c \ $(XEMACS)\src\process.c \ + $(XEMACS)\src\process-nt.c \ $(XEMACS)\src\profile.c \ $(XEMACS)\src\pure.c \ $(XEMACS)\src\rangetab.c \ @@ -497,6 +583,7 @@ $(OUTDIR)\opaque.obj \ $(OUTDIR)\print.obj \ $(OUTDIR)\process.obj \ + $(OUTDIR)\process-nt.obj \ $(OUTDIR)\profile.obj \ $(OUTDIR)\pure.obj \ $(OUTDIR)\rangetab.obj \ @@ -607,10 +694,9 @@ # use this rule to install the system install: + echo Not yet implemented. -# The last line demands that you have a semi-decent shell distclean: - -mkdepend -f xemacs.mak del *.bak del *.orig del *.rej
--- a/src/ChangeLog Mon Aug 13 10:28:54 2007 +0200 +++ b/src/ChangeLog Mon Aug 13 10:29:42 2007 +0200 @@ -1,3 +1,229 @@ +1998-04-10 Kirill M. Katsnelson <kkm@kis.ru> + + * callproc.c (init_callproc): Correctly initialize + `shell-file-name' for WINDOWSNT + + * emacs.c (main_1): Properly called new functions (see symsinit.h + entry for which). + + * event-msw.c (struct ntpipe_slurp_stream): + (slurp_thread): + (make_ntpipe_input_stream): + (get_ntpipe_input_stream_waitable): + (get_ntpipe_input_stream_param): + (ntpipe_slurp_reader): + (ntpipe_slurp_closer): + (init_slurp_stream): Win32 pipe input stream implementation. + (struct ntpipe_shove_stream): + (shove_thread): + (make_ntpipe_output_stream): + (get_ntpipe_output_stream_param): + (ntpipe_shove_writer): + (ntpipe_shove_was_blocked_p): + (ntpipe_shove_flusher): + (ntpipe_shove_closer): + (init_shove_stream): Win32 pipe output stream implementation. + (mswindows_enqueue_process_event): Dispatch helper. + (find_waitable_handle): + (add_waitable_handle): + (remove_waitable_handle): New three, waitable handles handling. + (mswindows_need_event_in_modal_loop): Simplified. + (mswindows_need_event): Simplified. + (mswindows_need_event): Generate process events on process output; + kick status_notify when a process ends. + (mswindows_find_console): Simplified. + (emacs_mswindows_event_pending_p): Adjusted parameters to + mswindows_need_event(). + (emacs_mswindows_next_event): Ditto. + (get_process_input_waitable): + (get_process_handle): Process select/unselect helpers. + (emacs_mswindows_select_process): Implemented. + (emacs_mswindows_unselect_process): Implemented. + (emacs_mswindows_quit_p): Call mswindows_drain_windows_queue() + directly so do not even try do dequeue process events. Saved a + byte and a tick. + (emacs_mswindows_create_stream_pair): Implemented. + (emacs_mswindows_delete_stream_pair): Implemented. + (vars_of_event_mswindows): Registered the above two. + (lstream_type_create_mswindows_selectable): Function called from + emacs.c to create two pipe lstream types. + + * ntproc.c (sys_select): Disgustful brain fart this file is. + + * process-nt.c: New file: Asynchronous subprocess implemenation + for Win32. + + * process.h: Declare Fprocess_id(). + + * signal.c (init_signals_very_early): Conditionalize possibly + nonexistent signals. + + * symsinit.h: Declared: + lstream_type_create_mswindows_selectable () + process_type_create_nt () + vars_of_process_nt () + + * s/windowsnt.h: Defined HAVE_WIN32_PROCESSES. + Removed fake SIGTRAP, SIGPIPE and SIGCHLD. + +1998-04-10 Martin Buchholz <martin@xemacs.org> + + * fns.c (Fnthcdr): + Most times through the loop will get a cons, so optimize for that. + + * bytecode.c (Fbyte_code): Remove '91 vintage compiler bug workaround. + Add NATNUMP check for Bnth bytecode. + Bnth: Optimize case of n > length (list). + QUITs not necessary since even if list is circular, n will count + down to 0. + Bnthcdr: inline the code for nthcdr (we have a bytecode for it, + after all) + Bcdr, Bcar: Use tail recursion. + +1998-04-10 Hrvoje Niksic <hniksic@srce.hr> + + * redisplay.c (redisplay_window): Don't lose with negative + scroll_step. + +1998-04-09 Hrvoje Niksic <hniksic@srce.hr> + + * fileio.c (Fmake_temp_name): Don't use `+' in generated file + names. + (Fmake_temp_name): Randomize the initial values of counters. + +1998-04-07 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * Makefile.in.in: paths.h.in is now generated from paths.h.in.in. + + * emacs.c (decode_path): Removed parsing of "::" into nil component. + +1998-04-09 Martin Buchholz <martin@xemacs.org> + + * lstream.c (make_filedesc_stream_1): Fix another Martin blooper. + +1998-04-07 SL Baur <steve@altair.xemacs.org> + + * emacs.c (Fdump_emacs): Delete superfluous open comment. + +1998-04-06 SL Baur <steve@altair.xemacs.org> + + * emacs.c (Fdump_emacs): Move call to disable_free_hook back to + Fdump_emacs where it belongs. + +1998-04-07 Kirill M. Katsnelson <kkm@kis.ru> + + * nt.c (sys_mkdir): Added the second unused parameter, after UNIX + version. Suggested by Martin. + +1998-04-07 Kirill M. Katsnelson <kkm@kis.ru> + + * event-msw.c (mswindows_wnd_proc): Fix member access macro names. + + * frame-msw.c (mswindows_frame_property): + (mswindows_internal_frame_property_p): + (mswindows_frame_properties): Implemented for the 'left and 'top + properties. + (console_type_create_frame_mswindows): Regsitered the above. + (mswindows_set_title_from_bufbyte): Update title only if it has + really changed. This avoids a bit of flashing. + + * console-msw.h (FRAME_MSWINDOWS_TITLE_CHECKSUM): To update title + smoother. + (MSWINDOWS_FRAME_*(f)): Were MSWINDOWS_FRAME_*(f). Eeek! + +1998-04-06 Kazuyuki IENAGA <ienaga@jsys.co.jp> + + * unexfreebsd.c: introduce FreeBSD port's patch to avoid + FreeBSD-current warns "Absurd new brk addr". + +1998-04-06 Colin Rafferty <colin@xemacs.org> + + * glyphs-x.c (struct gif_error_struct): Made the err_str point to + a CONST char* instead of non-const. + (tiff_memory_write): Add fake return statement to shut up warnings. + +1998-04-06 Hrvoje Niksic <hniksic@srce.hr> + + * fileio.c (Finsert_file_contents_internal): Correctly handle + special files larger than 32K. + +1998-04-06 Hrvoje Niksic <hniksic@srce.hr> + + * fileio.c (Fmake_temp_name): Don't call mktemp(). + +1998-04-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> + + * unexelf.c: include <config.h> first. + +1998-04-04 Martin Buchholz <martin@xemacs.org> + + * sysdep.c: Add #include <sys/termio.h> for AIXHFT as suggested + on c.e.x. + + * nt.c: + * ntproc.c: + Change "config.h" to <config.h>. Add dire warnings to code since + config.h is not included first. + + * powerpc.h: Avoid redefinition warning on START_FILES. + + * window.c: Rename Vminibuf_scroll_window to Vminibuffer_scroll_window. + * hpplay.c: Rename play_gain to hp_play_gain in accordance with + coding standards. + + * frame-x.c (x_lower_frame): + (x_raise_frame_1): Clarify code. Save a nanosecond if frame not + visible. + + * fileio.c (Fmake_temp_name): Use static CONST suffix; save a + nanosecond. + +1998-04-05 Amir J. Katz <amir@ndsoft.com> + + * sysproc.h: Added #include <sys/types.h> before <sys/socket.h> + otherwise callproc.c does not compile on SunOS 4.1.4 with gcc 2.8.1 + + * sysdep.h: strerror() does not return CONST in gcc 2.8.1 + +1998-04-05 Hrvoje Niksic <hniksic@srce.hr> + + * redisplay.c (generate_fstring_runes): Grok specifiers and + symbols indirecting to specifiers. + +1998-04-06 Olivier Galibert <galibert@pobox.com> + + * events.c (print_event): XINT() may return a long. + + * insdel.c (make_gap): Thou shan't cast EMACS_INT_MAX to int. + (buffer_insert_string_1): ditto. + + * regex.c (print_partial_compiled_pattern): Neither EMACS_INTs nor + ptrdiff_t are portably printable as an int. + + * redisplay.c (window_line_number): Don't assume that an EMACS_INT + in an int. + + * alloc.c (report_pure_usage): Don't assume that a size_t is + displayable as an int. + +1998-04-06 SL Baur <steve@altair.xemacs.org> + + * process-unix.c: Fix typo in #ifdef. + From Hrvoje Niksic <hniksic@srce.hr> + +1998-04-06 Olivier Galibert <galibert@pobox.com> + + * unexelfsgi.c (unexec): Don't treat the sbss section as bss if it + isn't one. Needed for irix 6.5. + +1998-04-05 Martin Buchholz <martin@xemacs.org> + + * sysdep.h: Two prototypes that weren't properly size_t'ed + +1998-04-04 Martin Buchholz <martin@xemacs.org> + + * ralloc.c: mallopt <==> malloc.h. + 1998-04-04 Martin Buchholz <martin@xemacs.org> * emacs.c: #include <paths.h>, not "paths.h"
--- a/src/Makefile.in.in Mon Aug 13 10:28:54 2007 +0200 +++ b/src/Makefile.in.in Mon Aug 13 10:29:42 2007 +0200 @@ -42,8 +42,6 @@ srcdir=@srcdir@ blddir=@blddir@ version=@version@ -infodir=@infodir@ -infopath=@infopath@ CC=@CC@ CPP=@CPP@ CFLAGS=@CFLAGS@ @@ -265,7 +263,11 @@ all: ${other_files} # endif /* EXTERNAL_WIDGET */ -X11_objs = EmacsFrame.o EmacsShell.o TopLevelEmacsShell.o TransientEmacsShell.o EmacsManager.o $(external_widget_objs) +# if defined (HAVE_OFFIX_DND) || defined (HAVE_CDE) +dnd_objs = @dnd_objs@ +# endif /* HAVE_OFFIX_DND || HAVE_CDE */ + +X11_objs = EmacsFrame.o EmacsShell.o TopLevelEmacsShell.o TransientEmacsShell.o EmacsManager.o $(external_widget_objs) $(dnd_objs) #endif /* HAVE_X_WINDOWS */ ## define otherobjs as list of object files that make-docfile @@ -583,7 +585,6 @@ config.h: ${srcdir}/config.h.in puresize-adjust.h: ${srcdir}/puresize.h -paths.h: ${srcdir}/paths.h.in Emacs.ad.h: ${srcdir}/${etcdir}Emacs.ad config.h puresize-adjust.h sheap-adjust.h paths.h Emacs.ad.h : @@ -657,7 +658,7 @@ ## This is used in making a distribution. ## Do not use it on development directories! distclean: clean - $(RM) config.h paths.h Emacs.ad.h \ + $(RM) config.h paths.h paths.h.in Emacs.ad.h \ Makefile Makefile.in TAGS xemacs.* realclean: distclean versionclean: @@ -666,7 +667,7 @@ $(RM) *~ \#* m/*~ m/\#* s/*~ s/\#* .PHONY : lock unlock -SOURCES = *.[chm] *.pswm [sm]/* COPYING paths.h.in Makefile.in.in \ +SOURCES = *.[chm] *.pswm [sm]/* COPYING paths.h.in.in Makefile.in.in \ config.h.in README COPYING ChangeLog unlock: chmod u+w $(SOURCES)
--- a/src/alloc.c Mon Aug 13 10:28:54 2007 +0200 +++ b/src/alloc.c Mon Aug 13 10:29:42 2007 +0200 @@ -2969,7 +2969,7 @@ (long) get_PURESIZE(), (int) (pure_bytes_used / (get_PURESIZE() / 100.0) + 0.5)); if (lost > ((slop ? slop : 1) / 1024)) { - sprintf (buf + strlen (buf), " -- %dk wasted", lost); + sprintf (buf + strlen (buf), " -- %ldk wasted", (long)lost); if (die_if_pure_storage_exceeded) { puresize_adjust_h (pure_bytes_used + slop); #ifdef HEAP_IN_DATA
--- a/src/bytecode.c Mon Aug 13 10:28:54 2007 +0200 +++ b/src/bytecode.c Mon Aug 13 10:29:42 2007 +0200 @@ -246,10 +246,7 @@ /* Push x onto the execution stack. */ -/* This used to be #define PUSH(x) (*++stackp = (x)) - This oddity is necessary because Alliant can't be bothered to - compile the preincrement operator properly, as of 4/91. -JimB */ -#define PUSH(x) (stackp++, *stackp = (x)) +#define PUSH(x) (*++stackp = (x)) /* Pop a value off the execution stack. */ @@ -597,20 +594,25 @@ v1 = POP; v2 = TOP; /* nth_entry: */ - CHECK_INT (v2); - op = XINT (v2); - while (--op >= 0) + CHECK_NATNUM (v2); + for (op = XINT (v2); op; op--) { if (CONSP (v1)) v1 = XCDR (v1); - else if (!NILP (v1)) + else if (NILP (v1)) + { + TOP = Qnil; + goto Bnth_done; + } + else { v1 = wrong_type_argument (Qlistp, v1); op++; } - QUIT; } goto docar; + Bnth_done: + break; case Bsymbolp: TOP = SYMBOLP (TOP) ? Qt : Qnil; @@ -657,14 +659,23 @@ docar: if (CONSP (v1)) TOP = XCAR (v1); else if (NILP (v1)) TOP = Qnil; - else Fcar (wrong_type_argument (Qlistp, v1)); + else + { + TOP = wrong_type_argument (Qlistp, v1); + goto docar; + } break; case Bcdr: v1 = TOP; + docdr: if (CONSP (v1)) TOP = XCDR (v1); else if (NILP (v1)) TOP = Qnil; - else Fcdr (wrong_type_argument (Qlistp, v1)); + else + { + TOP = wrong_type_argument (Qlistp, v1); + goto docdr; + } break; case Bcons: @@ -1051,7 +1062,21 @@ case Bnthcdr: v1 = POP; - TOP = Fnthcdr (TOP, v1); + v2 = TOP; + CHECK_NATNUM (v2); + for (op = XINT (v2); op; op--) + { + if (CONSP (v1)) + v1 = XCDR (v1); + else if (NILP (v1)) + break; + else + { + v1 = wrong_type_argument (Qlistp, v1); + op++; + } + } + TOP = v1; break; case Belt:
--- a/src/callproc.c Mon Aug 13 10:28:54 2007 +0200 +++ b/src/callproc.c Mon Aug 13 10:29:42 2007 +0200 @@ -881,9 +881,13 @@ */ if (sh) { +#if 0 /* This breaks everything -kkm */ tem = (char *) alloca (strlen (sh) + 1); dostounix_filename (strcpy (tem, sh)); Vshell_file_name = build_string (tem); +#else + Vshell_file_name = build_string (sh); +#endif } /* ** Odd, no COMSPEC, so let's default to our @@ -891,7 +895,7 @@ */ else { - Vshell_file_name = build_string ("/WINNT/system32/cmd.exe"); + Vshell_file_name = build_string ("\\WINNT\\system32\\cmd.exe"); } } #else /* not WINDOWSNT */
--- a/src/config.h.in Mon Aug 13 10:28:54 2007 +0200 +++ b/src/config.h.in Mon Aug 13 10:29:42 2007 +0200 @@ -739,7 +739,7 @@ bitfield. In practice, we would like to use enums as bitfields. The following should just result in warning avoidance: warning: nonportable bit-field type */ -#if !(defined (__SUNPRO_C) && __STDC__ == 1) +#ifdef __GNUC__ #define enum_field(enumeration_type) enum enumeration_type #else #define enum_field(enumeration_type) unsigned int
--- a/src/console-msw.h Mon Aug 13 10:28:54 2007 +0200 +++ b/src/console-msw.h Mon Aug 13 10:29:42 2007 +0200 @@ -126,6 +126,9 @@ /* Menu checksum. See menubar-msw.c */ unsigned int menu_checksum; + /* Frame title hash value. See frame-msw.c */ + unsigned int title_checksum; + /* Real character width and height of the frame. FRAME_{HEIGHT,WIDTH} do not work for pixel geometry! */ int charheight, charwidth; @@ -146,8 +149,9 @@ #define FRAME_MSWINDOWS_CDC(f) (FRAME_MSWINDOWS_DATA (f)->cdc) #define FRAME_MSWINDOWS_MENU_HASHTABLE(f) (FRAME_MSWINDOWS_DATA (f)->menu_hashtable) #define FRAME_MSWINDOWS_MENU_CHECKSUM(f) (FRAME_MSWINDOWS_DATA (f)->menu_checksum) -#define MSWINDOWS_FRAME_CHARWIDTH(f) (FRAME_MSWINDOWS_DATA (f)->charwidth) -#define MSWINDOWS_FRAME_CHARHEIGHT(f) (FRAME_MSWINDOWS_DATA (f)->charheight) +#define FRAME_MSWINDOWS_TITLE_CHECKSUM(f) (FRAME_MSWINDOWS_DATA (f)->title_checksum) +#define FRAME_MSWINDOWS_CHARWIDTH(f) (FRAME_MSWINDOWS_DATA (f)->charwidth) +#define FRAME_MSWINDOWS_CHARHEIGHT(f) (FRAME_MSWINDOWS_DATA (f)->charheight) /* Frame check and validation macros */ #define FRAME_MSWINDOWS_P(frm) CONSOLE_TYPESYM_MSWINDOWS_P (FRAME_TYPE (frm))
--- a/src/depend Mon Aug 13 10:28:54 2007 +0200 +++ b/src/depend Mon Aug 13 10:29:42 2007 +0200 @@ -1,15 +1,20 @@ ## This file automatically generated by make-src-depend. Do not modify. -LISP_H = lisp.h config.h lrecord.h lisp-disunion.h lisp-union.h symsinit.h symeval.h +#ifdef USE_UNION_TYPE +LISP_UNION_H=lisp-union.h +#else +LISP_UNION_H=lisp-disunion.h +#endif +LISP_H = lisp.h config.h lrecord.h symeval.h symsinit.h $(LISP_UNION_H) #ifdef HAVE_MS_WINDOWS console-msw.o: $(LISP_H) conslots.h console-msw.h console.h events.h opaque.h systime.h device-msw.o: $(LISP_H) buffer.h bufslots.h conslots.h console-msw.h console-stream.h console.h device.h events.h faces.h frame.h frameslots.h mule-charset.h scrollbar.h specifier.h sysdep.h systime.h toolbar.h dired-msw.o: $(LISP_H) buffer.h bufslots.h msdos.h mule-charset.h ndir.h nt.h regex.h sysdir.h sysfile.h event-msw.o: $(LISP_H) conslots.h console-msw.h console.h device.h events-mod.h events.h frame.h frameslots.h menubar-msw.h process.h redisplay.h scrollbar-msw.h scrollbar.h specifier.h sysproc.h systime.h syswait.h toolbar.h -frame-msw.o: $(LISP_H) buffer.h bufslots.h conslots.h console-msw.h console.h device.h events.h faces.h frame.h frameslots.h mule-charset.h scrollbar.h specifier.h systime.h toolbar.h +frame-msw.o: $(LISP_H) buffer.h bufslots.h conslots.h console-msw.h console.h device.h events.h faces.h frame.h frameslots.h glyphs-msw.h glyphs.h mule-charset.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h glyphs-msw.o: $(LISP_H) buffer.h bufslots.h conslots.h console-msw.h console.h device.h faces.h file-coding.h frame.h frameslots.h glyphs-msw.h glyphs.h imgproc.h insdel.h lstream.h msdos.h mule-charset.h nt.h objects-msw.h objects.h opaque.h scrollbar.h specifier.h sysfile.h toolbar.h menubar-msw.o: $(LISP_H) buffer.h bufslots.h commands.h conslots.h console-msw.h console.h device.h elhash.h events.h frame.h frameslots.h gui.h menubar-msw.h menubar.h mule-charset.h opaque.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h -objects-msw.o: $(LISP_H) buffer.h bufslots.h conslots.h console-msw.h console.h device.h insdel.h mule-charset.h objects-msw.h objects.h specifier.h +objects-msw.o: $(LISP_H) buffer.h bufslots.h conslots.h console-msw.h console.h device.h hash.h insdel.h mule-charset.h objects-msw.h objects.h specifier.h redisplay-msw.o: $(LISP_H) buffer.h bufslots.h conslots.h console-msw.h console.h debug.h device.h events.h faces.h frame.h frameslots.h glyphs-msw.h glyphs.h mule-ccl.h mule-charset.h objects-msw.h objects.h redisplay.h scrollbar.h specifier.h sysdep.h systime.h toolbar.h window.h scrollbar-msw.o: $(LISP_H) conslots.h console-msw.h console.h device.h events.h frame.h frameslots.h redisplay.h scrollbar-msw.h scrollbar.h specifier.h systime.h toolbar.h window.h select-msw.o: $(LISP_H) conslots.h console-msw.h console.h @@ -68,7 +73,7 @@ cm.o: $(LISP_H) conslots.h console-tty.h console.h device.h frame.h frameslots.h lstream.h mule-charset.h redisplay.h scrollbar.h specifier.h syssignal.h systty.h toolbar.h cmdloop.o: $(LISP_H) buffer.h bufslots.h commands.h conslots.h console.h device.h events.h frame.h frameslots.h macros.h mule-charset.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h cmds.o: $(LISP_H) buffer.h bufslots.h chartab.h commands.h insdel.h mule-charset.h syntax.h -console-stream.o: $(LISP_H) conslots.h console-stream.h console-tty.h console.h device.h events.h frame.h frameslots.h redisplay.h scrollbar.h specifier.h sysdep.h syssignal.h systime.h systty.h toolbar.h window.h +console-stream.o: $(LISP_H) conslots.h console-stream.h console-tty.h console.h device.h events.h frame.h frameslots.h msdos.h nt.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h syssignal.h systime.h systty.h toolbar.h window.h console-tty.o: $(LISP_H) buffer.h bufslots.h conslots.h console-stream.h console-tty.h console.h device.h faces.h file-coding.h frame.h frameslots.h gpmevent.h lstream.h msdos.h mule-charset.h nt.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h syssignal.h systty.h toolbar.h console.o: $(LISP_H) buffer.h bufslots.h conslots.h console-tty.h console.h device.h events.h frame.h frameslots.h mule-charset.h redisplay.h scrollbar.h specifier.h sysdep.h syssignal.h systime.h systty.h toolbar.h window.h data.o: $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h mule-charset.h sysfloat.h syssignal.h @@ -93,7 +98,7 @@ event-unixoid.o: $(LISP_H) conslots.h console-stream.h console-tty.h console.h device.h events.h gpmevent.h lstream.h msdos.h mule-charset.h nt.h process.h sysdep.h sysfile.h sysproc.h syssignal.h systime.h systty.h events.o: $(LISP_H) buffer.h bufslots.h conslots.h console-tty.h console-x.h console.h device.h events-mod.h events.h extents.h frame.h frameslots.h glyphs.h keymap.h mule-charset.h redisplay.h scrollbar.h specifier.h syssignal.h systime.h systty.h toolbar.h window.h xintrinsic.h extents.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h debug.h device.h elhash.h extents.h faces.h frame.h frameslots.h glyphs.h hash.h insdel.h keymap.h mule-charset.h opaque.h process.h redisplay.h scrollbar.h specifier.h toolbar.h -faces.o: $(LISP_H) EmacsFrame.h buffer.h bufslots.h conslots.h console-x.h console.h device.h elhash.h extents.h faces.h frame.h frameslots.h glyphs.h hash.h mule-charset.h objects-x.h objects.h redisplay.h scrollbar.h specifier.h toolbar.h window.h xintrinsic.h +faces.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h device.h elhash.h extents.h faces.h frame.h frameslots.h glyphs.h hash.h mule-charset.h objects.h redisplay.h scrollbar.h specifier.h toolbar.h window.h file-coding.o: $(LISP_H) buffer.h bufslots.h elhash.h file-coding.h insdel.h lstream.h mule-ccl.h mule-charset.h fileio.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h device.h events.h file-coding.h frame.h frameslots.h insdel.h lstream.h msdos.h mule-charset.h ndir.h nt.h redisplay.h scrollbar.h specifier.h sysdep.h sysdir.h sysfile.h sysproc.h syspwd.h systime.h toolbar.h window.h filelock.o: $(LISP_H) buffer.h bufslots.h msdos.h mule-charset.h ndir.h nt.h paths.h sysdir.h sysfile.h syspwd.h syssignal.h @@ -105,7 +110,7 @@ frame.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h device.h events.h extents.h faces.h frame.h frameslots.h glyphs.h gui.h menubar.h msdos.h mule-charset.h redisplay.h scrollbar.h specifier.h sysdep.h systime.h toolbar.h window.h free-hook.o: $(LISP_H) hash.h general.o: $(LISP_H) -getloadavg.o: $(LISP_H) +getloadavg.o: $(LISP_H) msdos.h nt.h sysfile.h glyphs.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h device.h elhash.h faces.h frame.h frameslots.h glyphs.h mule-charset.h objects.h redisplay.h scrollbar.h specifier.h toolbar.h window.h gmalloc.o: config.h getpagesize.h gpmevent.o: $(LISP_H) conslots.h console-tty.h console.h device.h events-mod.h events.h gpmevent.h sysdep.h syssignal.h systime.h systty.h @@ -122,7 +127,7 @@ keymap.o: $(LISP_H) buffer.h bufslots.h bytecode.h commands.h conslots.h console.h device.h elhash.h events-mod.h events.h frame.h frameslots.h insdel.h keymap.h mule-charset.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h libsst.o: $(LISP_H) libsst.h line-number.o: $(LISP_H) buffer.h bufslots.h insdel.h line-number.h mule-charset.h -linuxplay.o: $(LISP_H) syssignal.h +linuxplay.o: $(LISP_H) msdos.h nt.h sysfile.h syssignal.h lread.o: $(LISP_H) buffer.h bufslots.h bytecode.h commands.h file-coding.h insdel.h lstream.h msdos.h mule-charset.h nt.h opaque.h paths.h sysfile.h sysfloat.h lstream.o: $(LISP_H) buffer.h bufslots.h insdel.h lstream.h msdos.h mule-charset.h nt.h sysfile.h macros.o: $(LISP_H) buffer.h bufslots.h commands.h conslots.h console.h device.h events.h frame.h frameslots.h keymap.h macros.h mule-charset.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h @@ -141,7 +146,7 @@ objects.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h device.h elhash.h faces.h frame.h frameslots.h mule-charset.h objects.h redisplay.h scrollbar.h specifier.h toolbar.h window.h offix.o: offix-cursors.h offix-types.h offix.h xintrinsic.h opaque.o: $(LISP_H) opaque.h -print.o: $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h conslots.h console-stream.h console-tty.h console.h device.h extents.h frame.h frameslots.h insdel.h lstream.h mule-charset.h scrollbar.h specifier.h syssignal.h systty.h toolbar.h +print.o: $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h conslots.h console-stream.h console-tty.h console.h device.h extents.h frame.h frameslots.h insdel.h lstream.h msdos.h mule-charset.h nt.h scrollbar.h specifier.h sysfile.h syssignal.h systty.h toolbar.h process-unix.o: $(LISP_H) buffer.h bufslots.h commands.h conslots.h console.h device.h events.h file-coding.h frame.h frameslots.h hash.h insdel.h lstream.h msdos.h mule-charset.h nt.h opaque.h process.h procimpl.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h sysproc.h syssignal.h systime.h systty.h syswait.h toolbar.h window.h process.o: $(LISP_H) buffer.h bufslots.h commands.h conslots.h console.h device.h events.h file-coding.h frame.h frameslots.h hash.h insdel.h lstream.h msdos.h mule-charset.h nt.h opaque.h process.h procimpl.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h sysproc.h syssignal.h systime.h systty.h syswait.h toolbar.h window.h profile.o: $(LISP_H) backtrace.h bytecode.h hash.h syssignal.h systime.h
--- a/src/emacs.c Mon Aug 13 10:28:54 2007 +0200 +++ b/src/emacs.c Mon Aug 13 10:29:42 2007 +0200 @@ -1148,7 +1148,10 @@ lstream_type_create_mule_coding (); #endif lstream_type_create_print (); - +#ifdef HAVE_MS_WINDOWS + lstream_type_create_mswindows_selectable (); +#endif + /* Initialize processes implementation. The functions may make exactly the following function/macro calls: @@ -1158,7 +1161,7 @@ process_type_create_unix (); #endif #ifdef HAVE_WIN32_PROCESSES - process_type_create_mswindows (); + process_type_create_nt (); #endif /* Now initialize most variables. @@ -1278,7 +1281,7 @@ vars_of_process_unix (); #endif #ifdef HAVE_WIN32_PROCESSES - vars_of_process_mswindows (); + vars_of_process_nt (); #endif #endif @@ -2325,7 +2328,7 @@ Freally_free (Qnil); /* When we're dumping, we can't use the debugging free() */ - + disable_free_hook (); #endif #if 1 /* martin */ #endif @@ -2390,9 +2393,6 @@ #ifdef DOUG_LEA_MALLOC malloc_state_ptr = malloc_get_state (); #endif -#ifdef ERROR_CHECK_MALLOC - disable_free_hook (); -#endif /* here we break our rule that the filename conversion should be performed at the actual time that the system call is made. It's a whole lot easier to do the conversion here than to @@ -2450,13 +2450,8 @@ { p = strchr (path, SEPCHAR); if (!p) p = path + strlen (path); - lpath = Fcons (((p != path) -#if 1 - ? Ffile_name_as_directory(make_string ((CONST Bufbyte *) path, p - path)) -#else - ? make_string ((CONST Bufbyte *) path, p - path) -#endif - : Qnil), + lpath = Fcons (Ffile_name_as_directory(make_string ((CONST Bufbyte *) path, + p - path)), lpath); if (*p) path = p + 1;
--- a/src/event-msw.c Mon Aug 13 10:28:54 2007 +0200 +++ b/src/event-msw.c Mon Aug 13 10:29:42 2007 +0200 @@ -46,6 +46,7 @@ #include "device.h" #include "events.h" #include "frame.h" +#include "lstream.h" #include "process.h" #include "redisplay.h" #include "sysproc.h" @@ -54,6 +55,8 @@ #include "events-mod.h" +#include <errno.h> + #ifdef BROKEN_CYGWIN int WINAPI DdeCmpStringHandles (HSZ, HSZ); HDDEDATA WINAPI DdeCreateDataHandle (DWORD, LPBYTE, DWORD, DWORD, HSZ, @@ -102,7 +105,10 @@ #define MAX_WAITABLE (MAXIMUM_WAIT_OBJECTS - 1) /* List of mswindows waitable handles. */ -static HANDLE mswindows_waitable[MAX_WAITABLE]; +static HANDLE mswindows_waitable_handles[MAX_WAITABLE]; + +/* Number of wait handles */ +static int mswindows_waitable_count=0; /* Count of quit chars currently in the queue */ /* Incremented in WM_[SYS]KEYDOWN handler in the mswindows_wnd_proc() @@ -116,9 +122,6 @@ int mswindows_mouse_button_max_skew_y; int mswindows_mouse_button_tolerance; -/* Number of wait handles */ -static int mswindows_waitable_count=0; - /* This is the event signaled by the event pump. See mswindows_pump_outstanding_events for comments */ static Lisp_Object mswindows_error_caught_in_modal_loop; @@ -126,6 +129,441 @@ /* Count of wound timers */ static int mswindows_pending_timers_count; + +/************************************************************************/ +/* Pipe instream - reads process output */ +/************************************************************************/ + +#define PIPE_READ_DELAY 20 + +#define HANDLE_TO_USID(h) ((USID)(h)) + +#define NTPIPE_SLURP_STREAM_DATA(stream) \ + LSTREAM_TYPE_DATA (stream, ntpipe_slurp) + +struct ntpipe_slurp_stream +{ + LPARAM user_data; /* Any user data stored in the stream object */ + HANDLE hev_thread; /* Our thread blocks on this, signaled by caller */ + /* This is a manual-reset object. */ + HANDLE hev_caller; /* Caller blocks on this, and we signal it */ + /* This is a manual-reset object. */ + HANDLE hev_unsleep; /* Pipe read delay is canceled if this is set */ + /* This is a manual-reset object. */ + HANDLE hpipe; /* Pipe read end handle. */ + HANDLE hthread; /* Reader thread handle. */ + BYTE onebyte; /* One byte buffer read by thread */ + DWORD die_p; /* Thread must exit ASAP if non-zero */ + BOOL eof_p : 1; /* Set when thread saw EOF */ + BOOL error_p : 1; /* Read error other than EOF/broken pipe */ +}; + +DEFINE_LSTREAM_IMPLEMENTATION ("ntpipe-input", lstream_ntpipe_slurp, + sizeof (struct ntpipe_slurp_stream)); + +static DWORD WINAPI +slurp_thread (LPVOID vparam) +{ + struct ntpipe_slurp_stream *s = (struct ntpipe_slurp_stream*)vparam; + + for (;;) + { + /* Read one byte from the pipe */ + DWORD actually_read; + if (!ReadFile (s->hpipe, &s->onebyte, 1, &actually_read, NULL)) + { + DWORD err = GetLastError (); + if (err == ERROR_BROKEN_PIPE || err == ERROR_NO_DATA) + s->eof_p = TRUE; + else + s->error_p = TRUE; + } + else if (actually_read == 0) + s->eof_p = TRUE; + + /* We must terminate on an error or eof */ + if (s->eof_p || s->error_p) + InterlockedIncrement (&s->die_p); + + /* Before we notify caller, we unsignal our event. */ + ResetEvent (s->hev_thread); + + /* Now we got something to notify caller, either a byte or an + error/eof indication. Before we do, allow internal pipe + buffer to accumulate little bit more data. + Reader function pulses this event before waiting for + a character, to avoid pipde delay, and to get the byte + immediately. */ + if (!s->die_p) + WaitForSingleObject (s->hev_unsleep, PIPE_READ_DELAY); + + /* Either make event loop generate a process event, or + inblock reader */ + SetEvent (s->hev_caller); + + /* Cleanup and exit if we're shot off */ + if (s->die_p) + break; + + /* Block until the client finishes with retireving the rest of + pipe data */ + WaitForSingleObject (s->hev_thread, INFINITE); + } + + return 0; +} + +static Lisp_Object +make_ntpipe_input_stream (HANDLE hpipe, LPARAM param) +{ + Lisp_Object obj; + Lstream *lstr = Lstream_new (lstream_ntpipe_slurp, "r"); + struct ntpipe_slurp_stream* s = NTPIPE_SLURP_STREAM_DATA (lstr); + DWORD thread_id_unused; + + /* We deal only with pipes, for we're using PeekNamedPipe api */ + assert (GetFileType (hpipe) == FILE_TYPE_PIPE); + + s->die_p = 0; + s->eof_p = FALSE; + s->error_p = FALSE; + s->hpipe = hpipe; + s->user_data = param; + + /* Create reader thread. This could fail, so do not + create events until thread is created */ + s->hthread = CreateThread (NULL, 0, slurp_thread, (LPVOID)s, + CREATE_SUSPENDED, &thread_id_unused); + if (s->hthread == NULL) + { + Lstream_delete (lstr); + return Qnil; + } + + /* hev_thread is a manual-reset event, initially signaled */ + s->hev_thread = CreateEvent (NULL, TRUE, TRUE, NULL); + /* hev_caller is a manual-reset event, initially nonsignaled */ + s->hev_caller = CreateEvent (NULL, TRUE, FALSE, NULL); + /* hev_unsleep is a manual-reset event, initially nonsignaled */ + s->hev_unsleep = CreateEvent (NULL, TRUE, FALSE, NULL); + + /* Now let it go */ + ResumeThread (s->hthread); + + lstr->flags |= LSTREAM_FL_CLOSE_AT_DISKSAVE; + XSETLSTREAM (obj, lstr); + return obj; +} + +static LPARAM +get_ntpipe_input_stream_param (Lstream *stream) +{ + struct ntpipe_slurp_stream* s = NTPIPE_SLURP_STREAM_DATA(stream); + return s->user_data; +} + +static HANDLE +get_ntpipe_input_stream_waitable (Lstream *stream) +{ + struct ntpipe_slurp_stream* s = NTPIPE_SLURP_STREAM_DATA(stream); + return s->hev_caller; +} + +static int +ntpipe_slurp_reader (Lstream *stream, unsigned char *data, size_t size) +{ + /* This function must be called from the main thread only */ + struct ntpipe_slurp_stream* s = NTPIPE_SLURP_STREAM_DATA(stream); + + if (!s->die_p) + { + DWORD wait_result; + /* Disallow pipe read delay for the thread: we need a character ASAP */ + SetEvent (s->hev_unsleep); + + /* Check if we have a character ready. Give it a short delay, for + the thread to awake from pipe delay, just ion case*/ + wait_result = WaitForSingleObject (s->hev_caller, 2); + + /* Revert to the normal sleep behavior. */ + ResetEvent (s->hev_unsleep); + + /* If there's no byte buffered yet, give up */ + if (wait_result == WAIT_TIMEOUT) + { + errno = EAGAIN; + return -1; + } + } + + /* Reset caller unlock event now, as we've handled the pending + process output event */ + ResetEvent (s->hev_caller); + + /* It is now safe to do anything with contents of S, except for + changing s->die_p, which still should be interlocked */ + + if (s->eof_p) + return 0; + if (s->error_p || s->die_p) + return -1; + + /* Ok, there were no error neither eof - we've got a byte from the pipe */ + *(data++) = s->onebyte; + --size; + + if (size > 0) + { + DWORD bytes_available, bytes_read; + + /* If the api call fails, return at least one byte already read. + ReadFile in thread will return error */ + if (!PeekNamedPipe (s->hpipe, NULL, 0, NULL, &bytes_available, NULL)) + return 1; + + /* Fetch available bytes. The same consideration applies, so do + not check for errors. ReadFile in the thread will fail if the + next call fails. */ + ReadFile (s->hpipe, data, min (bytes_available, size), &bytes_read, NULL); + + /* Now we can unblock thread, so it attempts to read more */ + SetEvent (s->hev_thread); + return bytes_read + 1; + } + else + { + SetEvent (s->hev_thread); + return 1; + } +} + +static int +ntpipe_slurp_closer (Lstream *stream) +{ + /* This function must be called from the main thread only */ + struct ntpipe_slurp_stream* s = NTPIPE_SLURP_STREAM_DATA(stream); + + /* Force thread to stop */ + InterlockedIncrement (&s->die_p); + + /* Break the pipe, in case the thread still blocked on read */ + CloseHandle (s->hpipe); + + /* Set events which could possibly block slurper */ + SetEvent (s->hev_unsleep); + SetEvent (s->hev_thread); + + /* Wait while thread terminates */ + WaitForSingleObject (s->hthread, INFINITE); + CloseHandle (s->hthread); + + /* Destroy events */ + CloseHandle (s->hev_thread); + CloseHandle (s->hev_caller); + CloseHandle (s->hev_unsleep); + + return 0; +} + +static void +init_slurp_stream (void) +{ + LSTREAM_HAS_METHOD (ntpipe_slurp, reader); + LSTREAM_HAS_METHOD (ntpipe_slurp, closer); +} + +/************************************************************************/ +/* Pipe outstream - writes process input */ +/************************************************************************/ + +#define MAX_FLUSH_TIME 500 + +#define NTPIPE_SHOVE_STREAM_DATA(stream) \ + LSTREAM_TYPE_DATA (stream, ntpipe_shove) + +struct ntpipe_shove_stream +{ + LPARAM user_data; /* Any user data stored in the stream object */ + HANDLE hev_thread; /* Our thread blocks on this, signaled by caller */ + /* This is an auto-reset object. */ + HANDLE hpipe; /* Pipe write end handle. */ + HANDLE hthread; /* Reader thread handle. */ + LPVOID buffer; /* Buffer being written */ + DWORD size; /* Number of bytes to write */ + DWORD die_p; /* Thread must exit ASAP if non-zero */ + DWORD idle_p; /* Non-zero if thread is waiting for job */ + BOOL error_p : 1; /* Read error other than EOF/broken pipe */ + BOOL blocking_p : 1;/* Last write attempt would cause blocking */ +}; + +DEFINE_LSTREAM_IMPLEMENTATION ("ntpipe-output", lstream_ntpipe_shove, + sizeof (struct ntpipe_shove_stream)); + +static DWORD WINAPI +shove_thread (LPVOID vparam) +{ + struct ntpipe_shove_stream *s = (struct ntpipe_shove_stream*) vparam; + + for (;;) + { + DWORD bytes_written; + + /* Block on event and wait for a job */ + InterlockedIncrement (&s->idle_p); + WaitForSingleObject (s->hev_thread, INFINITE); + + if (s->die_p) + break; + + /* Write passed buffer */ + if (!WriteFile (s->hpipe, s->buffer, s->size, &bytes_written, NULL) + || bytes_written != s->size) + { + s->error_p = TRUE; + InterlockedIncrement (&s->die_p); + } + + /* free it */ + LocalFree ((HLOCAL)s->buffer); + + if (s->die_p) + break; + } + + return 0; +} + +static Lisp_Object +make_ntpipe_output_stream (HANDLE hpipe, LPARAM param) +{ + Lisp_Object obj; + Lstream *lstr = Lstream_new (lstream_ntpipe_shove, "w"); + struct ntpipe_shove_stream* s = NTPIPE_SHOVE_STREAM_DATA (lstr); + DWORD thread_id_unused; + + s->die_p = 0; + s->error_p = FALSE; + s->hpipe = hpipe; + s->user_data = param; + + /* Create reader thread. This could fail, so do not + create the event until thread is created */ + s->hthread = CreateThread (NULL, 0, shove_thread, (LPVOID)s, + CREATE_SUSPENDED, &thread_id_unused); + if (s->hthread == NULL) + { + Lstream_delete (lstr); + return Qnil; + } + + /* hev_thread is an auto-reset event, initially nonsignaled */ + s->hev_thread = CreateEvent (NULL, FALSE, FALSE, NULL); + + /* Now let it go */ + ResumeThread (s->hthread); + + lstr->flags |= LSTREAM_FL_CLOSE_AT_DISKSAVE; + XSETLSTREAM (obj, lstr); + return obj; +} + +static LPARAM +get_ntpipe_output_stream_param (Lstream *stream) +{ + struct ntpipe_shove_stream* s = NTPIPE_SHOVE_STREAM_DATA(stream); + return s->user_data; +} + +static int +ntpipe_shove_writer (Lstream *stream, const unsigned char *data, size_t size) +{ + struct ntpipe_shove_stream* s = NTPIPE_SHOVE_STREAM_DATA(stream); + + if (s->error_p) + return -1; + + s->blocking_p = !s->idle_p; + if (s->blocking_p) + return 0; + + /* Make a copy of data to be written. We intentionally avoid using + xalloc/xfree, because gnu malloc is not thread-safe */ + s->buffer = (LPVOID) LocalAlloc (LMEM_FIXED, size); + if (s->buffer == NULL) + return -1; + memcpy (s->buffer, data, size); + s->size = size; + + /* Start output */ + InterlockedDecrement (&s->idle_p); + SetEvent (s->hev_thread); + return size; +} + +static int +ntpipe_shove_was_blocked_p (Lstream *stream) +{ + struct ntpipe_shove_stream* s = NTPIPE_SHOVE_STREAM_DATA(stream); + return s->blocking_p; +} + +static int +ntpipe_shove_flusher (Lstream *stream) +{ + struct ntpipe_shove_stream* s = NTPIPE_SHOVE_STREAM_DATA(stream); + int i; + + if (s->error_p) + return -1; + + /* We do not want to be blocked forever. Instead, we wait + about 0.5 second for output to finish. If this does + not help, we just return flush failure. */ + for (i = 0; i < MAX_FLUSH_TIME / 50; ++i) + { + if (s->idle_p) + return 0; + Sleep (50); + } + return -1; +} + +static int +ntpipe_shove_closer (Lstream *stream) +{ + struct ntpipe_shove_stream* s = NTPIPE_SHOVE_STREAM_DATA(stream); + + /* Force thread stop */ + InterlockedIncrement (&s->die_p); + + /* Close pipe handle, possibly breaking it */ + CloseHandle (s->hpipe); + + /* Thread will end upon unblocking */ + SetEvent (s->hev_thread); + + /* Wait while thread terminates */ + WaitForSingleObject (s->hthread, INFINITE); + CloseHandle (s->hthread); + + /* Destroy the event */ + CloseHandle (s->hev_thread); + + return 0; +} + +static void +init_shove_stream (void) +{ + LSTREAM_HAS_METHOD (ntpipe_shove, writer); + LSTREAM_HAS_METHOD (ntpipe_shove, flusher); + LSTREAM_HAS_METHOD (ntpipe_shove, was_blocked_p); + LSTREAM_HAS_METHOD (ntpipe_shove, closer); +} + +/************************************************************************/ +/* Dispatch queue management */ +/************************************************************************/ static int mswindows_user_event_p (struct Lisp_Event* sevt) @@ -136,10 +574,6 @@ || sevt->event_type == dnd_drop_event); } -/************************************************************************/ -/* Dispatch queue management */ -/************************************************************************/ - /* * Add an emacs event to the proper dispatch queue */ @@ -173,6 +607,21 @@ } static void +mswindows_enqueue_process_event (struct Lisp_Process* p) +{ + Lisp_Object emacs_event = Fmake_event (Qnil, Qnil); + struct Lisp_Event* event = XEVENT (emacs_event); + Lisp_Object process; + XSETPROCESS (process, p); + + event->event_type = process_event; + event->timestamp = GetTickCount (); + event->event.process.process = process; + + mswindows_enqueue_dispatch_event (emacs_event); +} + +static void mswindows_enqueue_mouse_button_event (HWND hwnd, UINT message, POINTS where, DWORD when) { @@ -307,8 +756,44 @@ } return Qnil; } + +/************************************************************************/ +/* Waitable handles manipulation */ +/************************************************************************/ +static int +find_waitable_handle (HANDLE h) +{ + int i; + for (i = 0; i < mswindows_waitable_count; ++i) + if (mswindows_waitable_handles[i] == h) + return i; + return -1; +} +static BOOL +add_waitable_handle (HANDLE h) +{ + assert (find_waitable_handle (h) < 0); + if (mswindows_waitable_count == MAX_WAITABLE) + return FALSE; + + mswindows_waitable_handles [mswindows_waitable_count++] = h; + return TRUE; +} + +static void +remove_waitable_handle (HANDLE h) +{ + int ix = find_waitable_handle (h); + if (ix < 0) + return; + + mswindows_waitable_handles [ix] = + mswindows_waitable_handles [--mswindows_waitable_count]; +} + + /************************************************************************/ /* Event pump */ /************************************************************************/ @@ -455,11 +940,9 @@ * fetching WM_TIMER messages. Instead of trying to fetch a WM_TIMER * which will never come when there are no pending timers, which leads * to deadlock, we simply signal an error. - * - * The implementation does not honor user_p by design. */ static void -mswindows_need_event_in_modal_loop (int user_p, int badly_p) +mswindows_need_event_in_modal_loop (int badly_p) { MSG msg; @@ -489,26 +972,17 @@ * This drains the event queue and fills up two internal queues until * an event of a type specified by USER_P is retrieved. * - * If user_p, then the function drains until the first user event, or - * the first non-user event if there no user events. Otherwise, If - * not user_p, it does not give preference to user events. - * - * If badly_p, then the function does not return until an event is - * available. - * - * The code does not rely on MsgWaitForMultipleObjects preference for - * messages over waitable handles. * * Used by emacs_mswindows_event_pending_p and emacs_mswindows_next_event */ static void -mswindows_need_event (int user_p, int badly_p) +mswindows_need_event (int badly_p) { int active; if (mswindows_in_modal_loop) { - mswindows_need_event_in_modal_loop (user_p, badly_p); + mswindows_need_event_in_modal_loop (badly_p); return; } @@ -516,17 +990,12 @@ quit char when called from quit_p */ mswindows_drain_windows_queue (); - while (NILP (mswindows_u_dispatch_event_queue) && - (user_p || NILP (mswindows_s_dispatch_event_queue))) + while (NILP (mswindows_u_dispatch_event_queue) + && NILP (mswindows_s_dispatch_event_queue)) { - /* If we already have an event, we've got someting to return - no wait! */ - if (!NILP (mswindows_u_dispatch_event_queue) - || !NILP (mswindows_s_dispatch_event_queue)) - badly_p = 0; - - /* Now try getting a message */ + /* Now try getting a message or process event */ active = MsgWaitForMultipleObjects (mswindows_waitable_count, - mswindows_waitable, + mswindows_waitable_handles, FALSE, badly_p ? INFINITE : 0, QS_ALLINPUT); @@ -548,13 +1017,27 @@ } else { - /* XXX FIXME: We should do some kind of round-robin scheme to ensure fairness */ - int waitable = active - WAIT_OBJECT_0; - assert(0); /* #### */ + int ix = active - WAIT_OBJECT_0; + /* First, try to find which process' ouptut has signaled */ + struct Lisp_Process *p = + get_process_from_usid (HANDLE_TO_USID (mswindows_waitable_handles[ix])); + if (p != NULL) + { + /* Found a signaled process input handle */ + mswindows_enqueue_process_event (p); + } + else + { + /* None. This means that the process handle itself has signaled. + Remove the handle from the wait vector, and make status_ntoify + note the exited process */ + CloseHandle (mswindows_waitable_handles[ix]); + mswindows_waitable_handles [ix] = + mswindows_waitable_handles [--mswindows_waitable_count]; + kick_status_notify (); + } } } /* while */ - - return; } /************************************************************************/ @@ -1008,8 +1491,8 @@ FRAME_PIXHEIGHT(frame) = rect.bottom; pixel_to_real_char_size (frame, rect.right, rect.bottom, - &MSWINDOWS_FRAME_CHARWIDTH (frame), - &MSWINDOWS_FRAME_CHARHEIGHT (frame)); + &FRAME_MSWINDOWS_CHARWIDTH (frame), + &FRAME_MSWINDOWS_CHARHEIGHT (frame)); pixel_to_char_size (frame, rect.right, rect.bottom, &columns, &rows); change_frame_size (frame, rows, columns, 1); @@ -1429,16 +1912,8 @@ Lisp_Object mswindows_find_console (HWND hwnd) { - Lisp_Object concons; - - CONSOLE_LOOP (concons) - { - Lisp_Object console = XCAR (concons); - /* We only support one console so this must be it */ - return console; - } - - return Qnil; + /* We only support one console */ + return XCAR (Vconsole_list); } /* @@ -1512,8 +1987,7 @@ static int emacs_mswindows_event_pending_p (int user_p) { - mswindows_need_event (user_p, 0); - + mswindows_need_event (0); return (!NILP (mswindows_u_dispatch_event_queue) || (!user_p && !NILP (mswindows_s_dispatch_event_queue))); } @@ -1526,10 +2000,8 @@ { Lisp_Object event, event2; - /* Give strong preference to user events */ - mswindows_need_event (1, 1); + mswindows_need_event (1); - /* XXX Copied from event-Xt.c */ event = mswindows_dequeue_dispatch_event (!NILP(mswindows_u_dispatch_event_queue)); XSETEVENT (event2, emacs_event); Fcopy_event (event, event2); @@ -1593,14 +2065,70 @@ } } +static HANDLE +get_process_input_waitable (struct Lisp_Process *process) +{ + Lisp_Object instr, outstr; + get_process_streams (process, &instr, &outstr); + assert (!NILP (instr)); + return get_ntpipe_input_stream_waitable (XLSTREAM (instr)); +} + +static HANDLE +get_process_handle (struct Lisp_Process *p) +{ + /* #### The guess is that cygwin uses the same algorithm for + computing pids: negate if less than zero, '95 case */ + Lisp_Object process, pid; + XSETPROCESS (process, p); + pid = Fprocess_id (process); + if (INTP (pid)) + { + HANDLE hproc; + int ipid = XINT (pid); + if (ipid < 0) + ipid = -ipid; + hproc = OpenProcess (SYNCHRONIZE, FALSE, ipid); + /* #### This is WRONG! The process migh have ended before we got here. */ + /* assert (hproc != NULL); */ + /* Instead, we fake "a signaled hadle", which will trigger + immediately upon entering the message loop */ + if (hproc = NULL) + hproc = CreateEvent (NULL, TRUE, TRUE, NULL); + return hproc; + } + else + return NULL; +} + static void emacs_mswindows_select_process (struct Lisp_Process *process) { + HANDLE hev = get_process_input_waitable (process); + HANDLE hprocess; + + if (!add_waitable_handle (hev)) + error ("Too many active processes"); + + hprocess = get_process_handle (process); + if (hprocess) + { + if (!add_waitable_handle (hprocess)) + { + remove_waitable_handle (hev); + CloseHandle (hprocess); + error ("Too many active processes"); + } + } } static void emacs_mswindows_unselect_process (struct Lisp_Process *process) { + /* Process handle is removed in the event loop as soon + as it is signaled, so don't bother here about it */ + HANDLE hev = get_process_input_waitable (process); + remove_waitable_handle (hev); } static void @@ -1616,7 +2144,9 @@ static void emacs_mswindows_quit_p (void) { - mswindows_need_event (1, 0); + /* Drain windows queue. This sets up number of quit + characters in in the queue */ + mswindows_drain_windows_queue (); if (mswindows_quit_chars_count > 0) { @@ -1638,6 +2168,69 @@ } } +USID +emacs_mswindows_create_stream_pair (void* inhandle, void* outhandle, + Lisp_Object* instream, + Lisp_Object* outstream, + int flags) +{ + /* Handles for streams */ + HANDLE hin, hout; + /* fds. These just stored along with the streams, and are closed in + delete stream pair method, because we need to handle fake unices + here. */ + int fdi, fdo; + + /* Decode inhandle and outhandle. Their meaning depends on + the process implementation being used. */ +#if defined (HAVE_WIN32_PROCESSES) + /* We're passed in Windows handles. That's what we like most... */ + hin = (HANDLE) inhandle; + hout = (HANDLE) outhandle; + fdi = fdo = -1; +#elif defined (HAVE_UNIX_PROCESSES) + /* We are passed UNIX fds. This must be Cygwin. + Fetch os handles */ + hin = inhandle >= 0 ? get_osfhandle ((int)inhandle) : INVALID_HANDLE_VALUE; + hout = outhandle >= 0 ? get_sfhandle ((int)outhandle) : INVALID_HANDLE_VALUE; +#else +#error "So, WHICH kind of processes do you want?" +#endif + + *instream = (hin != INVALID_HANDLE_VALUE + ? make_ntpipe_input_stream (hin, fdi) + : Qnil); + + *outstream = (hout != INVALID_HANDLE_VALUE + ? make_ntpipe_output_stream (hout, fdo) + : Qnil); + + return (NILP (*instream) ? USID_ERROR + : HANDLE_TO_USID (get_ntpipe_input_stream_waitable (XLSTREAM (*instream)))); +} + +USID +emacs_mswindows_delete_stream_pair (Lisp_Object instream, + Lisp_Object outstream) +{ + /* Oh nothing special here for Win32 at all */ +#if defined (HAVE_UNIX_PROCESSES) + int in = (NILP(instream) ? -1 + : get_ntpipe_input_stream_param (XLSTREAM (instream))); + int out = (NILP(outstream) ? -1 + : get_ntpipe_output_stream_param (XLSTREAM (outstream))); + + if (in >= 0) + close (in); + if (out != in && out >= 0) + close (out); +#endif + + return (NILP (instream) ? USID_DONTHASH + : HANDLE_TO_USID (get_ntpipe_input_stream_waitable (XLSTREAM (instream)))); +} + + #ifndef HAVE_X_WINDOWS /* This is called from GC when a process object is about to be freed. If we've still got pointers to it in this file, we're gonna lose hard. @@ -1690,6 +2283,8 @@ mswindows_event_stream->select_process_cb = emacs_mswindows_select_process; mswindows_event_stream->unselect_process_cb = emacs_mswindows_unselect_process; mswindows_event_stream->quit_p_cb = emacs_mswindows_quit_p; + mswindows_event_stream->create_stream_pair_cb = emacs_mswindows_create_stream_pair; + mswindows_event_stream->delete_stream_pair_cb = emacs_mswindows_delete_stream_pair; DEFVAR_BOOL ("mswindows-dynamic-frame-resize", &mswindows_dynamic_frame_resize /* *Controls redrawing frame contents during mouse-drag or keyboard resize @@ -1743,6 +2338,13 @@ } void +lstream_type_create_mswindows_selectable (void) +{ + init_slurp_stream (); + init_shove_stream (); +} + +void init_event_mswindows_late (void) { event_stream = mswindows_event_stream;
--- a/src/events.c Mon Aug 13 10:28:54 2007 +0200 +++ b/src/events.c Mon Aug 13 10:29:42 2007 +0200 @@ -187,7 +187,7 @@ assert (INTP (Vx)); Vy = Fevent_y_pixel (obj); assert (INTP (Vy)); - sprintf (buf, "#<motion-event %d, %d", XINT (Vx), XINT (Vy)); + sprintf (buf, "#<motion-event %ld, %ld", (long)(XINT (Vx)), (long)(XINT (Vy))); write_c_string (buf, printcharfun); break; }
--- a/src/fileio.c Mon Aug 13 10:28:54 2007 +0200 +++ b/src/fileio.c Mon Aug 13 10:29:42 2007 +0200 @@ -641,32 +641,126 @@ directory_file_name ((char *) XSTRING_DATA (directory), buf); return build_string (buf); } + +/* Fmake_temp_name used to be a simple wrapper around mktemp(), but it + proved too broken for our purposes (it supported only 26 or 62 + unique names under some implementations). For instance, the stupid + limit broke Gnus Incoming* files generation. + + NB, this implementation is better than what one usually finds in + libc. --hniksic */ + +#define MTN_RANDOM(x) ((int) (random () % x)) +#define MTN_INC(var, limit) (var = ((var == (limit) - 1) ? 0 : (var + 1))) +#define MTN_LOOP(var, limit, keep) \ +for (keep = var = MTN_RANDOM (limit), MTN_INC (var, limit); \ + var != keep; \ + MTN_INC (var, limit)) DEFUN ("make-temp-name", Fmake_temp_name, 1, 1, 0, /* -Generate temporary file name (string) starting with PREFIX (a string). -The Emacs process number forms part of the result, -so there is no danger of generating a name being used by another process. +Generate temporary file name starting with PREFIX. +The Emacs process number forms part of the result, so there is no +danger of generating a name being used by another process. + +In its current implementation, this function guarantees 262144 unique +names per process per PREFIX (this is 54872 on case-insensitive +filesystems. However, if you want it to operate safely, PREFIX should +have been passed through `expand-file-name'. */ (prefix)) { - CONST char suffix[] = "XXXXXX"; - Bufbyte *data; + static char tbl[64] = { + 'A','B','C','D','E','F','G','H', + 'I','J','K','L','M','N','O','P', + 'Q','R','S','T','U','V','W','X', + 'Y','Z','a','b','c','d','e','f', + 'g','h','i','j','k','l','m','n', + 'o','p','q','r','s','t','u','v', + 'w','x','y','z','0','1','2','3', + '4','5','6','7','8','9','-','_' + }; + Lisp_Object val; Bytecount len; - Lisp_Object val; + int pid; + int i, j, k, keep1, keep2, keep3; + Bufbyte *p, *data; CHECK_STRING (prefix); + + /* I was tempted to apply Fexpand_file_name on PREFIX here, but it's + a bad idea because: + + 1) It might change the prefix, so the resulting string might not + begin with PREFIX. This violates the principle of least + surprise. + + 2) It breaks under many unforeseeable circumstances, such as with + the code that uses (make-temp-name "") instead of + (make-temp-name "./"). + + 3) It might yield unexpected results in the presence of EFS and + file name handlers. */ + len = XSTRING_LENGTH (prefix); - val = make_uninit_string (len + countof (suffix) - 1); + val = make_uninit_string (len + 6); data = XSTRING_DATA (val); memcpy (data, XSTRING_DATA (prefix), len); - memcpy (data + len, suffix, countof (suffix)); - /* !!#### does mktemp() Mule-encapsulate? */ - mktemp ((char *) data); - -#ifdef WINDOWSNT - CORRECT_DIR_SEPS (XSTRING_DATA (val)); -#endif /* WINDOWSNT */ - return val; + p = data + len; + + /* `val' is created by adding 6 characters to PREFIX. The first + three are the PID of this process, in base 64, and the second + three are incremented if the file already exists. This ensures + 262144 unique file names per PID per PREFIX. */ + + pid = (int)getpid (); + *p++ = tbl[pid & 63], pid >>= 6; + *p++ = tbl[pid & 63], pid >>= 6; + *p++ = tbl[pid & 63], pid >>= 6; + + /* Here we employ some trickery to minimize useless stat'ing when + this function is invoked many times successively with the same + PREFIX. Instead of looping from 0 to 63, each of the variables + is assigned a random number less than 64, and is incremented up + to 63 and back to zero, until the initial value is reached again. + + In other words, MTN_LOOP (i, 64, keep1) is equivalent to + for (i = 0; i < 64; i++) with the difference that the beginning + value needn't be 0 -- all that matters is that i is guaranteed to + loop through all the values in the [0, 64) range. */ + MTN_LOOP (i, 64, keep1) + { + p[0] = tbl[i]; + MTN_LOOP (j, 64, keep2) + { + p[1] = tbl[j]; + MTN_LOOP (k, 64, keep3) + { + struct stat ignored; + p[2] = tbl[k]; + if (stat (data, &ignored) < 0) + { + /* We want to return only if errno is ENOENT. */ + if (errno == ENOENT) + return val; + else + /* The error here is dubious, but there is little + else we can do. The alternatives are to return + nil, which is as bad as (and in many cases + worse than) throwing the error, or to ignore + the error, which will likely result in looping + through 262144 stat's, which is not only SLOW, + but also useless since it will fallback to the + errow below, anyway. */ + report_file_error + ("Cannot create temporary name for prefix", + list1 (prefix)); + /* not reached */ + } + } + } + } + signal_simple_error ("Cannot create temporary name for prefix", prefix); + RETURN_NOT_REACHED (Qnil); } DEFUN ("expand-file-name", Fexpand_file_name, 1, 2, 0, /* @@ -2553,8 +2647,7 @@ /* #define READ_BUF_SIZE (2 << 16) */ #define READ_BUF_SIZE (1 << 15) -DEFUN ("insert-file-contents-internal", - Finsert_file_contents_internal, 1, 7, 0, /* +DEFUN ("insert-file-contents-internal", Finsert_file_contents_internal, 1, 7, 0, /* Insert contents of file FILENAME after point; no coding-system frobbing. This function is identical to `insert-file-contents' except for the handling of the CODESYS and USED-CODESYS arguments under @@ -2570,7 +2663,7 @@ Currently BEG and END refer to byte positions (as opposed to character positions), even in Mule. (Fixing this is very difficult.) */ - (filename, visit, beg, end, replace, codesys, used_codesys)) + (filename, visit, beg, end, replace, codesys, used_codesys)) { /* This function can call lisp */ /* #### dmoore - this function hasn't been checked for gc recently */ @@ -2836,8 +2929,9 @@ error ("Maximum buffer size exceeded"); } else - /* For a special file, all we can do is guess. */ - total = READ_BUF_SIZE; + /* For a special file, all we can do is guess. The value of -1 + will make the stream functions read as much as possible. */ + total = -1; if (XINT (beg) != 0 #ifdef FSFMACS_SPEEDY_INSERT @@ -2865,7 +2959,7 @@ (XLSTREAM (stream), Fget_coding_system (codesys)); Lstream_set_character_mode (XLSTREAM (stream)); Lstream_set_buffering (XLSTREAM (stream), LSTREAM_BLOCKN_BUFFERED, 65536); -#endif /* MULE */ +#endif /* FILE_CODING */ record_unwind_protect (close_stream_unwind, stream); @@ -2901,7 +2995,7 @@ Fset (used_codesys, XCODING_SYSTEM_NAME (decoding_stream_coding_system (XLSTREAM (stream)))); } -#endif /* MULE */ +#endif /* FILE_CODING */ NUNGCPRO; } @@ -3052,7 +3146,7 @@ #ifdef FILE_CODING codesys = Fget_coding_system (codesys); -#endif /* MULE */ +#endif /* FILE_CODING */ if (current_buffer->base_buffer && ! NILP (visit)) error ("Cannot do file visiting in an indirect buffer"); @@ -3193,7 +3287,7 @@ make_encoding_output_stream (XLSTREAM (outstream), codesys); Lstream_set_buffering (XLSTREAM (outstream), LSTREAM_BLOCKN_BUFFERED, 65536); -#endif /* MULE */ +#endif /* FILE_CODING */ if (STRINGP (start)) { instream = make_lisp_string_input_stream (start, 0, -1);
--- a/src/fns.c Mon Aug 13 10:28:54 2007 +0200 +++ b/src/fns.c Mon Aug 13 10:29:42 2007 +0200 @@ -964,16 +964,21 @@ (n, list)) { REGISTER int i; + REGISTER Lisp_Object tail = list; CHECK_NATNUM (n); for (i = XINT (n); i; i--) { - if (NILP (list)) - return list; - CHECK_CONS (list); - list = XCDR (list); - QUIT; + if (CONSP (tail)) + tail = XCDR (tail); + else if (NILP (tail)) + return Qnil; + else + { + tail = wrong_type_argument (Qlistp, tail); + i++; + } } - return list; + return tail; } DEFUN ("nth", Fnth, 2, 2, 0, /* @@ -1006,7 +1011,7 @@ /* This is The Way It Has Always Been. */ return Qnil; #else - /* This is The Way Mly Says It Should Be. */ + /* This is The Way Mly and Cltl2 say It Should Be. */ args_out_of_range (sequence, n); #endif }
--- a/src/frame-msw.c Mon Aug 13 10:28:54 2007 +0200 +++ b/src/frame-msw.c Mon Aug 13 10:29:42 2007 +0200 @@ -378,7 +378,47 @@ static void mswindows_set_title_from_bufbyte (struct frame *f, Bufbyte *title) { - SetWindowText (FRAME_MSWINDOWS_HANDLE(f), title); + unsigned int new_checksum = hash_string (title, strlen (title)); + if (new_checksum != FRAME_MSWINDOWS_TITLE_CHECKSUM(f)) + { + FRAME_MSWINDOWS_TITLE_CHECKSUM(f) = new_checksum; + SetWindowText (FRAME_MSWINDOWS_HANDLE(f), title); + } +} + +static Lisp_Object +mswindows_frame_property (struct frame *f, Lisp_Object property) +{ + if (EQ (Qleft, property) || EQ (Qtop, property)) + { + RECT rc; + GetWindowRect (FRAME_MSWINDOWS_HANDLE(f), &rc); + return make_int (EQ (Qtop, property) ? rc.top : rc.left); + } + return Qunbound; +} + +static int +mswindows_internal_frame_property_p (struct frame *f, Lisp_Object property) +{ + return EQ (property, Qleft) + || EQ (property, Qtop); + /* #### frame-x.c has also this. Why? + || STRINGP (property); + */ +} + +static Lisp_Object +mswindows_frame_properties (struct frame *f) +{ + Lisp_Object props = Qnil; + RECT rc; + GetWindowRect (FRAME_MSWINDOWS_HANDLE(f), &rc); + + props = cons3 (Qtop, make_int (rc.top), props); + props = cons3 (Qleft, make_int (rc.left), props); + + return props; } static void @@ -518,13 +558,13 @@ int new_char_height, new_char_width; pixel_to_real_char_size (frm, FRAME_PIXWIDTH(frm), FRAME_PIXHEIGHT(frm), &new_char_width, &new_char_height); - if (new_char_width != MSWINDOWS_FRAME_CHARWIDTH (frm) - || new_char_height != MSWINDOWS_FRAME_CHARHEIGHT (frm)) + if (new_char_width != FRAME_MSWINDOWS_CHARWIDTH (frm) + || new_char_height != FRAME_MSWINDOWS_CHARHEIGHT (frm)) { Lisp_Object frame; XSETFRAME (frame, frm); - Fset_frame_size (frame, MSWINDOWS_FRAME_CHARWIDTH (frm), - MSWINDOWS_FRAME_CHARHEIGHT (frm), Qnil); + Fset_frame_size (frame, FRAME_MSWINDOWS_CHARWIDTH (frm), + FRAME_MSWINDOWS_CHARHEIGHT (frm), Qnil); } } @@ -558,9 +598,9 @@ CONSOLE_HAS_METHOD (mswindows, iconify_frame); CONSOLE_HAS_METHOD (mswindows, set_frame_size); CONSOLE_HAS_METHOD (mswindows, set_frame_position); -/* CONSOLE_HAS_METHOD (mswindows, frame_property); */ -/* CONSOLE_HAS_METHOD (mswindows, internal_frame_property_p); */ -/* CONSOLE_HAS_METHOD (mswindows, frame_properties); */ + CONSOLE_HAS_METHOD (mswindows, frame_property); + CONSOLE_HAS_METHOD (mswindows, internal_frame_property_p); + CONSOLE_HAS_METHOD (mswindows, frame_properties); CONSOLE_HAS_METHOD (mswindows, set_frame_properties); CONSOLE_HAS_METHOD (mswindows, set_title_from_bufbyte); /* CONSOLE_HAS_METHOD (mswindows, set_icon_name_from_bufbyte); */
--- a/src/frame-x.c Mon Aug 13 10:28:54 2007 +0200 +++ b/src/frame-x.c Mon Aug 13 10:29:42 2007 +0200 @@ -1995,11 +1995,9 @@ { /* This function can GC */ Lisp_Object device = FRAME_DEVICE (f); - Lisp_Object lisp_window_id; - Lisp_Object popup; - - lisp_window_id = Fplist_get (props, Qwindow_id, Qnil); - popup = Fplist_get (props, Qpopup, Qnil); + Lisp_Object lisp_window_id = Fplist_get (props, Qwindow_id, Qnil); + Lisp_Object popup = Fplist_get (props, Qpopup, Qnil); + if (!NILP (popup)) { if (EQ (popup, Qt)) @@ -2272,15 +2270,14 @@ static void x_raise_frame_1 (struct frame *f, int force) { - Widget bottom_dialog; - Window emacs_window; - XWindowChanges xwc; - unsigned int flags; - Display *display = DEVICE_X_DISPLAY (XDEVICE (f->device)); - - if (FRAME_VISIBLE_P(f) || force) + if (FRAME_VISIBLE_P (f) || force) { - emacs_window = XtWindow (FRAME_X_SHELL_WIDGET (f)); + Widget bottom_dialog; + XWindowChanges xwc; + unsigned int flags; + Display *display = DEVICE_X_DISPLAY (XDEVICE (f->device)); + Window emacs_window = XtWindow (FRAME_X_SHELL_WIDGET (f)); + /* first raises all the dialog boxes, then put emacs just below the * bottom most dialog box */ bottom_dialog = lw_raise_all_pop_up_widgets (); @@ -2313,14 +2310,13 @@ static void x_lower_frame (struct frame *f) { - Display *display = DEVICE_X_DISPLAY (XDEVICE (f->device)); - XWindowChanges xwc; - unsigned int flags; - - if (FRAME_VISIBLE_P(f)) + if (FRAME_VISIBLE_P (f)) { + Display *display = DEVICE_X_DISPLAY (XDEVICE (f->device)); + XWindowChanges xwc; + unsigned int flags = CWStackMode; + xwc.stack_mode = Below; - flags = CWStackMode; if (!XReconfigureWMWindow (display, XtWindow (FRAME_X_SHELL_WIDGET (f)), DefaultScreen (display), flags, &xwc)) x_cant_notify_wm_error ();
--- a/src/glyphs-x.c Mon Aug 13 10:28:54 2007 +0200 +++ b/src/glyphs-x.c Mon Aug 13 10:29:42 2007 +0200 @@ -2696,7 +2696,7 @@ #endif struct gif_error_struct { - char *err_str; /* return the error string */ + CONST char *err_str; /* return the error string */ jmp_buf setjmp_buffer; /* for return to caller */ }; @@ -3535,6 +3535,7 @@ static size_t tiff_memory_write(thandle_t data, tdata_t buf, tsize_t size) { abort(); + return 0; /* Shut up warnings. */ } static toff_t tiff_memory_seek(thandle_t data, toff_t off, int whence)
--- a/src/hpplay.c Mon Aug 13 10:28:54 2007 +0200 +++ b/src/hpplay.c Mon Aug 13 10:29:42 2007 +0200 @@ -28,8 +28,8 @@ BUGS I have been unable to figure out how to use the volume feature, so no attempts has been made to honor the volume arg of play_sound_* - This means that all sounds is played at 100%. - The gain parameter can be set by using the play-gain variable. + This means that all sounds are played at 100%. + The gain parameter can be set by using the hp-play-gain variable. NOTES This file is mostly based on the player program found in the examples @@ -63,7 +63,7 @@ Lisp_Object Vhp_play_server; Lisp_Object Vhp_play_speaker; -int play_gain; +int hp_play_gain; /* Functions */ @@ -136,7 +136,7 @@ playParams.gain_matrix.type = AGMTOutput; /* gain matrix */ playParams.gain_matrix.num_entries = 1; playParams.gain_matrix.gain_entries = &gainEntry; - playParams.play_volume = play_gain; /* play volume */ + playParams.play_volume = hp_play_gain; /* play volume */ playParams.pause_first = False; /* don't pause */ playParams.start_offset.type = ATTSamples; /* start offset 0 */ playParams.start_offset.u.samples = 0; @@ -273,7 +273,7 @@ Vhp_play_speaker = intern ("internal"); - DEFVAR_INT("hp-play-gain", &play_gain /* + DEFVAR_INT("hp-play-gain", &hp_play_gain /* Global gain value for playing sounds. Default value is AUnityGain which means keep level. Please refer to the HP documentation, for instance in @@ -283,7 +283,7 @@ not make your functions depend on it. */ ); - play_gain = AUnityGain; + hp_play_gain = AUnityGain; } void
--- a/src/insdel.c Mon Aug 13 10:28:54 2007 +0200 +++ b/src/insdel.c Mon Aug 13 10:29:42 2007 +0200 @@ -1874,7 +1874,7 @@ That won't work because so many places use `int'. */ if (BUF_Z (buf) - BUF_BEG (buf) + BUF_GAP_SIZE (buf) + increment - > (int) EMACS_INT_MAX) + > EMACS_INT_MAX) error ("Maximum buffer size exceeded"); result = BUFFER_REALLOC (buf->text->beg, @@ -2388,7 +2388,7 @@ #endif /* Make sure that point-max won't exceed the size of an emacs int. */ - if ((length + BUF_Z (buf)) > (int) EMACS_INT_MAX) + if ((length + BUF_Z (buf)) > EMACS_INT_MAX) error ("Maximum buffer size exceeded"); /* theoretically not necessary -- caller should GCPRO */
--- a/src/lstream.c Mon Aug 13 10:28:54 2007 +0200 +++ b/src/lstream.c Mon Aug 13 10:29:42 2007 +0200 @@ -899,7 +899,7 @@ fstr->blocking_error_p = 0; fstr->chars_sans_newline = 0; fstr->starting_pos = lseek (filedesc, offset, SEEK_CUR); - fstr->current_pos = max (fstr->current_pos, 0); + fstr->current_pos = max (fstr->starting_pos, 0); if (count < 0) fstr->end_pos = -1; else
--- a/src/m/ibmrs6000.inp Mon Aug 13 10:28:54 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -#! -pthread_yield
--- a/src/m/powerpc.h Mon Aug 13 10:28:54 2007 +0200 +++ b/src/m/powerpc.h Mon Aug 13 10:29:42 2007 +0200 @@ -121,7 +121,7 @@ /* Here override various assumptions in ymakefile */ -#define START_FILES +/* #undef START_FILES */ /* #define HAVE_SYSVIPC */ /* #define HAVE_GETWD */
--- a/src/nt.c Mon Aug 13 10:28:54 2007 +0200 +++ b/src/nt.c Mon Aug 13 10:29:42 2007 +0200 @@ -35,7 +35,8 @@ #include <signal.h> /* must include CRT headers *before* config.h */ -#include "config.h" +/* ### I don't believe it - martin */ +#include <config.h> #include "systime.h" #include "syssignal.h" #include "sysproc.h" @@ -1377,7 +1378,7 @@ } int -sys_mkdir (const char * path) +sys_mkdir (const char * path, int mode_unused) { return _mkdir (map_win32_filename (path, NULL)); }
--- a/src/ntproc.c Mon Aug 13 10:28:54 2007 +0200 +++ b/src/ntproc.c Mon Aug 13 10:29:42 2007 +0200 @@ -32,7 +32,8 @@ #include <signal.h> /* must include CRT headers *before* config.h */ -#include "config.h" +/* ### I don't believe it - martin */ +#include <config.h> #undef signal #undef wait #undef spawnve @@ -1189,7 +1190,10 @@ cp->pid)); #endif dead_child = cp; - msw_raise (SIGCHLD); + /* msw_raise (SIGCHLD); -kkm: I will erase this file + slowly, line by line, character by character, + I will press undo often, to prolong this. + Even such a revenge will not be enough for it!!! */ dead_child = NULL; } }
--- a/src/paths.h.in Mon Aug 13 10:28:54 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -/* Hey Emacs, this is -*- C -*- code! */ - -/* Synched up with: Not synched with FSF. */ - -/* Think twice before editing this file. Generated automatically by configure. - - The file startup.el guesses at reasonable values for load-path, exec-path, - and lock-directory. This means that if you move emacs and its associated - sub-tree to a different place in the filesystem, or to a different machine, - you won't have to do anything for it to work. - - If you define the paths in this file then they will take precedence over - any value generated by the heuristic in startup.el. The hardcoded paths - will be checked to see if they are valid, in which case they will be used. - Otherwise the editor will attempt to make its normal guess. - - See the NEWS file for a description of the heuristic used to locate the lisp - and exec directories at startup time. If you are looking at this file - because you are having trouble, then you would be much better off arranging - for those heuristics to succeed than defining the paths in this file. - - ** Let me say that again. If you're editing this file, you're making - ** a mistake. Re-read the section on installation in ../etc/NEWS. - - If it defines anything, this file should define some subset of the following: - - PATH_PREFIX The default value of `prefix-directory'. This is the - default root for everything. - - PATH_LOADSEARCH The default value of `load-path'. - - PATH_PACKAGEPATH The default value of `package-path'. - - PATH_SITE The default location of site-specific Lisp files. - - PATH_EXEC The default value of `exec-directory' and `exec-path'. - (exec-path also contains the value of whatever is in - the PATH environment variable.) - - PATH_DATA The default value of `data-directory'. This - is where architecture-independent files are - searched for. - - PATH_LOCK The name of the directory that contains lock files - with which we record what files are being modified in - Emacs. This directory should be writable by everyone. - If this is specified, the string must end with a slash! - - PATH_INFO This is where the info documentation is installed. - - PATH_INFOPATH The default value of `Info-directory-list'. - These are additional places info files are searched - for. */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/paths.h.in.in Mon Aug 13 10:29:42 2007 +0200 @@ -0,0 +1,95 @@ +/* Hey Emacs, this is -*- C -*- code! */ + +/* Synched up with: Not synched with FSF. */ + +/* Think twice before editing this file. Generated automatically by configure. + + The file startup.el guesses at reasonable values for load-path, exec-path, + and lock-directory. This means that if you move emacs and its associated + sub-tree to a different place in the filesystem, or to a different machine, + you won't have to do anything for it to work. + + If you define the paths in this file then they will take precedence over + any value generated by the heuristic in startup.el. The hardcoded paths + will be checked to see if they are valid, in which case they will be used. + Otherwise the editor will attempt to make its normal guess. + + See the NEWS file for a description of the heuristic used to locate the lisp + and exec directories at startup time. If you are looking at this file + because you are having trouble, then you would be much better off arranging + for those heuristics to succeed than defining the paths in this file. + + ** Let me say that again. If you're editing this file, you're making + ** a mistake. Re-read the section on installation in ../etc/NEWS. + + If it defines anything, this file should define some subset of the following: + + PATH_PREFIX The default value of `prefix-directory'. This is the + default root for everything. + + PATH_LOADSEARCH The default value of `load-path'. + + PATH_PACKAGEPATH The default value of `package-path'. + + PATH_SITE The default location of site-specific Lisp files. + + PATH_EXEC The default value of `exec-directory' and `exec-path'. + (exec-path also contains the value of whatever is in + the PATH environment variable.) + + PATH_DATA The default value of `data-directory'. This + is where architecture-independent files are + searched for. + + PATH_LOCK The name of the directory that contains lock files + with which we record what files are being modified in + Emacs. This directory should be writable by everyone. + If this is specified, the string must end with a slash! + + PATH_INFO This is where the info documentation is installed. + + PATH_INFOPATH The default value of `Info-directory-list'. + These are additional places info files are searched + for. */ + +#define PATH_PREFIX "@prefix@" + +#undef LISPDIR_USER_DEFINED +#ifdef LISPDIR_USER_DEFINED +#define PATH_LOADSEARCH "@LISPDIR@" +#endif + +#undef PACKAGE_PATH_USER_DEFINED +#ifdef PACKAGE_PATH_USER_DEFINED +#define PATH_PACKAGEPATH "@PACKAGE_PATH@" +#endif + +#undef SITELISPDIR_USER_DEFINED +#ifdef SITELISPDIR_USER_DEFINED +#define PATH_SITE "@SITELISPDIR@" +#endif + +#undef ARCHLIBDIR_USER_DEFINED +#ifdef ARCHLIBDIR_USER_DEFINED +#define PATH_EXEC "@ARCHLIBDIR@" +#endif + +#undef ETCDIR_USER_DEFINED +#ifdef ETCDIR_USER_DEFINED +#define PATH_DATA "@ETCDIR@" +#endif + +#undef LOCKDIR_USER_DEFINED +#ifdef LOCKDIR_USER_DEFINED +#define PATH_LOCK "@LOCKDIR@" +#endif + +#undef INFODIR_USER_DEFINED +#ifdef INFODIR_USER_DEFINED +#define PATH_INFO "@INFODIR@" +#endif + +#undef INFOPATH_USER_DEFINED +#ifdef INFOPATH_USER_DEFINED +#define PATH_INFOPATH "@INFOPATH@" +#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/process-nt.c Mon Aug 13 10:29:42 2007 +0200 @@ -0,0 +1,377 @@ +/* Asynchronous subprocess implemenation for Win32 + Copyright (C) 1985, 1986, 1987, 1988, 1992, 1993, 1994, 1995 + Free Software Foundation, Inc. + Copyright (C) 1995 Sun Microsystems, Inc. + Copyright (C) 1995, 1996 Ben Wing. + +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. */ + +/* Written by Kirill M. Katsnelson <kkm@kis.ru>, April 1998 */ + +#include <config.h> +#include "lisp.h" + +#include "hash.h" +#include "lstream.h" +#include "process.h" +#include "procimpl.h" + +#include <windows.h> + +/* Implemenation-specific data. Pointed to by Lisp_Process->process_data */ +struct nt_process_data +{ + HANDLE h_process; +}; + +#define NT_DATA(p) ((struct nt_process_data*)((p)->process_data)) + +/*-----------------------------------------------------------------------*/ +/* Process helpers */ +/*-----------------------------------------------------------------------*/ + +/* #### Ok, a pretty frame is here, and a nifty text is in. Now, + any function around here to be put here? Yahoooo.... */ + +/*-----------------------------------------------------------------------*/ +/* Process methods */ +/*-----------------------------------------------------------------------*/ + +/* + * Allocate and initialize Lisp_Process->process_data + */ + +static void +nt_alloc_process_data (struct Lisp_Process *p) +{ + p->process_data = xnew (struct nt_process_data); +} + +#if 0 /* #### Need this method? */ +/* + * Mark any Lisp objects in Lisp_Process->process_data + */ + +static void +nt_mark_process_data (struct Lisp_Process *proc, + void (*markobj) (Lisp_Object)) +{ +} +#endif + +static void +nt_finalize_process_data (struct Lisp_Process *p, int for_disksave) +{ + assert (!for_disksave); + if (NT_DATA(p)->h_process) + CloseHandle (NT_DATA(p)->h_process); +} + +#if 0 /* #### Need this method? */ +/* + * Initialize XEmacs process implemenation once + */ + +static void +nt_init_process (void) +{ +} +#endif + +#if 0 /* #### Need this method? */ +/* + * Initialize any process local data. This is called when newly + * created process is connected to real OS file handles. The + * handles are generally represented by void* type, but are + * of type HANDLE for Win32 + */ + +static void +nt_init_process_io_handles (struct Lisp_Process *p, void* in, void* out, int flags) +{ +} +#endif + +/* + * Fork off a subprocess. P is a pointer to newly created subprocess + * object. If this function signals, the caller is responsible for + * deleting (and finalizing) the process object. + * + * The method must return PID of the new proces, a (positive??? ####) number + * which fits into Lisp_Int. No return value indicates an error, the method + * must signal an error instead. + */ + +/* #### This function completely ignores Vprocess_environment */ + +static int +nt_create_process (struct Lisp_Process *p, + char **argv, CONST char *current_dir) +{ + HANDLE hmyshove, hmyslurp, hprocin, hprocout; + LPTSTR command_line; + + /* Create two unidirectional named pipes */ + { + HANDLE htmp; + SECURITY_ATTRIBUTES sa; + + sa.nLength = sizeof(sa); + sa.bInheritHandle = TRUE; + sa.lpSecurityDescriptor = NULL; + + CreatePipe (&hprocin, &hmyshove, &sa, 0); + CreatePipe (&hmyslurp, &hprocout, &sa, 0); + + /* Stupid Win32 allows to create a pipe with *both* ends either + inheritable or not. We need process ends inheritable, and local + ends not inheritable. */ + /* #### Perhaps even stupider me does not know how to do this better */ + DuplicateHandle (GetCurrentProcess(), hmyshove, GetCurrentProcess(), &htmp, + 0, FALSE, DUPLICATE_CLOSE_SOURCE | DUPLICATE_SAME_ACCESS); + hmyshove = htmp; + DuplicateHandle (GetCurrentProcess(), hmyslurp, GetCurrentProcess(), &htmp, + 0, FALSE, DUPLICATE_CLOSE_SOURCE | DUPLICATE_SAME_ACCESS); + hmyslurp = htmp; + } + + /* Convert an argv vector into Win32 style command line. + + #### This works only for cmd, and not for cygwin bash. Perhaps, + instead of ad-hoc fiddling with different methods for quoting + process arguments in ntproc.c (disgust shudder), this must call a + smart lisp routine. The code here will be a fallback, if the + lisp function is not specified. + */ + { + char** thisarg; + size_t size = 1; + + for (thisarg = argv; *thisarg; ++thisarg) + size += strlen (*thisarg) + 1; + + command_line = alloca_array (char, size); + *command_line = 0; + + for (thisarg = argv; *thisarg; ++thisarg) + { + if (thisarg != argv) + strcat (command_line, " "); + strcat (command_line, *thisarg); + } + } + + /* Create process */ + { + STARTUPINFO si; + PROCESS_INFORMATION pi; + DWORD err; + BOOL windowed; + + xzero (si); + si.hStdInput = hprocin; + si.hStdOutput = hprocout; + si.hStdError = hprocout; + si.wShowWindow = SW_HIDE; + si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW; + + err = (CreateProcess (NULL, command_line, NULL, NULL, TRUE, + CREATE_NEW_CONSOLE | CREATE_NEW_PROCESS_GROUP | CREATE_SUSPENDED, + NULL, current_dir, &si, &pi) + ? 0 : GetLastError ()); + + CloseHandle (hprocin); + CloseHandle (hprocout); + + /* See if we succeeded with process creation */ + if (err) + { + process_error__One_of_those_nasty_uses_for_goto_statement: + CloseHandle (hmyshove); + CloseHandle (hmyslurp); + error ("Cannot start \"%s\": error code was %lu", argv[0], err); + } + + /* Determine if the new process is a windowed one */ + windowed = WaitForInputIdle (pi.hProcess, 100) == WAIT_TIMEOUT; + if (windowed) + { + /* We restart windowed process fire-and forget style, and + indicate successful process creation, just as if the + process ended instantly upon launching */ + CloseHandle (hmyshove); + CloseHandle (hmyslurp); + /* TerminateProcess is safe becuase the process is not yet + running */ + TerminateProcess (pi.hProcess, 0); + si.dwFlags = STARTF_USESHOWWINDOW; + si.wShowWindow = SW_SHOWNORMAL; + if (!CreateProcess (NULL, command_line, NULL, NULL, FALSE, + DETACHED_PROCESS , NULL, current_dir, &si, &pi)) + { + err = GetLastError (); + goto process_error__One_of_those_nasty_uses_for_goto_statement; + } + + /* We just launched a windowed process. Fake it as if a + process launched has already ended */ + p->status_symbol = Qexit; + + /* Get rid of process and thread handles */ + CloseHandle (pi.hThread); + CloseHandle (pi.hProcess); + } + else + { + /* Just started a console subprocess */ + + NT_DATA(p)->h_process = pi.hProcess; + + init_process_io_handles (p, (void*)hmyslurp, (void*)hmyshove, 0); + + /* We created it suspended. Resume the only thread */ + ResumeThread (pi.hThread); + CloseHandle (pi.hThread); + } + + return ((int)pi.dwProcessId < 0 + ? -(int)pi.dwProcessId : (int)pi.dwProcessId); + } +} + +/* + * This method is called to update status fields of the process + * structure. If the process has not existed, this method is expected + * to do nothing. + * + * The method is called only for real child processes. + */ + +static void +nt_update_status_if_terminated (struct Lisp_Process* p) +{ + DWORD exit_code; + if (GetExitCodeProcess (NT_DATA(p)->h_process, &exit_code) + && exit_code != STILL_ACTIVE) + { + p->tick++; + p->core_dumped = 0; + /* The exit code can be a code returned by process, or an + NTSTATUS value. We cannot accurately handle the latter since + it is a full 32 bit integer */ + if (exit_code & 0xC0000000) + { + p->status_symbol = Qsignal; + p->exit_code = exit_code & 0x1FFFFFFF; + } + else + { + p->status_symbol = Qexit; + p->exit_code = exit_code; + } + } +} + +/* + * Stuff the entire contents of LSTREAM to the process ouptut pipe + */ + +/* #### If only this function could be somehow merged with + unix_send_process... */ + +static void +nt_send_process (Lisp_Object proc, struct lstream* lstream) +{ + struct Lisp_Process *p = XPROCESS (proc); + + /* use a reasonable-sized buffer (somewhere around the size of the + stream buffer) so as to avoid inundating the stream with blocked + data. */ + Bufbyte chunkbuf[512]; + Bytecount chunklen; + + while (1) + { + int writeret; + + chunklen = Lstream_read (lstream, chunkbuf, 512); + if (chunklen <= 0) + break; /* perhaps should abort() if < 0? + This should never happen. */ + + /* Lstream_write() will never successfully write less than the + amount sent in. In the worst case, it just buffers the + unwritten data. */ + writeret = Lstream_write (XLSTREAM (DATA_OUTSTREAM(p)), chunkbuf, + chunklen); + if (writeret < 0) + { + p->status_symbol = Qexit; + p->exit_code = ERROR_BROKEN_PIPE; + p->core_dumped = 0; + p->tick++; + process_tick++; + deactivate_process (proc); + error ("Broken pipe error sending to process %s; closed it", + XSTRING_DATA (p->name)); + } + + while (Lstream_was_blocked_p (XLSTREAM (p->pipe_outstream))) + { + /* Buffer is full. Wait, accepting input; that may allow + the program to finish doing output and read more. */ + Faccept_process_output (Qnil, make_int (1), Qnil); + Lstream_flush (XLSTREAM (p->pipe_outstream)); + } + } + Lstream_flush (XLSTREAM (DATA_OUTSTREAM(p))); +} + +/*-----------------------------------------------------------------------*/ +/* Initialization */ +/*-----------------------------------------------------------------------*/ + +void +process_type_create_nt (void) +{ + PROCESS_HAS_METHOD (nt, alloc_process_data); + PROCESS_HAS_METHOD (nt, finalize_process_data); + /* PROCESS_HAS_METHOD (nt, mark_process_data); */ + /* PROCESS_HAS_METHOD (nt, init_process); */ + /* PROCESS_HAS_METHOD (nt, init_process_io_handles); */ + PROCESS_HAS_METHOD (nt, create_process); + PROCESS_HAS_METHOD (nt, update_status_if_terminated); + PROCESS_HAS_METHOD (nt, send_process); + /* PROCESS_HAS_METHOD (nt, kill_child_process); */ + /* PROCESS_HAS_METHOD (nt, kill_process_by_pid); */ +#if 0 /* Yet todo */ +#ifdef HAVE_SOCKETS + PROCESS_HAS_METHOD (nt, canonicalize_host_name); + PROCESS_HAS_METHOD (nt, open_network_stream); +#ifdef HAVE_MULTICAST + PROCESS_HAS_METHOD (nt, open_multicast_group); +#endif +#endif +#endif +} + +void +vars_of_process_nt (void) +{ +} +
--- a/src/process-unix.c Mon Aug 13 10:28:54 2007 +0200 +++ b/src/process-unix.c Mon Aug 13 10:29:42 2007 +0200 @@ -1358,7 +1358,7 @@ #if defined (TIOCSIGNAL) || defined (TIOCSIGSEND) if (current_group) { -#ifdef (TIOCSIGNAL) +#ifdef TIOCSIGNAL kill_retval = ioctl (UNIX_DATA(p)->infd, TIOCSIGNAL, signo); #else /* ! defined (TIOCSIGNAL) */ kill_retval = ioctl (UNIX_DATA(p)->infd, TIOCSIGSEND, signo);
--- a/src/process.h Mon Aug 13 10:28:54 2007 +0200 +++ b/src/process.h Mon Aug 13 10:29:42 2007 +0200 @@ -51,6 +51,7 @@ #ifdef emacs EXFUN (Fprocess_kill_without_query, 2); +EXFUN (Fprocess_id, 1); Lisp_Object connect_to_file_descriptor (Lisp_Object name, Lisp_Object buffer,
--- a/src/ralloc.c Mon Aug 13 10:28:54 2007 +0200 +++ b/src/ralloc.c Mon Aug 13 10:29:42 2007 +0200 @@ -38,7 +38,6 @@ #ifdef emacs #include "lisp.h" -#include <malloc.h> /* The important properties of this type are that 1) it's a pointer, and 2) arithmetic on it should work as if the size of the object pointed @@ -58,6 +57,7 @@ #ifdef DOUG_LEA_MALLOC #define M_TOP_PAD -2 +#include <malloc.h> #endif #include "getpagesize.h"
--- a/src/redisplay.c Mon Aug 13 10:28:54 2007 +0200 +++ b/src/redisplay.c Mon Aug 13 10:29:42 2007 +0200 @@ -3922,6 +3922,18 @@ } } } + else if (GENERIC_SPECIFIERP (elt)) + { + Lisp_Object window, tem; + XSETWINDOW (window, w); + tem = specifier_instance_no_quit (elt, Qunbound, window, + ERROR_ME_NOT, 0, Qzero); + if (!UNBOUNDP (tem)) + { + elt = tem; + goto tail_recurse; + } + } else if (CONSP (elt)) { /* A cons cell: four distinct cases. @@ -4084,7 +4096,7 @@ return pos; } -#else /* MODELINE_IS_SCROLLABLE */ +#else /* not MODELINE_IS_SCROLLABLE */ static void generate_formatted_string_db (Lisp_Object format_str, Lisp_Object result_str, struct window *w, struct display_line *dl, @@ -4418,6 +4430,18 @@ } } } + else if (GENERIC_SPECIFIERP (elt)) + { + Lisp_Object window, tem; + XSETWINDOW (window, w); + tem = specifier_instance_no_quit (elt, Qunbound, window, + ERROR_ME_NOT, 0, Qzero); + if (!UNBOUNDP (tem)) + { + elt = tem; + goto tail_recurse; + } + } else if (CONSP (elt)) { /* A cons cell: four distinct cases. @@ -5723,7 +5747,7 @@ /* We still haven't gotten the window regenerated with point visible. Next we try scrolling a little and see if point comes back onto the screen. */ - if (scroll_step) + if (scroll_step > 0) { int scrolled = scroll_conservatively; for (; scrolled >= 0; scrolled -= scroll_step) @@ -6242,7 +6266,7 @@ line = buffer_line_number (b, pos, 1); - sprintf (window_line_number_buf, "%d", line + 1); + sprintf (window_line_number_buf, "%ld", (long)(line + 1)); return window_line_number_buf; }
--- a/src/regex.c Mon Aug 13 10:28:54 2007 +0200 +++ b/src/regex.c Mon Aug 13 10:29:42 2007 +0200 @@ -701,7 +701,7 @@ /* Loop over pattern commands. */ while (p < pend) { - printf ("%d:\t", p - start); + printf ("%ld:\t", (long)(p - start)); switch ((re_opcode_t) *p++) { @@ -800,14 +800,14 @@ if (first < 0x100) putchar (first); else - printf ("(0x%x)", first); + printf ("(0x%lx)", (long)first); if (first != last) { putchar ('-'); if (last < 0x100) putchar (last); else - printf ("(0x%x)", last); + printf ("(0x%lx)", (long)last); } } putchar (']'); @@ -826,17 +826,17 @@ case on_failure_jump: extract_number_and_incr (&mcnt, &p); - printf ("/on_failure_jump to %d", p + mcnt - start); + printf ("/on_failure_jump to %ld", (long)(p + mcnt - start)); break; case on_failure_keep_string_jump: extract_number_and_incr (&mcnt, &p); - printf ("/on_failure_keep_string_jump to %d", p + mcnt - start); + printf ("/on_failure_keep_string_jump to %ld", (long)(p + mcnt - start)); break; case dummy_failure_jump: extract_number_and_incr (&mcnt, &p); - printf ("/dummy_failure_jump to %d", p + mcnt - start); + printf ("/dummy_failure_jump to %ld", (long)(p + mcnt - start)); break; case push_dummy_failure: @@ -845,40 +845,40 @@ case maybe_pop_jump: extract_number_and_incr (&mcnt, &p); - printf ("/maybe_pop_jump to %d", p + mcnt - start); + printf ("/maybe_pop_jump to %ld", (long)(p + mcnt - start)); break; case pop_failure_jump: extract_number_and_incr (&mcnt, &p); - printf ("/pop_failure_jump to %d", p + mcnt - start); + printf ("/pop_failure_jump to %ld", (long)(p + mcnt - start)); break; case jump_past_alt: extract_number_and_incr (&mcnt, &p); - printf ("/jump_past_alt to %d", p + mcnt - start); + printf ("/jump_past_alt to %ld", (long)(p + mcnt - start)); break; case jump: extract_number_and_incr (&mcnt, &p); - printf ("/jump to %d", p + mcnt - start); + printf ("/jump to %ld", (long)(p + mcnt - start)); break; case succeed_n: extract_number_and_incr (&mcnt, &p); extract_number_and_incr (&mcnt2, &p); - printf ("/succeed_n to %d, %d times", p + mcnt - start, mcnt2); + printf ("/succeed_n to %ld, %d times", (long)(p + mcnt - start), mcnt2); break; case jump_n: extract_number_and_incr (&mcnt, &p); extract_number_and_incr (&mcnt2, &p); - printf ("/jump_n to %d, %d times", p + mcnt - start, mcnt2); + printf ("/jump_n to %ld, %d times", (long)(p + mcnt - start), mcnt2); break; case set_number_at: extract_number_and_incr (&mcnt, &p); extract_number_and_incr (&mcnt2, &p); - printf ("/set_number_at location %d to %d", p + mcnt - start, mcnt2); + printf ("/set_number_at location %ld to %d", (long)(p + mcnt - start), mcnt2); break; case wordbound: @@ -961,7 +961,7 @@ putchar ('\n'); } - printf ("%d:\tend of pattern.\n", p - start); + printf ("%ld:\tend of pattern.\n", (long)(p - start)); }
--- a/src/s/windowsnt.h Mon Aug 13 10:28:54 2007 +0200 +++ b/src/s/windowsnt.h Mon Aug 13 10:29:42 2007 +0200 @@ -305,11 +305,8 @@ /* Defines that we need that aren't in the standard signal.h */ #define SIGHUP 1 /* Hang up */ #define SIGQUIT 3 /* Quit process */ -#define SIGTRAP 5 /* Trace trap */ #define SIGKILL 9 /* Die, die die */ -#define SIGPIPE 13 /* Write on pipe with no readers */ #define SIGALRM 14 /* Alarm */ -#define SIGCHLD 18 /* Death of child */ #define SIGPROF 29 /* Profiling timer exp */ /* For integration with MSDOS support. */ @@ -345,6 +342,9 @@ #include <stdlib.h> #include <string.h> +/* Define process implementation */ +#define HAVE_WIN32_PROCESSES + #if 0 /* Emacs takes care of ensuring that these are defined. */ #ifdef max
--- a/src/signal.c Mon Aug 13 10:28:54 2007 +0200 +++ b/src/signal.c Mon Aug 13 10:29:42 2007 +0200 @@ -643,7 +643,9 @@ signal (SIGHUP, fatal_error_signal); signal (SIGQUIT, fatal_error_signal); signal (SIGILL, fatal_error_signal); +#ifdef SIGTRAP signal (SIGTRAP, fatal_error_signal); +#endif #ifdef SIGABRT signal (SIGABRT, fatal_error_signal); #endif @@ -679,7 +681,9 @@ #ifdef SIGSYS signal (SIGSYS, fatal_error_signal); #endif +#ifdef SIGPIPE signal (SIGPIPE, fatal_error_signal); +#endif signal (SIGTERM, fatal_error_signal); #ifdef SIGXCPU signal (SIGXCPU, fatal_error_signal);
--- a/src/symsinit.h Mon Aug 13 10:28:54 2007 +0200 +++ b/src/symsinit.h Mon Aug 13 10:29:42 2007 +0200 @@ -192,10 +192,11 @@ void lstream_type_create (void); void lstream_type_create_mule_coding (void); void lstream_type_create_print (void); +void lstream_type_create_mswindows_selectable (void); /* Initialize process types */ -void process_type_create_mswindows (void); +void process_type_create_nt (void); void process_type_create_unix (void); /* Allow for Fprovide() (dump-time only). */ @@ -276,7 +277,7 @@ void vars_of_objects_x (void); void vars_of_print (void); void vars_of_process (void); -void vars_of_process_mswindows (void); +void vars_of_process_nt (void); void vars_of_process_unix (void); void vars_of_profile (void); void vars_of_ralloc (void);
--- a/src/sysdep.c Mon Aug 13 10:28:54 2007 +0200 +++ b/src/sysdep.c Mon Aug 13 10:29:42 2007 +0200 @@ -135,6 +135,7 @@ #ifdef AIXHFT static void hft_init (struct console *c); static void hft_reset (struct console *c); +#include <sys/termio.h> #endif /* ------------------------------- */
--- a/src/sysdep.h Mon Aug 13 10:28:54 2007 +0200 +++ b/src/sysdep.h Mon Aug 13 10:29:42 2007 +0200 @@ -78,9 +78,9 @@ extern JMP_BUF break_system_call_jump; extern volatile int can_break_system_calls; -int sys_write_1 (int fildes, CONST void *buf, unsigned int nbyte, +int sys_write_1 (int fildes, CONST void *buf, size_t nbyte, int allow_quit); -int sys_read_1 (int fildes, void *buf, unsigned int nbyte, +int sys_read_1 (int fildes, void *buf, size_t nbyte, int allow_quit); /* Call these functions if you want to change some terminal parameter -- @@ -158,8 +158,16 @@ # ifdef strerror # undef strerror # endif +#if defined (__GNUC__) && defined (__GNUC_MINOR__) +#if ((__GNUC__ == 2) && (__GNUC_MINOR__ > 7)) || ((__GNUC__ > 2)) +char *strerror (int); +#else CONST char *strerror (int); #endif +#else +CONST char *strerror (int); +#endif +#endif #ifdef WINDOWSNT void mswindows_set_errno (unsigned long win32_error);
--- a/src/sysproc.h Mon Aug 13 10:28:54 2007 +0200 +++ b/src/sysproc.h Mon Aug 13 10:29:42 2007 +0200 @@ -33,6 +33,7 @@ #if !defined (NO_SUBPROCESSES) #ifdef HAVE_SOCKETS /* TCP connection support, if kernel can do it */ +# include <sys/types.h> /* AJK */ # include <sys/socket.h> # include <netdb.h> # include <netinet/in.h>
--- a/src/unexelf.c Mon Aug 13 10:28:54 2007 +0200 +++ b/src/unexelf.c Mon Aug 13 10:29:42 2007 +0200 @@ -409,6 +409,13 @@ */ +#ifndef emacs +#define fatal(a, b, c) fprintf (stderr, a, b, c), exit (1) +#else +#include <config.h> +extern void fatal (CONST char *, ...); +#endif + #include <sys/types.h> #include <stdio.h> #include <sys/stat.h> @@ -432,13 +439,6 @@ # endif #endif -#ifndef emacs -#define fatal(a, b, c) fprintf (stderr, a, b, c), exit (1) -#else -#include <config.h> -extern void fatal (CONST char *, ...); -#endif - #ifndef ELF_BSS_SECTION_NAME #define ELF_BSS_SECTION_NAME ".bss" #endif
--- a/src/unexelfsgi.c Mon Aug 13 10:28:54 2007 +0200 +++ b/src/unexelfsgi.c Mon Aug 13 10:29:42 2007 +0200 @@ -668,6 +668,9 @@ old_sbss_index = find_section (".sbss", old_section_names, old_name, old_file_h, old_section_h, 1); + if (old_sbss_index != -1 && (OLD_SECTION_H (old_sbss_index).sh_type == SHT_PROGBITS)) + old_sbss_index = -1; + /* Find the old .bss section. */ old_bss_index = find_section (".bss", old_section_names,
--- a/src/unexfreebsd.c Mon Aug 13 10:28:54 2007 +0200 +++ b/src/unexfreebsd.c Mon Aug 13 10:29:42 2007 +0200 @@ -680,6 +680,7 @@ { unsigned long current_sbrk = (unsigned long) sbrk (0); +#if __FreeBSD_version < 300000 /* 2.x can work with this code */ if (sbrk_of_0_at_unexec < current_sbrk) { if (sbrk_of_0_at_unexec != 0) @@ -687,6 +688,8 @@ sbrk_of_0_at_unexec, current_sbrk); } else +#endif + if (sbrk_of_0_at_unexec > current_sbrk) { errno = 0; if (brk ((caddr_t) sbrk_of_0_at_unexec))
--- a/src/window.c Mon Aug 13 10:28:54 2007 +0200 +++ b/src/window.c Mon Aug 13 10:29:42 2007 +0200 @@ -84,7 +84,7 @@ /* Non-nil means it is the window for C-M-v to scroll when the minibuffer is selected. */ -Lisp_Object Vminibuf_scroll_window; +Lisp_Object Vminibuffer_scroll_window; /* Non-nil means this is the buffer whose window C-M-v should scroll. */ Lisp_Object Vother_window_scroll_buffer; @@ -3177,7 +3177,7 @@ if (!EQ (XWINDOW (window)->frame, Fselected_frame (Qnil))) Fmake_frame_visible (WINDOW_FRAME (XWINDOW (window))); - Vminibuf_scroll_window = window; + Vminibuffer_scroll_window = window; w = XWINDOW (window); w->hscroll = 0; w->modeline_hscroll = 0; @@ -4084,8 +4084,8 @@ Lisp_Object selected_window = Fselected_window (Qnil); if (MINI_WINDOW_P (XWINDOW (selected_window)) - && !NILP (Vminibuf_scroll_window)) - window = Vminibuf_scroll_window; + && !NILP (Vminibuffer_scroll_window)) + window = Vminibuffer_scroll_window; /* If buffer is specified, scroll that buffer. */ else if (!NILP (Vother_window_scroll_buffer)) { @@ -4122,7 +4122,7 @@ if the current one is at the bottom. Negative ARG means scroll downward. When calling from a program, supply a number as argument or nil. -If in the minibuffer, `minibuf-scroll-window' if non-nil +If in the minibuffer, `minibuffer-scroll-window' if non-nil specifies the window to scroll. If `other-window-scroll-buffer' is non-nil, scroll the window showing that buffer, popping the buffer up if necessary. @@ -4572,7 +4572,7 @@ #endif Lisp_Object current_window; Lisp_Object current_buffer; - Lisp_Object minibuf_scroll_window; + Lisp_Object minibuffer_scroll_window; Lisp_Object root_window; /* Record the values of window-min-width and window-min-height so that window sizes remain consistent with them. */ @@ -4596,7 +4596,7 @@ int i; ((markobj) (config->current_window)); ((markobj) (config->current_buffer)); - ((markobj) (config->minibuf_scroll_window)); + ((markobj) (config->minibuffer_scroll_window)); ((markobj) (config->root_window)); for (i = 0; i < config->saved_windows_count; i++) @@ -4731,10 +4731,10 @@ fig2 = XWINDOW_CONFIGURATION (conf2); if (!((fig1->saved_windows_count == fig2->saved_windows_count) && - EQ (fig1->current_window, fig2->current_window) && - EQ (fig1->current_buffer, fig2->current_buffer) && - EQ (fig1->root_window, fig2->root_window) && - EQ (fig1->minibuf_scroll_window, fig2->minibuf_scroll_window) && + EQ (fig1->current_window, fig2->current_window) && + EQ (fig1->current_buffer, fig2->current_buffer) && + EQ (fig1->root_window, fig2->root_window) && + EQ (fig1->minibuffer_scroll_window, fig2->minibuffer_scroll_window) && fig1->frame_width == fig2->frame_width && fig1->frame_height == fig2->frame_height)) return 0; @@ -5155,7 +5155,7 @@ do_switch_frame (config->selected_frame, Qnil, 0); #endif - Vminibuf_scroll_window = config->minibuf_scroll_window; + Vminibuffer_scroll_window = config->minibuffer_scroll_window; if (FRAME_LIVE_P (f)) { @@ -5375,7 +5375,7 @@ config->frame_height = FRAME_HEIGHT (f); config->current_window = FRAME_SELECTED_WINDOW (f); XSETBUFFER (config->current_buffer, current_buffer); - config->minibuf_scroll_window = Vminibuf_scroll_window; + config->minibuffer_scroll_window = Vminibuffer_scroll_window; config->root_window = FRAME_ROOT_WINDOW (f); config->min_height = window_min_height; config->min_width = window_min_width; @@ -5582,10 +5582,10 @@ */ ); Vtemp_buffer_show_function = Qnil; - DEFVAR_LISP ("minibuffer-scroll-window", &Vminibuf_scroll_window /* + DEFVAR_LISP ("minibuffer-scroll-window", &Vminibuffer_scroll_window /* Non-nil means it is the window that \\<minibuffer-local-map>\\[scroll-other-window] in minibuffer should scroll. */ ); - Vminibuf_scroll_window = Qnil; + Vminibuffer_scroll_window = Qnil; DEFVAR_LISP ("other-window-scroll-buffer", &Vother_window_scroll_buffer /* If non-nil, this is a buffer and \\[scroll-other-window] should scroll its window.
--- a/version.sh Mon Aug 13 10:28:54 2007 +0200 +++ b/version.sh Mon Aug 13 10:29:42 2007 +0200 @@ -1,8 +1,8 @@ #!/bin/sh emacs_major_version=21 emacs_minor_version=0 -emacs_beta_version=34 -xemacs_codename="Oberhasli" +emacs_beta_version=35 +xemacs_codename="Peacock Goat" infodock_major_version=3 infodock_minor_version=90 infodock_build_version=1